From bdead86e21beae508fa1fd7a24a06608485e1c29 Mon Sep 17 00:00:00 2001 From: Jacky Kao Date: Wed, 30 Nov 2022 07:55:23 +0800 Subject: [PATCH] Push to GitHub 2022-11-30 --- .../analytics/BrailleDisplayAnalytics.java | 6 +- .../{phone => main}/res/values-af/strings.xml | 53 +- .../{phone => main}/res/values-am/strings.xml | 53 +- .../{phone => main}/res/values-ar/strings.xml | 57 +- .../{phone => main}/res/values-as/strings.xml | 55 +- .../{phone => main}/res/values-az/strings.xml | 53 +- .../res/values-b+es+419/strings.xml | 53 +- .../res/values-b+sr+Latn/strings.xml | 54 +- .../{phone => main}/res/values-be/strings.xml | 55 +- .../{phone => main}/res/values-bg/strings.xml | 53 +- .../{phone => main}/res/values-bn/strings.xml | 53 +- .../{phone => main}/res/values-bs/strings.xml | 54 +- .../{phone => main}/res/values-ca/strings.xml | 53 +- .../{phone => main}/res/values-cs/strings.xml | 55 +- .../{phone => main}/res/values-da/strings.xml | 53 +- .../{phone => main}/res/values-de/strings.xml | 55 +- .../{phone => main}/res/values-el/strings.xml | 53 +- .../res/values-en-rAU}/strings.xml | 53 +- .../res/values-en-rGB/strings.xml | 53 +- .../res/values-en-rIN}/strings.xml | 53 +- .../{phone => main}/res/values-es/strings.xml | 53 +- .../{phone => main}/res/values-et/strings.xml | 53 +- .../{phone => main}/res/values-eu/strings.xml | 53 +- .../{phone => main}/res/values-fa/strings.xml | 53 +- .../{phone => main}/res/values-fi/strings.xml | 53 +- .../res/values-fil}/strings.xml | 53 +- .../res/values-fr-rCA/strings.xml | 53 +- .../{phone => main}/res/values-fr/strings.xml | 53 +- .../{phone => main}/res/values-gl/strings.xml | 53 +- .../{phone => main}/res/values-gu/strings.xml | 53 +- .../{phone => main}/res/values-hi/strings.xml | 55 +- .../{phone => main}/res/values-hr/strings.xml | 54 +- .../{phone => main}/res/values-hu/strings.xml | 53 +- .../{phone => main}/res/values-hy/strings.xml | 53 +- .../res/values-id}/strings.xml | 53 +- .../res/values-in}/strings.xml | 53 +- .../{phone => main}/res/values-is/strings.xml | 53 +- .../{phone => main}/res/values-it/strings.xml | 53 +- .../{phone => main}/res/values-iw/strings.xml | 55 +- .../{phone => main}/res/values-ja/strings.xml | 53 +- .../{phone => main}/res/values-ka/strings.xml | 53 +- .../{phone => main}/res/values-kk/strings.xml | 53 +- .../{phone => main}/res/values-km/strings.xml | 53 +- .../{phone => main}/res/values-kn/strings.xml | 53 +- .../{phone => main}/res/values-ko/strings.xml | 53 +- .../{phone => main}/res/values-ky/strings.xml | 53 +- .../{phone => main}/res/values-lo/strings.xml | 53 +- .../{phone => main}/res/values-lt/strings.xml | 55 +- .../{phone => main}/res/values-lv/strings.xml | 54 +- .../{phone => main}/res/values-mk/strings.xml | 53 +- .../{phone => main}/res/values-ml/strings.xml | 53 +- .../{phone => main}/res/values-mn/strings.xml | 53 +- .../{phone => main}/res/values-mr/strings.xml | 53 +- .../{phone => main}/res/values-ms/strings.xml | 53 +- .../{phone => main}/res/values-my/strings.xml | 53 +- .../{phone => main}/res/values-nb/strings.xml | 53 +- .../{phone => main}/res/values-ne/strings.xml | 53 +- .../{phone => main}/res/values-nl/strings.xml | 53 +- .../{phone => main}/res/values-no/strings.xml | 53 +- .../{phone => main}/res/values-or/strings.xml | 55 +- .../{phone => main}/res/values-pa/strings.xml | 53 +- .../{phone => main}/res/values-pl/strings.xml | 55 +- .../res/values-pt-rBR}/strings.xml | 53 +- .../res/values-pt-rPT/strings.xml | 55 +- .../res/values-pt}/strings.xml | 53 +- .../{phone => main}/res/values-ro/strings.xml | 54 +- .../{phone => main}/res/values-ru/strings.xml | 55 +- .../{phone => main}/res/values-si/strings.xml | 53 +- .../{phone => main}/res/values-sk/strings.xml | 55 +- .../{phone => main}/res/values-sl/strings.xml | 55 +- .../{phone => main}/res/values-sq/strings.xml | 53 +- .../{phone => main}/res/values-sr/strings.xml | 54 +- .../{phone => main}/res/values-sv/strings.xml | 53 +- .../{phone => main}/res/values-sw/strings.xml | 53 +- .../{phone => main}/res/values-ta/strings.xml | 53 +- .../{phone => main}/res/values-te/strings.xml | 53 +- .../{phone => main}/res/values-th/strings.xml | 53 +- .../res/values-tl}/strings.xml | 53 +- .../{phone => main}/res/values-tr/strings.xml | 53 +- .../{phone => main}/res/values-uk/strings.xml | 55 +- .../{phone => main}/res/values-ur/strings.xml | 53 +- .../{phone => main}/res/values-uz/strings.xml | 53 +- .../{phone => main}/res/values-vi/strings.xml | 53 +- .../res/values-zh-rCN/strings.xml | 53 +- .../res/values-zh-rHK/strings.xml | 53 +- .../res/values-zh-rTW/strings.xml | 53 +- .../{phone => main}/res/values-zu/strings.xml | 57 +- .../brailleime/src/phone/AndroidManifest.xml | 5 +- .../accessibility/brailleime/BrailleIme.java | 158 +++- .../accessibility/brailleime/Utils.java | 19 +- .../brailleime/dialog/TalkBackOffDialog.java | 2 +- .../dialog/TalkBackSuspendDialog.java | 2 +- .../dialog/TooFewTouchPointsDialog.java | 2 +- .../input/BrailleDisplayImeStripView.java | 46 +- .../brailleime/keyboardview/KeyboardView.java | 71 +- .../BrailleImePreferencesActivity.java | 70 +- .../res/drawable-xhdpi/dots_tapped_1.png | Bin 2486 -> 0 bytes .../res/drawable-xhdpi/dots_tapped_2.png | Bin 2475 -> 0 bytes .../res/drawable-xhdpi/dots_tapped_3.png | Bin 2480 -> 0 bytes .../res/drawable-xhdpi/dots_tapped_4.png | Bin 2487 -> 0 bytes .../res/drawable-xhdpi/dots_tapped_5.png | Bin 2485 -> 0 bytes .../res/drawable-xhdpi/dots_tapped_6.png | Bin 2483 -> 0 bytes .../res/drawable-xhdpi/dots_tapped_7.png | Bin 2488 -> 0 bytes .../res/drawable-xhdpi/dots_tapped_8.png | Bin 2484 -> 0 bytes .../res/drawable-xhdpi/dots_untapped.png | Bin 2571 -> 0 bytes .../src/phone/res/drawable/dots_tapped_1.xml | 78 ++ .../src/phone/res/drawable/dots_tapped_2.xml | 78 ++ .../src/phone/res/drawable/dots_tapped_3.xml | 78 ++ .../src/phone/res/drawable/dots_tapped_4.xml | 78 ++ .../src/phone/res/drawable/dots_tapped_5.xml | 78 ++ .../src/phone/res/drawable/dots_tapped_6.xml | 78 ++ .../src/phone/res/drawable/dots_tapped_7.xml | 78 ++ .../src/phone/res/drawable/dots_tapped_8.xml | 78 ++ .../src/phone/res/drawable/dots_untapped.xml | 78 ++ .../res/layout-land/brailledisplay_ime.xml | 58 ++ .../phone/res/layout/brailledisplay_ime.xml | 50 +- .../src/phone/res/values/colors.xml | 2 +- .../src/phone/res/values/dimens.xml | 3 - .../src/phone/res/values/strings.xml | 34 +- .../src/phone/res/values/styles.xml | 20 +- .../analytics/BrailleImeAnalytics.java | 6 + braille/common/src/phone/AndroidManifest.xml | 2 +- .../braille/common/BrailleCommonUtils.java | 26 +- .../common/BraillePreferenceUtils.java | 26 + .../common/BrailleUserPreferences.java | 46 +- .../common/translate/BrailleLanguages.java | 3 + .../translate/BrailleTranslateUtils.java | 1 + .../braille/common/translate/EditBuffer.java | 36 +- .../common/translate/EditBufferCommon.java | 33 +- .../common/translate/EditBufferStub.java | 20 + .../common/translate/EditBufferUeb2.java | 41 +- .../translate/EditBufferUeb2WithPartial.java | 33 +- .../common/translate/EditBufferUtils.java | 80 +- .../dialog_dont_show_again_checkbox.xml | 5 +- .../src/phone/res/values-af/strings.xml | 21 - .../src/phone/res/values-am/strings.xml | 21 - .../src/phone/res/values-ar/strings.xml | 25 - .../src/phone/res/values-as/strings.xml | 21 - .../src/phone/res/values-az/strings.xml | 21 - .../src/phone/res/values-b+es+419/strings.xml | 21 - .../phone/res/values-b+sr+Latn/strings.xml | 22 - .../src/phone/res/values-be/strings.xml | 23 - .../src/phone/res/values-bg/strings.xml | 21 - .../src/phone/res/values-bn/strings.xml | 21 - .../src/phone/res/values-bs/strings.xml | 22 - .../src/phone/res/values-ca/strings.xml | 21 - .../src/phone/res/values-cs/strings.xml | 23 - .../src/phone/res/values-da/strings.xml | 21 - .../src/phone/res/values-de/strings.xml | 21 - .../src/phone/res/values-el/strings.xml | 21 - .../src/phone/res/values-en-rAU/strings.xml | 21 - .../src/phone/res/values-en-rGB/strings.xml | 21 - .../src/phone/res/values-en-rIN/strings.xml | 21 - .../src/phone/res/values-es/strings.xml | 21 - .../src/phone/res/values-et/strings.xml | 21 - .../src/phone/res/values-eu/strings.xml | 21 - .../src/phone/res/values-fa/strings.xml | 21 - .../src/phone/res/values-fi/strings.xml | 21 - .../src/phone/res/values-fil/strings.xml | 21 - .../src/phone/res/values-fr-rCA/strings.xml | 21 - .../src/phone/res/values-fr/strings.xml | 21 - .../src/phone/res/values-gl/strings.xml | 21 - .../src/phone/res/values-gu/strings.xml | 21 - .../src/phone/res/values-hi/strings.xml | 21 - .../src/phone/res/values-hr/strings.xml | 22 - .../src/phone/res/values-hu/strings.xml | 21 - .../src/phone/res/values-hy/strings.xml | 21 - .../src/phone/res/values-id/strings.xml | 21 - .../src/phone/res/values-in/strings.xml | 21 - .../src/phone/res/values-is/strings.xml | 21 - .../src/phone/res/values-it/strings.xml | 21 - .../src/phone/res/values-iw/strings.xml | 23 - .../src/phone/res/values-ja/strings.xml | 21 - .../src/phone/res/values-ka/strings.xml | 21 - .../src/phone/res/values-kk/strings.xml | 21 - .../src/phone/res/values-km/strings.xml | 21 - .../src/phone/res/values-kn/strings.xml | 21 - .../src/phone/res/values-ko/strings.xml | 21 - .../src/phone/res/values-ky/strings.xml | 21 - .../src/phone/res/values-lo/strings.xml | 21 - .../src/phone/res/values-lt/strings.xml | 23 - .../src/phone/res/values-lv/strings.xml | 22 - .../src/phone/res/values-mk/strings.xml | 21 - .../src/phone/res/values-ml/strings.xml | 21 - .../src/phone/res/values-mn/strings.xml | 21 - .../src/phone/res/values-mr/strings.xml | 21 - .../src/phone/res/values-ms/strings.xml | 21 - .../src/phone/res/values-my/strings.xml | 21 - .../src/phone/res/values-nb/strings.xml | 21 - .../src/phone/res/values-ne/strings.xml | 21 - .../src/phone/res/values-nl/strings.xml | 21 - .../src/phone/res/values-no/strings.xml | 21 - .../src/phone/res/values-or/strings.xml | 21 - .../src/phone/res/values-pa/strings.xml | 21 - .../src/phone/res/values-pl/strings.xml | 23 - .../src/phone/res/values-pt-rBR/strings.xml | 21 - .../src/phone/res/values-pt-rPT/strings.xml | 21 - .../src/phone/res/values-pt/strings.xml | 21 - .../src/phone/res/values-ro/strings.xml | 22 - .../src/phone/res/values-ru/strings.xml | 23 - .../src/phone/res/values-si/strings.xml | 21 - .../src/phone/res/values-sk/strings.xml | 23 - .../src/phone/res/values-sl/strings.xml | 23 - .../src/phone/res/values-sq/strings.xml | 21 - .../src/phone/res/values-sr/strings.xml | 22 - .../src/phone/res/values-sv/strings.xml | 21 - .../src/phone/res/values-sw/strings.xml | 21 - .../src/phone/res/values-ta/strings.xml | 21 - .../src/phone/res/values-te/strings.xml | 21 - .../src/phone/res/values-th/strings.xml | 21 - .../src/phone/res/values-tl/strings.xml | 21 - .../src/phone/res/values-tr/strings.xml | 21 - .../src/phone/res/values-uk/strings.xml | 23 - .../src/phone/res/values-ur/strings.xml | 21 - .../src/phone/res/values-uz/strings.xml | 21 - .../src/phone/res/values-vi/strings.xml | 21 - .../src/phone/res/values-zh-rCN/strings.xml | 21 - .../src/phone/res/values-zh-rHK/strings.xml | 21 - .../src/phone/res/values-zh-rTW/strings.xml | 21 - .../src/phone/res/values-zu/strings.xml | 21 - .../src/phone/res/values/preference_keys.xml | 2 + .../common/src/phone/res/values/strings.xml | 4 + .../braille/interfaces/BrailleCharacter.java | 72 +- .../BrailleDisplayForBrailleIme.java | 27 +- .../braille/interfaces/BrailleDots.java | 24 - .../BrailleImeForBrailleDisplay.java | 49 +- .../braille/interfaces/BrailleWord.java | 35 +- .../braille/interfaces/SelectionRange.java | 48 + .../interfaces/TalkBackForBrailleDisplay.java | 25 +- .../interfaces/TalkBackForBrailleIme.java | 3 + .../translate/src/phone/AndroidManifest.xml | 2 +- .../braille/translate/BrailleTranslator.java | 3 +- .../braille/translate/TranslationResult.java | 194 ++-- .../ExpandableContractedTranslator.java | 104 ++- .../liblouis/LibLouisTranslator.java | 2 +- .../translate/liblouis/LouisTranslation.java | 4 +- .../jni/liblouiswrapper/louis_translation.cc | 113 ++- .../jni/liblouiswrapper/louis_translation.h | 2 +- build.gradle | 1 - build.sh | 36 +- compositor/build.gradle | 8 - compositor/src/main/AndroidManifest.xml | 2 - .../accessibility/compositor/EventFilter.java | 252 ----- compositor/src/main/res/values-af/strings.xml | 176 ---- compositor/src/main/res/values-am/strings.xml | 176 ---- compositor/src/main/res/values-ar/strings.xml | 196 ---- compositor/src/main/res/values-as/strings.xml | 176 ---- compositor/src/main/res/values-az/strings.xml | 176 ---- .../src/main/res/values-b+es+419/strings.xml | 176 ---- .../src/main/res/values-b+sr+Latn/strings.xml | 181 ---- compositor/src/main/res/values-be/strings.xml | 186 ---- compositor/src/main/res/values-bg/strings.xml | 176 ---- compositor/src/main/res/values-bn/strings.xml | 176 ---- compositor/src/main/res/values-bs/strings.xml | 181 ---- compositor/src/main/res/values-ca/strings.xml | 176 ---- compositor/src/main/res/values-cs/strings.xml | 186 ---- compositor/src/main/res/values-da/strings.xml | 176 ---- compositor/src/main/res/values-de/strings.xml | 176 ---- compositor/src/main/res/values-el/strings.xml | 176 ---- .../src/main/res/values-en-rAU/strings.xml | 176 ---- .../src/main/res/values-en-rGB/strings.xml | 176 ---- .../src/main/res/values-en-rIN/strings.xml | 176 ---- compositor/src/main/res/values-es/strings.xml | 176 ---- compositor/src/main/res/values-et/strings.xml | 176 ---- compositor/src/main/res/values-eu/strings.xml | 176 ---- compositor/src/main/res/values-fa/strings.xml | 176 ---- compositor/src/main/res/values-fi/strings.xml | 176 ---- .../src/main/res/values-fil/strings.xml | 176 ---- .../src/main/res/values-fr-rCA/strings.xml | 176 ---- compositor/src/main/res/values-fr/strings.xml | 176 ---- compositor/src/main/res/values-gl/strings.xml | 176 ---- compositor/src/main/res/values-gu/strings.xml | 176 ---- compositor/src/main/res/values-hi/strings.xml | 176 ---- compositor/src/main/res/values-hr/strings.xml | 181 ---- compositor/src/main/res/values-hu/strings.xml | 176 ---- compositor/src/main/res/values-hy/strings.xml | 176 ---- compositor/src/main/res/values-id/strings.xml | 176 ---- compositor/src/main/res/values-in/strings.xml | 176 ---- compositor/src/main/res/values-is/strings.xml | 176 ---- compositor/src/main/res/values-it/strings.xml | 176 ---- compositor/src/main/res/values-iw/strings.xml | 186 ---- compositor/src/main/res/values-ja/strings.xml | 176 ---- compositor/src/main/res/values-ka/strings.xml | 176 ---- compositor/src/main/res/values-kk/strings.xml | 176 ---- compositor/src/main/res/values-km/strings.xml | 176 ---- compositor/src/main/res/values-kn/strings.xml | 176 ---- compositor/src/main/res/values-ko/strings.xml | 176 ---- compositor/src/main/res/values-ky/strings.xml | 176 ---- compositor/src/main/res/values-lo/strings.xml | 176 ---- compositor/src/main/res/values-lt/strings.xml | 186 ---- compositor/src/main/res/values-lv/strings.xml | 181 ---- compositor/src/main/res/values-mk/strings.xml | 176 ---- compositor/src/main/res/values-ml/strings.xml | 176 ---- compositor/src/main/res/values-mn/strings.xml | 176 ---- compositor/src/main/res/values-mr/strings.xml | 176 ---- compositor/src/main/res/values-ms/strings.xml | 176 ---- compositor/src/main/res/values-my/strings.xml | 176 ---- compositor/src/main/res/values-nb/strings.xml | 176 ---- compositor/src/main/res/values-ne/strings.xml | 176 ---- compositor/src/main/res/values-nl/strings.xml | 176 ---- compositor/src/main/res/values-no/strings.xml | 176 ---- compositor/src/main/res/values-or/strings.xml | 176 ---- compositor/src/main/res/values-pa/strings.xml | 176 ---- compositor/src/main/res/values-pl/strings.xml | 186 ---- .../src/main/res/values-pt-rBR/strings.xml | 176 ---- .../src/main/res/values-pt-rPT/strings.xml | 176 ---- compositor/src/main/res/values-pt/strings.xml | 176 ---- compositor/src/main/res/values-ro/strings.xml | 181 ---- compositor/src/main/res/values-ru/strings.xml | 186 ---- compositor/src/main/res/values-si/strings.xml | 176 ---- compositor/src/main/res/values-sk/strings.xml | 186 ---- compositor/src/main/res/values-sl/strings.xml | 186 ---- compositor/src/main/res/values-sq/strings.xml | 176 ---- compositor/src/main/res/values-sr/strings.xml | 181 ---- compositor/src/main/res/values-sv/strings.xml | 176 ---- compositor/src/main/res/values-sw/strings.xml | 176 ---- compositor/src/main/res/values-ta/strings.xml | 176 ---- compositor/src/main/res/values-te/strings.xml | 176 ---- compositor/src/main/res/values-th/strings.xml | 176 ---- compositor/src/main/res/values-tl/strings.xml | 176 ---- compositor/src/main/res/values-tr/strings.xml | 176 ---- compositor/src/main/res/values-uk/strings.xml | 186 ---- compositor/src/main/res/values-ur/strings.xml | 176 ---- compositor/src/main/res/values-uz/strings.xml | 176 ---- compositor/src/main/res/values-vi/strings.xml | 176 ---- .../src/main/res/values-zh-rCN/strings.xml | 176 ---- .../src/main/res/values-zh-rHK/strings.xml | 176 ---- .../src/main/res/values-zh-rTW/strings.xml | 176 ---- compositor/src/main/res/values-zu/strings.xml | 176 ---- .../brailledisplay/proguard_release.pgcfg | 4 + .../talkback/HatsSurveyRequester.java | 170 ++++ .../talkback/HatsSurveyRequester.java | 36 + .../talkback/proguard_release.pgcfg | 4 + .../uiunderstanding/SnapshotUtil.kt | 54 ++ .../uiunderstanding/SnapshotViewImpl.kt | 137 +++ .../SnapshotViewMutableImpl.kt | 73 ++ .../uiunderstanding/SnapshotWindowImpl.kt | 82 ++ .../SnapshotWindowMutableImpl.kt | 109 +++ .../uiunderstanding/dbw/DbwSnapshotUpdater.kt | 60 ++ .../uiunderstanding/dbw/SnapshotDbw.kt | 64 ++ .../uiunderstanding/dbw/SnapshotDbwCache.kt | 51 + .../uiunderstanding/dbw/SnapshotViewDbw.kt | 169 ++++ .../uiunderstanding/dbw/SnapshotWindowDbw.kt | 34 + settings.gradle | 1 - shared.gradle | 11 +- src/main/AndroidManifest.xml | 11 - talkback/build.gradle | 9 - talkback/src/main/AndroidManifest.xml | 33 - .../talkback/TalkBackPreferencesActivity.java | 80 +- .../talkback/ActorStateWritable.java | 6 +- .../accessibility/talkback/Actors.java | 67 +- .../AutoValue_Feedback_FocusDirection.java | 5 +- .../talkback/AutoValue_Feedback_Scroll.java | 21 +- .../accessibility/talkback/BootReceiver.java | 6 - .../talkback/CursorGranularityManager.java | 8 +- .../accessibility/talkback/Feedback.java | 202 ++-- .../talkback/GranularityTraversal.java | 15 +- .../talkback/HatsSurveyRequester.java | 6 + .../talkback/Interpretation.java | 48 +- .../accessibility/talkback/Interpreters.java | 26 +- .../talkback/KeyboardLockMonitor.java | 2 +- .../accessibility/talkback/Mappers.java | 52 +- .../accessibility/talkback/Monitors.java | 28 +- .../talkback/OrientationMonitor.java | 2 +- .../accessibility/talkback/Pipeline.java | 7 +- .../talkback/RingerModeAndScreenMonitor.java | 5 +- .../talkback/TalkBackService.java | 873 +++++++----------- .../talkback/TalkBackSuspendDialog.java | 71 -- .../talkback/TalkBackUpdateHelper.java | 83 +- .../talkback/TouchInteractionMonitor.java | 520 +++++++++++ .../accessibility/talkback/UserInterface.java | 2 +- .../talkback/VoiceActionMonitor.java | 17 +- .../accessibility/talkback/VolumeMonitor.java | 31 +- .../talkback/actor/AutoScrollActor.java | 120 +-- .../talkback/actor/DimScreenActor.java | 2 +- .../talkback/actor/DimScreenDialog.java | 2 +- .../actor/DirectionNavigationActor.java | 26 +- .../actor/DirectionNavigationMapper.java | 283 ------ .../talkback/actor/FocusActor.java | 57 +- .../FocusActorForTapAndTouchExploration.java | 9 - .../talkback/actor/FocusManagerInternal.java | 13 +- .../talkback/actor/FullScreenReadDialog.java | 1 + .../talkback/actor/ImageCaptioner.java | 131 ++- .../talkback/actor/PassThroughModeActor.java | 9 +- .../talkback/actor/SystemActionPerformer.java | 15 +- .../talkback/actor/TextEditActor.java | 28 +- .../actor/search/SearchScreenOverlay.java | 73 +- .../actor/search/UniversalSearchActor.java | 229 +++++ .../actor/search/UniversalSearchManager.java | 221 +---- .../voicecommands/VoiceCommandMapper.java | 2 +- .../voicecommands/VoiceCommandProcessor.java | 5 +- .../brailledisplay/BrailleDisplayHelper.java | 103 ++- ...AccessibilityFocusEventInterpretation.java | 2 +- .../AccessibilityFocusEventInterpreter.java | 2 +- .../talkback}/compositor/ActionVariables.java | 4 +- .../talkback}/compositor/Compositor.java | 185 ++-- .../talkback/compositor/EventFilter.java | 165 ++++ .../compositor/EventInterpretation.java | 2 +- .../talkback}/compositor/EventVariables.java | 25 +- .../compositor/GestureShortcutProvider.java | 2 +- .../talkback}/compositor/GlobalVariables.java | 184 +++- .../compositor/HintEventInterpretation.java | 2 +- .../compositor/InterpretationVariables.java | 4 +- .../compositor/NodeMenuProvider.java | 2 +- .../talkback}/compositor/NodeVariables.java | 23 +- .../compositor/VariablesFactory.java | 13 +- .../compositor}/parsetree/ParseTree.java | 100 +- .../parsetree/ParseTreeArrayNode.java | 2 +- .../ParseTreeBooleanConstantNode.java | 2 +- .../parsetree/ParseTreeCommentNode.java | 2 +- .../parsetree/ParseTreeFallbackNode.java | 2 +- .../parsetree/ParseTreeForEachChildNode.java | 2 +- .../parsetree/ParseTreeForReferenceNode.java | 2 +- .../parsetree/ParseTreeFunctionNode.java | 17 +- .../parsetree/ParseTreeIfNode.java | 2 +- .../ParseTreeIntegerConstantNode.java | 2 +- .../parsetree/ParseTreeJoinNode.java | 2 +- .../parsetree/ParseTreeLengthNode.java | 2 +- .../compositor}/parsetree/ParseTreeNode.java | 2 +- .../parsetree/ParseTreeNotNode.java | 2 +- .../ParseTreeNumberConstantNode.java | 2 +- .../parsetree/ParseTreeOperatorNode.java | 2 +- .../parsetree/ParseTreeResourceNode.java | 37 +- .../ParseTreeStringConstantNode.java | 2 +- .../parsetree/ParseTreeSwitchNode.java | 2 +- .../parsetree/ParseTreeVariableNode.java | 2 +- ...bstractOnContextMenuItemClickListener.java | 3 +- .../ContextMenuItemClickProcessor.java | 11 +- .../talkback/contextmenu/ListMenuManager.java | 5 + .../contextmenu/TalkbackMenuProcessor.java | 13 +- .../TelevisionNavigationController.java | 8 +- .../talkback/dialog/BaseDialog.java | 16 +- .../talkback/dialog/FirstTimeUseDialog.java | 14 - .../dynamicfeature/FeatureDownloader.java | 108 +++ .../AccessibilityEventProcessor.java | 5 + .../ProcessorAccessibilityHints.java | 8 +- .../eventprocessor/ProcessorCursorState.java | 2 +- .../eventprocessor/ProcessorEventQueue.java | 4 +- .../ProcessorMagnification.java | 242 ++++- .../ProcessorPhoneticLetters.java | 2 +- .../eventprocessor/ProcessorScreen.java | 8 +- .../eventprocessor/ProcessorVolumeStream.java | 35 - .../AccessibilityFocusMonitor.java | 4 +- .../FocusProcessorForLogicalNavigation.java | 50 +- ...cusProcessorForTapAndTouchExploration.java | 26 +- .../AccessibilityFocusActionHistory.java | 26 +- .../record/FocusActionInfo.java | 10 +- .../record/FocusActionRecord.java | 92 +- .../record/NodePathDescription.java | 2 + .../talkback/gesture/GestureController.java | 44 +- .../gesture/GestureShortcutMapping.java | 25 +- .../IconDetectionModuleDownloadPrompter.java | 85 ++ .../AccessibilityFocusInterpreter.java | 19 +- .../interpreters/AutoScrollInterpreter.java | 47 +- .../DirectionNavigationInterpreter.java | 14 +- .../interpreters/InputFocusInterpreter.java | 4 +- .../interpreters/ManualScrollInterpreter.java | 15 +- .../ScrollPositionInterpreter.java | 18 +- .../keyboard/DefaultKeyComboModel.java | 594 ++++++++++++ .../talkback}/keyboard/KeyComboManager.java | 447 ++++----- .../talkback/keyboard/KeyComboMapper.java | 527 +++++++++++ .../talkback}/keyboard/KeyComboModel.java | 2 +- .../talkback}/keyboard/KeyComboModelApp.java | 140 ++- .../talkback}/keyboard/KeyComboPersister.java | 22 +- .../labeling/LabelImportActivity.java | 4 +- .../menurules/NodeMenuRuleProcessor.java | 2 +- .../talkback/menurules/RuleCustomAction.java | 63 +- .../talkback/menurules/RuleImageCaption.java | 3 +- .../GestureChangeNotificationActivity.java | 8 +- .../preference/PreferencesActivityUtils.java | 54 +- .../TalkBackHelpPreferencesActivity.java | 84 -- .../preference/TalkBackPreferenceFilter.java | 78 +- .../TalkBackShortcutPreferencesActivity.java | 168 ---- ...earListPreferenceDialogFragmentCompat.java | 3 +- .../base/AdvancedSettingFragment.java | 46 +- .../base/DeveloperPrefFragment.java | 143 ++- .../{ => base}/GestureListPreference.java | 25 +- .../GesturePreferenceFragmentCompat.java | 8 +- .../KeyboardShortcutDialogPreference.java | 13 +- ...boardShortcutPreferenceFragmentCompat.java | 4 +- ...BackGestureShortcutPreferenceFragment.java | 149 +++ ...ackKeyboardShortcutPreferenceFragment.java | 65 +- .../base/TalkBackPreferenceFragment.java | 117 +++ .../preference/base/TalkbackBaseFragment.java | 8 + .../base/TutorialAndHelpFragment.java | 92 ++ .../base/VerbosityPrefFragment.java | 88 +- .../talkback/selector/ActionsSetting.java | 81 ++ .../talkback/selector/SelectorController.java | 149 +-- .../speech/SpeakPasswordsManager.java | 2 +- .../training/OnboardingInitiator.java | 79 +- .../talkback/training/PageConfig.java | 39 +- .../talkback/training/TrainingActivity.java | 11 +- .../talkback/training/TrainingConfig.java | 12 +- .../talkback/training/content/Text.java | 71 +- .../talkback/training/content/TextList.java | 22 +- .../DiagnosticOverlayControllerImpl.java | 195 ++-- .../talkback/utils/ExperimentalUtils.java | 2 +- .../talkback/utils/HighlightOverlay.java | 84 +- .../talkback/utils/SplitCompatUtils.java | 29 + .../res/layout/confirm_download_dialog.xml | 52 ++ .../layout/dim_screen_confirmation_dialog.xml | 2 +- .../main/res/layout/training_list_item.xml | 3 +- .../main/res/layout/training_text_list.xml | 4 +- talkback/src/main/res/menu/context_menu.xml | 4 - .../src/main/res/raw/chime_down.ogg | Bin .../src/main/res/raw/chime_up.ogg | Bin .../src/main/res/raw/complete.ogg | Bin .../src/main/res/raw/compositor.json | 94 +- talkback/src/main/res/raw/compositor_arc.json | 10 + .../src/main/res/raw/compositor_jasper.json | 14 + talkback/src/main/res/raw/compositor_tv.json | 106 +++ .../src/main/res/raw/focus.ogg | Bin .../src/main/res/raw/focus_actionable.ogg | Bin .../src/main/res/raw/long_clicked.ogg | Bin talkback/src/main/res/raw/paused_feedback.mid | Bin 63 -> 0 bytes .../src/main/res/raw/scroll_tone.ogg | Bin .../src/main/res/raw/tick.ogg | Bin talkback/src/main/res/values-af/strings.xml | 90 +- talkback/src/main/res/values-am/strings.xml | 92 +- .../src/main/res/values-ar-watch/strings.xml | 2 +- talkback/src/main/res/values-ar/strings.xml | 100 +- talkback/src/main/res/values-as/strings.xml | 108 +-- talkback/src/main/res/values-az/strings.xml | 90 +- .../src/main/res/values-b+es+419/strings.xml | 98 +- .../src/main/res/values-b+sr+Latn/strings.xml | 94 +- talkback/src/main/res/values-be/strings.xml | 92 +- talkback/src/main/res/values-bg/strings.xml | 90 +- talkback/src/main/res/values-bn/strings.xml | 92 +- talkback/src/main/res/values-bs/strings.xml | 92 +- .../res/values-bs/strings_voicecommands.xml | 2 +- talkback/src/main/res/values-ca/strings.xml | 94 +- talkback/src/main/res/values-cs/strings.xml | 90 +- talkback/src/main/res/values-da/strings.xml | 90 +- talkback/src/main/res/values-de/strings.xml | 96 +- talkback/src/main/res/values-el/strings.xml | 90 +- .../src/main/res/values-en-rAU/strings.xml | 92 +- .../src/main/res/values-en-rGB/strings.xml | 92 +- .../src/main/res/values-en-rIN/strings.xml | 92 +- talkback/src/main/res/values-es/strings.xml | 122 ++- .../res/values-es/strings_voicecommands.xml | 2 +- talkback/src/main/res/values-et/strings.xml | 92 +- talkback/src/main/res/values-eu/strings.xml | 100 +- talkback/src/main/res/values-fa/strings.xml | 110 +-- .../res/values-fa/strings_voicecommands.xml | 2 +- talkback/src/main/res/values-fi/strings.xml | 92 +- talkback/src/main/res/values-fil/strings.xml | 92 +- .../src/main/res/values-fr-rCA/strings.xml | 100 +- talkback/src/main/res/values-fr/strings.xml | 94 +- talkback/src/main/res/values-gl/strings.xml | 92 +- talkback/src/main/res/values-gu/strings.xml | 90 +- talkback/src/main/res/values-hi/strings.xml | 104 +-- talkback/src/main/res/values-hr/strings.xml | 92 +- talkback/src/main/res/values-hu/strings.xml | 92 +- talkback/src/main/res/values-hy/strings.xml | 94 +- talkback/src/main/res/values-id/strings.xml | 98 +- talkback/src/main/res/values-in/strings.xml | 98 +- talkback/src/main/res/values-is/strings.xml | 92 +- .../src/main/res/values-it-watch/strings.xml | 2 +- talkback/src/main/res/values-it/strings.xml | 102 +- talkback/src/main/res/values-iw/strings.xml | 104 +-- talkback/src/main/res/values-ja/strings.xml | 96 +- talkback/src/main/res/values-ka/strings.xml | 92 +- talkback/src/main/res/values-kk/strings.xml | 92 +- talkback/src/main/res/values-km/strings.xml | 92 +- talkback/src/main/res/values-kn/strings.xml | 92 +- .../res/values-kn/strings_voicecommands.xml | 2 +- talkback/src/main/res/values-ko/strings.xml | 96 +- talkback/src/main/res/values-ky/strings.xml | 90 +- talkback/src/main/res/values-lo/strings.xml | 92 +- talkback/src/main/res/values-lt/strings.xml | 90 +- talkback/src/main/res/values-lv/strings.xml | 90 +- talkback/src/main/res/values-mk/strings.xml | 90 +- talkback/src/main/res/values-ml/strings.xml | 92 +- talkback/src/main/res/values-mn/strings.xml | 92 +- talkback/src/main/res/values-mr/strings.xml | 90 +- talkback/src/main/res/values-ms/strings.xml | 92 +- talkback/src/main/res/values-my/strings.xml | 100 +- .../res/values-my/strings_voicecommands.xml | 2 +- talkback/src/main/res/values-nb/strings.xml | 90 +- talkback/src/main/res/values-ne/strings.xml | 92 +- talkback/src/main/res/values-nl/strings.xml | 100 +- talkback/src/main/res/values-no/strings.xml | 90 +- talkback/src/main/res/values-or/strings.xml | 98 +- talkback/src/main/res/values-pa/strings.xml | 100 +- talkback/src/main/res/values-pl/strings.xml | 96 +- .../res/values-pl/strings_voicecommands.xml | 2 +- .../src/main/res/values-pt-rBR/strings.xml | 98 +- .../src/main/res/values-pt-rPT/strings.xml | 98 +- talkback/src/main/res/values-pt/strings.xml | 98 +- talkback/src/main/res/values-ro/strings.xml | 92 +- talkback/src/main/res/values-ru/strings.xml | 98 +- talkback/src/main/res/values-si/strings.xml | 92 +- talkback/src/main/res/values-sk/strings.xml | 90 +- .../res/values-sk/strings_voicecommands.xml | 2 +- talkback/src/main/res/values-sl/strings.xml | 92 +- talkback/src/main/res/values-sq/strings.xml | 92 +- talkback/src/main/res/values-sr/strings.xml | 94 +- talkback/src/main/res/values-sv/strings.xml | 92 +- talkback/src/main/res/values-sw/strings.xml | 90 +- talkback/src/main/res/values-ta/strings.xml | 98 +- talkback/src/main/res/values-te/strings.xml | 114 +-- .../res/values-te/strings_voicecommands.xml | 6 +- talkback/src/main/res/values-th/strings.xml | 92 +- talkback/src/main/res/values-tl/strings.xml | 92 +- talkback/src/main/res/values-tr/strings.xml | 92 +- talkback/src/main/res/values-uk/strings.xml | 92 +- talkback/src/main/res/values-ur/strings.xml | 100 +- talkback/src/main/res/values-uz/strings.xml | 90 +- talkback/src/main/res/values-v26/strings.xml | 13 + talkback/src/main/res/values-v33/strings.xml | 13 + talkback/src/main/res/values-vi/strings.xml | 92 +- .../main/res/values-watch/donottranslate.xml | 1 - .../src/main/res/values-watch/strings.xml | 15 + .../src/main/res/values-zh-rCN/strings.xml | 98 +- .../src/main/res/values-zh-rHK/strings.xml | 90 +- .../src/main/res/values-zh-rTW/strings.xml | 102 +- talkback/src/main/res/values-zu/strings.xml | 92 +- .../src/main/res/values/donottranslate.xml | 174 +++- talkback/src/main/res/values/strings.xml | 319 +++++-- .../main/res/values/strings_compositor.xml | 87 +- .../main/res/values/vibration_compositor.xml | 0 .../main/res/xml-v30/accessibilityservice.xml | 3 +- .../main/res/xml-v31/accessibilityservice.xml | 3 +- .../main/res/xml-v33/accessibilityservice.xml | 20 + .../xml-watch-v30/accessibilityservice.xml | 2 +- .../res/xml-watch/accessibilityservice.xml | 2 +- .../res/xml-watch/advanced_preferences.xml | 21 +- .../res/xml-watch/developer_preferences.xml | 3 - .../src/main/res/xml/accessibilityservice.xml | 3 +- .../src/main/res/xml/advanced_preferences.xml | 26 +- .../main/res/xml/context_menu_preferences.xml | 8 - .../res/xml/default_key_combo_preferences.xml | 3 - .../main/res/xml/developer_preferences.xml | 15 +- .../src/main/res/xml/gesture_preferences.xml | 94 +- .../main/res/xml/key_combo_preferences.xml | 3 - talkback/src/main/res/xml/preferences.xml | 55 +- uiunderstanding/build.gradle | 4 + .../uiunderstanding/ActionRecord.java | 50 + .../accessibility/uiunderstanding/Event.java | 129 +++ .../uiunderstanding/EventSource.java | 190 ++++ .../accessibility/uiunderstanding/Node.java | 58 ++ .../uiunderstanding/Snapshot.java | 99 ++ .../uiunderstanding/SnapshotView.java | 490 ++++++++++ .../uiunderstanding/SnapshotViewInternal.java | 31 + .../uiunderstanding/SnapshotWindow.java | 227 +++++ utils/build.gradle | 1 - .../utils/A11yAlertDialogWrapper.java | 53 ++ .../utils/AccessibilityNodeInfoUtils.java | 837 +++++------------ .../AccessibilityServiceCompatUtils.java | 25 +- .../utils/AccessibilityWindow.java | 126 +-- .../utils/AccessibilityWindowInfoUtils.java | 29 +- .../utils/BasePreferencesActivity.java | 8 + .../utils/BuildVersionUtils.java | 10 +- .../accessibility/utils/CollectionState.java | 162 +--- .../utils/DiagnosticOverlayController.java | 17 +- .../utils/DiagnosticOverlayUtils.java | 16 +- .../utils/EditTextActionHistory.java | 6 +- .../android/accessibility/utils/Event.java | 23 - .../accessibility/utils/FeatureSupport.java | 98 +- .../accessibility/utils/FocusFinder.java | 70 +- .../accessibility/utils/ImageContents.java | 32 +- .../utils/{keyboard => }/KeyboardUtils.java | 18 +- .../accessibility/utils/Performance.java | 3 +- .../utils/PreferencesActivity.java | 1 + .../android/accessibility/utils/Role.java | 12 +- .../utils/ServiceStateListener.java | 4 +- .../accessibility/utils/SettingsUtils.java | 13 +- .../accessibility/utils/SpannableUtils.java | 28 +- .../android/accessibility/utils/Supplier.java | 11 + .../accessibility/utils/TreeDebug.java | 28 +- .../utils/WebInterfaceUtils.java | 23 +- .../accessibility/utils/WindowUtils.java | 95 +- .../AccessibilityButtonMonitor.java | 4 - .../utils/caption/ImageCaptionStorage.java | 46 +- .../utils/caption/ImageCaptionUtils.java | 12 +- .../utils/caption/ImageNode.java | 6 +- .../AbstractAccessibilityHintsManager.java | 9 +- .../feedbackpolicy/ScrollFeedbackManager.java | 35 +- .../utils/gestures/GestureManifold.java | 319 +++++++ .../utils/gestures/GestureMatcher.java | 2 +- .../utils/gestures/MultiFingerMultiTap.java | 27 +- .../gestures/MultiFingerMultiTapAndHold.java | 2 +- .../utils/input/InputModeManager.java | 7 +- .../utils/input}/PreferenceProvider.java | 2 +- .../utils/input/ScrollActionRecord.java | 127 +++ .../utils/input}/ScrollEventInterpreter.java | 139 ++- .../input/SelectionEventInterpreter.java | 121 +++ .../utils/input/SpeechStateMonitor.java | 141 +++ .../utils/input/TextEventFilter.java | 15 +- .../utils/input/TextEventHistory.java | 15 +- .../utils/input/TextEventInterpreter.java | 59 +- .../utils/input/WindowEventInterpreter.java | 27 +- .../utils/keyboard/DefaultKeyComboModel.java | 604 ------------ .../utils/monitor/AudioPlaybackMonitor.java | 10 +- .../utils/monitor/MediaRecorderMonitor.java | 5 - .../utils/monitor/TouchMonitor.java | 76 ++ .../utils/ocr/OcrController.java | 2 +- .../accessibility/utils/ocr/OcrInfo.java | 1 - .../utils/output/FailoverTextToSpeech.java | 4 - .../utils/output/FeedbackController.java | 41 + .../utils/output/SpeechControllerImpl.java | 18 +- .../DirectionalTraversalStrategy.java | 18 - .../traversal/OrderedTraversalStrategy.java | 5 - .../traversal/SimpleTraversalStrategy.java | 3 - .../traversal/SpannableTraversalUtils.java | 7 +- .../utils/traversal/TraversalStrategy.java | 10 - .../traversal/TraversalStrategyUtils.java | 4 +- ...ayPauseButtonShortPressPatternMatcher.java | 2 +- ...leVolumeButtonLongPressPatternMatcher.java | 96 -- ...meButtonThreeShortPressPatternMatcher.java | 174 ---- .../VolumeButtonPatternDetector.java | 14 +- .../utils/widget/NonScrollableListView.java | 52 ++ utils/src/main/res/values-af/strings.xml | 2 - utils/src/main/res/values-am/strings.xml | 2 - utils/src/main/res/values-ar/strings.xml | 2 - utils/src/main/res/values-as/strings.xml | 2 - utils/src/main/res/values-az/strings.xml | 2 - .../src/main/res/values-b+es+419/strings.xml | 2 - .../src/main/res/values-b+sr+Latn/strings.xml | 2 - utils/src/main/res/values-be/strings.xml | 2 - utils/src/main/res/values-bg/strings.xml | 2 - utils/src/main/res/values-bn/strings.xml | 2 - utils/src/main/res/values-bs/strings.xml | 2 - utils/src/main/res/values-ca/strings.xml | 2 - utils/src/main/res/values-cs/strings.xml | 2 - utils/src/main/res/values-da/strings.xml | 2 - utils/src/main/res/values-de/strings.xml | 2 - utils/src/main/res/values-el/strings.xml | 2 - utils/src/main/res/values-en-rAU/strings.xml | 2 - utils/src/main/res/values-en-rGB/strings.xml | 2 - utils/src/main/res/values-en-rIN/strings.xml | 2 - utils/src/main/res/values-es/strings.xml | 2 - utils/src/main/res/values-et/strings.xml | 2 - utils/src/main/res/values-eu/strings.xml | 2 - utils/src/main/res/values-fa/strings.xml | 2 - .../main/res/values-fa/strings_symbols.xml | 4 +- utils/src/main/res/values-fi/strings.xml | 2 - utils/src/main/res/values-fil/strings.xml | 2 - utils/src/main/res/values-fr-rCA/strings.xml | 2 - utils/src/main/res/values-fr/strings.xml | 2 - utils/src/main/res/values-gl/strings.xml | 2 - utils/src/main/res/values-gu/strings.xml | 2 - utils/src/main/res/values-hi/strings.xml | 2 - utils/src/main/res/values-hr/strings.xml | 2 - utils/src/main/res/values-hu/strings.xml | 2 - utils/src/main/res/values-hy/strings.xml | 2 - utils/src/main/res/values-id/strings.xml | 2 - utils/src/main/res/values-in/strings.xml | 2 - utils/src/main/res/values-is/strings.xml | 2 - utils/src/main/res/values-it/strings.xml | 2 - utils/src/main/res/values-iw/strings.xml | 2 - utils/src/main/res/values-ja/strings.xml | 2 - utils/src/main/res/values-ka/strings.xml | 2 - utils/src/main/res/values-kk/strings.xml | 2 - utils/src/main/res/values-km/strings.xml | 2 - utils/src/main/res/values-kn/strings.xml | 2 - utils/src/main/res/values-ko/strings.xml | 2 - utils/src/main/res/values-ky/strings.xml | 2 - utils/src/main/res/values-lo/strings.xml | 2 - utils/src/main/res/values-lt/strings.xml | 2 - utils/src/main/res/values-lv/strings.xml | 2 - utils/src/main/res/values-mk/strings.xml | 2 - utils/src/main/res/values-ml/strings.xml | 2 - utils/src/main/res/values-mn/strings.xml | 2 - utils/src/main/res/values-mr/strings.xml | 2 - utils/src/main/res/values-ms/strings.xml | 2 - utils/src/main/res/values-my/strings.xml | 4 +- utils/src/main/res/values-nb/strings.xml | 2 - utils/src/main/res/values-ne/strings.xml | 2 - utils/src/main/res/values-nl/strings.xml | 2 - utils/src/main/res/values-no/strings.xml | 2 - utils/src/main/res/values-or/strings.xml | 2 - utils/src/main/res/values-pa/strings.xml | 2 - utils/src/main/res/values-pl/strings.xml | 2 - utils/src/main/res/values-pt-rBR/strings.xml | 2 - utils/src/main/res/values-pt-rPT/strings.xml | 2 - utils/src/main/res/values-pt/strings.xml | 2 - utils/src/main/res/values-ro/strings.xml | 2 - utils/src/main/res/values-ru/strings.xml | 2 - utils/src/main/res/values-si/strings.xml | 2 - utils/src/main/res/values-sk/strings.xml | 2 - utils/src/main/res/values-sl/strings.xml | 2 - utils/src/main/res/values-sq/strings.xml | 2 - utils/src/main/res/values-sr/strings.xml | 2 - utils/src/main/res/values-sv/strings.xml | 2 - utils/src/main/res/values-sw/strings.xml | 2 - utils/src/main/res/values-ta/strings.xml | 2 - utils/src/main/res/values-te/strings.xml | 2 - utils/src/main/res/values-th/strings.xml | 2 - utils/src/main/res/values-tl/strings.xml | 2 - utils/src/main/res/values-tr/strings.xml | 2 - utils/src/main/res/values-uk/strings.xml | 2 - utils/src/main/res/values-ur/strings.xml | 2 - utils/src/main/res/values-uz/strings.xml | 2 - utils/src/main/res/values-vi/strings.xml | 4 +- utils/src/main/res/values-watch/styles.xml | 5 +- utils/src/main/res/values-zh-rCN/strings.xml | 2 - utils/src/main/res/values-zh-rHK/strings.xml | 2 - utils/src/main/res/values-zh-rTW/strings.xml | 2 - utils/src/main/res/values-zu/strings.xml | 2 - utils/src/main/res/values/colors.xml | 1 + utils/src/main/res/values/donottranslate.xml | 85 -- utils/src/main/res/values/google_colors.xml | 4 +- utils/src/main/res/values/strings.xml | 25 - utils/src/main/res/values/styles.xml | 8 + version.gradle | 2 +- 806 files changed, 18732 insertions(+), 30665 deletions(-) rename braille/brailleime/src/{phone => main}/res/values-af/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-am/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-ar/strings.xml (82%) rename braille/brailleime/src/{phone => main}/res/values-as/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-az/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-b+es+419/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-b+sr+Latn/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-be/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-bg/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-bn/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-bs/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-ca/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-cs/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-da/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-de/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-el/strings.xml (85%) rename braille/brailleime/src/{phone/res/values-en-rIN => main/res/values-en-rAU}/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-en-rGB/strings.xml (83%) rename braille/brailleime/src/{phone/res/values-en-rAU => main/res/values-en-rIN}/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-es/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-et/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-eu/strings.xml (82%) rename braille/brailleime/src/{phone => main}/res/values-fa/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-fi/strings.xml (84%) rename braille/brailleime/src/{phone/res/values-tl => main/res/values-fil}/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-fr-rCA/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-fr/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-gl/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-gu/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-hi/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-hr/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-hu/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-hy/strings.xml (85%) rename braille/brailleime/src/{phone/res/values-in => main/res/values-id}/strings.xml (84%) rename braille/brailleime/src/{phone/res/values-id => main/res/values-in}/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-is/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-it/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-iw/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-ja/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-ka/strings.xml (86%) rename braille/brailleime/src/{phone => main}/res/values-kk/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-km/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-kn/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-ko/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-ky/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-lo/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-lt/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-lv/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-mk/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-ml/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-mn/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-mr/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-ms/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-my/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-nb/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-ne/strings.xml (82%) rename braille/brailleime/src/{phone => main}/res/values-nl/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-no/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-or/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-pa/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-pl/strings.xml (83%) rename braille/brailleime/src/{phone/res/values-pt => main/res/values-pt-rBR}/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-pt-rPT/strings.xml (84%) rename braille/brailleime/src/{phone/res/values-pt-rBR => main/res/values-pt}/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-ro/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-ru/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-si/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-sk/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-sl/strings.xml (82%) rename braille/brailleime/src/{phone => main}/res/values-sq/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-sr/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-sv/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-sw/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-ta/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-te/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-th/strings.xml (84%) rename braille/brailleime/src/{phone/res/values-fil => main/res/values-tl}/strings.xml (85%) rename braille/brailleime/src/{phone => main}/res/values-tr/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-uk/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-ur/strings.xml (84%) rename braille/brailleime/src/{phone => main}/res/values-uz/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-vi/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-zh-rCN/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-zh-rHK/strings.xml (82%) rename braille/brailleime/src/{phone => main}/res/values-zh-rTW/strings.xml (83%) rename braille/brailleime/src/{phone => main}/res/values-zu/strings.xml (83%) delete mode 100644 braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_1.png delete mode 100644 braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_2.png delete mode 100644 braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_3.png delete mode 100644 braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_4.png delete mode 100644 braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_5.png delete mode 100644 braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_6.png delete mode 100644 braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_7.png delete mode 100644 braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_8.png delete mode 100644 braille/brailleime/src/phone/res/drawable-xhdpi/dots_untapped.png create mode 100644 braille/brailleime/src/phone/res/drawable/dots_tapped_1.xml create mode 100644 braille/brailleime/src/phone/res/drawable/dots_tapped_2.xml create mode 100644 braille/brailleime/src/phone/res/drawable/dots_tapped_3.xml create mode 100644 braille/brailleime/src/phone/res/drawable/dots_tapped_4.xml create mode 100644 braille/brailleime/src/phone/res/drawable/dots_tapped_5.xml create mode 100644 braille/brailleime/src/phone/res/drawable/dots_tapped_6.xml create mode 100644 braille/brailleime/src/phone/res/drawable/dots_tapped_7.xml create mode 100644 braille/brailleime/src/phone/res/drawable/dots_tapped_8.xml create mode 100644 braille/brailleime/src/phone/res/drawable/dots_untapped.xml create mode 100644 braille/brailleime/src/phone/res/layout-land/brailledisplay_ime.xml rename braille/{brailleime => common}/src/phone/res/layout/dialog_dont_show_again_checkbox.xml (79%) delete mode 100644 braille/common/src/phone/res/values-af/strings.xml delete mode 100644 braille/common/src/phone/res/values-am/strings.xml delete mode 100644 braille/common/src/phone/res/values-ar/strings.xml delete mode 100644 braille/common/src/phone/res/values-as/strings.xml delete mode 100644 braille/common/src/phone/res/values-az/strings.xml delete mode 100644 braille/common/src/phone/res/values-b+es+419/strings.xml delete mode 100644 braille/common/src/phone/res/values-b+sr+Latn/strings.xml delete mode 100644 braille/common/src/phone/res/values-be/strings.xml delete mode 100644 braille/common/src/phone/res/values-bg/strings.xml delete mode 100644 braille/common/src/phone/res/values-bn/strings.xml delete mode 100644 braille/common/src/phone/res/values-bs/strings.xml delete mode 100644 braille/common/src/phone/res/values-ca/strings.xml delete mode 100644 braille/common/src/phone/res/values-cs/strings.xml delete mode 100644 braille/common/src/phone/res/values-da/strings.xml delete mode 100644 braille/common/src/phone/res/values-de/strings.xml delete mode 100644 braille/common/src/phone/res/values-el/strings.xml delete mode 100644 braille/common/src/phone/res/values-en-rAU/strings.xml delete mode 100644 braille/common/src/phone/res/values-en-rGB/strings.xml delete mode 100644 braille/common/src/phone/res/values-en-rIN/strings.xml delete mode 100644 braille/common/src/phone/res/values-es/strings.xml delete mode 100644 braille/common/src/phone/res/values-et/strings.xml delete mode 100644 braille/common/src/phone/res/values-eu/strings.xml delete mode 100644 braille/common/src/phone/res/values-fa/strings.xml delete mode 100644 braille/common/src/phone/res/values-fi/strings.xml delete mode 100644 braille/common/src/phone/res/values-fil/strings.xml delete mode 100644 braille/common/src/phone/res/values-fr-rCA/strings.xml delete mode 100644 braille/common/src/phone/res/values-fr/strings.xml delete mode 100644 braille/common/src/phone/res/values-gl/strings.xml delete mode 100644 braille/common/src/phone/res/values-gu/strings.xml delete mode 100644 braille/common/src/phone/res/values-hi/strings.xml delete mode 100644 braille/common/src/phone/res/values-hr/strings.xml delete mode 100644 braille/common/src/phone/res/values-hu/strings.xml delete mode 100644 braille/common/src/phone/res/values-hy/strings.xml delete mode 100644 braille/common/src/phone/res/values-id/strings.xml delete mode 100644 braille/common/src/phone/res/values-in/strings.xml delete mode 100644 braille/common/src/phone/res/values-is/strings.xml delete mode 100644 braille/common/src/phone/res/values-it/strings.xml delete mode 100644 braille/common/src/phone/res/values-iw/strings.xml delete mode 100644 braille/common/src/phone/res/values-ja/strings.xml delete mode 100644 braille/common/src/phone/res/values-ka/strings.xml delete mode 100644 braille/common/src/phone/res/values-kk/strings.xml delete mode 100644 braille/common/src/phone/res/values-km/strings.xml delete mode 100644 braille/common/src/phone/res/values-kn/strings.xml delete mode 100644 braille/common/src/phone/res/values-ko/strings.xml delete mode 100644 braille/common/src/phone/res/values-ky/strings.xml delete mode 100644 braille/common/src/phone/res/values-lo/strings.xml delete mode 100644 braille/common/src/phone/res/values-lt/strings.xml delete mode 100644 braille/common/src/phone/res/values-lv/strings.xml delete mode 100644 braille/common/src/phone/res/values-mk/strings.xml delete mode 100644 braille/common/src/phone/res/values-ml/strings.xml delete mode 100644 braille/common/src/phone/res/values-mn/strings.xml delete mode 100644 braille/common/src/phone/res/values-mr/strings.xml delete mode 100644 braille/common/src/phone/res/values-ms/strings.xml delete mode 100644 braille/common/src/phone/res/values-my/strings.xml delete mode 100644 braille/common/src/phone/res/values-nb/strings.xml delete mode 100644 braille/common/src/phone/res/values-ne/strings.xml delete mode 100644 braille/common/src/phone/res/values-nl/strings.xml delete mode 100644 braille/common/src/phone/res/values-no/strings.xml delete mode 100644 braille/common/src/phone/res/values-or/strings.xml delete mode 100644 braille/common/src/phone/res/values-pa/strings.xml delete mode 100644 braille/common/src/phone/res/values-pl/strings.xml delete mode 100644 braille/common/src/phone/res/values-pt-rBR/strings.xml delete mode 100644 braille/common/src/phone/res/values-pt-rPT/strings.xml delete mode 100644 braille/common/src/phone/res/values-pt/strings.xml delete mode 100644 braille/common/src/phone/res/values-ro/strings.xml delete mode 100644 braille/common/src/phone/res/values-ru/strings.xml delete mode 100644 braille/common/src/phone/res/values-si/strings.xml delete mode 100644 braille/common/src/phone/res/values-sk/strings.xml delete mode 100644 braille/common/src/phone/res/values-sl/strings.xml delete mode 100644 braille/common/src/phone/res/values-sq/strings.xml delete mode 100644 braille/common/src/phone/res/values-sr/strings.xml delete mode 100644 braille/common/src/phone/res/values-sv/strings.xml delete mode 100644 braille/common/src/phone/res/values-sw/strings.xml delete mode 100644 braille/common/src/phone/res/values-ta/strings.xml delete mode 100644 braille/common/src/phone/res/values-te/strings.xml delete mode 100644 braille/common/src/phone/res/values-th/strings.xml delete mode 100644 braille/common/src/phone/res/values-tl/strings.xml delete mode 100644 braille/common/src/phone/res/values-tr/strings.xml delete mode 100644 braille/common/src/phone/res/values-uk/strings.xml delete mode 100644 braille/common/src/phone/res/values-ur/strings.xml delete mode 100644 braille/common/src/phone/res/values-uz/strings.xml delete mode 100644 braille/common/src/phone/res/values-vi/strings.xml delete mode 100644 braille/common/src/phone/res/values-zh-rCN/strings.xml delete mode 100644 braille/common/src/phone/res/values-zh-rHK/strings.xml delete mode 100644 braille/common/src/phone/res/values-zh-rTW/strings.xml delete mode 100644 braille/common/src/phone/res/values-zu/strings.xml delete mode 100644 braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleDots.java create mode 100644 braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/SelectionRange.java delete mode 100644 compositor/build.gradle delete mode 100644 compositor/src/main/AndroidManifest.xml delete mode 100644 compositor/src/main/java/com/google/android/accessibility/compositor/EventFilter.java delete mode 100644 compositor/src/main/res/values-af/strings.xml delete mode 100644 compositor/src/main/res/values-am/strings.xml delete mode 100644 compositor/src/main/res/values-ar/strings.xml delete mode 100644 compositor/src/main/res/values-as/strings.xml delete mode 100644 compositor/src/main/res/values-az/strings.xml delete mode 100644 compositor/src/main/res/values-b+es+419/strings.xml delete mode 100644 compositor/src/main/res/values-b+sr+Latn/strings.xml delete mode 100644 compositor/src/main/res/values-be/strings.xml delete mode 100644 compositor/src/main/res/values-bg/strings.xml delete mode 100644 compositor/src/main/res/values-bn/strings.xml delete mode 100644 compositor/src/main/res/values-bs/strings.xml delete mode 100644 compositor/src/main/res/values-ca/strings.xml delete mode 100644 compositor/src/main/res/values-cs/strings.xml delete mode 100644 compositor/src/main/res/values-da/strings.xml delete mode 100644 compositor/src/main/res/values-de/strings.xml delete mode 100644 compositor/src/main/res/values-el/strings.xml delete mode 100644 compositor/src/main/res/values-en-rAU/strings.xml delete mode 100644 compositor/src/main/res/values-en-rGB/strings.xml delete mode 100644 compositor/src/main/res/values-en-rIN/strings.xml delete mode 100644 compositor/src/main/res/values-es/strings.xml delete mode 100644 compositor/src/main/res/values-et/strings.xml delete mode 100644 compositor/src/main/res/values-eu/strings.xml delete mode 100644 compositor/src/main/res/values-fa/strings.xml delete mode 100644 compositor/src/main/res/values-fi/strings.xml delete mode 100644 compositor/src/main/res/values-fil/strings.xml delete mode 100644 compositor/src/main/res/values-fr-rCA/strings.xml delete mode 100644 compositor/src/main/res/values-fr/strings.xml delete mode 100644 compositor/src/main/res/values-gl/strings.xml delete mode 100644 compositor/src/main/res/values-gu/strings.xml delete mode 100644 compositor/src/main/res/values-hi/strings.xml delete mode 100644 compositor/src/main/res/values-hr/strings.xml delete mode 100644 compositor/src/main/res/values-hu/strings.xml delete mode 100644 compositor/src/main/res/values-hy/strings.xml delete mode 100644 compositor/src/main/res/values-id/strings.xml delete mode 100644 compositor/src/main/res/values-in/strings.xml delete mode 100644 compositor/src/main/res/values-is/strings.xml delete mode 100644 compositor/src/main/res/values-it/strings.xml delete mode 100644 compositor/src/main/res/values-iw/strings.xml delete mode 100644 compositor/src/main/res/values-ja/strings.xml delete mode 100644 compositor/src/main/res/values-ka/strings.xml delete mode 100644 compositor/src/main/res/values-kk/strings.xml delete mode 100644 compositor/src/main/res/values-km/strings.xml delete mode 100644 compositor/src/main/res/values-kn/strings.xml delete mode 100644 compositor/src/main/res/values-ko/strings.xml delete mode 100644 compositor/src/main/res/values-ky/strings.xml delete mode 100644 compositor/src/main/res/values-lo/strings.xml delete mode 100644 compositor/src/main/res/values-lt/strings.xml delete mode 100644 compositor/src/main/res/values-lv/strings.xml delete mode 100644 compositor/src/main/res/values-mk/strings.xml delete mode 100644 compositor/src/main/res/values-ml/strings.xml delete mode 100644 compositor/src/main/res/values-mn/strings.xml delete mode 100644 compositor/src/main/res/values-mr/strings.xml delete mode 100644 compositor/src/main/res/values-ms/strings.xml delete mode 100644 compositor/src/main/res/values-my/strings.xml delete mode 100644 compositor/src/main/res/values-nb/strings.xml delete mode 100644 compositor/src/main/res/values-ne/strings.xml delete mode 100644 compositor/src/main/res/values-nl/strings.xml delete mode 100644 compositor/src/main/res/values-no/strings.xml delete mode 100644 compositor/src/main/res/values-or/strings.xml delete mode 100644 compositor/src/main/res/values-pa/strings.xml delete mode 100644 compositor/src/main/res/values-pl/strings.xml delete mode 100644 compositor/src/main/res/values-pt-rBR/strings.xml delete mode 100644 compositor/src/main/res/values-pt-rPT/strings.xml delete mode 100644 compositor/src/main/res/values-pt/strings.xml delete mode 100644 compositor/src/main/res/values-ro/strings.xml delete mode 100644 compositor/src/main/res/values-ru/strings.xml delete mode 100644 compositor/src/main/res/values-si/strings.xml delete mode 100644 compositor/src/main/res/values-sk/strings.xml delete mode 100644 compositor/src/main/res/values-sl/strings.xml delete mode 100644 compositor/src/main/res/values-sq/strings.xml delete mode 100644 compositor/src/main/res/values-sr/strings.xml delete mode 100644 compositor/src/main/res/values-sv/strings.xml delete mode 100644 compositor/src/main/res/values-sw/strings.xml delete mode 100644 compositor/src/main/res/values-ta/strings.xml delete mode 100644 compositor/src/main/res/values-te/strings.xml delete mode 100644 compositor/src/main/res/values-th/strings.xml delete mode 100644 compositor/src/main/res/values-tl/strings.xml delete mode 100644 compositor/src/main/res/values-tr/strings.xml delete mode 100644 compositor/src/main/res/values-uk/strings.xml delete mode 100644 compositor/src/main/res/values-ur/strings.xml delete mode 100644 compositor/src/main/res/values-uz/strings.xml delete mode 100644 compositor/src/main/res/values-vi/strings.xml delete mode 100644 compositor/src/main/res/values-zh-rCN/strings.xml delete mode 100644 compositor/src/main/res/values-zh-rHK/strings.xml delete mode 100644 compositor/src/main/res/values-zh-rTW/strings.xml delete mode 100644 compositor/src/main/res/values-zu/strings.xml create mode 100644 google3/java/com/google/android/accessibility/braille/brailledisplay/proguard_release.pgcfg create mode 100644 google3/java/com/google/android/accessibility/talkback/overlay/hats/real/com/google/android/accessibility/talkback/HatsSurveyRequester.java create mode 100644 google3/java/com/google/android/accessibility/talkback/overlay/hats/stub/com/google/android/accessibility/talkback/HatsSurveyRequester.java create mode 100644 google3/java/com/google/android/accessibility/talkback/proguard_release.pgcfg create mode 100644 google3/java/com/google/android/accessibility/uiunderstanding/SnapshotUtil.kt create mode 100644 google3/java/com/google/android/accessibility/uiunderstanding/SnapshotViewImpl.kt create mode 100644 google3/java/com/google/android/accessibility/uiunderstanding/SnapshotViewMutableImpl.kt create mode 100644 google3/java/com/google/android/accessibility/uiunderstanding/SnapshotWindowImpl.kt create mode 100644 google3/java/com/google/android/accessibility/uiunderstanding/SnapshotWindowMutableImpl.kt create mode 100644 google3/java/com/google/android/accessibility/uiunderstanding/dbw/DbwSnapshotUpdater.kt create mode 100644 google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotDbw.kt create mode 100644 google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotDbwCache.kt create mode 100644 google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotViewDbw.kt create mode 100644 google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotWindowDbw.kt delete mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackSuspendDialog.java create mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/TouchInteractionMonitor.java delete mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/actor/DirectionNavigationMapper.java create mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/UniversalSearchActor.java rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/AccessibilityFocusEventInterpretation.java (98%) rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/AccessibilityFocusEventInterpreter.java (94%) rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/ActionVariables.java (97%) rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/Compositor.java (88%) create mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/compositor/EventFilter.java rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/EventInterpretation.java (98%) rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/EventVariables.java (93%) rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/GestureShortcutProvider.java (93%) rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/GlobalVariables.java (85%) rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/HintEventInterpretation.java (98%) rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/InterpretationVariables.java (98%) rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/NodeMenuProvider.java (94%) rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/NodeVariables.java (97%) rename {compositor/src/main/java/com/google/android/accessibility => talkback/src/main/java/com/google/android/accessibility/talkback}/compositor/VariablesFactory.java (89%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTree.java (95%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeArrayNode.java (95%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeBooleanConstantNode.java (93%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeCommentNode.java (98%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeFallbackNode.java (96%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeForEachChildNode.java (96%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeForReferenceNode.java (98%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeFunctionNode.java (93%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeIfNode.java (98%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeIntegerConstantNode.java (96%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeJoinNode.java (97%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeLengthNode.java (96%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeNode.java (97%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeNotNode.java (94%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeNumberConstantNode.java (95%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeOperatorNode.java (99%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeResourceNode.java (93%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeStringConstantNode.java (94%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeSwitchNode.java (98%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback/compositor}/parsetree/ParseTreeVariableNode.java (99%) create mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/dynamicfeature/FeatureDownloader.java create mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/icondetection/IconDetectionModuleDownloadPrompter.java create mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/DefaultKeyComboModel.java rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback}/keyboard/KeyComboManager.java (59%) create mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboMapper.java rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback}/keyboard/KeyComboModel.java (98%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback}/keyboard/KeyComboModelApp.java (61%) rename {utils/src/main/java/com/google/android/accessibility/utils => talkback/src/main/java/com/google/android/accessibility/talkback}/keyboard/KeyComboPersister.java (68%) delete mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackHelpPreferencesActivity.java delete mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackShortcutPreferencesActivity.java rename talkback/src/main/java/com/google/android/accessibility/talkback/preference/{ => base}/GestureListPreference.java (93%) rename talkback/src/main/java/com/google/android/accessibility/talkback/preference/{ => base}/GesturePreferenceFragmentCompat.java (96%) create mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackGestureShortcutPreferenceFragment.java create mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TutorialAndHelpFragment.java create mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/selector/ActionsSetting.java create mode 100644 talkback/src/main/java/com/google/android/accessibility/talkback/utils/SplitCompatUtils.java create mode 100644 talkback/src/main/res/layout/confirm_download_dialog.xml rename {compositor => talkback}/src/main/res/raw/chime_down.ogg (100%) rename {compositor => talkback}/src/main/res/raw/chime_up.ogg (100%) rename {compositor => talkback}/src/main/res/raw/complete.ogg (100%) rename {compositor => talkback}/src/main/res/raw/compositor.json (94%) create mode 100644 talkback/src/main/res/raw/compositor_arc.json create mode 100644 talkback/src/main/res/raw/compositor_jasper.json create mode 100644 talkback/src/main/res/raw/compositor_tv.json rename {compositor => talkback}/src/main/res/raw/focus.ogg (100%) rename {compositor => talkback}/src/main/res/raw/focus_actionable.ogg (100%) rename {compositor => talkback}/src/main/res/raw/long_clicked.ogg (100%) delete mode 100644 talkback/src/main/res/raw/paused_feedback.mid rename {compositor => talkback}/src/main/res/raw/scroll_tone.ogg (100%) rename {compositor => talkback}/src/main/res/raw/tick.ogg (100%) create mode 100644 talkback/src/main/res/values-v26/strings.xml create mode 100644 talkback/src/main/res/values-v33/strings.xml create mode 100644 talkback/src/main/res/values-watch/strings.xml rename compositor/src/main/res/values/strings.xml => talkback/src/main/res/values/strings_compositor.xml (91%) rename compositor/src/main/res/values/vibration.xml => talkback/src/main/res/values/vibration_compositor.xml (100%) create mode 100644 talkback/src/main/res/xml-v33/accessibilityservice.xml create mode 100644 uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/ActionRecord.java create mode 100644 uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Event.java create mode 100644 uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/EventSource.java create mode 100644 uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Node.java create mode 100644 uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Snapshot.java create mode 100644 uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotView.java create mode 100644 uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotViewInternal.java create mode 100644 uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotWindow.java rename utils/src/main/java/com/google/android/accessibility/utils/{keyboard => }/KeyboardUtils.java (85%) create mode 100644 utils/src/main/java/com/google/android/accessibility/utils/Supplier.java create mode 100644 utils/src/main/java/com/google/android/accessibility/utils/gestures/GestureManifold.java rename {uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding => utils/src/main/java/com/google/android/accessibility/utils/input}/PreferenceProvider.java (94%) create mode 100644 utils/src/main/java/com/google/android/accessibility/utils/input/ScrollActionRecord.java rename {talkback/src/main/java/com/google/android/accessibility/talkback => utils/src/main/java/com/google/android/accessibility/utils/input}/ScrollEventInterpreter.java (79%) create mode 100644 utils/src/main/java/com/google/android/accessibility/utils/input/SelectionEventInterpreter.java create mode 100644 utils/src/main/java/com/google/android/accessibility/utils/input/SpeechStateMonitor.java delete mode 100644 utils/src/main/java/com/google/android/accessibility/utils/keyboard/DefaultKeyComboModel.java create mode 100644 utils/src/main/java/com/google/android/accessibility/utils/monitor/TouchMonitor.java delete mode 100644 utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoubleVolumeButtonLongPressPatternMatcher.java delete mode 100644 utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoubleVolumeButtonThreeShortPressPatternMatcher.java create mode 100644 utils/src/main/java/com/google/android/accessibility/utils/widget/NonScrollableListView.java diff --git a/braille/brailledisplayanalytics/src/phone/java/com/google/android/accessibility/braille/brailledisplay/analytics/BrailleDisplayAnalytics.java b/braille/brailledisplayanalytics/src/phone/java/com/google/android/accessibility/braille/brailledisplay/analytics/BrailleDisplayAnalytics.java index 7e4c3c38b..4025d16ad 100644 --- a/braille/brailledisplayanalytics/src/phone/java/com/google/android/accessibility/braille/brailledisplay/analytics/BrailleDisplayAnalytics.java +++ b/braille/brailledisplayanalytics/src/phone/java/com/google/android/accessibility/braille/brailledisplay/analytics/BrailleDisplayAnalytics.java @@ -16,13 +16,15 @@ public static BrailleDisplayAnalytics getInstance(Context context) { private BrailleDisplayAnalytics(Context context) {} - public void logStartedEvent(String device, Code code, boolean wordWrappingEnabled) {} + public void logStartedEvent(String device, Code inputCode, Code outputCode) {} public void logTypingBrailleCharacter(int count) {} public void logReadingBrailleCharacter(int count) {} - public void logBrailleCodeSetting(Code code) {} + public void logBrailleInputCodeSetting(Code code) {} + + public void logBrailleOutputCodeSetting(Code code) {} public void logWordWrappingSetting(boolean enabled) {} } diff --git a/braille/brailleime/src/phone/res/values-af/strings.xml b/braille/brailleime/src/main/res/values-af/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-af/strings.xml rename to braille/brailleime/src/main/res/values-af/strings.xml index 122963515..461fcfa8b 100644 --- a/braille/brailleime/src/phone/res/values-af/strings.xml +++ b/braille/brailleime/src/main/res/values-af/strings.xml @@ -5,6 +5,9 @@ Tafelbladmodus. Plaas jou toestel met die laaipoort na links. Hou die puntposisie met 6 vingers in om dit op te dateer. Daar is nie \'n ander sleutelbord geaktiveer nie; gaan na sleutelbordinstellings toe Swiep op met 3 vingers vir meer opsies + Het na verkorte braille toe oorgeskakel + Het na nie-verkorte braille toe oorgeskakel + Oorgeskakel na niesaamgetrekte UEB braille-sleutelbord braille-sleutelbord, %s TalkBack se braille-sleutelbord – besoek g.co/help/braille vir hulp @@ -17,7 +20,6 @@ Opgedateerde posisies vir punte 1, 2, en 3. Ons kan volgende die punte op jou regterhand aanteken. Raak en hou die skerm met jou regterhand se middelste 3 vingers. Opgedateerde posisies vir punte 1, 2, en 3. Ons kan volgende die punte op jou linkerhand aanteken. Raak en hou die skerm met jou linkerhand se middelste 3 vingers. Kon nie puntposisie opdateer nie. Druk en hou die skerm met 6 vingers. Probeer dan weer. - Oorgeskakel na %s Braille-sleutelbord Stel braillesleutelbord op Hoe om braillesleutelbord te gebruik @@ -27,18 +29,23 @@ <br><br>2. <b>Gebruik braille-sleutelbord</b>: Maak jou gewone sleutelbord oop en tik dan op die Kies Sleutelbord-ikoon %2$s (gewoonlik in die hoek regs onder). Kies \"%1$s.\" <br><br>Probeer om %3$s, die Google-sleutelbord, te installeer as jy nie die opsie sien om sleutelborde te wissel nie. Instellings - Tiktale - Voorkeurtaal - Moet dit nie weer wys nie - Verander taal vinnig terwyl jy tik - Om jou taal te verander terwyl jy met die braillesleutelbord tik, kan jy met 3 vingers opswiep. Kies dan \"skakel oor na volgende taal\". + Tiktale + Verenigde Engelse Braille + Spaans + Arabies + Frans + Pools Sluit alle punte wat gedruk is, in Elke punt wat gedruk word, is deel van die invoer, selfs al word die punt voor die ander punte gelos Keer punte om Ruil die puntposisies om sodat punt 1 en punt 4 plekke ruil, byvoorbeeld Braille-sleutelbordopsies - Skakel oor na volgende taal: %s - Gebruik tans: %s + Verander tiktaal + Gebruik tans %s + Tiktaal + Skakel oor na %s braille + verkorte + nie-verkorte Gaan alle gebare na Maak tutoriaal oop Voltooi tutoriaal @@ -49,15 +56,23 @@ Swiep links om uit te vee Swiep regs met 2 vingers vir \'n nuwe reël Swiep links met 2 vingers om \'n woord uit te vee - Swiep op om skermpyltjie agtertoe te beweeg - Swiep af om skermpyltjie vorentoe te beweeg Swiep af met 2 vingers om die sleutelbord te versteek Swiep af met 3 vingers om na die volgende sleutelbord toe oor te skakel Swiep op met 2 vingers om teks in te dien Swiep op met 3 vingers vir hulp en ander opsies Afgehandel + Skermwegmodus + Hoe toestel met skerm weg van jou af (skermwegmodus) + Tafelbladmodus + Sit toestel plat op \'n tafel neer (tafelbladmodus) + Pas aan by hoe jy die toestel vashou Jou toestel steun nie braille-sleutelbord nie Jou toestel steun nie genoeg raakpunte nie. Kontak jou toestelvervaardiger vir meer inligting. + %s is uitgevee + + punt %s + punte %s + Skakel TalkBack aan om braille-sleutelbord te gebruik Skakel in toeganklikheidinstellings aan Hervat TalkBack om braillesleutelbord te gebruik @@ -71,32 +86,30 @@ Jy sal van nou af nie meer gewone TalkBack-gebare kan gebruik nie. TalkBack is nie beskikbaar terwyl jy die braille-sleutelbord gebruik nie. Om te begin, moet jy jou foon só vashou met die skerm wat weg van jou af wys. Dubbeltik enige plek om voort te gaan - Tik op punt 1 met jou linkerwysvinger om die letter \"A\" te tik + linkerwysvinger + regterwysvinger + Tik op punt 1 met jou %1$s om die letter \"A\" te tik Probeer dan om die letters B, C en D te tik Swiep links om \'n letter uit te vee Swiep regs om \'n spasie by te voeg - Swiep op om skermpyltjie agtertoe te beweeg - Swiep af om skermpyltjie vorentoe te beweeg Swiep af met 2 vingers om sleutelbord te versteek Swiep af met 3 vingers om na jou ander sleutelbord toe oor te skakel Swiep op met 3 vingers om tutoriaal te voltooi VEE UIT SPASIE - SKERMPYLTJIE AGTERTOE GESKUIF - SKERMPYLTJIE VORENTOE GESKUIF VERSTEEK SLEUTELBORD VOLGENDE SLEUTELBORD Jy sal van nou af nie meer gewone TalkBack-gebare kan gebruik nie. TalkBack is nie beskikbaar terwyl jy die braillesleutelbord gebruik nie.\n\n%1$s Draai eers jou foon sodat die skerm weg van jou af wys.\n\nDraai die foon dan horisontaal sodat dit in landskapposisie is. Jou hande moet die kort kante van die foon vashou. Jou regterhand moet die kant met die USB-poort vashou. Rus jou 3 middelvingers op die skerm en gebruik jou pinkie en duim om die foon vas te hou.\n\nDubbeltik wanneer jy gereed is op die skerm om voort te gaan.\n\nSwiep met 3 vingers af na die grond toe om die braillesleutelbord te verlaat. Jy sal dan na jou oorspronklike sleutelbord toe terugkeer. Jou foon is in \'n vertikale posisie. Om voort te gaan, draai jou foon horisontaal sodat die lang kant onder is. Draai die skerm dan só dat dit weg van jou af wys. Dubbeltik wanneer jy gereed is op die skerm om voort te gaan. - Hou die skerm só vas dat dit weg van jou af wys. Hou jou foon in albei hande vas, op die kort kante van die foon, sodat die middelste 3 vingers van elke hand die skerm kan raak.\n\nJou linkerwysvinger moet op punt 1 wees. Tik nou op punt 1 om die letter “A” te tik. - Tik op punt 1 met jou linkerwysvinger om “A” te tik + linkerwysvinger + regterwysvinger + Hou die skerm só vas dat dit weg van jou af wys. Hou jou foon in albei hande vas, op die kort kante van die foon, sodat die middelste 3 vingers van elke hand die skerm kan raak.\n\nJou %1$s moet op punt 1 wees. Tik nou op punt 1 om die letter “A” te tik. + Tik op punt 1 met jou %1$s om “A” te tik Tik op %1$s om die letter %2$s te tik Swiep links om \'n letter uit te vee. Probeer dit nou. u itgevee. Swiep regs om \'n spasie by te voeg. Probeer dit nou. - Swiep op om skermpyltjie agtertoe te beweeg Probeer dit nou. - Swiep af om skermpyltjie vorentoe te beweeg Probeer dit nou. Swiep af met 2 vingers om die sleutelbord te versteek. Probeer dit nou. Versteek sleutelbord. Dit sal gewoonlik die sleutelbord versteek. Die braille-sleutelbord sal oop bly omdat jy steeds in die tutoriaal is. Swiep af met 3 vingers om na jou ander sleutelbord toe oor te skakel. Probeer dit nou. @@ -114,6 +127,4 @@ Letter is uitgevee Woord is uitgevee Kom ons gaan voort met die tutoriaal. %1$s - \'n Eksterne brailleskerm is gekoppel wat jy kan gebruik om teks op hierdie toestel in te tik.\nOf jy kan na die raakskerm-braillesleutelbord of die volgende invoermetode toe oorskakel. - Skakel oor na raakskermsleutelbord diff --git a/braille/brailleime/src/phone/res/values-am/strings.xml b/braille/brailleime/src/main/res/values-am/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-am/strings.xml rename to braille/brailleime/src/main/res/values-am/strings.xml index ba968774c..8f7325918 100644 --- a/braille/brailleime/src/phone/res/values-am/strings.xml +++ b/braille/brailleime/src/main/res/values-am/strings.xml @@ -5,6 +5,9 @@ የቴብልቶፕ ሁነታ። መሣሪያዎን ከኃይል መሙያው ጋር በስተግራ ያስቀምጡ። የነጥብ አቀማመጥን ለማዘመን 6 ጣቶችን ወደ ተጭነው ይያዙ። ሌላ የነቃ ቁልፍ ሰሌዳ የለም፣ ወደ የቁልፍ ሰሌዳ ቅንብሮች ይሂዱ ተጨማሪ አማራጮችን ለማግኘት በ3 ጣቶች ወደ ላይ ይጥረጉ + ወደ የታመቀ ብሬይል ተቀይሯል + ወደ ያልታመቀ ብሬይል ተቀይሯል + ወደ ያልታመቀ ዩኢቢ ተቀይሯል የብሬይል ቁልፍ ሰሌዳ የብሬይል ቁልፍ ሰሌዳ፣ %s የTalkBack ብሬይል ቁልፍ ሰሌዳ - ለእገዛ g.co/help/brailleን ይጎብኙ @@ -17,7 +20,6 @@ ለነጥቦች 1፣ 2 እና 3 የተዘመኑ አቀማመጦች። በመቀጠል በቀኝ እጅዎ ላይ ያሉትን ነጥቦች እንመዝግብ። በቀኝ እጅዎ ላይ ያሉት የመሃል 3 ጣቶችን በመጠቀም ማያ ገጹን ይንኩ እና ይያዙ። ለነጥቦች 1፣ 2 እና 3 የተዘመኑ አቀማመጦች። በመቀጠል በግራ እጅዎ ላይ ያሉትን ነጥቦች እንመዝግብ። በግራ እጅዎ ላይ ያሉት የመሃል 3 ጣቶችን በመጠቀም ማያ ገጹን ይንኩ እና ይያዙ። የነጥብ አቀማመጥን ማዘመን አልተቻለም። ማያውን በ 6 ጣቶች ይንኩ እና ይያዙት። ከዚያም እንደገና ይሞክሩ። - ወደ %s ተቀይሯል የብሬይል ቁልፍ ሰሌዳ የብሬይል ቁልፍ ሰሌዳን ያቀናብሩ የብሬይል ቁልፍ ሰሌዳን እንዴት መጠቀም እንደሚቻል @@ -27,18 +29,23 @@ <br><br>2. <b>የብሬይል ቁልፍ ሰሌዳውን ይጠቀሙ</b>፦ መደበኛውን ቁልፍ ሰሌዳዎ ይክፈቱት፣ ከዚያ የቁልፍ ሰሌዳ አዶውን %2$s መታ ያድርጉት (አብዛኛው ጊዜ ከታች ቀኝ ጥግ ላይ የሚገኝ)። «%1$s» ይምረጡ። <br><br>ቁልፍ ሰሌዳዎችን የሚቀይሩበት አማራጭ ካልታየዎት %3$s፣ የGoogle ቁልፍ ሰሌዳውን፣ ለመጫን ይሞክሩ። ቅንብሮች - የትየባ ቋንቋዎች - የተመረጠ ቋንቋ - ይህን ዳግም አታሳይ - በሚተይቡበት ጊዜ በፍጥነት ቋንቋ ይቀይሩ - በብሬይል ቁልፍ ሰሌዳ እየተየቡ ቋንቋዎን ለመቀየር በ3 ጣቶች ወደ ላይ ያንሸራትቱ። ከዚያ «ወደ ቀጣዩ ቋንቋ ቀይር»ን ይምረጡ። + ቋንቋዎችን መተየብ + የተዋሃደ እንግሊዝኛ ብሬይል + ስፓኒሽ + አረብኛ + ፈረንሳይኛ + ፖላንድኛ ሁሉንም የተጫኑ ነጥቦችን ያካትቱ እያንዳንዱ የተጫነ ነጥብ የግቤቱ አካል ነው፣ ነጥቡ ከሌሎች ነጥቦች በፊት የተለቀቀ ቢሆንም እንኳ የተገለበጡ ነጥቦች የነጥቦቹን ቦታ ያቀያይሩ፣ በዚህም ለምሳሌ ነጥቦች 1 እና 4 ቦታ ይቀያየራሉ ማለት ነው የብሬይል ቁልፍ ሰሌዳ አማራጮች - ወደ ቀጣዩ ቋንቋ ቀይር፦ %s - በአሁኑ ጊዜ እየተጠቀሙ ያሉት፦ %s + የትየባ ቋንቋን ይቀይሩ + በአሁኑ ጊዜ %sን በመጠቀም ላይ + የትየባ ቋንቋ + ወደ %s ብሬይል ቀይር + ታምቋል + አልታመቀም ሁሉንም የእጅ ምልክቶች ይገምግሙ አጋዥ ስልጠናን ክፈት አጋዥ ሥልጠናን ጨርስ @@ -49,15 +56,23 @@ ለመሰረዝ በጣት ወደ ግራ ይጥረጉ አዲስ መስመር ለማስገባት በ2 ጣቶች ወደ ቀኝ በጣት ይጥረጉ አንድ ቃል ለመሰረዝ በ2 ጣቶች ወደ ግራ ይጥረጉ - ጠቋሚን ወደኋላ ለመውሰድ ወደ ላይ ያንሸራትቱ - ጠቋሚን ወደኋላ ለመውሰድ ወደ ታች ያንሸራትቱ ቁልፍ ሰሌዳውን ለመደበቅ በ2 ጣቶች ወደ ታች ይጥረጉ ወደ ቀጣዩ ቁልፍ ሰሌዳ ለመቀየር በ3 ጣቶች ወደ ታች ይጥረጉ ጽሑፍ ለማስገባት በ2 ጣቶች ወደ ላይ ይጥረጉ እገዛ እና ሌሎች አማራጮችን ለማግኘት በ3 ጣቶች ወደ ላይ ይጥረጉ ተከናውኗል + ማያ ገጽን ወደ ሌላ ማዞር ሁነታ + መሣሪያን ማያ ገጽን ወደ ሌላ በማዞር ይያዙ (ማያ ገጽን ወደ ሌላ ማዞር ሁነታ) + የጠረጴዛ ላይ ሁነታ + መሣሪያውን በጠረጴዛው ላይ ለጥ አድርገው ያስቀምጡት (የጠረጴዛ ላይ ሁነታ) + እርስዎ መሣሪያውን ከሚይዙበት መንገድ ጋር ያስማሙ የእርስዎ መሣሪያ የብሬይል ቁልፍ ሰሌዳን አይደግፍም የእርስዎ መሣሪያ በቂ የንክኪ ነጥቦችን አይደግፍም። ተጨማሪ መረጃ ለማግኜት የመሣሪያዎን አምራች ያነጋግሩ። + %s ተሰርዟል + + ነጥቦች %s + ነጥቦች %s + የብሬይል ቁልፍ ሰሌዳን ለመጠቀም TalkBackን ያብሩ በተደራሽነት ቅንብሮች ውስጥ ያብሩ የብሬይል ቁልፍ ሰሌዳን ለመጠቀም TalkBack ካቆመበት ይቀጥሉ @@ -71,32 +86,30 @@ ከአሁን ጀምሮ መደበኛ የTalkBack ጣት ምልክቶችን መጠቀም አይችሉም። የብሬይል ቁልፍ ሰሌዳ እየተጠቀሙ ሳለ TalkBack አይገኝም። ለመጀመር ስልክዎን ማያ ገጹ ከእርስዎ ዘወር እንዲል አድርገው እንደዚህ አድርገው ይያዙት። ለመቀጠል በማንኛውም ቦታ ላይ ሁለቴ መታ ያድርጉ - የ«A» ፊደል ለመተየብ በአመልካች ጣትዎ ነጥብ 1ን መታ ያድርጉ + የግራ አመልካች ጣት + የቀኝ አመልካች ጣት + የ«A» ፊደል ለመተየብ በእርስዎ %1$s ነጥብ 1 መታ ያድርጉ ከዚያ ፊደሎች B፣ C እና D ለመተየብ ይሞክሩ አንድ ፊደል ለመሰረዝ በጣት ወደ ግራ ይጥረጉ ክፍተት ለማከል በጣት ወደ ቀኝ ይጥረጉ - ጠቋሚን ወደኋላ ለመውሰድ ወደ ላይ ያንሸራትቱ - ጠቋሚን ወደፊት ለመውሰድ ወደ ታች ያንሸራትቱ ቁልፍ ሰሌዳን ለመደበቅ በ2 ጣቶች ወደ ታች ይጥረጉ ወደ ሌላኛው ቁልፍ ሰሌዳዎ ለመቀየር በ3 ጣቶች ወደ ታች ይጥረጉ አጋዥ ስልጠናን ለመጨረስ በ3 ጣቶች ወደ ላይ ይጥረጉ ሰርዝ ክፍተት - ጠቋሚ ወደኋላ ተወስዷል - ጠቋሚ ወደፊት ተወስዷል የቁልፍ ሰሌዳን ይደብቁ ቀጣይ ቁልፍ ሰሌዳ ከአሁን ጀምሮ መደበኛ የTalkBack ጣት ምልክቶችን መጠቀም አይችሉም። የብሬይል ቁልፍ ሰሌዳ እየተጠቀሙ ሳለ TalkBack የማይገሕ አይገኝም።\n\n%1$s መጀመሪያ ማያ ገጽዎ ከእርስዎ ዞሮ እንደዚህ አድርገው ይያዙት።\n\nቀጥሎም ስልኩን በአግድመት ወደ የወርድ አቀማመጥ ያሽከርክሩት። የእርስዎ እጆች አጭሮቹን የስልኩን ክፍሎች መያዝ አለባቸው። ቀኝ እጅዎ የዩኤስቢ ወደቡ ያለበት ክፍል መያዝ አለበት። 3 የመሃል ጣቶችዎን በማያ ገጹ ላይ ያሳርፉ፣ እና ስልኩን ደግፈው ትንሿ እና አውራ ጣትዎን ይጠቀሙ።\n\nዝግጁ ሲሆኑ ለመቀጠል ማያ ገጹን ሁለቴ መታ ያድርጉት።\n\nከብሬይል ቁልፍ ሰሌዳ ለመውጣት በ3 ጣቶች ታች ወደ መሬት ይጥረጉ። ይህ ወደ የመጀመሪያው ቁልፍ ሰሌዳዎ መልሶ ይቀይራል። የእርስዎ ስልክ በአቀባዊ አቀማመጥ ላይ ነው ያለው። ለመቀጠል የስልኩ ረጅም ክፍል ከታች እንዲሆን ስልክዎን በአግድመት ያሽከርክሩት። ማያ ገጹ ከእርስዎ ዘወር እንዲል ያዙሩት። ዝግጁ ሲሆኑ ለመቀጠል ማያ ገጹን ሁለቴ መታ ያድርጉት። - ማያ ገጹ ከእርስዎ ዘወር ብሎ እንደዞረ እንዳለ ያቆዩት። በሁለቱም እጆችዎ በስልኩ አጭር ክፍሎች ስልክዎን ይያዙት፣ በዚህም የእያንዳንዱ እጅ 3 የመሃል ጣቶች ማያ ገጹን መንካት ይችላሉ።\n\nየግራ አመልካች ጣትዎ በነጥብ 1 ላይ መሆን አለበት። አሁን የ«A» ፊደሉን ለመተየብ ነጥብ 1 መታ ያድርጉት። - የ«A» ፊደሉን ለመተየብ በአመልካች ጣትዎ ነጥብ 1 መታ ያድርጉት። + የግራ አመልካች ጣት + የቀኝ አመልካች ጣት + ማያ ገጹ ከእርስዎ ዘወር ብሎ እንደዞረ እንዳለ ያቆዩት። በሁለቱም እጆችዎ በስልኩ አጭር ክፍሎች ስልክዎን ይያዙት፣ በዚህም የእያንዳንዱ እጅ 3 የመሃል ጣቶች ማያ ገጹን መንካት ይችላሉ።\n\nየእርስዎ %1$s በነጥብ 1 ላይ መሆን አለበት። አሁን የ«A» ፊደሉን ለመተየብ ነጥብ 1 መታ ያድርጉት። + የ«A» ፊደሉን ለመተየብ በ%1$s ነጥብ 1 መታ ያድርጉት። ፊደል %2$s ለመተየብ %1$sን መታ ያድርጉ አንድ ፊደልት ለመሰረዝ በጣት ወደ ግራ ይጥረጉ። አሁኑኑ ይሞክሩት። d ተሰርዟል። ክፍተት ለማከል በጣት ወደ ቀኝ ይጥረጉ። አሁኑኑ ይሞክሩት። - ጠቋሚን ወደኋላ ለመውሰድ ወደ ላይ ያንሸራትቱ አሁኑኑ ይሞክሩት። - ጠቋሚን ወደፊት ለመውሰድ ወደ ታች ያንሸራትቱ። አሁኑኑ ይሞክሩት። ቁልፍ ሰሌዳውን ለመደበቅ በ2 ጣቶች ወደ ታች ይጥረጉ አሁኑኑ ይሞክሩት። የቁልፍ ሰሌዳን ይደብቁ። ይህ አብዛኛው ጊዜ ቁልፍ ሰሌዳውን ይደብቀዋል። እርስዎ አሁንም በአጋዥ ስልጠናው ላይ ስላሉ የብሬይል ቁልፍ ሰሌዳው ክፍት እንደሆነ ይቆያል። ወደ ሌላኛው ቁልፍ ሰሌዳዎ ለመቀየር በ3 ጣቶች ወደ ታች ይጥረጉ። አሁኑኑ ይሞክሩት። @@ -114,6 +127,4 @@ ፊደል ተሰርዟል ቃል ተሰርዟል አጋዥ ስልጠናውን እንቀጥል። %1$s - ወደዚህ መሳሪያ ጽሑፍን ለመተየብ ሊጠቀሙበት የሚችሉት የውጭ ብሬይል ማሳያ ተገናኝቷል።\nወይም፣ ወደ የተነኪ ማያ የብሬይል ቁልፍ ሰሌዳ ወይም ወደሚቀጥለው የግቤት ስልት መቀየር ይችላሉ። - ወደ የተነኪ ማያ ቁልፍ ሰሌዳ ቀይር diff --git a/braille/brailleime/src/phone/res/values-ar/strings.xml b/braille/brailleime/src/main/res/values-ar/strings.xml similarity index 82% rename from braille/brailleime/src/phone/res/values-ar/strings.xml rename to braille/brailleime/src/main/res/values-ar/strings.xml index be0fcbe03..950708866 100644 --- a/braille/brailleime/src/phone/res/values-ar/strings.xml +++ b/braille/brailleime/src/main/res/values-ar/strings.xml @@ -5,6 +5,9 @@ وضع \"الشاشة المسطحة\": ضَع الجهاز بشكل مسطح واحرِص على أن يكون منفذ الشحن إلى جهة اليسار. لتعديل موضع النقاط، يُرجى الضغط مع الاستمرار بستة أصابع. ليس هناك أي لوحة مفاتيح أخرى مفعَّلة، انتقِل إلى إعدادات لوحة المفاتيح. مرّر سريعًا بثلاثة أصابع للاطَلاع على المزيد من الخيارات. + تم التبديل إلى لغة برايل المختصرة. + تم التبديل إلى لغة برايل غير المختصرة. + تم التبديل إلى لغة برايل الإنجليزية الموحدة غير المختصرة. لوحة مفاتيح برايل لوحة مفاتيح برايل، %s ‏لوحة مفاتيح برايل TalkBack، للحصول على مساعدة، يُرجى الانتقال إلى g.co/help/braille. @@ -17,7 +20,6 @@ المواضع المُعدَّلة للنقاط 1 و2 و3: لنسجّل بعد ذلك موضع النقاط لأصابع يدك اليمنى. انقر مع الاستمرار على الشاشة بالأصابع الثلاثة الوسطى من يدك اليمنى. المواضع المُعدَّلة للنقاط 1 و2 و3: لنسجّل بعد ذلك موضع النقاط لأصابع يدك اليسرى. انقر مع الاستمرار على الشاشة بالأصابع الثلاثة الوسطى من يدك اليسرى. تعذّر تعديل موضع النقاط. انقر مع الاستمرار على الشاشة باستخدام 6 أصابع ثم أعِد المحاولة. - تم التبديل إلى %s. لوحة مفاتيح برايل إعداد لوحة مفاتيح برايل كيفية استخدام لوحة مفاتيح برايل @@ -27,18 +29,23 @@ <br><br>2- <b>استخدام لوحة مفاتيح برايل</b>: افتَح لوحة المفاتيح العادية، ثم انقر على رمز اختيار لوحة المفاتيح %2$s (يكون عادةً في أسفل يسار الشاشة). اختَر \"%1$s\". <br><br>إذا لم يظهر لك خيار لتبديل لوحات المفاتيح، حاوِل تثبيت %3$s، \"لوحة مفاتيح Google\". الإعدادات - لغات الكتابة - اللغة المفضّلة - عدم إظهار هذا مجددًا - تغيير اللغة بسرعة أثناء الكتابة - لتغيير اللغة أثناء الكتابة باستخدام لوحة برايل، مرِّر سريعًا للأعلى باستخدام 3 أصابع ثم اختَر \"التبديل إلى اللغة التالية\". + لغات الكتابة + لغة برايل الإنجليزية الموحدة + الإسبانية + العربية + الفرنسية + البولندية تضمين كل النقاط التي تم الضغط عليها كل نقطة يتم الضغط عليها هي جزء من الإدخال حتى إذا تم تحريرها قبل النقاط الأخرى. عكس النقاط تبديل مواضع النقاط: مثلاً يتم تبديل النقطة رقم \"1\" مع النقطة رقم \"4\". خيارات لوحة مفاتيح برايل - التبديل إلى اللغة التالية: %s - يتم حاليًا استخدام: %s + تغيير لغة الكتابة + يتم حاليًا استخدام %s. + لغة الكتابة + التبديل إلى لغة برايل %s + المختصرة + غير المختصرة مراجعة كل الإيماءات فتح الدليل التوجيهي إنهاء الدليل التوجيهي @@ -49,15 +56,27 @@ للحذف، مرّر سريعًا لليمين. لإضافة سطر جديد، مرّر سريعًا لليسار بإصبعين. لحذف كلمة، مرّر سريعًا لليمين بإصبعين. - لنقل المؤشر للخلف، مرِّر سريعًا للأعلى. - لنقل المؤشر للأمام، مرِّر سريعًا للأسفل. لإخفاء لوحة المفاتيح، مرّر سريعًا للأسفل بإصبعين. للتبديل إلى لوحة المفاتيح التالية، مرّر سريعًا للأسفل بثلاثة أصابع. لإرسال نص، مرّر سريعًا للأعلى بإصبعين. للحصول على المساعدة والخيارات الأخرى، مرّر سريعًا للأعلى بثلاثة أصابع. تم + وضع \"الشاشة البعيدة\" + وجِّه الجهاز بحيث لا تكون الشاشة مواجهة لك (وضع \"الشاشة البعيدة\"). + وضع \" الشاشة المسطحة\" + ضَع الجهاز بشكل مسطح على الطاولة (وضع \"الشاشة المسطحة\"). + تعديل وضع الشاشة حسب طريقة مسك الجهاز جهازك غير متوافق مع لوحة مفاتيح برايل. لا يتّسع جهازك لنقاط لمس كافية. لمزيد من المعلومات، يُرجى التواصل مع الشركة المصنّعة لجهازك. + تم حذف %s. + + %s نقطة + نقطة واحدة (%s) + نقطتان (%s) + %s نقاط + %s نقطة + %s نقطة + ‏تفعيل TalkBack لاستخدام لوحة مفاتيح برايل تفعيل الميزة في إعدادات سهولة الاستخدام ‏استئناف تفعيل ميزة TalkBack لاستخدام لوحة مفاتيح برايل @@ -71,32 +90,30 @@ ‏اعتبارًا من الآن، لن تتمكن من استخدام إيماءات TalkBack العادية. ميزة TalkBack غير متاحة أثناء استخدام لوحة مفاتيح برايل. للبدء، امسِك هاتفك بهذه الطريقة بحيث لا تكون الشاشة مواجهة لك. انقر مرتين في أي مكان للمتابعة. - ‏انقر على النقطة رقم \"1\" بإصبع السبابة الأيسر لكتابة الحرف \"A\". + إصبع السبابة الأيسر + إصبع السبابة الأيمن + ‏انقر على النقطة رقم \"1\" باستخدام %1$s لكتابة الحرف \"A\". ‏بعد ذلك، حاوِل كتابة الأحرف \"B\" و\"C\" و\"D\". لحذف حرف، مرّر سريعًا لليمين. لإضافة مسافة، مرّر سريعًا لليسار. - لنقل المؤشر للخلف، مرِّر سريعًا للأعلى. - لنقل المؤشر للأمام، مرِّر سريعًا للأسفل. لإخفاء لوحة المفاتيح، مرّر سريعًا للأسفل بإصبعين. للتبديل إلى لوحة مفاتيح أخرى، مرّر سريعًا للأسفل بثلاثة أصابع. لإنهاء الدليل التوجيهي، مرّر سريعًا للأعلى بثلاثة أصابع. حذف مسافة - تم نقل المؤشر للخلف. - تم نقل المؤشر للأمام. إخفاء لوحة المفاتيح لوحة المفاتيح التالية ‏اعتبارًا من الآن، لا يمكن استخدام إيماءات TalkBack العادية لأنّ ميزة TalkBack غير متاحة أثناء استخدام لوحة مفاتيح برايل.\n\n%1$s ‏أولاً، يجب قلب الهاتف بحيث لا تكون الشاشة مواجهة لحامل الجهاز.\n\nبعد ذلك، يُرجى حمل الهاتف أفقيًا. يجب إمساك الهاتف من أقصى الجانبين، على أن تكون يدك اليمنى من الجانب المزوّد بمنفذ USB. يُرجى وضع الأصابع الثلاثة الوسطى على الشاشة، واستخدام الخنصر والإبهام لتثبيت الهاتف.\n\nبعد ذلك، يكفي النقر مرتين على الشاشة للمتابعة.\n\nلإغلاق لوحة مفاتيح برايل، يُرجى التمرير سريعًا للأسفل بثلاثة أصابع. سيؤدي هذا الإجراء إلى العودة إلى لوحة المفاتيح الأصلية. هاتفك في الوضع الرأسي. للمتابعة، قم بتدوير الهاتف أفقيًا بحيث يكون الجانب الطويل في الأسفل ثم قم بتدوير الشاشة مع توجيهها بعيدًا عنك. عندما تكون مستعدًا، انقر مرتين على الشاشة للمتابعة. - ‏وجِّه الشاشة بحيث لا تكون مواجهة لك. امسِك الهاتف بيديك الاثنتَين عند الحافتين القصيرتَين للهاتف بحيث تتمكن الأصابع الثلاثة الوسطى من كل يد من لمس الشاشة.\n\nيجب أن يكون إصبع السبابة الأيسر على النقطة رقم \"1\". والآن انقر على النقطة رقم \"1\" لكتابة الحرف \"A\". - ‏انقر على النقطة رقم \"1\" بإصبع السبابة الأيسر لكتابة الحرف \"A\". + إصبع السبابة الأيسر + إصبع السبابة الأيمن + ‏يجب ألا تكون الشاشة مواجهة لحامل الجهاز. يُرجى الحرص على إمساك الهاتف باليدين الاثنتين من أقصى الجانبين بحيث يمكن لمس الشاشة بالأصابع الثلاثة الوسطى من كل يد.\n\nيجب أن يكون %1$s على النقطة رقم \"1\". والآن يُرجى النقر على النقطة رقم \"1\" لكتابة الحرف \"A\". + ‏يُرجى النقر على النقطة رقم \"1\" باستخدام %1$s لكتابة الحرف \"A\". انقر على %1$s لكتابة الحرف %2$s. لحذف حرف، مرّر سريعًا لليمين. جرِّب الآن. ‏حذف حرف \"d\". لإضافة مسافة، مرّر سريعًا لليسار. جرِّب الآن. - لنقل المؤشر للخلف، مرِّر سريعًا للأعلى. حاوِل تنفيذ هذا الإجراء الآن. - لنقل المؤشر للأمام، مرِّر سريعًا للأسفل. حاوِل تنفيذ هذا الإجراء الآن. لإخفاء لوحة المفاتيح، مرّر سريعًا للأسفل بإصبعين. جرِّب الآن. إخفاء لوحة المفاتيح: سيؤدي غالبًا هذا الإجراء إلى إخفاء لوحة المفاتيح. ستظل لوحة مفاتيح برايل مفتوحة لأنك لا تزال في الدليل التوجيهي. للتبديل إلى لوحة مفاتيح أخرى، مرّر سريعًا للأسفل بثلاثة أصابع. جرِّب الآن. @@ -114,6 +131,4 @@ تم حذف الحرف. تم حذف الكلمة. لنواصل الدليل التوجيهي. %1$s - تم توصيل جهاز عرض خارجي بلغة برايل يمكن استخدامه لكتابة نص على هذا الجهاز، أو يمكنك التبديل إلى لوحة مفاتيح برايل على الشاشة التي تعمل باللمس أو اختيار أسلوب الإدخال التالي. - الانتقال إلى لوحة المفاتيح على الشاشة التي تعمل باللمس diff --git a/braille/brailleime/src/phone/res/values-as/strings.xml b/braille/brailleime/src/main/res/values-as/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-as/strings.xml rename to braille/brailleime/src/main/res/values-as/strings.xml index 774b4d579..4eb6fe971 100644 --- a/braille/brailleime/src/phone/res/values-as/strings.xml +++ b/braille/brailleime/src/main/res/values-as/strings.xml @@ -5,6 +5,9 @@ টেবুলটপ ম’ড। চাৰ্জিং প’ৰ্টটো বাওঁফালে থকাকৈ আপোনাৰ ডিভাইচটো ৰাখক। বিন্দুৰ স্থান আপডে’ট কৰিবলৈ ৬ টা আঙুলিৰে বিন্দুকেইটা টিপি ধৰক। অন্য কোনো কীব\'র্ড সক্ষম কৰি ৰখা নাই, কীব\'র্ডৰ ছেটিঙলৈ যাওক অধিক বিকল্পৰ বাবে ৩ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰক + সংকুচিত ব্ৰেইললৈ সলনি কৰক + সংকোচন নকৰা ব্ৰেইললৈ সলনি কৰক + UEBৰ সংকুচিত নকৰা ম’ডলৈ সলনি কৰা হৈছে ব্ৰেইল কীব’র্ড ব্ৰেইল কীব’র্ড, %s TalkBack ব্ৰেইল কীব\'র্ড - সহায়ৰ বাবে g.co/help/braille চাওক @@ -17,7 +20,6 @@ বিন্দু ১, ২ আৰু ৩ৰ বাবে স্থান আপডে’ট কৰা হ’ল। ইয়াৰ পাছত আপোনাৰ সোঁহাতৰ বিন্দুকেইটা ৰেকৰ্ড কৰোঁ আহক। আপোনাৰ সোঁহাতৰ মাজৰ তিনিটা আঙুলিৰে স্ক্ৰীনখন স্পৰ্শ কৰি ধৰি ৰাখক। বিন্দু ১, ২ আৰু ৩ৰ বাবে স্থান আপডে’ট কৰা হ’ল। ইয়াৰ পাছত আপোনাৰ বাওঁহাতৰ বিন্দুকেইটা ৰেকৰ্ড কৰোঁ আহক। আপোনাৰ বাওঁহাতৰ মাজৰ তিনিটা আঙুলিৰে স্ক্ৰীনখন স্পৰ্শ কৰি ধৰি ৰাখক। বিন্দুৰ স্থান আপডে’ট কৰিব পৰা নগ’ল। ৬ টা আঙুলিৰে স্ক্ৰীনখন টিপি ধৰক। তাৰ পাছত পুনৰ চেষ্টা কৰক। - %sলৈ সলনি কৰা হ’ল ব্ৰেইল কীব\'র্ড ব্ৰেইল কীব’র্ড ছেট আপ কৰক ব্ৰেইল কীব’ৰ্ড কেনেকৈ ব্যৱহাৰ কৰিব লাগে @@ -27,18 +29,23 @@ <br><br>২) <b>ব্ৰেইল কীব\'র্ড ব্যৱহাৰ কৰক</b>: আপুনি নিয়মীয়াকৈ ব্যৱহাৰ কৰা কীব\'র্ডখন খুলি কীব\'র্ড বাছনি কৰক চিহ্নটো %2$s (সাধাৰণতে তলৰ সোঁ কোণত থকা) টিপক। \"%1$s.\" বাছনি কৰক। <br><br>যদি আপুনি কীব\'র্ডসমূহ সলনি কৰিবলৈ বিকল্প দেখা নাপায়, তেন্তে %3$s, Google কীব\'র্ডখন ইনষ্টল কৰি চাওক। ছেটিং - টাইপ কৰা ভাষা - অগ্ৰাধিকাৰ দিয়া ভাষা - এইটো পুনৰ নেদেখুৱাব - টাইপ কৰি থাকোঁতে ভাষা সলনি কৰক - ব্ৰেইল কীব’ৰ্ডেৰে টাইপ কৰি থাকোঁতে আপোনাৰ ভাষা সলনি কৰাৰ বাবে বিকল্পৰ মেনুখন খুলিবলৈ ৩ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰক। তাৰ পাছত \"পৰৱৰ্তী ভাষাটোলৈ সলনি কৰক\" বাছনি কৰক। - টিপা আটাইবোৰ বিন্দু অন্তর্ভুক্ত কৰক + টাইপ কৰা ভাষা + Unified English Braille + স্পেনিশ্ব + আৰবী + ফৰাচী + প’লিশ্ব + টিপা সকলো বিন্দু অন্তর্ভুক্ত কৰক টিপা প্ৰতিটো বিন্দু ইনপুটটোৰ অংশ, যদিও বিন্দুটো অন্য বিন্দুবোৰতকৈ আগতে এৰা হয় ওলোটা বিন্দুসমূহ বিন্দুৰ স্থানসমূহ ছোৱাইপ কৰক, যাতে বিন্দু ১ আৰু ৪ৰ স্থান সালসলনি হয়, যেনে ব্ৰেইল কীব\'র্ডৰ বিকল্পসমূহ - পৰৱৰ্তী ভাষাটোলৈ সলনি কৰক: %s - বৰ্তমান ব্যৱহাৰ কৰি থকা হৈছে: %s + টাইপ কৰাৰ ভাষা সলনি কৰক + বৰ্তমান %s ব্যৱহাৰ কৰি থকা হৈছে + টাইপ কৰাৰ ভাষা + %s ব্ৰেইললৈ সলনি কৰক + সংকুচিত + সংকুচিত নকৰা আটাইবোৰ নিৰ্দেশ পৰ্যালোচনা কৰক টিউট\'ৰিয়েল খোলক টিউট\'ৰিয়েল সম্পূর্ণ কৰক @@ -49,15 +56,23 @@ মচিবলৈ, বাওঁফাললৈ ছোৱাইপ কৰক এটা নতুন শাৰীৰ বাবে, ২ টা আঙুলিৰে বাওঁফাললৈ ছোৱাইপ কৰক এটা শব্দ মচিবলৈ, ২ টা আঙুলিৰে বাওঁফাললৈ ছোৱাইপ কৰক - কাৰ্ছৰডাল পিছলৈ নিবলৈ, ওপৰলৈ ছোৱাইপ কৰক - কাৰ্ছৰডাল আগলৈ নিবলৈ, তললৈ ছোৱাইপ কৰক কীব’র্ডখন লুকুৱাবলৈ তললৈ ২ টা আঙুলিৰে ছোৱাইপ কৰক পৰৱর্তী কীব\'র্ডখন ব্যৱহাৰ কৰিবলৈ, তললৈ ৩ টা আঙুলিৰে ছোৱাইপ কৰক পাঠ দাখিল কৰিবলৈ, ২ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰক সহায় আৰু অন্য বিকল্পসমূহৰ বাবে, ৩ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰক কৰা হ’ল + স্ক্ৰীন এৱে’ ম’ড + স্ক্ৰীনখন আপোনাৰ পৰা আঁতৰলৈ কৰি ডিভাইচটো ধৰি ৰাখক (স্ক্ৰীন এৱে’ ম’ড) + টেবুলটপ ম’ড + ডিভাইচটো এখন টেবুলত সমতলীয়াকৈ ৰাখক (টেবুলটপ ম’ড) + আপুনি ডিভাইচটো ধৰি ৰখাৰ ধৰণ অনুযায়ী খাপ খাই পৰক আপোনাৰ ডিভাইচটোৱে ব্ৰেইল কীব\'র্ড সমর্থন নকৰে আপোনাৰ ডিভাইচটোৱে পর্যাপ্ত সংখ্যক স্পর্শ বিন্দু সমর্থন নকৰে। অধিক তথ্যৰ বাবে, আপোনাৰ ডিভাইচ নিৰ্মাতাৰ সৈতে যোগাযোগ কৰক। + %s মচা হ\'ল + + বিন্দু %s + বিন্দু %s + ব্ৰেইল কীব\'র্ড ব্যৱহাৰ কৰিবলৈ TalkBack অন কৰক সাধ্য সুবিধাৰ ছেটিঙত অন কৰক ব্ৰেইল কীব\'র্ড ব্যৱহাৰ কৰিবলৈ TalkBack পুনৰ আৰম্ভ কৰক @@ -71,32 +86,30 @@ এতিয়াৰ পৰা, আপুনি নিয়মীয়া TalkBackৰ নিৰ্দেশসমূহ ব্যৱহাৰ কৰিব নোৱাৰিব। ব্ৰেইল কীব\'র্ডখন ব্যৱহাৰ কৰি থকা সময়ত TalkBack উপলব্ধ নহয়। আৰম্ভ কৰিবলৈ আপোনাৰ ফ\'নটোৰ স্ক্ৰীনখন আপোনাৰ পৰা অন্য ফালে মুখ কৰি এনেদৰে ধৰক। অব্যাহত ৰাখিবলৈ যিকোনো ঠাইতে দুবাৰ টিপক - \"A\" আখৰটো টাইপ কৰিবলৈ আপোনাৰ বাওঁ তৰ্জনী আঙুলিটোৰে বিন্দু ১ টিপক + বাওঁ তৰ্জনী আঙুলি + সোঁ তৰ্জনী আঙুলি + \"A\" টাইপ কৰিবলৈ আপোনাৰ %1$sটোৰে বিন্দু ১ টিপক তাৰ পাছত, B, C আৰু D আখৰবোৰ টাইপ কৰি চাওক এটা আখৰ মচিবলৈ, বাওঁফাললৈ ছোৱাইপ কৰক এটা স্পেচ যোগ দিবলৈ, সোঁফাললৈ ছোৱাইপ কৰক - কাৰ্ছৰডাল পিছলৈ নিবলৈ, ওপৰলৈ ছোৱাইপ কৰক - কাৰ্ছৰডাল আগলৈ নিবলৈ, তললৈ ছোৱাইপ কৰক কীব\'র্ড লুকুৱাবলৈ, তললৈ ২ টা আঙুলিৰে ছোৱাইপ কৰক আপোনাৰ অন্য কীব\'র্ড ব্যৱহাৰ কৰিবলৈ, তললৈ ৩ টা আঙুলিৰে ছোৱাইপ কৰক টিউট\'ৰিয়েল সম্পূর্ণ কৰিবলৈ, ৩ টা আঙুলিৰে ছোৱাইপ কৰক মচা স্পেচ দিয়া - কাৰ্ছৰডাল পিছলৈ নিয়া হ’ল - কাৰ্ছৰডাল আগলৈ নিয়া হ’ল কীব’ৰ্ড লুকুৱাওক পৰৱর্তী কীব\'র্ডখন ব্যৱহাৰ কৰা এতিয়াৰ পৰা, আপুনি নিয়মীয়া TalkBackৰ নিৰ্দেশসমূহ ব্যৱহাৰ কৰিব নোৱাৰিব। ব্ৰেইল কীব\'র্ডখন ব্যৱহাৰ কৰি থকা সময়ত TalkBack উপলব্ধ নহয়।\n\n%1$s প্ৰথমে, আপোনাৰ ফ\'নৰ স্ক্ৰীনখন আপোনাৰ পৰা অন্য ফালে মুখ কৰি থকাকৈ ফ\'নটো ঘূৰাওক।\n\nতাৰ পাছত ফ\'নটো লেণ্ডস্কেপ স্থানলৈ অনুভূমিকভাৱে ঘূৰাওক। আপোনাৰ হাতেৰে ফ\'নটোৰ চুটি কাষকেইটাত ধৰিব লাগে। আপোনাৰ সোঁহাতেৰে কাষটোত ইউএছবি প’ৰ্টটোৰ জৰিয়তে ধৰি ৰাখিব লাগে। আপোনাৰ মাজৰ আঙুলি ৩ টা স্ক্ৰীনখনত ৰাখক আৰু কেঞাঁ আৰু বুঢ়া আঙুলি ব্যৱহাৰ কৰি ফ\'নটো ধৰক।\n\nআপুনি সাজু হ\'লে, অব্যাহত ৰাখিবলৈ স্ক্ৰীনখনত দুবাৰ টিপক।\n\nব্ৰেইল কীব\'র্ডৰ পৰা বাহিৰ হ\'বলৈ, ৩ টা আঙুলিৰে ভূমিৰ দিশত তললৈ ছোৱাইপ কৰক। এইটোৱে আপোনাৰ মূল কীব\'র্ডখনলৈ উভতাই নিব। আপোনাৰ ফ\'নটো উলম্ব হৈ আছে। অব্যাহত ৰাখিবলৈ, আপোনাৰ ফ\'নটো অনুভূমিকভাৱে ঘূৰাওক যাতে দীঘল কাষটো তলত থাকে। তাৰ পাছত স্ক্ৰীনখন আপোনাৰ পৰা অন্য ফালে মুখ কৰি থকাকৈ ৰাখক। আপুনি সাজু হ\'লে, অব্যাহত ৰাখিবলৈ স্ক্ৰীনখনত দুবাৰ টিপক। - স্ক্ৰীনখন আপোনাৰ পৰা অন্য ফালে মুখ কৰি থকাকৈ ৰাখক। আপোনাৰ ফ\'নটোৰ চুটি কাষকেইটাত দুয়োখন হাতেৰে ধৰক, যাতে দুয়োখন হাতৰ মাজৰ ৩ টা আঙুলিয়ে স্ক্ৰীনখন স্পর্শ কৰিব পাৰে।\n\nআপোনাৰ বাওঁহাতৰ তর্জনী আঙুলিটো বিন্দু ১ত থাকিব লাগে। এতিয়া, \"A\" আখৰটো টাইপ কৰিবলৈ বিন্দু ১ টিপক। - \"A\" টাইপ কৰিবলৈ আপোনাৰ বাওঁ তৰ্জনী আঙুলিটোৰে বিন্দু ১ টিপক + বাওঁ তৰ্জনী আঙুলি + সোঁ তৰ্জনী আঙুলি + স্ক্ৰীনখন আপোনাৰ পৰা অন্য ফালে মুখ কৰি থকাকৈ ৰাখক। আপোনাৰ ফ\'নটোৰ চুটি কাষকেইটাত দুয়োখন হাতেৰে ধৰক, যাতে দুয়োখন হাতৰ মাজৰ ৩ টা আঙুলিয়ে স্ক্ৰীনখন স্পর্শ কৰিব পাৰে।\n\nআপোনাৰ %1$sটো বিন্দু ১ত থাকিব লাগে। এতিয়া, \"A\" আখৰটো টাইপ কৰিবলৈ বিন্দু ১ টিপক। + \"A\" টাইপ কৰিবলৈ আপোনাৰ %1$sটোৰে বিন্দু ১ টিপক %2$s আখৰটো টাইপ কৰিবলৈ %1$s টিপক এটা আখৰ মচিবলৈ, বাওঁফাললৈ ছোৱাইপ কৰক। এইটো এতিয়াই ব্যৱহাৰ কৰি চাওক। d মচা হ’ল। এটা স্পেচ যোগ দিবলৈ, সোঁফাললৈ ছোৱাইপ কৰক। এইটো এতিয়াই ব্যৱহাৰ কৰি চাওক। - কাৰ্ছৰডাল পিছলৈ নিবলৈ, ওপৰলৈ ছোৱাইপ কৰক। এতিয়াই চেষ্টা কৰি চাওক। - কাৰ্ছৰডাল আগলৈ নিবলৈ, তললৈ ছোৱাইপ কৰক। এতিয়াই চেষ্টা কৰি চাওক। কীব\'র্ডখন লুকুৱাবলৈ, তললৈ ২ টা আঙুলিৰে ছোৱাইপ কৰক। এইটো এতিয়াই ব্যৱহাৰ কৰি চাওক। কীব\'ৰ্ড লুকুৱাওক। সাধাৰণতে, এইটোৱে কীব\'র্ডখন লুকুৱাব। আপুনি এতিয়াও টিউট\'ৰিয়েলত থকাৰ বাবে ব্ৰেইল কীব\'র্ডখন খোলা অৱস্থাত থাকিব। আপোনাৰ অন্য কীব\'র্ড ব্যৱহাৰ কৰিবলৈ, তললৈ ৩ টা আঙুলিৰে ছোৱাইপ কৰক। এইটো এতিয়াই ব্যৱহাৰ কৰি চাওক। @@ -114,6 +127,4 @@ আখৰটো মচা হ\'ল শব্দটো মচা হৈছে আহক টিউট\'ৰিয়েল অব্যাহত ৰাখোঁ। %1$s - এখন বাহ্যিক ব্ৰেইলি ডিছপ্লে\' সংযোগ কৰা হৈছে, যিখন আপুনি এই ডিভাইচটোত পাঠ টাইপ কৰিবলৈ ব্যৱহাৰ কৰিব পাৰে।\nঅথবা, আপুনি টাচ্চস্ক্ৰীন ব্ৰেইলি কীব’ৰ্ডখনলৈ অথবা পৰৱৰ্তী ইনপুট পদ্ধতিটোলৈ সলনি কৰিব পাৰে। - টাচ্চস্ক্ৰীন কীব’ৰ্ডলৈ সলনি কৰক diff --git a/braille/brailleime/src/phone/res/values-az/strings.xml b/braille/brailleime/src/main/res/values-az/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-az/strings.xml rename to braille/brailleime/src/main/res/values-az/strings.xml index cbd39a6f7..761e45fa8 100644 --- a/braille/brailleime/src/phone/res/values-az/strings.xml +++ b/braille/brailleime/src/main/res/values-az/strings.xml @@ -5,6 +5,9 @@ Masaüstü rejimi. Cihazınızı şarj portu sola doğru olmaqla yerləşdirin. Nöqtə mövqeyini yeniləmək üçün 6 barmağı yerləşdirin. Aktivləşdirilmiş başqa klaviatura yoxdur, klaviatura ayarlarına keçin Daha çox seçim üçün 3 barmaqla yuxarı sürüşdürün + Qısaldılmış brayl rejiminə keçdiniz + Qısaldılmamış brayl rejiminə keçdiniz + Qısaldılmamış UEB rejiminə keçdiniz brayl klaviaturası brayl klaviaturası, %s TalkBack brayl klaviaturası ilə bağlı kömək üçün g.co/help/braille ünvanına daxil olun @@ -17,7 +20,6 @@ 1, 2 və 3 nöqtələri üçün mövqelər yeniləndi. Sonra, gəlin sağ əlinizdəki nöqtələri yazaq. Sağ əlinizin 3 orta barmağı ilə ekrana toxunub saxlayın. 1, 2 və 3 nöqtələri üçün mövqelər yeniləndi. Sonra, gəlin sol əlinizdəki nöqtələri qeydə alaq. Sol əlinizin 3 orta barmağı ilə ekrana toxunub saxlayın. Nöqtə mövqeyini yeniləmək alınmadı. 6 barmaq ilə ekrana toxunub saxlayın. Sonra yenidən cəhd edin. - %s dilinə keçdiniz Brayl klaviaturası Brayl klaviaturasını ayarlayın Brayl klaviaturasının istifadə qaydası @@ -27,18 +29,23 @@ <br><br>2. <b>Bray klaviaturasından istifadə</b>: Adi klaviaturanızı açın və klaviatura seçimi ikonuna %2$s toxunun (adətən, aşağı sağ küncdə). \"%1$s\" seçimini edin. <br><br>Klaviaturaları dəyişmək seçimini görmürsünüzsə, %3$s Google Keyboard\'u quraşdırın. Ayarlar - Yazı dilləri - Tərcih etdiyiniz dil - Bunu bir daha göstərməyin - Yazarkən dili tez dəyişin - Brayl klaviaturası ilə yazarkən dili dəyişmək üçün 3 barmaqla yuxarı sürüşdürün. Sonra \"növbəti dilə keçin\" seçimini edin. + Yazı dilləri + Vahid İngiliscə Brayl + İspan + Ərəb + Fransız + Polyak dili Bütün basılmış nöqtələri daxil edin Nöqtə digər nöqtələrdən əvvəl buraxıldıqda belə, hər basılmış nöqtə daxiletmənin bir hissəsidir Nöqtələrin əks düzülüşü Nöqtələrin mövqeyini dəyişin, məsələn, 1 və 4 nöqtələrinin yerini dəyişin Brayl klaviaturası seçimləri - Növbəti dilə keçin: %s - Hazırda istifadə olunur: %s + Yazı dilini dəyişin + Hazırda istifadə olunur: %s + Yazı dili + %s brayl rejiminə keçin + qısaldılmış + qısaldılmamış Bütün jestləri nəzərdən keçirin Təlimi açın Təlimi bitirin @@ -49,15 +56,23 @@ Silmək üçün sola sürüşdürün Yeni sətir üçün 2 barmaqla sağa sürüşdürün Sözü silmək üçün 2 barmaqla sola sürüşdürün - Kursoru geri çəkmək üçün yuxarı sürüşdürün - Kursoru irəli çəkmək üçün aşağı sürüşdürün Klaviaturanı gizlətmək üçün 2 barmaqla aşağı sürüşdürün Növbəti klaviaturaya keçmək üçün 3 barmaqla aşağı sürüşdürün Mətni təqdim etmək üçün 2 barmaqla yuxarı sürüşdürün Kömək və digər seçimlər üçün 3 barmaqla yuxarı sürüşdürün Hazırdır + \"Ekran tərsinə\" rejimi + Cihazı ekranın üzü sizə tərsinə olacaq şəkildə tutun (\"ekran tərsinə\" rejimi) + Masaüstü rejimi + Cihazı masanın üstünə arxası üstə yerləşdirin (masaüstü rejimi) + Cihazı tutduğunuz vəziyyətə uyğunlaşdırın Cihazınız brayl klaviaturasını dəstəkləmir Cihazınız kifayət qədər toxunuş nöqtəsi dəstəkləmir Ətraflı məlumat üçün cihaz istehsalçısı ilə əlaqə saxlayın. + %s silindi + + nöqtə %s + nöqtə %s + Brayl klaviaturasından istifadə etmək üçün TalkBack funksiyasını aktiv edin Əlçatımlıq ayarlarında aktiv edin Brayl klaviaturasından istifadə etmək üçün TalkBack funksiyasını davam etdirin @@ -71,32 +86,30 @@ Bu andan etibarən adi TalkBack jestlərindən istifadə edə bilməyəcəksiniz. Brayl klaviaturasından istifadə edən zaman TalkBack funksiyası əlçatan deyil. Başlamaq üçün telefonunuzu ekranın üzü sizə əks olacaq şəkildə tutun. Davam etmək üçün istənilə yerə iki dəfə toxunun - \"A\" hərfini daxil etmək üçün sol şəhadət barmağınızla nöqtə 1 üzərinə toxunun + sol şəhadət barmağı + sağ şəhadət barmağı + \"A\" hərfini yazmaq üçün %1$s ilə nöqtə 1 üzərinə toxunun Sonra B, C və D hərflərini daxil etməyə çalışın Hərfi silmək üçün sola sürüşdürün Boşluq əlavə etmək üçün sağa sürüşdürün - Kursoru geri çəkmək üçün yuxarı sürüşdürün - Kursoru irəli çəkmək üçün aşağı sürüşdürün Klaviaturanı gizlətmək üçün 2 barmaqla aşağı sürüşdürün Başqa klaviaturaya keçmək üçün 3 barmaqla aşağı sürüşdürün Təlimi bitirmək üçün 3 barmaqla yuxarı sürüşdürün SİLİN BOŞLUQ - KURSOR GERİ ÇƏKİLİB - KURSOR İRƏLİ ÇƏKİLİB KLAVİATURANI GİZLƏDİN NÖVBƏTİ KLAVİATURA Bu andan etibarən adi TalkBack jestlərindən istifadə edə bilməyəcəksiniz. Brayl klaviaturasından istifadə edən zaman TalkBack funksiyası əlçatan deyil.\n\n%1$s Əvvəlcə telefonunuzu ekranın üzü sizə əks olacaq şəkildə çevirin.\n\nSonra isə telefonu üfüqi şəkildə döndərərək albom mövqeyində tutun. Əlləriniz telefonun qısa kənarlarını tutmalıdır. Sağ əlinizlə USB portu olan kənarı tutmalısınız. Çeçələ və baş barmağınızla telefonu tutaraq, qalan 3 barmağınızı ekrana yerləşdirin.\n\nHazır olduqda, davam etmək üçün ekrana iki dəfə toxunun.\n\nBrayl klaviaturasından çıxmaq üçün 3 barmaqla aşağıya doğru sürüşdürün. Bu zaman ilkin klaviaturanıza keçəcəksiniz. Telefonunuz şaquli vəziyyətdədir. Davam etmək üçün telefonunuzu uzun tərəfi aşağı olmaqla üfüqi şəkildə döndərin. Sonra telefonunuzu ekranın üzü sizə əks olacaq şəkildə çevirin. Hazır olduqda davam etmək üçün ekrana iki dəfə toxunun. - Telefonunuzu ekranın üzü sizə əks olacaq şəkildə tutun. Hər əlin orta 3 barmağı ekrana toxuna biləcək şəkildə iki əlinizlə telefonun qısa kənarlarından tutun.\n\nSol şəhadət barmağınız nöqtə 1 üzərində olmalıdır. İndi isə \"A\" hərfini daxil etmək üçün nöqtə 1 üzərinə basın. - \"A\" hərfini daxil etmək üçün sol şəhadət barmağınızla nöqtə 1 üzərinə toxunun + sol şəhadət barmağı + sağ şəhadət barmağı + Telefonunuzu ekranın üzü sizə əks olacaq şəkildə tutun. Hər əlin orta 3 barmağı ekrana toxuna biləcək şəkildə iki əlinizlə telefonun qısa kənarlarından tutun.\n\n%1$s nöqtə 1 üzərində olmalıdır. İndi isə \"A\" hərfini yazmaq üçün nöqtə 1 üzərinə toxunun. + \"A\" hərfini yazmaq üçün %1$s ilə nöqtə 1 üzərinə toxunun %2$s hərfini daxil etmək üçün %1$s üzərinə toxunun Hərfi silmək üçün sola sürüşdürün. İndi sınayın. d silinib. Boşluq əlavə etmək üçün sağa sürüşdürün. İndi sınayın. - Kursoru geri çəkmək üçün yuxarı sürüşdürün. İndi sınayın. - Kursoru irəli çəkmək üçün aşağı sürüşdürün. İndi sınayın. Klaviaturanı gizlətmək üçün 2 barmaqla aşağı sürüşdürün. İndi sınayın. Klaviaturanu gizlədin. Adətən, bu zaman klaviatura gizlədilir. Lakin, hələ də təlimdə olduğunuz üçün brayl klaviaturası açıq qalacaq. Başqa klaviaturaya keçmək üçün 3 barmaqla aşağı sürüşdürün. İndi sınayın. @@ -114,6 +127,4 @@ Hərf silindi Söz silindi Təlimə davam edək. %1$s - Bu cihazda mətn yazmaq üçün istifadə edə biləcəyiniz xarici brayl displeyi qoşulub.\nVə ya sensor ekranlı Brayl Klaviaturasına və ya növbəti daxiletmə metoduna keçə bilərsiniz. - Sensor ekranlı klaviaturaya keçin diff --git a/braille/brailleime/src/phone/res/values-b+es+419/strings.xml b/braille/brailleime/src/main/res/values-b+es+419/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-b+es+419/strings.xml rename to braille/brailleime/src/main/res/values-b+es+419/strings.xml index b0b636493..e3b308c61 100644 --- a/braille/brailleime/src/phone/res/values-b+es+419/strings.xml +++ b/braille/brailleime/src/main/res/values-b+es+419/strings.xml @@ -5,6 +5,9 @@ Modo de mesa. Sostén el dispositivo con el puerto de carga hacia la izquierda. Para actualizar la posición de los puntos, presiona la pantalla con 6 dedos. No hay otro teclado habilitado; ve a la configuración Para ver más opciones, desliza 3 dedos hacia arriba + Se cambió al teclado braille contraído + Se cambió al teclado braille sin contraer + Cambiar a UEB sin contraer teclado braille teclado braille, %s Teclado braille de TalkBack: Visita g.co/help/braille para obtener ayuda @@ -17,7 +20,6 @@ Se actualizó la posición de los puntos 1, 2 y 3. Ahora, grabaremos los puntos de la mano derecha. Mantén presionada la pantalla con los 3 dedos del medio de la mano derecha. Se actualizó la posición de los puntos 1, 2 y 3. Ahora, grabaremos los puntos de la mano izquierda. Mantén presionada la pantalla con los 3 dedos del medio de la mano izquierda. No se pudo actualizar la posición de los puntos. Mantén presionada la pantalla con 6 dedos. Luego, vuelve a intentarlo. - Se cambió a %s Teclado braille Configura el teclado braille Cómo usar el teclado braille @@ -26,18 +28,23 @@ <br><br>2. <b>Usa el teclado braille</b>: Abre el teclado normal y presiona el ícono de selección de teclado %2$s (suele estar en la esquina inferior derecha). Selecciona \"%1$s\". <br><br>Si no aparece una opción para cambiar de teclado, instala %3$s, el teclado de Google. Configuración - Idioma de escritura - Idioma de preferencia - No volver a mostrar - Cambia el idioma rápidamente mientras escribes - Para cambiar el idioma mientras escribes con el teclado braille, desliza 3 dedos hacia arriba. Luego, selecciona \"Cambiar al próximo idioma\". + Idioma de escritura + Braille unificado en inglés (UEB) + Español + Árabe + Francés + Polaco Incluir todos los puntos presionados Cada punto presionado es parte de la entrada, incluso si se suelta antes que los demás Puntos invertidos Cambia las posiciones de los puntos de manera que el 1 y el 4 intercambien su lugar, por ejemplo Opciones del teclado braille - Cambiar al próximo idioma: %s - En uso actualmente: %s + Cambiar idioma de escritura + En uso actualmente: %s + Idioma de escritura + Cambiar al teclado braille %s + contraído + sin contraer Ver todos los gestos Abrir instructivo Finalizar instructivo @@ -48,15 +55,23 @@ Para borrar, desliza el dedo hacia la izquierda Para agregar una línea nueva, desliza 2 dedos hacia la derecha Para borrar una palabra, desliza 2 dedos hacia la izquierda - Para mover el cursor hacia atrás, desliza el dedo hacia arriba - Para mover el cursor hacia adelante, desliza el dedo hacia abajo Para ocultar el teclado, desliza 2 dedos hacia abajo. Para cambiar al siguiente teclado, desliza 3 dedos hacia abajo Para enviar texto, desliza 2 dedos hacia arriba Para acceder a ayuda y otras opciones, desliza 3 dedos hacia arriba Listo + Modo de pantalla alejada + Sostén el dispositivo alejando la pantalla de ti (modo de pantalla alejada) + Modo de mesa + Apoya el dispositivo sobre una mesa (modo de mesa) + Adaptar a cómo sostienes el dispositivo Tu dispositivo no admite teclado braille Tu dispositivo no admite suficientes puntos táctiles. Para obtener más información, comunícate con el fabricante. + Se borró %s + + punto %s + puntos %s + Activa TalkBack para usar el teclado braille Activar en configuración de accesibilidad Reanuda TalkBack para usar el teclado braille @@ -70,32 +85,30 @@ A partir de ahora, no podrás usar los gestos normales de TalkBack. TalkBack no está disponible mientras usas el teclado braille. Para comenzar, sostén el teléfono de manera que la pantalla quede hacia afuera. Presiona dos veces en cualquier lado para continuar - Presiona el punto 1 con el dedo índice izquierdo para escribir la letra \"A\" + dedo índice izquierdo + dedo índice derecho + Presiona el punto 1 con el %1$s para escribir la letra \"A\" Luego, intenta escribir las letras B, C y D Para borrar una letra, desliza el dedo hacia la izquierda Para agregar un espacio, desliza el dedo hacia la derecha - Para mover el cursor hacia atrás, desliza el dedo hacia arriba - Para mover el cursor hacia adelante, desliza el dedo hacia abajo Para ocultar el teclado, desliza 2 dedos hacia abajo Para cambiar a tu otro teclado, desliza 3 dedos hacia abajo Para finalizar el instructivo, desliza 3 dedos hacia arriba BORRAR ESPACIO - SE MOVIÓ EL CURSOR HACIA ATRÁS - SE MOVIÓ EL CURSOR HACIA ADELANTE OCULTAR TECLADO SIGUIENTE TECLADO A partir de ahora, no podrás usar los gestos normales de TalkBack. TalkBack no está disponible mientras usas el teclado braille.\n\n%1$s Primero, gira el teléfono de manera que la pantalla quede hacia afuera.\n\nLuego, rótalo para que quede en posición horizontal. Usa las manos para sostener los extremos más cortos del teléfono. Con la mano derecha, debes sostener el extremo donde se encuentra el puerto USB. Coloca los 3 dedos del medio en la pantalla y usa el meñique y el pulgar para sostener el teléfono.\n\nCuando esté todo listo, presiona dos veces la pantalla para continuar.\n\nPara salir del teclado braille, desliza 3 dedos hacia abajo, en dirección al suelo. Con esta acción, regresarás al teclado original. Tu teléfono está en posición vertical. Para continuar, rótalo a la posición horizontal para que la parte más larga se encuentre abajo. Luego, gira la pantalla hacia afuera. Cuando esté todo listo, presiona dos veces la pantalla para continuar. - Sostén la pantalla de manera que quede hacia afuera. Sostén el teléfono con ambas manos, por los bordes más pequeños, de manera que los 3 dedos del medio de cada mano puedan tocar la pantalla.\n\nTu dedo índice izquierdo debería estar en el punto 1. Ahora, presiona el punto 1 para escribir la letra \"A\". - Presiona el punto 1 con el dedo índice izquierdo para escribir \"A\" + dedo índice izquierdo + dedo índice derecho + Sostén la pantalla de manera que quede hacia afuera. Sostén el teléfono con ambas manos, por los bordes más pequeños, de manera que los 3 dedos del medio de cada mano puedan tocar la pantalla.\n\nEl %1$s debería estar en el punto 1. Ahora, presiona el punto 1 para escribir la letra \"A\". + Presiona el punto 1 con el %1$s para escribir la letra \"A\" Presiona %1$s para escribir la letra %2$s Para borrar una letra, desliza el dedo hacia la izquierda. Pruébalo ahora. Se borró la d. Para agregar un espacio, desliza el dedo hacia la derecha. Pruébalo ahora. - Para mover el cursor hacia atrás, desliza el dedo hacia arriba. Pruébalo ahora. - Para mover el cursor hacia adelante, desliza el dedo hacia abajo. Pruébalo ahora. Para ocultar el teclado, desliza 2 dedos hacia abajo. Pruébalo ahora. Ocultar teclado. Por lo general, esta acción ocultará el teclado. El teclado braille permanecerá abierto porque sigues en el instructivo. Para cambiar al otro teclado, desliza 3 dedos hacia abajo. Pruébalo ahora. @@ -113,6 +126,4 @@ Se borró la letra Se borró la palabra Continuemos con el instructivo. %1$s - Una pantalla braille externa está conectada para que puedas escribir texto en este dispositivo.\nTambién puedes cambiar el teclado braille de pantalla táctil o el siguiente método de entrada. - Cambiar al teclado de la pantalla táctil diff --git a/braille/brailleime/src/phone/res/values-b+sr+Latn/strings.xml b/braille/brailleime/src/main/res/values-b+sr+Latn/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-b+sr+Latn/strings.xml rename to braille/brailleime/src/main/res/values-b+sr+Latn/strings.xml index d857236f0..bb678c5b1 100644 --- a/braille/brailleime/src/phone/res/values-b+sr+Latn/strings.xml +++ b/braille/brailleime/src/main/res/values-b+sr+Latn/strings.xml @@ -5,6 +5,9 @@ Stoni režim. Postavite uređaj tako da port za punjenje bude levo. Da biste ažurirali položaj tačaka, pritisnite i držite sa 6 prstiju. Nije omogućena nijedna druga tastatura, idite u podešavanja tastature Prevucite nagore pomoću 3 prsta da biste pronašli još opcija + Prešli ste u režim kratkopisne Brajeve azbuke + Prešli ste u režim pune Brajeve azbuke + Prešli ste na UEB režim bez skraćivanja tastatura sa Brajevom azbukom tastatura sa Brajevom azbukom, %s Tastatura sa Brajevom azbukom – da biste pronašli pomoć, posetite g.co/help/braille @@ -17,7 +20,6 @@ Ažuriran je položaj tačaka 1, 2 i 3. Hajde da sada snimimo tačke desne ruke. Dodirnite i zadržite ekran pomoću srednja 3 prsta desne ruke. Ažuriran je položaj tačaka 1, 2 i 3. Hajde da sada snimimo tačke leve ruke. Dodirnite i zadržite ekran pomoću srednja 3 prsta leve ruke. Ažuriranje položaja tačaka nije uspelo. Dodirnite i zadržite ekran pomoću 6 prstiju. Zatim probajte ponovo. - Prešli ste na: %s Tastatura sa Brajevom azbukom Podesite tastaturu sa Brajevom azbukom Kako da koristite tastaturu sa Brajevom azbukom @@ -27,18 +29,23 @@ <br><br>2. <b>Koristite tastaturu sa Brajevom azbukom</b>: Otvorite uobičajenu tastaturu, pa dodirnite ikonu Odaberite tastaturu %2$s (obično je u donjem desnom uglu). Izaberite „%1$s.“ <br><br>Ako ne vidite opciju da pređete na drugu tastaturu, probajte da instalirate %3$s, Google tastaturu. Podešavanja - Jezici za kucanje - Željeni jezik - Ne prikazuj ovo ponovo - Brzo promenite jezik pri kucanju - Da biste promenili jezik dok kucate pomoću tastature sa Brajevom azbukom, prevucite nagore pomoću 3 prsta. Zatim izaberite „pređi na sledeći jezik“. + Jezici unosa + Jedinstvena Brajeva azbuka za engleski + španski + arapski + francuski + poljski Uvrsti sve pritisnute tačke Svaka pritisnuta tačka je deo unosa, čak i ako se tačka otpusti pre drugih tačaka Obrni tačke Zamenite položaje tačaka, na primer, tako da 1. i 4. tačka zamene mesta Opcije tastature sa Brajevom azbukom - Pređite na sledeći jezik: %s - Trenutno koristite: %s + Promenite jezik za kucanje + Trenutno koristite %s + Jezik za kucanje + Pređi u režim %s Brajeve azbuke + kratkopisna + puna Pregledajte sve pokrete Otvori vodič Dovrši vodič @@ -49,15 +56,24 @@ Da biste izbrisali, prevucite ulevo Da biste prešli u novi red, prevucite udesno pomoću 2 prsta Da biste izbrisali reč, prevucite ulevo pomoću 2 prsta - Da biste pomerili kursor unazad, prevucite nagore - Da biste pomerili kursor unapred, prevucite nadole Da biste sakrili tastaturu, prevucite nadole pomoću 2 prsta Da biste prešli na sledeću tastaturu, prevucite nadole pomoću 3 prsta Da biste poslali tekst, prevucite nagore pomoću 2 prsta Da biste pronašli pomoć i druge opcije, prevucite nagore pomoću 3 prsta Gotovo + Režim rada sa ekranom nadole + Držite uređaj tako da ekran bude okrenut od vas (režim rada sa ekranom nadole) + Stoni režim + Postavite uređaj ravno na sto (stoni režim) + Prilagodite načinu na koji držite uređaj Uređaj ne podržava tastaturu sa Brajevom azbukom Uređaj ne podržava dovoljno dodirnih tačaka. Više informacija potražite od proizvođača uređaja. + Izbrisano: %s + + tačke %s + tačke %s + tačke %s + Uključite TalkBack da biste koristili tastaturu sa Brajevom azbukom Uključi u podešavanjima pristupačnosti Nastavite da koristite TalkBack da biste koristili tastaturu sa Brajevom azbukom @@ -71,32 +87,30 @@ Od sada više nećete moći da koristite uobičajene TalkBack pokrete. TalkBack nije dostupan kada koristite tastatururu sa Brajevom azbukom. Da biste započeli, držite telefon ovako, tako da je ekran okrenut od vas. Dvaput dodirnite bilo gde da biste nastavili - Dodirnite 1. tačku levim kažiprstom da biste uneli slovo A + levim kažiprstom + desnim kažiprstom + Dodirnite 1. tačku %1$s da biste uneli slovo A Zatim probajte da unesete slova B, V i G Da biste izbrisali slovo, prevucite ulevo Da biste dodali razmak, prevucite udesno - Da biste pomerili kursor unazad, prevucite nagore - Da biste pomerili kursor unapred, prevucite nadole Da biste sakrili tastaturu, prevucite nadole pomoću 2 prsta Da biste prešli na drugu tastaturu, prevucite nadole pomoću 3 prsta Da biste dovršili vodič, prevucite nagore pomoću 3 prsta IZBRIŠI RAZMAK - POMERILI STE KURSOR UNAZAD - POMERILI STE KURSOR UNAPRED SAKRIJ TASTATURU SLEDEĆA TASTATURA Od sada više nećete moći da koristite uobičajene TalkBack pokrete. TalkBack nije dostupan kada koristite tastaturu sa Brajevom azbukom.\n\n%1$s Prvo okrenite telefon tako da je ekran okrenut od vas.\n\nZatim rotirajte telefon horizontalno u vodoravan položaj. Ruke bi trebalo da obuhvataju kratke krajeve telefona. Desna ruka bi trebalo da drži kraj sa USB portom. Položite srednja 3 prsta na ekran i pridržavajte telefon pomoću malog prsta i palca.\n\nKada budete spremni, dvaput dodirnite ekran da biste nastavili.\n\nDa biste zatvorili tastaturu sa Brajevom azbukom, prevucite nadole prema tlu pomoću 3 prsta. Time se vraćate na prvobitnu tastaturu. Telefon je u vertikalnom položaju. Da biste nastavili, rotirajte telefon horizontalno tako da duža strana bude na dnu. Zatim okrenite ekran tako da bude okrenut od vas. Kada budete spremni, dvaput dodirnite ekran da biste nastavili. - Neka ekran ostane okrenut od vas. Držite telefon obema rukama za kratke ivice telefona tako da srednja 3 prsta svake ruke mogu da dodirnu ekran.\n\nLevi kažiprst bi trebalo da bude na 1. tački. Sada dodirnite 1. tačku da biste uneli slovo A. - Dodirnite 1. tačku levim kažiprstom da biste uneli slovo A. + Levi kažiprst + Desni kažiprst + Neka ekran ostane okrenut od vas. Držite telefon obema rukama za kratke ivice telefona tako da srednja 3 prsta svake ruke mogu da dodirnu ekran.\n\n%1$s bi trebalo da bude na 1. tački. Sada dodirnite 1. tačku da biste uneli slovo A. + Dodirnite 1. tačku %1$s da biste uneli slovo A Dodirnite %1$s da biste uneli slovo %2$s Da biste izbrisali slovo, prevucite ulevo. Isprobajte. Izbrisali ste d. Da biste dodali razmak, prevucite udesno. Isprobajte. - Da biste pomerili kursor unazad, prevucite nagore. Isprobajte. - Da biste pomerili kursor unapred, prevucite nadole. Isprobajte. Da biste sakrili tastaturu, prevucite nadole pomoću 2 prsta. Isprobajte. Sakrij tastaturu. Ovo će obično sakriti tastaturu. Tastatura sa Brajevom azbukom će ostati otvorena zato što ste još uvek u vodiču. Da biste prešli na drugu tastaturu, prevucite nadole pomoću 3 prsta. Isprobajte. @@ -114,6 +128,4 @@ Slovo je izbrisano Reč je izbrisana Hajde da nastavimo sa vodičem. %1$s - Spoljni brajev ekran je povezan i može da se koristi za unos teksta na ovom uređaju.\nMožete i da pređete na tastaturu sa Brajevom azbukom na dodirnom ekranu ili na sledeći metod unosa. - Pređi na tastaturu na dodirnom ekranu diff --git a/braille/brailleime/src/phone/res/values-be/strings.xml b/braille/brailleime/src/main/res/values-be/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-be/strings.xml rename to braille/brailleime/src/main/res/values-be/strings.xml index 62db36c3a..c1bab7769 100644 --- a/braille/brailleime/src/phone/res/values-be/strings.xml +++ b/braille/brailleime/src/main/res/values-be/strings.xml @@ -5,6 +5,9 @@ Настольны рэжым. Пакладзіце прыладу так, каб порт зарадкі аказаўся злева. Каб абнавіць пазіцыю кропкі, утрымлівайце 6 пальцаў націснутымі. Іншыя клавіятуры не ўключаны. Будуць адкрыты налады клавіятуры Правядзіце трыма пальцамі ўверх, каб разгарнуць іншыя параметры + Вы перайшлі на скарочаную версію клавіятуры Брайля + Вы перайшлі на поўную версію клавіятуры Брайля + Пераключана на шрыфт Брайля клавіятура Брайля клавіятура Брайля, %s Клавіятура Брайля TalkBack. Даведку можна атрымаць па спасылцы g.co/help/braille @@ -17,7 +20,6 @@ Пазіцыі кропак 1, 2 і 3 абноўлены. Цяпер запішам кропкі для правай рукі. Націсніце і ўтрымлівайце на экране тры сярэднія пальцы правай рукі. Пазіцыі кропак 1, 2 і 3 абноўлены. Цяпер запішам кропкі для левай рукі. Націсніце і ўтрымлівайце на экране тры сярэднія пальцы левай рукі. Не ўдалося абнавіць пазіцыю кропкі. Дакраніцеся да экрана 6 пальцамі і затрымайце іх. Потым паўтарыце спробу. - Пераключана на: %s Клавіятура Брайля Наладзіць клавіятуру Брайля Як выкарыстоўваць клавіятуру Брайля @@ -27,18 +29,23 @@ <br><br>2. <b>Каб карыстацца клавіятурай Брайля</b>, адкрыйце звычайную клавіятуру, потым націсніце значок \"%2$s\" (звычайна ён знаходзіцца ў правым ніжнім вугле экрана). Выберыце \"%1$s\". <br><br>Калі ў вас няма варыянта выбару клавіятуры, усталюйце %3$s – клавіятуру Google. Налады - Мовы набору тэксту - Прыярытэтная мова - Больш не паказваць - Хутка змяняйце мову падчас уводу тэксту - Каб змяніць мову падчас набору тэксту на клавіятуры Брайля, правядзіце трыма пальцамі ўверх. Потым выберыце \"Пераключыцца на наступную мову\". + Мовы ўводу + Адзіная англійская клавіятура Брайля + Іспанская + Арабская мова + Французская мова + Польская Уключаць усе націснутыя кропкі Кожная націснутая кропка, нават калі яе адпусціць перад націскам іншых кропак, – гэта частка ўводу Зваротны парадак кропак Замяніць палажэнне кропак, напрыклад памяняць месцамі кропкі 1 і 4 Параметры клавіятуры Брайля - Пераключыцца на наступную мову: %s - Цяпер выкарыстоўваецца: %s + Змяніць мову набору тэксту + Зараз выкарыстоўваецца %s + Мова набору тэксту + Пераключыцца на клавіятуру Брайля ў версіі \"%s\" + скарочаная + поўная Праглядзець усе жэсты Адкрыць дапаможнік Завяршыць навучанне @@ -49,15 +56,25 @@ Каб выдаліць, правядзіце пальцам улева Каб дадаць новы радок, правядзіце двума пальцамі ўправа Каб выдаліць слова, правядзіце двума пальцамі ўлева - Каб перамясціць курсор назад, правядзіце па экране ўверх - Каб перамясціць курсор уперад, правядзіце па экране ўніз Каб схаваць клавіятуру, правядзіце па экране двума пальцамі ўніз Каб перайсці да наступнай клавіятуры, правядзіце трыма пальцамі ўніз Каб адправіць тэкст, правядзіце двума пальцамі ўверх Каб адкрыць даведку і іншыя параметры, правядзіце трыма пальцамі ўверх Гатова + Рэжым \"Экран ад сябе\" + Трымайце прыладу з адвернутым ад сябе экранам (рэжым \"Экран ад сябе\") + Настольны рэжым + Пакладзіце прыладу на стол (настольны рэжым) + Падладжвацца пад спосаб трымання прылады Ваша прылада не падтрымлівае клавіятуру Брайля На вашай прыладзе падтрымліваецца недастатковая колькасць месцаў дотыку. Па дадатковую інфармацыю звярніцеся да вытворцы прылады. + Выдалена: %s + + кропкі %s + кропкі %s + кропкі %s + кропкі %s + Уключыць TalkBack для карыстання клавіятурай Брайля Уключыць у наладах спецыяльных магчымасцей Узнавіць TalkBack для карыстання клавіятурай Брайля @@ -71,32 +88,30 @@ Вы больш не зможаце выкарыстоўваць звычайныя жэсты TalkBack. Функцыя TalkBack недаступная падчас карыстання клавіятурай Брайля. Каб пачаць, трымайце тэлефон экранам ад сябе. Каб працягнуць, двойчы націсніце ў любым месцы экрана - Націсніце левым указальным пальцам кропку 1, каб увесці літару \"А\" + левым указальным пальцам + правым указальным пальцам + Націсніце %1$s кропку 1, каб увесці літару \"А\" Далей паспрабуйце ўвесці літары Б, В і Г Каб выдаліць літару, правядзіце пальцам улева Каб дадаць прабел, правядзіце пальцам управа - Каб перамясціць курсор назад, правядзіце па экране ўверх - Каб перамясціць курсор уперад, правядзіце па экране ўніз Каб схаваць клавіятуру, правядзіце па экране двума пальцамі ўніз Каб пераключыцца на іншую клавіятуру, правядзіце па экране трыма пальцамі ўніз Каб завяршыць навучанне, правядзіце па экране трыма пальцамі ўверх ВЫДАЛІЦЬ ПРАБЕЛ - КУРСОР ПЕРАМЕШЧАНЫ НАЗАД - КУРСОР ПЕРАМЕШЧАНЫ ЎПЕРАД СХАВАЦЬ КЛАВІЯТУРУ НАСТУПНАЯ КЛАВІЯТУРА Вы больш не зможаце выкарыстоўваць звычайныя жэсты TalkBack. Функцыя TalkBack недаступная падчас карыстання клавіятурай Брайля.\n\n%1$s Спачатку павярніце тэлефон экранам ад сябе.\n\nПотым павярніце тэлефон у гарызантальнае становішча, трымаючы яго ў альбомнай арыентацыі. Абхапіце тэлефон рукамі за кароткія грані. У вашай правай руцэ павінна аказацца грань з портам USB. Утрымліваючы тэлефон мезенцам і вялікім пальцам, перавядзіце тры сярэднія пальцы на экран.\n\nКалі вы будзеце гатовыя, двойчы націсніце на экран для працягу.\n\nКаб закрыць клавіятуру Брайля, правядзіце па экране трыма пальцамі ўніз. Гэты жэст верне вас да першапачатковай клавіятуры. Ваш тэлефон знаходзіцца ў вертыкальным становішчы. Каб працягнуць, павярніце яго гарызантальна, трохі нахіліўшы ўніз доўгую грань. Потым павярніце экран ад сябе. Калі вы будзеце гатовыя, двойчы націсніце на экран для працягу. - Павярніце экран ад сябе. Трымайце тэлефон абедзвюма рукамі за кароткія грані такім чынам, каб тры сярэднія пальцы кожнай рукі маглі дакранацца да экрана.\n\nВаш левы ўказальны палец павінен знаходзіцца на кропцы 1. Цяпер націсніце кропку 1, каб увесці літару \"А\". - Націсніце кропку 1 левым указальным пальцам, каб увесці літару \"А\" + левы ўказальны палец + правы ўказальны палец + Павярніце экран ад сябе. Трымайце тэлефон абедзвюма рукамі за кароткія грані такім чынам, каб тры сярэднія пальцы кожнай рукі маглі дакранацца да экрана.\n\nВаш %1$s павінен знаходзіцца на кропцы 1. Цяпер націсніце кропку 1, каб увесці літару \"А\". + Націсніце %1$s кропку 1, каб увесці літару \"А\" Націсніце кропку %1$s, каб увесці літару \"%2$s\" Каб выдаліць літару, правядзіце пальцам улева. Паспрабуйце. літара \"д\" выдалена. Каб дадаць прабел, правядзіце пальцам управа. Паспрабуйце. - Каб перамясціць курсор назад, правядзіце па экране ўверх. Паспрабуйце. - Каб перамясціць курсор уперад, правядзіце па экране ўніз. Паспрабуйце. Каб схаваць клавіятуру, правядзіце па экране двума пальцамі ўніз. Паспрабуйце. Схаваць клавіятуру. Звычайна гэта каманда хавае клавіятуру, але зараз клавіятура Брайля застанецца адкрытай, таму што вы праходзіце навучанне. Каб пераключыцца на іншую клавіятуру, правядзіце па экране трыма пальцамі ўніз. Паспрабуйце. @@ -114,6 +129,4 @@ Літара выдалена Слова выдалена Працягнем навучанне. %1$s - Падключаны знешні брайлеўскі дысплэй, які вы можаце выкарыстоўваць на гэтай прыладзе для ўводу тэксту.\nТаксама вы можаце пераключыцца на сэнсарную клавіятуру Брайля ці выбраць наступны спосаб уводу. - Пераключыцца на сэнсарную клавіятуру diff --git a/braille/brailleime/src/phone/res/values-bg/strings.xml b/braille/brailleime/src/main/res/values-bg/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-bg/strings.xml rename to braille/brailleime/src/main/res/values-bg/strings.xml index df262e1bd..0fe6e2ee3 100644 --- a/braille/brailleime/src/phone/res/values-bg/strings.xml +++ b/braille/brailleime/src/main/res/values-bg/strings.xml @@ -5,6 +5,9 @@ Настолен режим. Насочете наляво порта за зареждане на устройството. За да актуализирате позициите на точките, задръжте 6 пръста върху екрана. Не е активирана друга клавиатура, отворете съответните настройки За повече опции прекарайте 3 пръста нагоре + Превключихте към брайлово писмо със съкращения + Превключихте към брайлово писмо без съкращения + Превключихте към унифицирано английско брайлово писмо без съкращения брайлова клавиатура брайлова клавиатура, %s Брайлова клавиатура за TalkBack – за помощ посетете g.co/help/braille @@ -17,7 +20,6 @@ Позицията на точки 1, 2 и 3 е актуализирана. Сега запишете точките за дясната си ръка. Докоснете и задръжте екрана с трите средни пръста на дясната си ръка. Позицията на точки 1, 2 и 3 е актуализирана. Сега запишете точките за лявата си ръка. Докоснете и задръжте екрана с трите средни пръста на лявата си ръка. Позицията на точките не бе актуализирана. Докоснете и задръжте екрана с 6 пръста. След това опитайте отново. - Превключихте към %s Брайлова клавиатура Настройване на брайловата клавиатура Как да използвате брайловата клавиатура @@ -27,18 +29,23 @@ <br><br>2. <b>Използване на брайловата клавиатура</b>: Отворете стандартната и докоснете иконата за избиране на клавиатура %2$s (обикновено е в долния десен ъгъл). Изберете „%1$s“. <br><br>Ако не виждате опция за превключване на клавиатурата, инсталирайте %3$s – клавиатурата на Google. Настройки - Езици за въвеждане - Предпочитан език - Без повторно показване - Бърза промяна на езика по време на въвеждане - За да промените езика при въвеждане с брайловата клавиатура, прекарайте три пръста нагоре, след което изберете опцията за превключване към следващия език. + Езици за въвеждане + Унифицирано английско брайлово писмо + испански + арабски + френски + полски Включване на всички натиснати точки Всяка натисната точка се въвежда дори ако е освободена преди другите Обръщане на точките Размяна на позициите на точките, например точка 1 и 4 да си сменят местата Опции за брайловата клавиатура - Превключване към следващия език: %s - Понастоящем използвате: %s + Промяна на езика за въвеждане + Понастоящем използвате %s + Език за въвеждане + Превключване към брайлово писмо %s + със съкращения + без съкращения Преглед на всички жестове Отваряне на урока Край на урока @@ -49,15 +56,23 @@ За да изтриете, прекарайте пръст наляво За нов ред прекарайте 2 пръста надясно За да изтриете дума, прекарайте 2 пръста наляво - За да преместите курсора назад, прекарайте пръст нагоре - За да преместите курсора напред, прекарайте пръст надолу За да скриете клавиатурата, прекарайте 2 пръста надолу За да превключите към следващата клавиатура, прекарайте 3 пръста надолу За да изпратите текст, прекарайте 2 пръста нагоре За помощ и други опции прекарайте 3 пръста нагоре Готово + Режим на обърнат екран + Дръжте устройството така, че гърбът му да сочи към вас (режим на обърнат екран) + Настолен режим + Поставете устройството върху равна повърхност, като например маса (настолен режим) + Адаптиране спрямо ориентирането на устройството Устройството ви не поддържа брайлова клавиатура Устройството ви не поддържа достатъчно тактилни точки. За повече информация се обърнете към производителя му. + Изтрихте текста „%s“ + + точка %s + точки %s + Включване на TalkBack с цел използване на брайлова клавиатура Включване от настройките за достъпност Възобновяване на TalkBack с цел използване на брайлова клавиатура @@ -71,32 +86,30 @@ От сега нататък няма да можете да използвате стандартните жестове в TalkBack. Функцията не е налице, докато използвате брайловата клавиатура. За да започнете, дръжте телефона си по този начин. Екранът му не трябва да е насочен към вас. Докоснете два пъти произволно място, за да продължите - Докоснете точка 1 с левия си показалец, за да въведете буквата „А“ + левия си показалец + десния си показалец + Докоснете точка 1 с %1$s, за да въведете буквата „А“ След това опитайте да въведете буквите „Б“, „В“ и „Г“ За да изтриете буква, прекарайте пръст наляво За да добавите интервал, прекарайте пръст надясно - За да преместите курсора назад, прекарайте пръст нагоре - За да преместите курсора напред, прекарайте пръст надолу За да скриете клавиатурата, прекарайте 2 пръста надолу За да превключите към другата си клавиатура, прекарайте 3 пръста надолу За да завършите урока, прекарайте 3 пръста нагоре ИЗТРИВАНЕ ИНТЕРВАЛ - КУРСОРЪТ Е ПРЕМЕСТЕН НАЗАД - КУРСОРЪТ Е ПРЕМЕСТЕН НАПРЕД СКРИВАНЕ НА КЛАВИАТУРАТА СЛЕДВАЩА КЛАВИАТУРА От сега нататък няма да можете да използвате стандартните жестове в TalkBack. Функцията не работи, докато използвате брайловата клавиатура.\n\n%1$s Първо, обърнете телефона си така, че гърбът му да сочи към вас.\n\nСлед това го завъртете в хоризонтална позиция. Трябва да хванете телефона за късите му страни. Дясната ви ръка трябва да е от страната на USB порта. Поставете трите си средни пръста на екрана и използвайте кутрето и палеца си, за да придържате телефона.\n\nКогато имате готовност, докоснете екрана два пъти, за да продължите.\n\nЗа да затворите брайловата клавиатура, прекарайте 3 пръста надолу към земята. Така ще превключите обратно към първоначалната клавиатура. Телефонът ви е във вертикална позиция. За да продължите, завъртете го хоризонтално, така че дългата му страна да е отдолу. След това обърнете екрана, за да не сочи към вас. Когато имате готовност, докоснете го два пъти, за да продължите. - Не насочвайте екрана към себе си. Хванете телефона за късите му страни с две ръце, така че да можете да докосвате екрана с трите средни пръста и на двете си ръце.\n\nЛевият ви показалец трябва да е върху точка 1. Сега я докоснете, за да въведете буквата „А“. - Докоснете точка 1 с левия си показалец, за да въведете „А“ + Левият ви показалец + Десният ви показалец + Не насочвайте екрана към себе си. Хванете телефона за късите му страни с две ръце, така че да можете да докосвате екрана с трите средни пръста и на двете си ръце.\n\n%1$s трябва да е върху точка 1. Сега я докоснете, за да въведете буквата „А“. + Докоснете точка 1 с %1$s, за да въведете „А“ Докоснете %1$s, за да въведете буквата „%2$s“ За да изтриете буква, прекарайте пръст наляво. Изпробвайте сега. Буквата д е изтрита. За да добавите интервал, прекарайте пръст надясно. Изпробвайте сега. - За да преместите курсора назад, прекарайте пръст нагоре. Изпробвайте сега. - За да преместите курсора напред, прекарайте пръст надолу. Изпробвайте сега. За да скриете клавиатурата, прекарайте 2 пръста надолу. Изпробвайте сега. Скриване на клавиатурата. Обикновено това действие ще скрие клавиатурата. Брайловата клавиатура ще остане отворена, защото урокът още не е приключил. За да превключите към другата клавиатура, прекарайте 3 пръста надолу. Изпробвайте сега. @@ -114,6 +127,4 @@ Буквата е изтрита Думата е изтрита Да продължим урока. %1$s - Свързан е външен екран за брайлово писмо, чрез който можете да въвеждате текст на това у-во.\nМожете и да превключите към сензорната клавиатура за брайлово писмо или към следващия метод на въвеждане. - Превключване към сензорната клавиатура diff --git a/braille/brailleime/src/phone/res/values-bn/strings.xml b/braille/brailleime/src/main/res/values-bn/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-bn/strings.xml rename to braille/brailleime/src/main/res/values-bn/strings.xml index 9fc0fb212..cc742f676 100644 --- a/braille/brailleime/src/phone/res/values-bn/strings.xml +++ b/braille/brailleime/src/main/res/values-bn/strings.xml @@ -5,6 +5,9 @@ টেবিলটপ মোড। আপনার ডিভাইসটি এমনভাবে রাখুন চার্জিং পোর্ট বাঁদিকে থাকে। ডটের অবস্থান আপডেট করার জন্য, ৬টি আঙুল দিয়ে নিচের দিকে ধরে থাকুন। কোনও কীবোর্ড চালু করা নেই, কীবোর্ড সেটিংসে যান আরও বিকল্পের জন্য ৩টি আঙ্গুল ব্যবহার করে উপরের দিকে সোয়াইপ করুন + সঙ্কুচিত ব্রেইল মোডে পাল্টানো হয়েছে + অসঙ্কুচিত ব্রেইল মোডে পাল্টানো হয়েছে + UEB অসঙ্কুচিত মোডে পরিবর্তন করা হয়েছে ব্রেইল কীবোর্ড ব্রেইল কীবোর্ড, %s টকব্যাক ব্রেইল কীবোর্ড - সহায়তার জন্য g.co/help/braille লিঙ্কে যান @@ -17,7 +20,6 @@ ডট ১, ২ এবং ৩ এর জন্য আপডেট করা অবস্থান। এখন, ডান হাতের সাহায্যে ডটের পজিশন ক্যালিব্রেট করতে থাকুন। আপনার ডান হাতের মাঝের ৩টি আঙুল দিয়ে স্ক্রিন প্রেস করে ধরে রাখুন। ডট ১, ২ এবং ৩ এর জন্য আপডেট করা অবস্থান। এখন, বাঁ হাতের সাহায্যে ডটের পজিশন ক্যালিব্রেট করতে থাকুন। আপনার বাঁ হাতের মাঝের ৩টি আঙুল দিয়ে স্ক্রিন প্রেস করে ধরে রাখুন। ডটের অবস্থান আপডেট করা যায়নি। ৬টি আঙুল দিয়ে স্ক্রিনটি ধরে রেখে রাখুন। তারপর আবার চেষ্টা করুন। - %s ভাষায় বদল করা হয়েছে ব্রেইল কীবোর্ড ব্রেইল কীবোর্ড সেট-আপ করুন ব্রেইল কীবোর্ড কীভাবে ব্যবহার করবেন @@ -27,18 +29,23 @@ <br><br>2। <b>ব্রেইল কীবোর্ড ব্যবহার করুন</b>: আপনার নিয়মিত কীবোর্ডটি খুলুন, তারপরে বেছে নেওয়া কীবোর্ড আইকনে %2$s ট্যাপ করুন (সাধারণত নিচের অংশে ডানদিকে কোণায় অবস্থিত)। \"%1$s বেছে নিন।\" <br><br>কীবোর্ড পাল্টানোর কোনও বিকল্প দেখতে না পেলে, Google কীবোর্ড %3$s ইনস্টল করে দেখুন। সেটিংস - পছন্দসই যেসব ভাষায় টাইপ করা হবে তার তালিকা - পছন্দসই ভাষা - এটি আর দেখতে চাই না - টাইপ করার সময় দ্রুত ভাষা পরিবর্তন করুন - ব্রেইল কীবোর্ডের সাহায্যে টাইপ করার সময় ভাষা পরিবর্তন করতে ৩ আঙুল দিয়ে উপরের দিকে সোয়াইপ করুন। তারপরে, \"পরবর্তী ভাষায় পাল্টান\" বিকল্প বেছে নিন। + যেসব ভাষাতে টাইপ করা যাবে + ইউনিফায়েড ইংলিশ ব্রেইল + স্প্যানিশ + আরবি + ফরাসি + পোলিশ সমস্ত প্রেস করা ডট অন্তর্ভুক্ত করুন এমনকি অন্যান্য ডটের আগে ডটটি প্রকাশ করা হলেও, প্রতিটি প্রেস করা ডট হল ইনপুটের অংশ বিপরীত ডট যেমন, ডটের অবস্থানগুলি অদল বদল করুন, যাতে ডট ১ ও ৪-এর স্থান অদল বদল হয়ে যায় ব্রেইল কীবোর্ডের বিকল্প - পরবর্তী ভাষায় পাল্টান: %s - বর্তমানে ব্যবহার করা হচ্ছে: %s + টাইপ করার ভাষা পরিবর্তন করুন + বর্তমানে %s ব্যবহার করা হচ্ছে + টাইপ করার ভাষা + %s ব্রেইলে পাল্টান + সঙ্কুচিত + অসঙ্কুচিত সব জেসচার পর্যালোচনা করুন টিউটোরিয়াল চালু করুন টিউটোরিয়াল শেষ করুন @@ -49,15 +56,23 @@ মুছে ফেলতে, বাঁদিকে সোয়াইপ করুন একটি নতুন লাইন যোগ করতে, ২টি আঙুল ব্যবহার করে বাঁদিকে সোয়াইপ করুন কোনও শব্দ মুছতে, ২টি আঙুল ব্যবহার করে বাঁদিকে সোয়াইপ করুন - কার্সর পিছনে সরাতে, উপরের দিকে সোয়াইপ করুন - কার্সর সামনে আনতে, নিচের দিকে সোয়াইপ করুন কীবোর্ড লুকাতে, ২টি আঙুল ব্যবহার করে নিচের দিকে সোয়াইপ করুন পরের কীবোর্ডে পাল্টাতে, ৩টি আঙুল ব্যবহার করে নিচের দিকে সোয়াইপ করুন টেক্সট জমা দিতে, ২টি আঙুল ব্যবহার করে উপরের দিকে সোয়াইপ করুন সহায়তা ও অন্যান্য বিকল্পের জন্য, ৩টি আঙুল ব্যবহার করে উপরের দিকে সোয়াইপ করুন হয়ে গেছে + স্ক্রিন অ্যাওয়ে মোড + স্ক্রিনটি আপনার থেকে সরিয়ে ডিভাইসটি ধরে থাকুন (স্ক্রিন অ্যাওয়ে মোড) + টেবিলটপ মোড + টেবিলের উপর আপনার ডিভাইসটি স্বাভাবিক অবস্থায় রাখুন। (টেবিলটপ মোড) + কীভাবে ডিভাইস ধরবেন তা নিজেই রপ্ত করুন আপনার ডিভাইসে ব্রেইল কীবোর্ড কাজ করে না আপনার ডিভাইসে একসাথে অনেকগুলি টাচ পয়েন্ট কাজ করে না। আরও তথ্যের জন্য আপনার ডিভাইস প্রস্তুতকারকের সাথে যোগাযোগ করুন। + %s মুছে দেওয়া হয়েছে + + ডটগুলি %s + ডটগুলি %s + ব্রেইল কীবোর্ড ব্যবহার করার জন্য টকব্যাক চালু করুন অ্যাক্সেসিবিলিটি সেটিংসে গিয়ে চালু করুন ব্রেইল কীবোর্ড ব্যবহার করতে টকব্যাক আবার চালু করুন @@ -71,32 +86,30 @@ এখনই শুরু করা হচ্ছে, আপনি নিয়মিত টকব্যাক জেসচারগুলি ব্যবহার করতে পারবেন না। ব্রেইল কীবোর্ড ব্যবহার করার সময় টকব্যাক কাজ করে না। শুরু করার জন্য, এইভাবে আপনার ফোনটি ধরুন: স্ক্রিনটি আপনার থেকে দূরে সরিয়ে নিয়ে গিয়ে। চালিয়ে যেতে যেকোনও জায়গায় ডবল ট্যাপ করুন - \"A\" অক্ষরটি টাইপ করতে আপনার বাঁহাতের তর্জনী দিয়ে ডট ১-এ ট্যাপ করুন + বাঁ হাতের তর্জনী + ডান হাতের তর্জনী + \"A\" অক্ষরটি টাইপ করতে %1$s ব্যবহার করে ডট ১-এ ট্যাপ করুন এরপরে, B, C এবং D অক্ষরগুলি টাইপ করে দেখুন কোনও অক্ষর মুছতে, বাঁদিকে সোয়াইপ করুন স্পেস যোগ করতে, ডানদিকে সোয়াইপ করুন - কার্সর পিছনে সরাতে, উপরের দিকে সোয়াইপ করুন - কার্সর সামনে আনতে, নিচের দিকে সোয়াইপ করুন কীবোর্ড লুকাতে, ২টি আঙুল ব্যবহার করে নিচের দিকে সোয়াইপ করুন অন্য কীবোর্ডে পাল্টাতে, ৩টি আঙুল ব্যবহার করে নিচের দিকে সোয়াইপ করুন টিউটোরিয়াল শেষ করতে, ৩টি আঙুল ব্যবহার করে উপরের দিকে সোয়াইপ করুন মুছুন স্পেস - কার্সর পিছনে সরানো হয়েছে - কার্সর সামনে আনা হয়েছে কীবোর্ড লুকান পরের কীবোর্ড এখনই শুরু করা হচ্ছে, আপনি নিয়মিত টকব্যাক জেসচারগুলি ব্যবহার করতে পারবেন না। ব্রেইল কীবোর্ড ব্যবহার করার সময় টকব্যাক কাজ করে না।\n\n%1$s প্রথমে আপনার ফোনটি ঘোরান যাতে স্ক্রিনটি আপনার থেকে দূরে সরিয়ে নিয়ে যাওয়া যায়।\n\nএরপরে, ফোনটিকে অনুভূমিকভাবে ঘুরিয়ে ল্যান্ডস্কেপ অবস্থানে নিয়ে আসুন। আপনাকে ফোনের প্রান্তগুলি ধরতে হবে। আপনার ডান হাতটি USB পোর্টের শেষে ধরে রাখা উচিত। তিনটি মাঝের আঙুল স্ক্রিনের উপর রাখুন এবং বৃদ্ধাঙ্গুষ্ঠ ও কনিষ্ঠা ব্যবহার করে ফোনটি ধরুন।\n\nআপনি প্রস্তুত হয়ে গেলে, চালিয়ে যেতে স্ক্রিনে ডবল ট্যাপ করুন।\n\nব্রেইল কীবোর্ড থেকে বেরিয়ে যেতে, ৩টি আঙুল ব্যবহার করে নিচের দিকে সোয়াইপ করুন। এটি করার ফলে আপনার আসল কীবোর্ডটি ফিরে আসবে। আপনার ফোনটি উল্লম্ব অবস্থানে রয়েছে। চালিয়ে যেতে, আপনার ফোনটিকে অনুভূমিকভাবে ঘোরান যাতে লম্বা দিকটি নিচে থাকে। তারপরে আপনার থেকে দূরে সরিয়ে নিয়ে যেতে আপনার স্ক্রিনটি ঘোরান। আপনি প্রস্তুত হয়ে গেলে, চালিয়ে যেতে স্ক্রিনে ডবল ট্যাপ করুন। - স্ক্রিনটি আপনার থেকে দূরে সরিয়ে রাখুন। ফোনের প্রান্তগুলিতে দুই হাতে আপনার ফোনটি এমন ভাবে ধরুন যাতে তিনটি মাঝের আঙুল ব্যবহার করে স্ক্রিন স্পর্শ করতে পারেন।\n\nআপনার বাঁহাতের তর্জনী ডট ১-এর উপরে থাকতে হবে। এবার, \"A\" অক্ষরটি টাইপ করতে ডট ১-এ ট্যাপ করুন। - \"A\" টাইপ করতে আপনার বাঁহাতের তর্জনী দিয়ে ডট ১-এ ট্যাপ করুন + বাঁ হাতের তর্জনী + ডান হাতের তর্জনী + স্ক্রিনটি আপনার থেকে দূরে সরিয়ে রাখুন। ফোনের প্রান্তগুলিতে দুই হাতে আপনার ফোনটি এমন ভাবে ধরুন যাতে তিনটি মাঝের আঙুল ব্যবহার করে স্ক্রিন স্পর্শ করতে পারেন।\n\nআপনার %1$s ডট ১-এর উপরে থাকতে হবে। এবার, \"A\" অক্ষরটি টাইপ করতে ডট ১-এ ট্যাপ করুন। + “A” অক্ষর টাইপ করতে %1$s ব্যবহার করে ডট ১-এ ট্যাপ করুন %2$s অক্ষরটি টাইপ করতে %1$s-এ ট্যাপ করুন কোনও অক্ষর মুছতে, বাঁদিকে সোয়াইপ করুন। এখনই ব্যবহার করে দেখুন। \'d\' অক্ষর মুছে দেওয়া হয়েছে। স্পেস যোগ করতে, ডানদিকে সোয়াইপ করুন। এখনই ব্যবহার করে দেখুন। - কার্সর পিছনে সরাতে, উপরের দিকে সোয়াইপ করুন। এখনই ব্যবহার করে দেখুন। - কার্সর সামনে আনতে, নিচের দিকে সোয়াইপ করুন। এখনই ব্যবহার করে দেখুন। কীবোর্ড লুকাতে, ২টি আঙুল ব্যবহার করে নিচের দিকে সোয়াইপ করুন। এখনই ব্যবহার করে দেখুন। কীবোর্ড লুকান। সাধারণত, এটি করলেই কীবোর্ড লুকিয়ে যাবে। ব্রেইল কীবোর্ড খোলা আছে কারণ আপনি এখনও টিউটোরিয়ালে রয়েছেন। অন্য কীবোর্ডে পাল্টাতে, ৩টি আঙুল ব্যবহার করে নিচের দিকে সোয়াইপ করুন। এখনই ব্যবহার করে দেখুন। @@ -114,6 +127,4 @@ অক্ষর মোছা হয়েছে শব্দ মোছা হয়েছে টিউটোরিয়ালটি চলতে দিন। %1$s - এক্সটার্নাল ব্রেইল ডিসপ্লে কানেক্ট করা আছে যা আপনি এই ডিভাইসে টেক্সট টাইপ করার সময় ব্যবহার করতে পারেন।\nবা আপনি টাচ-স্ক্রিন ব্রেইল কীবোর্ড বা পরবর্তী ইনপুট পদ্ধতিতে পাল্টাতে পারেন। - টাচস্ক্রিন কীবোর্ডে পাল্টান diff --git a/braille/brailleime/src/phone/res/values-bs/strings.xml b/braille/brailleime/src/main/res/values-bs/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-bs/strings.xml rename to braille/brailleime/src/main/res/values-bs/strings.xml index 9a1e4f574..afdaa3f6a 100644 --- a/braille/brailleime/src/phone/res/values-bs/strings.xml +++ b/braille/brailleime/src/main/res/values-bs/strings.xml @@ -5,6 +5,9 @@ Način rada na stolu. Postavite uređaj tako da priključak za punjenje bude lijevo. Da ažurirate položaj tačaka, držite pritisnutim sa 6 prstiju. Nijedna druga tastatura nije omogućena. Idite u postavke za tastaturu Prevucite prema gore s 3 prsta za više opcija + Prebačeno je na skraćenu tastaturu s Braillevim pismom + Prebačeno je na standardnu tastaturu s Braillevim pismom + Prebacili ste se na neskraćeni način rada UEB tastatura s Braillevim pismom tastatura s Braillevim pismom, %s TalkBackova tastatura s Braillevim pismom. Za pomoć posjetite g.co/help/braille @@ -17,7 +20,6 @@ Položaji tačaka 1, 2 i 3 su ažurirani. Sada ćemo snimiti tačke na desnoj ruci. Dodirnite i držite ekran s 3 srednja prsta desne ruke. Položaji tačaka 1, 2 i 3 su ažurirani. Sada ćemo snimiti tačke na lijevoj ruci. Dodirnite i držite ekran s 3 srednja prsta lijeve ruke. Ažuriranje položaja tačaka nije uspjelo. Dodirnite i držite ekran sa 6 prstiju. Nakon toga pokušajte ponovo. - Prebacili ste se na %s Tastatura s Braillevim pismom Postavite tastaturu za Braillevo pismo Kako koristiti tastaturu za Braillevo pismo @@ -27,18 +29,23 @@ <br><br>2. <b>Koristite tastaturu s Braillevim pismom</b>: Otvorite običnu tastaturu, zatim dodirnite ikonu za odabir tastature %2$s (obično se nalazi u donjem desnom uglu). Odaberite \"%1$s.\" <br><br>Ako ne vidite opciju za promjenu tastature, pokušajte instalirati %3$s, Google Tastaturu. Postavke - Jezici pisanja - Željeni jezik - Ne prikazuj ovo ponovo - Brzo promijenite jezik prilikom unosa teksta - Da promijenite jezik prilikom unosa teksta pomoću tastature s Braillevim pismom, prevucite nagore s 3 prsta. Zatim odaberite \"prebaci na sljedeći jezik\". + Jezici za pisanje + Unificirano Braillevo pismo na engleskom + španski + arapski + francuski + poljski Uvrsti sve pritisnute tačke Svaka pritisnuta tačka je dio unosa, čak i ako je otpuštena prije drugih tačaka Obrni tačke Zamijenite pozicije tačaka tako da naprimjer tačke 1 i 4 zamijene mjesta Opcije tastature s Braillevim pismom - Prebacite na sljedeći jezik: %s - Trenutno koristite: %s + Promijenite jezik unosa + Trenutno koristite: %s + Jezik unosa + Prebaci na tastaturu s Braillevim pismom – %s + skraćeno + standardno Pregledajte sve pokrete Otvori vodič Zatvori vodič @@ -49,15 +56,24 @@ Da izbrišete, prevucite nalijevo Da pređete u novi red, prevucite nadesno s 2 prsta Da izbrišete riječ, prevucite nalijevo s 2 prsta - Da premjestite kursor unazad, prevucite nagore - Da premjestite kursor unaprijed, prevucite nadolje Da sakrijete tastaturu, prevucite prema dolje s 2 prsta Da pređete na sljedeću tastaturu, prevucite prema dolje s 3 prsta Da pošaljete tekst, prevucite prema gore s 2 prsta Za pomoć i druge opcije, prevucite prema gore s 3 prsta Gotovo + Način rada s ekranom okrenutim od korisnika + Držite uređaj s ekranom okrenutim od sebe (način rada s ekranom okrenutim od korisnika) + Način rada na stolu + Postavite uređaj ravno na stol (način rada na stolu) + Prilagodi načinu na koji držim uređaj Vaš uređaj ne podržava tastaturu s Braillevim pismom Vaš uređaj ne podržava dovoljno dodirnih tačaka. Za više informacija obratite se proizvođaču uređaja. + Izbrisano: %s + + %s tačka + %s tačke + %s tačaka + Uključite TalkBack za korištenje tastature s Braillevim pismom Uključi u postavkama pristupačnosti Nastavite TalkBack da koristite tastaturu s Braillevim pismom @@ -71,32 +87,30 @@ Od sada nećete moći koristiti obične TalkBack pokrete. TalkBack nije dostupan dok koristite tastaturu s Braillevim pismom. Da započnete, držite telefon ovako, s ekranom okrenutim od vas. Da nastavite, dodirnite dvaput bilo gdje - Dodirnite tačku 1 lijevim kažiprstom da upišete slovo \"A\" + lijevim kažiprstom + desnim kažiprstom + Dodirnite tačku 1 %1$s da unesete slovo \"A\" Zatim pokušajte upisati slova B, C i D Da izbrišete slovo, prevucite lijevo Da dodate razmak, prevucite desno - Da premjestite kursor unazad, prevucite nagore - Da premjestite kursor unaprijed, prevucite nadolje Da sakrijete tastaturu, prevucite prema dolje s 2 prsta Da pređete na drugu tastaturu, prevucite prema dolje s 3 prsta Da zatvorite vodič, prevucite prema gore s 3 prsta IZBRIŠI RAZMAK - KURSOR JE PREMJEŠTEN UNAZAD - KURSOR JE PREMJEŠTEN UNAPRIJED SAKRIVANJE TASTATURE SLJEDEĆA TASTATURA Od sada nećete moći koristiti obične TalkBack pokrete. TalkBack nije dostupan dok koristite tastaturu s Braillevim pismom.\n\n%1$s Prvo, okrenite telefon tako da je ekran usmjeren od vas.\n\nZatim okrenite telefon u vodoravni položaj. Vaše ruke trebaju držati kraće krajeve telefona. Desnom rukom trebate držati kraj s USB priključkom. Ostavite 3 srednja prsta na ekranu i pomoću malog prsta i palca pridržavajte telefon.\n\nKada ste spremni, dodirnite ekran dvaput da nastavite.\n\nDa zatvorite tastaturu s Braillevim pismom, prevucite prema dolje s 3 prsta. Time ćete se vratiti na početnu tastaturu. Vaš telefon je u uspravnom položaju. Da nastavite, okrenite telefon horizontalno s dužom stranom na dnu. Zatim okrenite ekran od sebe. Kada ste spremni, dodirnite ekran dvaput da nastavite. - Držite ekran okrenutim od vas. Držite telefon s obje ruke za njegove kraće krajeve da bi srednja 3 prsta svake ruke mogla dotaći ekran.\n\nVaš lijevi kažiprst treba biti na tački 1. Sada, dodirnite tačku 1 da upišete slovo \"A\". - Dodirnite tačku 1 lijevim kažiprstom da upišete \"A\" + lijevi kažiprst + desni kažiprst + Držite ekran okrenutim od vas. Držite telefon s obje ruke za njegove kraće krajeve da bi srednja 3 prsta svake ruke mogla dotaći ekran.\n\nVaš %1$s treba biti na tački 1. Sada, dodirnite tačku 1 da upišete slovo \"A\". + Dodirnite tačku 1 %1$s da upišete slovo \"A\" Dodirnite %1$s da upišete slovo %2$s Da izbrišete slovo, prevucite lijevo. Isprobajte sada. d je izbrisano. Da dodate razmak, prevucite desno. Isprobajte sada. - Da premjestite kursor unazad, prevucite nagore. Isprobajte sada. - Da premjestite kursor unaprijed, prevucite nadolje. Isprobajte sada. Da sakrijete tastaturu, prevucite prema dolje s 2 prsta. Isprobajte sada. Sakrij tastaturu. Ovako ćete obično sakriti tastaturu. Tastatura s Braillevim pismom će ostati otvorena jer još uvijek koristite vodič. Da se prebacite na drugu tastaturu, prevucite prema dolje s 3 prsta. Isprobajte sada. @@ -114,6 +128,4 @@ Izbrisano je slovo Izbrisana je riječ Nastavimo pratiti vodič. %1$s - Povezan je vanjski Brailleov ekran, koji možete koristiti za pisanje teksta na ovom uređaju.\nIli možete preći na Brailleovu tastaturu s ekranom na dodir ili sljedeći način unosa. - Prebaci na tastaturu s ekranom na dodir diff --git a/braille/brailleime/src/phone/res/values-ca/strings.xml b/braille/brailleime/src/main/res/values-ca/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-ca/strings.xml rename to braille/brailleime/src/main/res/values-ca/strings.xml index 6683e90bb..28bb7dddd 100644 --- a/braille/brailleime/src/phone/res/values-ca/strings.xml +++ b/braille/brailleime/src/main/res/values-ca/strings.xml @@ -5,6 +5,9 @@ Mode de taula. Posa el dispositiu amb el port de càrrega a l\'esquerra. Actualitza la posició dels punts mantenint premuda la pantalla amb 6 dits. No hi ha cap altre teclat activat; ves a la configuració del teclat Fes lliscar tres dits cap amunt per accedir a més opcions + S\'ha canviat a braille amb contraccions + S\'ha canviat a braille sense contraccions + S\'ha canviat al teclat UEB sense contraccions teclat braille teclat braille, %s Teclat braille de TalkBack; per obtenir ajuda, visita g.co/help/braille @@ -17,7 +20,6 @@ S\'ha actualitzat la posició dels punts 1, 2 i 3. A continuació, grava els punts a la teva mà dreta. Mantén premuda la pantalla amb els 3 dits centrals de la mà dreta. S\'ha actualitzat la posició dels punts 1, 2 i 3. A continuació, grava els punts a la teva mà esquerra. Mantén premuda la pantalla amb els 3 dits centrals de la mà esquerra. No s\'ha pogut actualitzar la posició dels punts. Mantén premuda la pantalla amb 6 dits. Després torna-ho a provar. - S\'ha canviat a %s Teclat braille Configura el teclat braille Com es pot utilitzar el teclat braille @@ -27,18 +29,23 @@ <br><br>2. <b>Fes servir el teclat braille</b>: obre el teclat normal i toca la icona de teclat %2$s (normalment a l\'extrem inferior dret). Selecciona %1$s. <br><br>Si no veus cap opció per canviar de teclat, prova d\'instal·lar %3$s, el Teclat de Google. Configuració - Idiomes d\'escriptura - Idioma preferit - No ho tornis a mostrar - Canvia l\'idioma ràpidament mentre escrius - Per canviar l\'idioma mentre escrius amb el teclat braille, fes lliscar 3 dits cap amunt. A continuació, selecciona Canvia a l\'idioma següent. + Idiomes d\'escriptura + Anglès braille unificat + Espanyol + Àrab + Francès + Polonès Inclou tots els punts premuts Cada punt premut forma part de la introducció, encara que es deixi anar abans que els altres punts Punts inversos Canvia les posicions dels punts, de manera que, per exemple, els punts 1 i 4 s\'intercanvien el lloc Opcions del teclat braille - Canvia a l\'idioma següent: %s - %s en ús + Canvia l\'idioma d\'escriptura + S\'està fent servir %s + Idioma d\'escriptura + Canvia a braille %s + amb contraccions + sense contraccions Revisa tots els gestos Obre el tutorial Finalitza el tutorial @@ -49,15 +56,23 @@ Per suprimir, llisca cap a l\'esquerra Per afegir una línia nova, fes lliscar dos dits cap a la dreta Per suprimir una paraula, fes lliscar dos dits cap a l\'esquerra - Per moure el cursor endarrere, llisca cap amunt - Per moure el cursor endavant, llisca cap avall Per amagar el teclat, fes lliscar dos dits cap avall. Per canviar al teclat següent, fes lliscar tres dits cap avall Per enviar el text, fes lliscar dos dits cap amunt Per accedir a l\'ajuda i a altres opcions, fes lliscar tres dits cap amunt Fet + Mode amb pantalla allunyada + Mantén el dispositiu amb la pantalla allunyada (mode amb pantalla allunyada) + Mode de taula + Col·loca el dispositiu pla en una taula (mode de taula) + Adapta a la forma d\'agafar el dispositiu El dispositiu no és compatible amb el teclat braille El dispositiu no admet prou punts tàctils. Per obtenir més informació, contacta amb el fabricant del dispositiu. + S\'ha suprimit %s + + punt %s + punts %s + Activa TalkBack per fer servir el teclat braille Activa a la configuració d\'accessibilitat Reprèn TalkBack per fer servir el teclat braille @@ -71,32 +86,30 @@ A partir d\'ara, no podràs continuar fent servir els gestos normals de TalkBack. TalkBack no està disponible mentre fas servir el teclat braille. Per començar, agafa el telèfon així, amb la pantalla mirant en direcció oposada a tu. Fes doble toc en qualsevol lloc per continuar - Toca el punt 1 amb el dit índex esquerre per escriure la lletra \"A\" + dit índex esquerre + dit índex dret + Toca el punt 1 amb el %1$s per escriure la lletra \"A\" A continuació prova d\'escriure les lletres B, C i D Per suprimir una lletra, llisca cap a l\'esquerra Per afegir un espai, llisca cap a la dreta - Per moure el cursor endarrere, llisca cap amunt - Per moure el cursor endavant, llisca cap avall Per amagar el teclat, fes lliscar dos dits cap avall Per canviar a l\'altre teclat, fes lliscar tres dits cap avall Per acabar el tutorial, fes lliscar tres dits cap amunt SUPRIMEIX ESPAI - EL CURSOR S\'HA MOGUT ENDARRERE - EL CURSOR S\'HA MOGUT ENDAVANT AMAGA EL TECLAT TECLAT SEGÜENT A partir d\'ara, no podràs continuar fent servir els gestos normals de TalkBack. TalkBack no està disponible mentre fas servir el teclat braille.\n\n%1$s Primer, gira el telèfon perquè la pantalla miri en direcció oposada a tu.\n\nA continuació, gira el telèfon per col·locar-lo en posició horitzontal. Has d\'agafar el telèfon amb les mans als extrems curts. Amb la mà dreta has d\'agafar l\'extrem on hi ha el port USB. Deixa els tres dits del mig a la pantalla i fes servir el dit petit i el polze per aguantar el telèfon.\n\nQuan estiguis a punt, fes doble toc a la pantalla per continuar.\n\nPer sortir del teclat braille, fes lliscar tres dits cap avall en direcció al terra. D\'aquesta manera, es tornarà a obrir el teclat original. El telèfon està en posició vertical. Per continuar, gira el telèfon horitzontalment de manera que la banda llarga sigui a la part inferior. Després, gira la pantalla perquè miri en direcció oposada a tu. Quan estiguis a punt, fes doble toc a la pantalla per continuar. - Mantén la pantalla en direcció oposada a tu. Agafa el telèfon amb totes dues mans per les bandes curtes del telèfon, de manera que els tres dits del mig de cada mà toquin la pantalla.\n\nEl dit índex esquerre hauria de ser al punt 1. Ara, toca el punt 1 per escriure la lletra \"A\". - Toca el punt 1 amb el dit índex esquerre per escriure \"A\" + dit índex esquerre + dit índex dret + Mantén la pantalla en direcció oposada a tu. Agafa el telèfon amb totes dues mans pels costats curts del telèfon, de manera que els tres dits del mig de cada mà toquin la pantalla.\n\nEl %1$s hauria de ser al punt 1. A continuació, toca el punt 1 per escriure la lletra \"A\". + Toca el punt 1 amb el %1$s per escriure \"A\" Toca %1$s per escriure la lletra %2$s Per suprimir una lletra, llisca cap a l\'esquerra. Prova-ho ara. S\'ha suprimit la lletra d. Per afegir un espai, llisca cap a la dreta. Prova-ho ara. - Per moure el cursor endarrere, llisca cap amunt. Prova-ho ara. - Per moure el cursor endavant, llisca cap avall. Prova-ho ara. Per amagar el teclat, fes lliscar dos dits cap avall. Prova-ho ara. Amaga el teclat. Normalment, aquesta acció amagarà el teclat. El teclat braille continuarà obert perquè encara ets al tutorial. Per canviar a l\'altre teclat, fes lliscar tres dits cap avall. Prova-ho ara. @@ -114,6 +127,4 @@ S\'ha suprimit una lletra S\'ha suprimit una paraula Continuem amb el tutorial. %1$s - S\'ha connectat una pantalla braille externa que pots fer servir per escriure en aquest dispositiu.\nO pots canviar al teclat braille amb pantalla tàctil o al mètode d\'introducció de text següent. - Canvia al teclat amb pantalla tàctil diff --git a/braille/brailleime/src/phone/res/values-cs/strings.xml b/braille/brailleime/src/main/res/values-cs/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-cs/strings.xml rename to braille/brailleime/src/main/res/values-cs/strings.xml index e271a52cc..dac419123 100644 --- a/braille/brailleime/src/phone/res/values-cs/strings.xml +++ b/braille/brailleime/src/main/res/values-cs/strings.xml @@ -5,6 +5,9 @@ Režim s obrazovkou nahoru. Položte zařízení tak, aby byl nabíjecí port nalevo. Pozici bodů změníte podržením šesti prstů na obrazovce. Není povolena žádná jiná klávesnice, přejděte do nastavení klávesnice Další možnosti zobrazíte přejetím třemi prsty nahoru + Přepnuto na zkratkopis + Přepnuto na plnopis + Přepnuto na UEB (plnopis) braillská klávesnice braillská klávesnice, %s Braillská klávesnice TalkBack – nápovědu najdete na stránce g.co/help/braille @@ -17,7 +20,6 @@ Byly změněny pozice bodů 1, 2 a 3. Teď zaznamenáme body pravé ruky. Podržte obrazovku třemi prostředními prsty pravé ruky. Byly změněny pozice bodů 1, 2 a 3. Teď zaznamenáme body levé ruky. Podržte obrazovku třemi prostředními prsty levé ruky. Pozici bodů se nepodařilo změnit. Podržte obrazovku šesti prsty. Poté to zkuste znovu. - Přepnuto na jazyk %s Braillská klávesnice Nastavení braillské klávesnice Jak používat braillskou klávesnici @@ -27,18 +29,23 @@ <br><br>2. <b>Použijte braillskou klávesnici</b>: Otevřete běžnou klávesnici a klepněte na ikonu výběru klávesnice %2$s (obvykle se nachází v pravém dolním rohu). Vyberte možnost %1$s. <br><br>Pokud možnost přepnutí klávesnice nevidíte, zkuste nainstalovat %3$s, klávesnici od Googlu. Nastavení - Jazyky zadávání - Preferovaný jazyk - Příště již nezobrazovat - Rychlé přepnutí jazyka při psaní - Pokud při psaní na braillské klávesnici chcete změnit jazyk, přejeďte třemi prsty nahoru. Poté vyberte Přepnout na další jazyk. + Jazyky pro zadávání + Unified English Braille + španělština + Arabština + francouzština + polština Zahrnout všechny stisknuté body Každý stisknutý bod je součástí vstupu i v případě, že byl před stisknutím dalších bodů uvolněn Otočit body Zaměnit pozice bodů (tj. např. body 1 a 4 si vymění místa) Možnost braillské klávesnice - Přepnout na další jazyk: %s - Aktuálně používáte: %s + Změnit jazyk psaní + Aktuálně používáte jazyk %s + Jazyk psaní + Přepnout na %s + zkratkopis + plnopis Zobrazit všechna gesta Otevřít výukový program Dokončit výukový program @@ -49,15 +56,25 @@ Chcete-li smazat znak, přejeďte prstem doleva Chcete-li přidat nový řádek, přejeďte dvěma prsty doprava Chcete-li smazat slovo, přejeďte dvěma prsty doleva - Pokud chcete posunout kurzor dozadu, přejeďte prstem nahoru - Pokud chcete posunout kurzor dopředu, přejeďte prstem dolů Přejetím dvěma prsty dolů skryjete klávesnici. Chcete-li přepnout na další klávesnici, přejeďte třemi prsty dolů Chcete-li odeslat text, přejeďte dvěma prsty nahoru Chcete-li zobrazit nápovědu a další možnosti, přejeďte třemi prsty nahoru Hotovo + Režim s obrazovkou od sebe + Podržte zařízení tak, aby obrazovka směřovala dolů (režim s obrazovkou od sebe) + Režim s obrazovkou k sobě + Položte zařízení na stůl (režim s obrazovkou nahoru) + Přizpůsobit držení zařízení Zařízení braillskou klávesnici nepodporuje Zařízení nepodporuje dostatek dotykových bodů. Další informace vám poskytne výrobce zařízení. + %s úkol byl smazán + + bod %s + body %s + body %s + body %s + Chcete-li používat braillskou klávesnici, zapněte funkci TalkBack Zapnete v nastavení přístupnosti Chcete-li používat braillskou klávesnici, znovu zapněte funkci TalkBack @@ -71,32 +88,30 @@ Od teď již nebudete moci používat běžná gesta funkce TalkBack. Při používání braillské klávesnice není funkce TalkBack k dispozici. Chcete-li začít, podržte telefon takto, displejem od sebe. Chcete-li pokračovat, dvakrát kamkoliv klepněte - Klepnutím na bod 1 levým ukazováčkem zadejte písmeno A + levým ukazováčkem + pravým ukazováčkem + Klepnutím na bod 1 %1$s zadejte písmeno A Dále zkuste zadat písmena B, C a D Chcete-li smazat písmeno, přejeďte prstem doleva Chcete-li přidat mezeru, přejeďte prstem doprava - Pokud chcete posunout kurzor dozadu, přejeďte prstem nahoru - Pokud chcete posunout kurzor dopředu, přejeďte prstem dolů Chcete-li skrýt klávesnici, přejeďte dvěma prsty dolů Chcete-li přepnout na svou další klávesnici, přejeďte třemi prsty dolů Chcete-li výukový program ukončit, přejeďte třemi prsty nahoru SMAZAT MEZERA - KURZOR BYL POSUNUT DOZADU - KURZOR BYL POSUNUT DOPŘEDU SKRÝT KLÁVESNICI DALŠÍ KLÁVESNICE Od teď už nebudete moci používat běžná gesta funkce TalkBack. Při používání braillské klávesnice není funkce TalkBack k dispozici.\n\n%1$s Nejdříve telefon otočte displejem od sebe.\n\nPoté telefon otočte na šířku. Rukama byste měli držet kratší strany telefonu. V pravé ruce byste měli držet konec s portem USB. Držte telefon palcem a malíčkem a tři prostřední prsty umístěte na displej.\n\nAž budete připraveni pokračovat, dvakrát klepněte na displej.\n\nBraillskou klávesnici zavřete přejetím třemi prsty dolů směrem k zemi. Vrátíte se tak ke své původní klávesnici. Telefon je otočený na výšku. Chcete-li pokračovat, otočte jej na šířku (tak, aby jeho dlouhá strana byla dole). Poté ho otočte displejem od sebe. Až budete připraveni pokračovat, dvakrát klepněte na displej. - Mějte displej směrem od sebe. Držte telefon v obou rukách za kratší hrany tak, abyste se prostředními třemi prsty obou rukou mohli dotýkat displeje.\n\nLevý ukazováček byste měli mít na bodu 1. Nyní klepnutím na bod 1 zadejte písmeno A. - Klepnutím na bod 1 levým ukazováčkem zadejte písmeno A + Levý ukazováček + Pravý ukazováček + Mějte displej směrem od sebe. Držte telefon v obou rukách za kratší hrany tak, abyste se prostředními třemi prsty obou rukou mohli dotýkat displeje.\n\n%1$s byste měli mít na bodu 1. Nyní klepnutím na bod 1 zadejte písmeno A. + Klepnutím na bod 1 %1$s zadejte písmeno A Klepnutím na %1$s zadejte písmeno %2$s Chcete-li smazat písmeno, přejeďte prstem doleva. Zkuste to. d smazáno. Přejetím prstem doprava přidáte mezeru. Zkuste to. - Pokud chcete posunout kurzor dozadu, přejeďte prstem nahoru. Zkuste to. - Pokud chcete posunout kurzor dopředu, přejeďte prstem dolů. Zkuste to. Přejetím dvěma prsty dolů skryjete klávesnici. Zkuste to. Skrýt klávesnici. Tímto obvykle skryjete klávesnici. Protože jste však stále ve výukovém programu, zůstane braillská klávesnice otevřená. Přejetím třemi prsty dolů přepnete na svou další klávesnici. Zkuste to. @@ -114,6 +129,4 @@ Bylo smazáno písmeno Bylo smazáno slovo Výukový program bude pokračovat. %1$s - Je připojen externí hmatový displej, který můžete použít k zadávání textu do tohoto zařízení.\nPřípadně můžete přepnout na braillskou klávesnici na dotykové obrazovce nebo na další metodu zadávání. - Přepnout na klávesnici na dotykové obrazovce diff --git a/braille/brailleime/src/phone/res/values-da/strings.xml b/braille/brailleime/src/main/res/values-da/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-da/strings.xml rename to braille/brailleime/src/main/res/values-da/strings.xml index 5011eceb5..10d91bead 100644 --- a/braille/brailleime/src/phone/res/values-da/strings.xml +++ b/braille/brailleime/src/main/res/values-da/strings.xml @@ -5,6 +5,9 @@ Tilstanden Skærm vendt op. Placer enheden, så opladerporten vender mod venstre. Hold seks fingre nede for at opdatere punkternes placering. Ingen andre tastaturer er aktiveret. Gå til indstillingerne for tastatur Stryg opad med tre fingre for at se flere indstillinger + Skiftede til forkortet braille + Skiftede til uforkortet braille + Der er skiftet til uforkortet UEB brailletastatur brailletastatur, %s TalkBack-braille-tastatur – du kan få hjælp på g.co/help/braille @@ -17,7 +20,6 @@ Placeringerne for punkt 1, 2 og 3 er opdateret. Lad os nu registrere punkterne på din højre hånd. Hold de tre midterste fingre på din højre hånd nede på skærmen. Placeringerne for punkt 1, 2 og 3 er opdateret. Lad os nu registrere punkterne på din venstre hånd. Hold de tre midterste fingre på din venstre hånd nede på skærmen. Punkternes placering kunne ikke opdateres. Hold 6 fingre nede på skærmen. Prøv derefter igen. - Der blev skiftet til %s Braille-tastatur Konfigurer brailletastatur Sådan bruger du brailletastaturet @@ -27,18 +29,23 @@ <br><br>2. <b>Brug braille-tastaturet</b>: Åbn dit normale tastatur og tryk på ikonet til at vælge tastatur %2$s (findes som regel nederst til højre) Vælg \"%1$s\". <br><br>Hvis du ikke kan se muligheden for at skifte tastatur, kan du prøve at installere Google-tastaturet %3$s. Indstillinger - Tastatursprog - Foretrukket sprog - Vis ikke igen - Skift hurtigt sprog, mens du skriver - Hvis du vil skifte sprog, mens du skriver via brailletastaturet, skal du stryge opad med 3 fingre. Vælg derefter \"skift til næste sprog\". + Indtastningssprog + Unified English Braille + Spansk + Arabisk + Fransk + Polsk Medtag alle punkter, der trykkes på Hvert punkt, der trykkes på, er en del af inputtet, selv hvis punktet slippes inden andre punkter Omvendte punkter Byt rundt på punktplaceringer, så punkterne 1 og 4 f.eks. skifter plads Indstillinger for braille-tastatur - Skift til næste sprog: %s - Du bruger i øjeblikket: %s + Skift indtastningssprog + Du bruger i øjeblikket %s + Indtastningssprog + Skift til %s braille + forkortet + uforkortet Se alle bevægelser Åbn selvstudiet Afslut selvstudiet @@ -49,15 +56,23 @@ Hvis du vil slette, skal du stryge mod venstre Hvis du vil tilføje en ny linje, skal du stryge mod højre med to fingre Hvis du vil slette et ord, skal du stryge mod venstre med to fingre - Hvis du vil flytte markøren tilbage, skal du stryge opad - Hvis du vil flytte markøren frem, skal du stryge nedad Hvis du vil skjule tastaturet, kan du stryge nedad med to fingre Hvis du vil skifte til det næste tastatur, skal du stryge nedad med tre fingre Hvis du vil sende tekst, skal du stryge opad med to fingre Hvis du skal bruge hjælp og andre indstillinger, skal du stryge opad med tre fingre Luk + Tilstanden Skærm vendt væk + Hold enheden, så skærmen vender væk fra dig (tilstanden Skærm vendt væk) + Tilstanden Skærm vendt op + Læg din enhed fladt på et bord (tilstanden Skærm vendt op) + Tilpas efter, hvordan du holder enheden Din enhed understøtter ikke braille-tastatur Din enhed understøtter ikke nok trykpunkter. Kontakt producenten af din enhed for at få flere oplysninger. + %s er slettet + + punktet %s + punkterne %s + Aktivér TalkBack for at bruge braille-tastaturet Aktivér funktionen i indstillingerne for hjælpefunktioner Aktivér TalkBack igen for at bruge braille-tastaturet @@ -71,32 +86,30 @@ Fra nu af kan du ikke bruge almindelige TalkBack-bevægelser. TalkBack er ikke tilgængelig, når du bruger braille-tastaturet. For at komme i gang skal du holde din telefon sådan, med skærmen vendt væk fra dig selv. Tryk to gange et vilkårligt sted for at fortsætte - Tryk på punkt 1 med din venstre pegefinger for at skrive bogstavet \"A\" + venstre pegefinger + højre pegefinger + Tryk på punkt 1 med din %1$s for at skrive bogstavet \"A\" Prøv så at skrive bogstaverne B, C og D Hvis du vil slette et bogstav, skal du stryge mod venstre Hvis du vil tilføje et mellemrum, skal du stryge mod højre - Hvis du vil flytte markøren tilbage, skal du stryge opad - Hvis du vil flytte markøren frem, skal du stryge nedad Hvis du vil skjule tastaturet, skal du stryge nedad med to fingre Hvis du vil skifte til dit andet tastatur, skal du stryge nedad med tre fingre Hvis du vil afslutte selvstudiet, skal du stryge opad med tre fingre SLET MELLEMRUM - MARKØREN BLEV FLYTTET TILBAGE - MARKØREN BLEV FLYTTET FREM SKJUL TASTATURET NÆSTE TASTATUR Du kan nu ikke længere bruge almindelige TalkBack-bevægelser. TalkBack er ikke tilgængelig, når du bruger braille-tastaturet.\n\n%1$s Først skal du vende din telefon, så skærmen vender væk fra dig selv.\n\nDerefter skal du rotere telefonen til liggende format. Dine hænder skal holde om telefonens korte sider. Højre hånd skal holde om den ende, hvor USB-porten er. Lad dine tre midterste fingre hvile på skærmen, og brug din lillefinger og tommelfinger til at holde telefonen.\n\nNår du er klar, skal du trykke to gange på skærmen for at fortsætte.\n\nHvis du vil lukke braille-tastaturet, skal du stryge nedad mod jorden med tre fingre. Dermed skiftes der tilbage til dit oprindelige tastatur. Din telefon er i stående format. Hvis du vil fortsætte, skal du rotere din telefon til liggende format, så den lange side vender nedad. Derefter skal du vende skærmen væk fra dig selv. Når du er klar, skal du trykke to gange på skærmen for at fortsætte. - Hold skærmen væk fra dig selv. Hold din telefon med begge hænder på de korte sider, så de tre midterste fingre på hver hånd kan røre skærmen.\n\nDin venstre pegefinger skal være på punkt 1. Tryk så på punkt 1 for at skrive bogstavet \"A\". - Tryk på punkt 1 med din venstre pegefinger for at skrive \"A\" + venstre pegefinger + højre pegefinger + Hold skærmen væk fra dig selv. Hold din telefon med begge hænder på de korte sider, så de tre midterste fingre på hver hånd kan røre skærmen.\n\nDin %1$s skal være på punkt 1. Tryk så på punkt 1 for at skrive bogstavet \"A\". + Tryk på punkt 1 med din %1$s for at skrive bogstavet \"A\" Tryk på %1$s for at skrive bogstavet %2$s Hvis du vil slette et bogstav, skal du stryge mod venstre. Prøv det nu. d er slettet. Hvis du vil tilføje et mellemrum, skal du stryge mod højre. Prøv det nu. - Hvis du vil flytte markøren tilbage, skal du stryge opad. Prøv det nu. - Hvis du vil flytte markøren frem, skal du stryge nedad. Prøv det nu. Hvis du vil skjule tastaturet, skal du stryge nedad med to fingre. Prøv det nu. Skjul tastaturet. Dette skjuler normalt tastaturet. Braille-tastaturet forbliver åbent, fordi du stadig er i selvstudiet. Hvis du vil skifte til dit andet tastatur, skal du stryge nedad med tre fingre. Prøv det nu. @@ -114,6 +127,4 @@ Bogstav er slettet Ord er slettet Lad os fortsætte selvstudiet. %1$s - En ekstern brailleskærm er forbundet, og du kan bruge den til at indtaste tekst på denne enhed.\nDu kan også skifte til brailletastaturet på touchskærmen eller næste indtastningsmetode. - Skift til tastatur på touchskærm diff --git a/braille/brailleime/src/phone/res/values-de/strings.xml b/braille/brailleime/src/main/res/values-de/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-de/strings.xml rename to braille/brailleime/src/main/res/values-de/strings.xml index 8b1a05596..df1b0a1ab 100644 --- a/braille/brailleime/src/phone/res/values-de/strings.xml +++ b/braille/brailleime/src/main/res/values-de/strings.xml @@ -5,6 +5,9 @@ Modus „Auf dem Tisch“. Leg das Gerät so auf den Tisch, dass der Ladeanschluss nach links zeigt. Halte zum Aktualisieren der Punktposition das Display mit sechs Fingern gedrückt. Es ist keine andere Tastatur aktiviert, geh zu den Tastatureinstellungen Für weitere Optionen mit drei Fingern nach oben wischen + Zu Braillekurzschrift gewechselt + Zu Braillebasisschrift gewechselt + Umgestellt auf UEB-Basisschrift (UEB uncontracted) Brailletastatur Brailletastatur, %s TalkBack-Brailletastatur – Hilfe erhältst du unter g.co/help/braille @@ -17,7 +20,6 @@ Punktpositionen 1, 2 und 3 wurden aktualisiert. Speichere jetzt die Punkte deiner rechten Hand. Halte dazu das Display mit den mittleren drei Fingern der rechten Hand gedrückt. Punktpositionen 1, 2 und 3 wurden aktualisiert. Speichere jetzt die Punkte deiner linken Hand. Halte dazu das Display mit den mittleren drei Fingern der linken Hand gedrückt. Punktposition konnte nicht aktualisiert werden. Halte das Display mit sechs Fingern gedrückt. Versuch es dann noch einmal. - Zu %s gewechselt Brailletastatur Brailletastatur einrichten Brailletastatur verwenden @@ -27,18 +29,23 @@ <br><br>2. <b>Brailletastatur nutzen</b>: Öffne deine normale Tastatur und tippe auf das Symbol zur Tastaturauswahl %2$s, das sich normalerweise rechts unten befindet. Wähle \"%1$s\" aus. <br><br>Wenn du dieses Symbol nicht siehst, musst du möglicherweise erst die Google-Tastatur %3$s installieren. Einstellungen - Eingabesprachen - Bevorzugte Sprache - Nicht mehr anzeigen - Sprache während der Texteingabe schnell ändern - Wenn du deine Sprache ändern möchtest, während du etwas über eine Brailletastatur eingibst, wische mit drei Fingern nach oben. Wähle dann „Zur nächsten Sprache wechseln“ aus. + Eingabesprachen + Unified English Braille + Spanisch + Arabisch + Französisch + Polnisch Alle gedrückten Punkte einschließen Jeder gedrückte Punkt gilt als Eingabe, auch wenn er vor anderen Punkten losgelassen wird Punkte vertauschen Die Punktpositionen werden vertauscht, z. B. Punkt 1 und Punkt 4 - Brailletastatur-­Einstellungen - Zur nächsten Sprache wechseln: %s - Momentan wird %s verwendet + Brailletastatur-Einstellungen + Eingabesprache ändern + Momentan wird %s verwendet + Eingabesprache + Zu Braille%s wechseln + kurzschrift + basisschrift Alle Gesten prüfen Anleitung öffnen Anleitung beenden @@ -49,15 +56,23 @@ Wenn du die Eingabe löschen möchtest, wische nach links Wenn du eine neue Zeile beginnen möchtest, wische mit zwei Fingern nach rechts Wenn du ein Wort löschen möchtest, wische mit zwei Fingern nach links - Wische nach oben, um den Cursor zurückzubewegen - Wische nach unten, um den Cursor weiterzubewegen Wenn du die Tastatur ausblenden möchtest, wische mit zwei Fingern nach unten Wenn du zur nächsten Tastatur wechseln möchtest, wische mit drei Fingern nach unten Wenn du einen Text eingeben möchtest, wische mit zwei Fingern nach oben Wenn du Hilfe und weitere Optionen einblenden möchtest, wische mit drei Fingern nach oben Fertig + Modus „Display weggedreht“ + Halte das Gerät so, dass das Display von dir weg zeigt (Modus „Display weggedreht“) + Modus \"Auf dem Tisch\" + Leg das Gerät flach auf den Tisch (Modus „Auf dem Tisch“) + Je nachdem, wie ich das Gerät halte Dein Gerät unterstützt keine Brailletastatur Dein Gerät unterstützt nicht genügend Berührungspunkte. Weitere Informationen erhältst du von deinem Gerätehersteller. + %s gelöscht + + Punkt %s + Punkte %s + TalkBack für die Verwendung der Brailletastatur aktivieren In den Einstellungen für Bedienungshilfen aktivieren Für Brailletastatur TalkBack wieder aktivieren @@ -71,32 +86,30 @@ Ab jetzt kannst du keine normalen TalkBack-Gesten mehr verwenden. TalkBack ist während der Nutzung der Brailletastatur nicht verfügbar. Dreh zuerst dein Smartphone so, dass das Display von dir weg zeigt. Tippe auf eine beliebige Stelle doppelt, um fortzufahren - Tippe mit dem linken Zeigefinger auf Punkt 1, um den Buchstaben A einzugeben + linken Zeigefinger + rechten Zeigefinger + Wenn du den Buchstaben A eingeben möchtest, tippe mit deinem %1$s auf Punkt 1 Probiere als Nächstes, die Buchstaben B, C und D einzugeben Wenn du einen Buchstaben löschen möchtest, wische nach links Wenn du ein Leerzeichen eingeben möchtest, wische nach rechts - Wische nach oben, um den Cursor zurückzubewegen - Wische nach unten, um den Cursor weiterzubewegen Wenn du die Tastatur ausblenden möchtest, wische mit zwei Fingern nach unten Wenn du zu deiner anderen Tastatur wechseln möchtest, wische mit drei Fingern nach unten Wenn du die Anleitung beenden möchtest, wische mit drei Fingern nach oben LÖSCHEN LEERZEICHEN - CURSOR WURDE ZURÜCKBEWEGT - CURSOR WURDE WEITERBEWEGT TASTATUR AUSBLENDEN NÄCHSTE TASTATUR Ab jetzt kannst du keine normalen TalkBack-Touch-Gesten mehr verwenden. TalkBack ist während der Nutzung der Brailletastatur nicht verfügbar.\n\n%1$s Dreh zuerst dein Smartphone so, dass das Display von dir weg zeigt.\n\nDreh es dann so, dass es im Querformat ist. Du solltest also die kurzen Seiten des Smartphones in den Händen halten. Die Seite mit dem USB-Anschluss sollte sich in deiner rechten Hand befinden. Lege deine drei mittleren Finger auf das Display. Mit dem kleinen Finger und dem Daumen kannst du das Smartphone stützen.\n\nTippe dann doppelt auf das Display, um fortzufahren.\n\nWenn du die Brailletastatur verlassen möchtest, wische mit drei Fingern nach unten. Dadurch wechselst du zurück zur ursprünglichen Tastatur. Du hältst dein Smartphone vertikal. Drehe es jetzt horizontal, sodass die lange Seite nach unten zeigt. Dann drehst du es so, dass das Display von dir weg zeigt. Wenn du bereit bist, doppeltippst du auf das Display, um fortzufahren. - Halte dein Smartphone so, dass das Display von dir weg zeigt. Halte die kurzen Seiten des Smartphones mit beiden Händen fest, sodass die mittleren drei Finger jeder Hand das Display berühren können.n\nDein linker Zeigefinger sollte auf Punkt 1 liegen. Tippe jetzt auf Punkt 1, um den Buchstaben A einzugeben. - Tippe mit deinem linken Zeigefinger auf Punkt 1, um den Buchstaben A einzugeben + linker Zeigefinger + rechter Zeigefinger + Halte dein Smartphone so, dass das Display von dir weg zeigt. Halte die kurzen Seiten des Smartphones mit beiden Händen fest, sodass die mittleren drei Finger jeder Hand das Display berühren können.n\nDein %1$s sollte auf Punkt 1 liegen. Tippe jetzt auf Punkt 1, um den Buchstaben A einzugeben. + Wenn du den Buchstaben A eingeben möchtest, tippe mit deinem %1$s auf Punkt 1 Tippe auf Punkt %1$s, um den Buchstaben %2$s einzugeben Wenn du einen Buchstaben löschen möchtest, wische nach links. Probiere es jetzt aus. Buchstabe d gelöscht. Wenn du ein Leerzeichen einfügen möchtest, wische nach rechts. Probiere es jetzt aus. - Wische nach oben, um den Cursor zurückzubewegen. Probiere es jetzt aus. - Wische nach unten, um den Cursor weiterzubewegen. Probiere es jetzt aus. Wenn du die Tastatur ausblenden möchtest, wische mit zwei Fingern nach unten. Probiere es jetzt aus. Tastatur ausblenden. Dadurch wird die Tastatur normalerweise ausgeblendet. Dieses Mal bleibt die Brailletastatur aber geöffnet, weil du noch in der Anleitung bist. Wenn du zu deiner anderen Tastatur wechseln möchtest, wische mit drei Fingern nach unten. Probiere es jetzt aus. @@ -114,6 +127,4 @@ Buchstabe gelöscht Wort gelöscht Fahren wir mit der Anleitung fort. %1$s - Über die verbundene externe Braillezeile kannst du Text in dieses Gerät eingeben.\nOder du wechselst zur Touchscreen-Brailletastatur bzw. zur nächsten Eingabemethode. - Zur Touchscreen-Tastatur wechseln diff --git a/braille/brailleime/src/phone/res/values-el/strings.xml b/braille/brailleime/src/main/res/values-el/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-el/strings.xml rename to braille/brailleime/src/main/res/values-el/strings.xml index 9f7cacd7a..1b3fac42c 100644 --- a/braille/brailleime/src/phone/res/values-el/strings.xml +++ b/braille/brailleime/src/main/res/values-el/strings.xml @@ -5,6 +5,9 @@ Επιτραπέζια λειτουργία. Τοποθετήστε τη συσκευή σας με τη θύρα φόρτισης στα αριστερά. Για να ενημερώσετε τη θέση των κουκκίδων, πατήστε παρατεταμένα με έξι δάχτυλα. Δεν υπάρχει άλλο ενεργοποιημένο πληκτρολόγιο. Μεταβείτε στις ρυθμίσεις πληκτρολογίου. Σύρετε προς τα πάνω με τρια δάχτυλα για περισσότερες επιλογές. + Έγινε εναλλαγή σε συμπτυγμένο πληκτρολόγιο μπράιγ + Έγινε εναλλαγή σε μη συμπτυγμένο πληκτρολόγιο μπράιγ + Έγινε εναλλαγή σε μη συμπτυγμένο πληκτρολόγιο UEB. πληκτρολόγιο μπράιγ πληκτρολόγιο μπράιγ, %s Πληκτρολόγιο μπράιγ TalkBack. Για βοήθεια, επισκεφτείτε τη διεύθυνση g.co/help/braille @@ -17,7 +20,6 @@ Ενημερώθηκαν οι θέσεις των κουκκίδων 1, 2 και 3. Στη συνέχεια, ας καταγράψουμε τις κουκκίδες στο δεξί σας χέρι. Αγγίξτε παρατεταμένα στην οθόνη με τα τρία μεσαία δάχτυλα του δεξιού χεριού σας. Ενημερώθηκαν οι θέσεις των κουκκίδων 1, 2 και 3. Στη συνέχεια, ας καταγράψουμε τις κουκκίδες στο αριστερό σας χέρι. Αγγίξτε παρατεταμένα στην οθόνη με τα τρία μεσαία δάχτυλα του αριστερού χεριού σας. Δεν ήταν δυνατή η ενημέρωση της θέσης των κουκκίδων. Αγγίξτε παρατεταμένα την οθόνη με έξι δάχτυλα. Έπειτα δοκιμάστε ξανά. - Έγινε εναλλαγή σε %s Πληκτρολόγιο μπράιγ Ρύθμιση πληκτρολογίου μπράιγ Πώς να χρησιμοποιήσετε το πληκτρολόγιο μπράιγ @@ -27,18 +29,23 @@ <br><br>2. <b>Χρήση πληκτρολογίου μπράιγ</b>: Ανοίξτε το κανονικό σας πληκτρολόγιο και έπειτα πατήστε το εικονίδιο επιλογής πληκτρολογίου %2$s (συνήθως βρίσκεται στην κάτω δεξιά γωνία). Επιλέξτε \"%1$s\". <br><br>Εάν δεν εμφανίζεται μια επιλογή εναλλαγής πληκτρολογίου, δοκιμάστε να εγκαταστήσετε %3$s, το Πληκτρολόγιο Google. Ρυθμίσεις - Γλώσσες πληκτρολόγησης - Προτιμώμενη γλώσσα - Να μην εμφανιστεί ξανά - Γρήγορη αλλαγή γλώσσας κατά την πληκτρολόγηση - Για να αλλάξετε τη γλώσσα κατά την πληκτρολόγηση με το πληκτρολόγιο μπράιγ, σύρετε προς τα επάνω με τρία δάχτυλα. Στη συνέχεια, επιλέξτε Εναλλαγή σε επόμενη γλώσσα. + Γλώσσες πληκτρολόγησης + Μπράιγ ενοποιημένων αγγλικών + Ισπανικά + Αραβικά + Γαλλικά + Πολωνικά Συμπερίληψη όλων των πατημένων κουκκίδων Κάθε πατημένη κουκκίδα αποτελεί μέρος της εισαγ., ακόμη και αν η κουκ. απελευθ. πριν από άλλες κουκ. Αντιστροφή κουκκίδων Κάντε εναλλαγή των θέσεων των κουκκίδων, π.χ. έτσι ώστε οι κουκκίδες 1 και 4 να αλλάξουν θέση Επιλογές πληκτρολογίου μπράιγ - Εναλλαγή σε επόμενη γλώσσα: %s - Προς το παρόν, χρησιμοποιείτε: %s + Αλλαγή γλώσσας πληκτρολόγησης + Προς το παρόν, χρησιμοποιείτε τη διεύθυνση %s + Γλώσσα πληκτρολόγησης + Εναλλαγή σε %s μπράιγ + συμπτυγμένο + μη συμπτυγμένο Έλεγχος όλων των κινήσεων Άνοιγμα οδηγού Ολοκλήρωση οδηγού @@ -49,15 +56,23 @@ Για διαγραφή, σύρετε προς τα αριστερά. Για νέα γραμμή, σύρετε προς τα δεξιά με δύο δάχτυλα. Για να διαγράψετε μια λέξη, σύρετε προς τα αριστερά με δύο δάχτυλα. - Για μετακίνηση του δείκτη προς τα πίσω, σύρετε προς τα επάνω. - Για μετακίνηση του δείκτη προς τα εμπρός, σύρετε προς τα κάτω. Για απόκρυψη του πληκτρολογίου, σύρετε προς τα κάτω με δύο δάχτυλα Για εναλλαγή στο επόμενο πληκτρολόγιο, σύρετε προς τα κάτω με τρία δάχτυλα. Για υποβολή κειμένου, σύρετε προς τα πάνω με δύο δάχτυλα. Για βοήθεια και άλλες επιλογές, σύρετε προς τα πάνω με τρία δάχτυλα. Τέλος + Λειτουργία οθόνης στραμμένης προς τα έξω + Κρατήστε τη συσκευή με την οθόνη στραμμένη προς τα έξω (λειτουργία οθόνης στραμμένης προς τα έξω). + Επιτραπέζια λειτουργία + Τοποθετήστε επίπεδα τη συσκευή σας σε ένα τραπέζι (επιτραπέζια λειτουργία). + Προσαρμογή στο κράτημα της συσκευής Η συσκευή σας δεν υποστηρίζει πληκτρολόγιο μπράιγ Η συσκευή σας δεν υποστηρίζει αρκετά σημεία επαφής. Για περισσότερες πληροφορίες, επικοινωνήστε με τον κατασκευαστή της συσκευής σας. + Διαγράφηκε το %s + + κουκκίδα %s + κουκκίδες %s + Ενεργοποιήστε το TalkBack για χρήση πληκτρολογίου μπράιγ Ενεργοποιήστε το στις ρυθμίσεις προσβασιμότητας. Συνέχιση του TalkBack για χρήση πληκτρολογίου μπράιγ @@ -71,32 +86,30 @@ Ξεκινώντας τώρα, δεν θα μπορείτε να χρησιμοποιήσετε κανονικές κινήσεις TalkBack. Το TalkBack δεν είναι διαθέσιμο ενώ χρησιμοποιείτε το πληκτρολόγιο μπράιγ. Για να ξεκινήσετε, κρατήστε το τηλέφωνό σας με αυτόν τον τρόπο, με την οθόνη να κοιτάει προς την αντίθετη κατεύθυνση. Πατήστε δύο φορές σε οποιοδήποτε σημείο για να συνεχίσετε. - Πατήστε την κουκκίδα 1 με τον αριστερό σας δείκτη για να πληκτρολογήσετε το γράμμα \"A\". + αριστερό δείκτη + δεξί δείκτη + Πατήστε την κουκκίδα 1 με τον %1$s για να πληκτρολογήσετε το γράμμα \"A\" Στη συνέχεια, δοκιμάστε να πληκτρολογήσετε τα γράμματα B, Γ, and Δ. Για να διαγράψετε ένα γράμμα, σύρετε προς τα αριστερά. Για να προσθέσετε ένα διάστημα, σύρετε προς τα δεξιά. - Για μετακίνηση του δείκτη προς τα πίσω, σύρετε προς τα επάνω. - Για μετακίνηση του δείκτη προς τα εμπρός, σύρετε προς τα κάτω. Για απόκρυψη του πληκτρολογίου, σύρετε προς τα κάτω με δύο δάχτυλα. Για εναλλαγή στο άλλο πληκτρολόγιο, σύρετε προς τα κάτω με τρία δάχτυλα. Για ολοκλήρωση του οδηγού, σύρετε προς τα πάνω με τρία δάχτυλα. ΔΙΑΓΡΑΦΗ ΔΙΑΣΤΗΜΑ - Ο ΔΕΙΚΤΗΣ ΜΕΤΑΚΙΝΗΘΗΚΕ ΠΡΟΣ ΤΑ ΠΙΣΩ - Ο ΔΕΙΚΤΗΣ ΜΕΤΑΚΙΝΗΘΗΚΕ ΠΡΟΣ ΤΑ ΕΜΠΡΟΣ ΑΠΟΚΡΥΨΗ ΠΛΗΚΤΡΟΛΟΓΙΟΥ ΕΠΟΜΕΝΟ ΠΛΗΚΤΡΟΛΟΓΙΟ Ξεκινώντας τώρα, δεν θα μπορείτε να χρησιμοποιήσετε κανονικές κινήσεις TalkBack. Το TalkBack δεν είναι διαθέσιμο ενώ χρησιμοποιείτε το πληκτρολόγιο μπράιγ.\n\n%1$s Αρχικά, γυρίστε το τηλέφωνό σας έτσι ώστε η οθόνη σας να κοιτάει προς την αντίθετη κατεύθυνση.\n\nΣτη συνέχεια, περιστρέψτε το τηλέφωνό σας σε οριζόντια θέση. Τα χέρια σας πρέπει να πιάνουν τα άκρα του τηλεφώνου. Το δεξί σας χέρι θα πρέπει να κρατάει το άκρο με τη θύρα USB. Ακουμπήστε τα τρία μεσαία δάχτυλα του χεριού σας στην οθόνη και χρησιμοποιήστε το μικρό δάχτυλο και τον αντίχειρα για τη στήριξη του τηλεφώνου.\n\nΌταν είστε έτοιμοι, πατήστε δύο φορές στην οθόνη για να συνεχίσετε.\n\nΓια έξοδο από το πληκτρολόγιο μπράιγ, σύρετε προς τα κάτω προς το έδαφος με τρία δάχτυλα. Με αυτήν την ενέργεια επιστρέφετε στο αρχικό σας πληκτρολόγιο. Το τηλέφωνό σας είναι σε κατακόρυφη θέση. Για να συνεχίσετε, περιστρέψτε το τηλέφωνό σας σε οριζόντια θέση έτσι ώστε η μακριά πλευρά του να είναι από την πλευρά του εδάφους. Στη συνέχεια, γυρίστε την οθόνη έτσι ώστε να κοιτάει προς την αντίθετη κατεύθυνση. Όταν είστε έτοιμοι, πατήστε δύο φορές την οθόνη για να συνεχίσετε. - Συνεχίστε να κρατάτε την οθόνη έτσι ώστε να κοιτάει προς την αντίθετη κατεύθυνση. Κρατήστε το τηλέφωνό σας και με τα δύο χέρια από τις άκρες του, έτσι ώστε τα τρία μεσαία δάχτυλα κάθε χεριού να μπορούν να ακουμπήσουν την οθόνη.\n\nΟ αριστερός σας δείκτης θα πρέπει να είναι στην κουκκίδα 1. Στη συνέχεια, πατήστε την κουκκίδα 1 για να πληκτρολογήσετε το γράμμα \"A\". - Πατήστε την κουκκίδα 1 με τον αριστερό σας δείκτη για πληκτρολόγηση του γράμματος \"A\". + αριστερό δείκτη + δεξί δείκτη + Συνεχίστε να κρατάτε την οθόνη έτσι ώστε να κοιτάει προς την αντίθετη κατεύθυνση. Κρατήστε το τηλέφωνό σας και με τα δύο χέρια από τις άκρες του, έτσι ώστε τα τρία μεσαία δάχτυλα κάθε χεριού να μπορούν να ακουμπήσουν την οθόνη.\n\nΚρατήστε τον %1$s στην κουκκίδα 1. Στη συνέχεια, πατήστε την κουκκίδα 1 για να πληκτρολογήσετε το γράμμα \"A\". + Πατήστε την κουκκίδα 1 με τον %1$s για πληκτρολόγηση του γράμματος \"A\". Πατήστε %1$s για πληκτρολόγηση του γράμματος %2$s. Για να διαγράψετε ένα γράμμα, σύρετε προς τα αριστερά. Δοκιμάστε το τώρα. Το γράμμα d διαγράφηκε. Για να προσθέσετε ένα διάστημα, σύρετε προς τα δεξιά. Δοκιμάστε το τώρα. - Για μετακίνηση του δείκτη προς τα πίσω, σύρετε προς τα επάνω. Δοκιμάστε το τώρα. - Για μετακίνηση του δείκτη προς τα εμπρός, σύρετε προς τα κάτω. Δοκιμάστε το τώρα. Για απόκρυψη του πληκτρολογίου, σύρετε προς τα κάτω με δύο δάχτυλα. Δοκιμάστε το τώρα. Απόκρυψη πληκτρολογίου. Συνήθως, με αυτόν τον τρόπο γίνεται απόκρυψη του πληκτρολογίου. Το πληκτρολόγιο μπράιγ θα παραμείνει ανοικτό επειδή βρίσκεστε ακόμη στον οδηγό. Για να κάνετε εναλλαγή σε άλλο πληκτρολόγιο, σύρετε προς τα κάτω με τρία δάχτυλα. Δοκιμάστε το τώρα. @@ -114,6 +127,4 @@ Το γράμμα διαγράφηκε Η λέξη διαγράφηκε Ας συνεχίσουμε τον οδηγό. %1$s - Έχει συνδεθεί μια εξωτερική συσκευή μπράιγ που μπορείτε να χρησιμοπ. για πληκτρολόγηση κειμένου στη συσκευή.\nΕναλλακτικά, χρησιμοποιήστε το πληκτρ. οθόνης αφής μπράιγ ή την επόμενη μέθοδο εισαγωγής. - Εναλλαγή σε πληκτρολόγιο οθόνης αφής diff --git a/braille/brailleime/src/phone/res/values-en-rIN/strings.xml b/braille/brailleime/src/main/res/values-en-rAU/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-en-rIN/strings.xml rename to braille/brailleime/src/main/res/values-en-rAU/strings.xml index 0b6c49ec1..a2b1509dd 100644 --- a/braille/brailleime/src/phone/res/values-en-rIN/strings.xml +++ b/braille/brailleime/src/main/res/values-en-rAU/strings.xml @@ -5,6 +5,9 @@ Tabletop mode. Place your device with the charging port to the left. To update dot position, hold down six fingers. There is no other keyboard enabled – go to keyboard settings Swipe up with three fingers for more options + Switched to contracted braille + Switched to uncontracted braille + Switched to UEB uncontracted braille keyboard braille keyboard, %s TalkBack braille keyboard – for help, visit g.co/help/braille @@ -17,7 +20,6 @@ Updated positions for dots 1, 2 and 3. Next, let’s record the dots on your right hand. Touch and hold the screen with the middle three fingers of your right hand. Updated positions for dots 1, 2 and 3. Next, let’s record the dots on your left hand. Touch and hold the screen with the middle three fingers of your left hand. Couldn’t update dot position. Touch and hold the screen with six fingers. Then try again. - Switched to %s Braille keyboard Set up braille keyboard How to use braille keyboard @@ -27,18 +29,23 @@ <br><br>2. <b>Use braille keyboard</b>: Open your regular keyboard, then tap the \'choose keyboard\' icon %2$s (usually at the bottom-right corner). Select \'%1$s\'. <br><br>If you don’t see an option to switch keyboards, try installing %3$s, the Google Keyboard. Settings - Typing languages - Preferred language - Don’t show this again - Quickly change language while typing - To change your language while typing with the braille keyboard, swipe up with three fingers. Then, select \'switch to next language\'. + Typing languages + Unified English Braille + Spanish + Arabic + French + Polish Include all pressed dots Each pressed dot is part of the input, even if the dot is released before other dots Reverse dots Swap the dot positions, so that dots one and four trade places, for example Braille keyboard options - Switch to next language: %s - Currently using: %s + Change typing language + Currently using %s + Typing language + Switch to %s braille + contracted + uncontracted Review all gestures Open tutorial Finish tutorial @@ -49,15 +56,23 @@ To delete, swipe left For a new line, swipe right with two fingers To delete a word, swipe left with two fingers - To move the cursor backwards, swipe up - To move the cursor forwards, swipe down To hide the keyboard, swipe down with two fingers To switch to the next keyboard, swipe down with three fingers To submit text, swipe up with two fingers For help and other options, swipe up with three fingers Done + Screen-away mode + Hold device with screen away from you (screen-away mode) + Tabletop mode + Place device flat on a table (tabletop mode) + Adapt to how you hold the device Your device doesn’t support braille keyboard Your device doesn’t support enough touch points. For more information, contact your device manufacturer. + %s deleted + + dot %s + dots %s + Turn on TalkBack to use braille keyboard Turn on in accessibility settings Resume TalkBack to use braille keyboard @@ -71,32 +86,30 @@ Starting now, you won’t be able to use regular TalkBack gestures. TalkBack isn’t available while using the braille keyboard. To start, hold your phone like this, with the screen facing away from you. Double tap anywhere to continue - Tap dot one with your left index finger to type the letter \'A\' + left index finger + right index finger + Tap dot 1 with your %1$s to type the letter \'A\' Next, try typing the letters B, C and D To delete a letter, swipe left To add a space, swipe right - To move the cursor backwards, swipe up - To move the cursor forwards, swipe down To hide keyboard, swipe down with two fingers To switch to your other keyboard, swipe down with three fingers To finish tutorial, swipe up with three fingers DELETE SPACE - MOVED CURSOR BACKWARDS - MOVED CURSOR FORWARDS HIDE KEYBOARD NEXT KEYBOARD Starting now, you won’t be able to use regular TalkBack gestures. TalkBack isn’t available while using the braille keyboard.\n\n%1$s First, turn your phone so that the screen is facing away from you.\n\nNext, rotate the phone horizontally to landscape position. Your hands should grip the short ends of the phone. Your right hand should hold the end with the USB port. Rest your three middle fingers on the screen, and use your little finger and thumb to support the phone.\n\nWhen you’re ready, double tap the screen to continue.\n\nTo exit braille keyboard, swipe down toward the ground with three fingers. This switches back to your original keyboard. Your phone is in a vertical position. To continue, rotate your phone horizontally so that the long side is on the bottom. Then turn the screen to face away from you. When you’re ready, double tap the screen to continue. - Keep the screen faced away from you. Hold your phone in both hands, on the short edges of the phone, so that the middle three fingers of each hand can touch the screen. Your left index finger should be on dot one. Now, tap dot one to type the letter \'A\'. - Tap dot one with your left index finger to type \'A\' + left index finger + right index finger + Keep the screen faced away from you. Hold your phone in both hands, on the short edges of the phone, so that the middle three fingers of each hand can touch the screen.\n\nYour %1$s should be on dot 1. Now, tap dot 1 to type the letter ‘A’. + Tap dot 1 with your %1$s to type \'A\' Tap %1$s to type the letter %2$s To delete a letter, swipe left. Try it now. a deleted. To add a space, swipe right. Try it now. - To move the cursor backwards, swipe up. Try it now. - To move the cursor forwards, swipe down. Try it now. To hide the keyboard, swipe down with two fingers. Try it now. Hide keyboard. Usually, this will hide the keyboard. The braille keyboard will stay open because you’re still in the tutorial. To switch to your other keyboard, swipe down with three fingers. Try it now. @@ -114,6 +127,4 @@ Letter deleted Word deleted Let’s continue the tutorial. %1$s - An external braille display is connected, which you can use to type text into this device.\nOr, you can switch to the touch-screen braille keyboard or the next input method. - Switch to touch-screen keyboard diff --git a/braille/brailleime/src/phone/res/values-en-rGB/strings.xml b/braille/brailleime/src/main/res/values-en-rGB/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-en-rGB/strings.xml rename to braille/brailleime/src/main/res/values-en-rGB/strings.xml index 0b6c49ec1..a2b1509dd 100644 --- a/braille/brailleime/src/phone/res/values-en-rGB/strings.xml +++ b/braille/brailleime/src/main/res/values-en-rGB/strings.xml @@ -5,6 +5,9 @@ Tabletop mode. Place your device with the charging port to the left. To update dot position, hold down six fingers. There is no other keyboard enabled – go to keyboard settings Swipe up with three fingers for more options + Switched to contracted braille + Switched to uncontracted braille + Switched to UEB uncontracted braille keyboard braille keyboard, %s TalkBack braille keyboard – for help, visit g.co/help/braille @@ -17,7 +20,6 @@ Updated positions for dots 1, 2 and 3. Next, let’s record the dots on your right hand. Touch and hold the screen with the middle three fingers of your right hand. Updated positions for dots 1, 2 and 3. Next, let’s record the dots on your left hand. Touch and hold the screen with the middle three fingers of your left hand. Couldn’t update dot position. Touch and hold the screen with six fingers. Then try again. - Switched to %s Braille keyboard Set up braille keyboard How to use braille keyboard @@ -27,18 +29,23 @@ <br><br>2. <b>Use braille keyboard</b>: Open your regular keyboard, then tap the \'choose keyboard\' icon %2$s (usually at the bottom-right corner). Select \'%1$s\'. <br><br>If you don’t see an option to switch keyboards, try installing %3$s, the Google Keyboard. Settings - Typing languages - Preferred language - Don’t show this again - Quickly change language while typing - To change your language while typing with the braille keyboard, swipe up with three fingers. Then, select \'switch to next language\'. + Typing languages + Unified English Braille + Spanish + Arabic + French + Polish Include all pressed dots Each pressed dot is part of the input, even if the dot is released before other dots Reverse dots Swap the dot positions, so that dots one and four trade places, for example Braille keyboard options - Switch to next language: %s - Currently using: %s + Change typing language + Currently using %s + Typing language + Switch to %s braille + contracted + uncontracted Review all gestures Open tutorial Finish tutorial @@ -49,15 +56,23 @@ To delete, swipe left For a new line, swipe right with two fingers To delete a word, swipe left with two fingers - To move the cursor backwards, swipe up - To move the cursor forwards, swipe down To hide the keyboard, swipe down with two fingers To switch to the next keyboard, swipe down with three fingers To submit text, swipe up with two fingers For help and other options, swipe up with three fingers Done + Screen-away mode + Hold device with screen away from you (screen-away mode) + Tabletop mode + Place device flat on a table (tabletop mode) + Adapt to how you hold the device Your device doesn’t support braille keyboard Your device doesn’t support enough touch points. For more information, contact your device manufacturer. + %s deleted + + dot %s + dots %s + Turn on TalkBack to use braille keyboard Turn on in accessibility settings Resume TalkBack to use braille keyboard @@ -71,32 +86,30 @@ Starting now, you won’t be able to use regular TalkBack gestures. TalkBack isn’t available while using the braille keyboard. To start, hold your phone like this, with the screen facing away from you. Double tap anywhere to continue - Tap dot one with your left index finger to type the letter \'A\' + left index finger + right index finger + Tap dot 1 with your %1$s to type the letter \'A\' Next, try typing the letters B, C and D To delete a letter, swipe left To add a space, swipe right - To move the cursor backwards, swipe up - To move the cursor forwards, swipe down To hide keyboard, swipe down with two fingers To switch to your other keyboard, swipe down with three fingers To finish tutorial, swipe up with three fingers DELETE SPACE - MOVED CURSOR BACKWARDS - MOVED CURSOR FORWARDS HIDE KEYBOARD NEXT KEYBOARD Starting now, you won’t be able to use regular TalkBack gestures. TalkBack isn’t available while using the braille keyboard.\n\n%1$s First, turn your phone so that the screen is facing away from you.\n\nNext, rotate the phone horizontally to landscape position. Your hands should grip the short ends of the phone. Your right hand should hold the end with the USB port. Rest your three middle fingers on the screen, and use your little finger and thumb to support the phone.\n\nWhen you’re ready, double tap the screen to continue.\n\nTo exit braille keyboard, swipe down toward the ground with three fingers. This switches back to your original keyboard. Your phone is in a vertical position. To continue, rotate your phone horizontally so that the long side is on the bottom. Then turn the screen to face away from you. When you’re ready, double tap the screen to continue. - Keep the screen faced away from you. Hold your phone in both hands, on the short edges of the phone, so that the middle three fingers of each hand can touch the screen. Your left index finger should be on dot one. Now, tap dot one to type the letter \'A\'. - Tap dot one with your left index finger to type \'A\' + left index finger + right index finger + Keep the screen faced away from you. Hold your phone in both hands, on the short edges of the phone, so that the middle three fingers of each hand can touch the screen.\n\nYour %1$s should be on dot 1. Now, tap dot 1 to type the letter ‘A’. + Tap dot 1 with your %1$s to type \'A\' Tap %1$s to type the letter %2$s To delete a letter, swipe left. Try it now. a deleted. To add a space, swipe right. Try it now. - To move the cursor backwards, swipe up. Try it now. - To move the cursor forwards, swipe down. Try it now. To hide the keyboard, swipe down with two fingers. Try it now. Hide keyboard. Usually, this will hide the keyboard. The braille keyboard will stay open because you’re still in the tutorial. To switch to your other keyboard, swipe down with three fingers. Try it now. @@ -114,6 +127,4 @@ Letter deleted Word deleted Let’s continue the tutorial. %1$s - An external braille display is connected, which you can use to type text into this device.\nOr, you can switch to the touch-screen braille keyboard or the next input method. - Switch to touch-screen keyboard diff --git a/braille/brailleime/src/phone/res/values-en-rAU/strings.xml b/braille/brailleime/src/main/res/values-en-rIN/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-en-rAU/strings.xml rename to braille/brailleime/src/main/res/values-en-rIN/strings.xml index 0b6c49ec1..a2b1509dd 100644 --- a/braille/brailleime/src/phone/res/values-en-rAU/strings.xml +++ b/braille/brailleime/src/main/res/values-en-rIN/strings.xml @@ -5,6 +5,9 @@ Tabletop mode. Place your device with the charging port to the left. To update dot position, hold down six fingers. There is no other keyboard enabled – go to keyboard settings Swipe up with three fingers for more options + Switched to contracted braille + Switched to uncontracted braille + Switched to UEB uncontracted braille keyboard braille keyboard, %s TalkBack braille keyboard – for help, visit g.co/help/braille @@ -17,7 +20,6 @@ Updated positions for dots 1, 2 and 3. Next, let’s record the dots on your right hand. Touch and hold the screen with the middle three fingers of your right hand. Updated positions for dots 1, 2 and 3. Next, let’s record the dots on your left hand. Touch and hold the screen with the middle three fingers of your left hand. Couldn’t update dot position. Touch and hold the screen with six fingers. Then try again. - Switched to %s Braille keyboard Set up braille keyboard How to use braille keyboard @@ -27,18 +29,23 @@ <br><br>2. <b>Use braille keyboard</b>: Open your regular keyboard, then tap the \'choose keyboard\' icon %2$s (usually at the bottom-right corner). Select \'%1$s\'. <br><br>If you don’t see an option to switch keyboards, try installing %3$s, the Google Keyboard. Settings - Typing languages - Preferred language - Don’t show this again - Quickly change language while typing - To change your language while typing with the braille keyboard, swipe up with three fingers. Then, select \'switch to next language\'. + Typing languages + Unified English Braille + Spanish + Arabic + French + Polish Include all pressed dots Each pressed dot is part of the input, even if the dot is released before other dots Reverse dots Swap the dot positions, so that dots one and four trade places, for example Braille keyboard options - Switch to next language: %s - Currently using: %s + Change typing language + Currently using %s + Typing language + Switch to %s braille + contracted + uncontracted Review all gestures Open tutorial Finish tutorial @@ -49,15 +56,23 @@ To delete, swipe left For a new line, swipe right with two fingers To delete a word, swipe left with two fingers - To move the cursor backwards, swipe up - To move the cursor forwards, swipe down To hide the keyboard, swipe down with two fingers To switch to the next keyboard, swipe down with three fingers To submit text, swipe up with two fingers For help and other options, swipe up with three fingers Done + Screen-away mode + Hold device with screen away from you (screen-away mode) + Tabletop mode + Place device flat on a table (tabletop mode) + Adapt to how you hold the device Your device doesn’t support braille keyboard Your device doesn’t support enough touch points. For more information, contact your device manufacturer. + %s deleted + + dot %s + dots %s + Turn on TalkBack to use braille keyboard Turn on in accessibility settings Resume TalkBack to use braille keyboard @@ -71,32 +86,30 @@ Starting now, you won’t be able to use regular TalkBack gestures. TalkBack isn’t available while using the braille keyboard. To start, hold your phone like this, with the screen facing away from you. Double tap anywhere to continue - Tap dot one with your left index finger to type the letter \'A\' + left index finger + right index finger + Tap dot 1 with your %1$s to type the letter \'A\' Next, try typing the letters B, C and D To delete a letter, swipe left To add a space, swipe right - To move the cursor backwards, swipe up - To move the cursor forwards, swipe down To hide keyboard, swipe down with two fingers To switch to your other keyboard, swipe down with three fingers To finish tutorial, swipe up with three fingers DELETE SPACE - MOVED CURSOR BACKWARDS - MOVED CURSOR FORWARDS HIDE KEYBOARD NEXT KEYBOARD Starting now, you won’t be able to use regular TalkBack gestures. TalkBack isn’t available while using the braille keyboard.\n\n%1$s First, turn your phone so that the screen is facing away from you.\n\nNext, rotate the phone horizontally to landscape position. Your hands should grip the short ends of the phone. Your right hand should hold the end with the USB port. Rest your three middle fingers on the screen, and use your little finger and thumb to support the phone.\n\nWhen you’re ready, double tap the screen to continue.\n\nTo exit braille keyboard, swipe down toward the ground with three fingers. This switches back to your original keyboard. Your phone is in a vertical position. To continue, rotate your phone horizontally so that the long side is on the bottom. Then turn the screen to face away from you. When you’re ready, double tap the screen to continue. - Keep the screen faced away from you. Hold your phone in both hands, on the short edges of the phone, so that the middle three fingers of each hand can touch the screen. Your left index finger should be on dot one. Now, tap dot one to type the letter \'A\'. - Tap dot one with your left index finger to type \'A\' + left index finger + right index finger + Keep the screen faced away from you. Hold your phone in both hands, on the short edges of the phone, so that the middle three fingers of each hand can touch the screen.\n\nYour %1$s should be on dot 1. Now, tap dot 1 to type the letter ‘A’. + Tap dot 1 with your %1$s to type \'A\' Tap %1$s to type the letter %2$s To delete a letter, swipe left. Try it now. a deleted. To add a space, swipe right. Try it now. - To move the cursor backwards, swipe up. Try it now. - To move the cursor forwards, swipe down. Try it now. To hide the keyboard, swipe down with two fingers. Try it now. Hide keyboard. Usually, this will hide the keyboard. The braille keyboard will stay open because you’re still in the tutorial. To switch to your other keyboard, swipe down with three fingers. Try it now. @@ -114,6 +127,4 @@ Letter deleted Word deleted Let’s continue the tutorial. %1$s - An external braille display is connected, which you can use to type text into this device.\nOr, you can switch to the touch-screen braille keyboard or the next input method. - Switch to touch-screen keyboard diff --git a/braille/brailleime/src/phone/res/values-es/strings.xml b/braille/brailleime/src/main/res/values-es/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-es/strings.xml rename to braille/brailleime/src/main/res/values-es/strings.xml index 4c8ab2256..00283471b 100644 --- a/braille/brailleime/src/phone/res/values-es/strings.xml +++ b/braille/brailleime/src/main/res/values-es/strings.xml @@ -5,6 +5,9 @@ Modo mesa. Pon el dispositivo de modo que el puerto de carga esté a la izquierda. Para cambiar la posición de los puntos, mantén pulsada la pantalla con seis dedos. No hay ningún otro teclado habilitado; ve a los ajustes de teclado Desliza tres dedos hacia arriba para acceder a más opciones + Se ha cambiado a braille abreviado + Se ha cambiado al braille sin abreviar + Se ha cambiado a Braille inglés unificado sin abreviar teclado braille teclado braille, %s Teclado braille de TalkBack: para obtener ayuda, ve a g.co/help/braille @@ -17,7 +20,6 @@ Se ha cambiado la posición de los puntos 1, 2 y 3. Ahora, registremos los puntos de la mano derecha. Mantén pulsada la pantalla con los dedos índice, corazón y anular de la mano derecha. Se ha cambiado la posición de los puntos 1, 2 y 3. Ahora vamos a registrar los puntos de la mano izquierda. Mantén pulsada la pantalla con los dedos índice, corazón y anular de la mano izquierda. No se ha podido cambiar la posición de los puntos. Mantén pulsada la pantalla con seis dedos y vuelve a intentarlo. - Se ha cambiado a %s Teclado braille Configurar teclado braille Cómo usar el teclado braille @@ -27,18 +29,23 @@ <br><br>2. <b>Utilizar el teclado braille:</b> abre el teclado que usas habitualmente y toca el icono para elegir teclado %2$s, que por lo general está en la esquina inferior derecha. Selecciona %1$s. <br><br>Si no encuentras ninguna opción para cambiar de teclado, prueba a instalar %3$s, el Teclado de Google. Ajustes - Idiomas de escritura - Idioma preferido - No volver a mostrar esto - Cambia de idioma rápido mientras escribes - Para cambiar el idioma mientras escribes con el teclado braille, desliza 3 dedos hacia arriba y selecciona la opción \"Cambiar al siguiente idioma\". + Idiomas de escritura + Braille inglés unificado + Español + Árabe + Francés + Polaco Incluir todos los puntos pulsados Se incluyen todos los puntos pulsados, incluso si un punto se suelta antes de presionar otros Invertir puntos Se invierten las posiciones de los puntos; por ejemplo, los puntos 1 y 4 intercambian su posición Opciones del teclado braille - Cambiar al siguiente idioma: %s - Se está usando: %s + Cambiar idioma de escritura + Se está usando %s + Idioma de escritura + Cambiar a braille %s + abreviado + sin abreviar Ver todos los gestos Abrir tutorial Finalizar tutorial @@ -49,15 +56,23 @@ Para eliminar, desliza el dedo hacia la izquierda Para añadir otra línea, desliza dos dedos hacia la derecha Para eliminar una palabra, desliza dos dedos hacia la izquierda - Para mover el cursor hacia atrás, desliza el dedo hacia arriba - Para mover el cursor hacia delante, desliza el dedo hacia abajo Para ocultar el teclado, desliza dos dedos hacia abajo. Para pasar al siguiente teclado, desliza tres dedos hacia abajo Para enviar texto, desliza hacia arriba con dos dedos Para obtener ayuda y consultar otras opciones, desliza tres dedos hacia arriba Hecho + Modo con la pantalla alejada + Sostén el dispositivo con la pantalla alejada (modo con la pantalla alejada) + Modo mesa + Coloca el dispositivo en horizontal sobre una mesa (modo mesa) + Se adapta a cómo coges el dispositivo Tu dispositivo no es compatible con el teclado braille Tu dispositivo no admite suficientes puntos de contacto. Para obtener más información, ponte en contacto con el fabricante. + Se ha eliminado %s + + punto %s + puntos %s + Activa TalkBack para utilizar el teclado braille Activar en los ajustes de accesibilidad Reactiva TalkBack para usar el teclado braille @@ -71,32 +86,30 @@ A partir de ahora, no podrás usar los gestos habituales de TalkBack, ya que esta función no está disponible con el teclado braille. Para empezar, sujeta el teléfono del modo que se indica, con la pantalla mirando hacia fuera. Toca dos veces en cualquier lugar para continuar - Toca el punto 1 con el dedo índice de la mano izquierda para escribir la letra A + índice de la mano izquierda + índice de la mano derecha + Toca el punto 1 con el %1$s para escribir la letra \"A\" A continuación, prueba a escribir las letras B, C y D Para eliminar una letra, desliza el dedo hacia la izquierda Para añadir un espacio, desliza el dedo hacia la derecha - Para mover el cursor hacia atrás, desliza el dedo hacia arriba - Para mover el cursor hacia delante, desliza el dedo hacia abajo Para ocultar el teclado, desliza dos dedos hacia abajo Para pasar a tu otro teclado, desliza tres dedos hacia abajo Para finalizar el tutorial, desliza tres dedos hacia arriba ELIMINAR ESPACIO - CURSOR MOVIDO HACIA ATRÁS - CURSOR MOVIDO HACIA DELANTE OCULTAR TECLADO SIGUIENTE TECLADO A partir de ahora, no podrás usar los gestos habituales de TalkBack, ya que esta función no está disponible mientras se usa el teclado braille.\n\n%1$s Para empezar, gira el teléfono de modo que la pantalla mire hacia fuera.\n\nA continuación, pon el teléfono en posición horizontal y cógelo por los extremos. Tu mano derecha debería sujetar el extremo donde está el puerto USB. Coloca los tres dedos del medio sobre la pantalla y sujeta el teléfono con el meñique y el pulgar.\n\nCuando quieras empezar, toca dos veces la pantalla para continuar.\n\nPara salir del teclado braille, desliza tres dedos hacia abajo. Al hacerlo, volverás a tu teclado original. El teléfono está en posición vertical. Para continuar, ponlo en posición horizontal; es decir, con la parte larga abajo. Después, gira la pantalla de modo que mire hacia afuera. Cuando quieras empezar, toca dos veces la pantalla para continuar. - Mantén la pantalla mirando hacia fuera. Sujeta el teléfono por los extremos con las dos manos de modo que los tres dedos del medio de cada mano puedan tocar la pantalla.\n\nEl índice de la mano izquierda debería estar en el punto 1. Ahora, toca el punto 1 para escribir la letra A. - Toca el punto 1 con el índice de la mano izquierda para escribir A + índice de la mano izquierda + índice de la mano derecha + Mantén la pantalla mirando hacia fuera. Sujeta el teléfono por los extremos con las dos manos de modo que los tres dedos del medio de cada mano puedan tocar la pantalla.\n\nEl %1$s debería estar en el punto 1. Ahora, toca el punto 1 para escribir la letra A. + Toca el punto 1 con el %1$s para escribir \"A\" Toca el %1$s para escribir la letra %2$s Para eliminar una letra, desliza el dedo hacia la izquierda. Pruébalo ahora. d eliminada. Para añadir un espacio, desliza el dedo hacia la derecha. Pruébalo ahora. - Para mover el cursor hacia atrás, desliza el dedo hacia arriba. Prueba a hacerlo ahora. - Para mover el cursor hacia delante, desliza el dedo hacia abajo. Prueba a hacerlo ahora. Para ocultar el teclado, desliza dos dedos hacia abajo. Pruébalo ahora. Oculta el teclado. Normalmente, con esta acción se oculta el teclado. Sin embargo, como todavía estás en el tutorial, el teclado braille no se ha cerrado. Para pasar a tu otro teclado, desliza tres dedos hacia abajo. Pruébalo ahora. @@ -114,6 +127,4 @@ Letra eliminada Palabra eliminada Sigamos con el tutorial. %1$s - Se ha conectado una pantalla braille externa, que puedes usar para escribir en este dispositivo.\nTambién puedes usar el teclado Braille de la pantalla táctil u otro método de introducción de texto. - Cambiar al teclado de la pantalla táctil diff --git a/braille/brailleime/src/phone/res/values-et/strings.xml b/braille/brailleime/src/main/res/values-et/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-et/strings.xml rename to braille/brailleime/src/main/res/values-et/strings.xml index d480735e7..8dd7cdff2 100644 --- a/braille/brailleime/src/phone/res/values-et/strings.xml +++ b/braille/brailleime/src/main/res/values-et/strings.xml @@ -5,6 +5,9 @@ Režiim Laual. Asetage seade nii, et laadimisport jääb vasakule. Punkti asendi värskendamiseks hoidke kuut sõrme all. Ühtki muud klaviatuuri ei ole lubatud, avage klaviatuuri seaded Lisavalikute avamiseks pühkige kolme sõrmega üles + Lühendatud Braille on aktiveeritud + Lühendamata Braille on aktiveeritud + Lülituti UEB-punktkirjale Braille\' klaviatuur Braille\' klaviatuur, %s TalkBacki Braille\' klaviatuur – abi saamiseks minge aadressile g.co/help/braille @@ -17,7 +20,6 @@ Värskendati punktide 1, 2 ja 3 asendit. Järgmisena salvestame teie parema käe punktid. Puudutage oma parema käe kolme keskmise sõrmega pikalt ekraani. Värskendati punktide 1, 2 ja 3 asendit. Järgmisena salvestame teie vasaku käe punktid. Puudutage oma vasaku käe kolme keskmise sõrmega pikalt ekraani. Punkti asendit ei õnnestunud värskendada. Puudutage ekraani pikalt kuue sõrmega. Seejärel proovige uuesti. - Lülituti keelele %s Braille\' klaviatuur Braille\' klaviatuuri seadistamine Juhised Braille\' klaviatuuri kasutamiseks @@ -27,18 +29,23 @@ <br><br>2. <b>Braille\' klaviatuuri kasutamine</b>: avage tavaline klaviatuur ja seejärel puudutage klaviatuuri valimise ikooni %2$s (tavaliselt all paremas nurgas). Valige „%1$s“ <br><br>Kui te ei näe klaviatuuride vahetamise valikut, installige Google\'i klaviatuur %3$s. Seaded - Sisestamiskeeled - Eelistatud keel - Ära seda enam näita - Teksti sisestamisel kiirelt keele vahetamine - Selleks et Braille\' klaviatuuril sisestamisel keelt muuta, pühkige kolme sõrmega üles. Seejärel tehke valik „Vaheta järgmisele keelele“. + Teksti sisestamise keeled + Unified English Braille + hispaania + araabia + Prantsuse keel + poola Kaasa kõik vajutatud punktid Iga vajutatud punkt on osa sisendist, isegi kui punkt vabastatakse enne teisi punke Pööra punktid ümber Vahetab punktide asukohti, nii et punktid 1 ja 4 vahetavad kohta Braille\' klaviatuuri valikud - Vaheta järgmisele keelele: %s - Praegu kasutusel: %s + Sisestamiskeele muutmine + Praegu kasutatakse valikut %s + Sisestamiskeel + Aktiveeri %s Braille + lühendatud + lühendamata Vaadake üle kõik liigutused Ava õpetus Lõpeta õpetus @@ -49,15 +56,23 @@ Kustutamiseks pühkige vasakule Uue rea lisamiseks pühkige kahe sõrmega paremale Sõna kustutamiseks pühkige kahe sõrmega vasakule - Kursori tagasi liigutamiseks pühkige üles - Kursori edasi liigutamiseks pühkige alla Klaviatuuri peitmiseks pühkige kahe sõrmega alla Järgmise klaviatuuri aktiveerimiseks pühkige kolme sõrmega alla Teksti saatmiseks pühkige kahe sõrmega üles Abi ja muude valikute avamiseks pühkige kolme sõrmega üles Valmis + Režiim Ekraan eemal + Hoidke seadet nii, et ekraan oleks teist eemale suunatud (režiim Ekraan eemal) + Režiim Laual + Asetage seade lauale (režiim Laual). + Kohanda seadme hoidmise viisi alusel Teie seade ei toeta Braille\' klaviatuuri Teie seade ei toeta piisavalt puutepunkte. Lisateabe saamiseks võtke ühendust seadme tootjaga. + %s kustutati + + punkt %s + punktid %s + Braille\' klaviatuuri kasutamiseks lülitage TalkBack sisse Lülita see juurdepääsetavuse seadetes sisse Braille\' klaviatuuri kasutamiseks aktiveerige taas TalkBack @@ -71,32 +86,30 @@ Nüüdsest ei saa te enam kasutada tavapäraseid TalkBacki liigutusi. TalkBack ei ole Braille\' klaviatuuri kasutamise ajal saadaval. Alustamiseks hoidke telefoni nii, et ekraan oleks suunaga teist eemale. Jätkamiseks topeltpuudutage - Tähe A sisestamiseks puudutage vasaku nimetissõrmega punkti 1 + vasak nimetissõrm + parem nimetissõrm + Asetage %1$s punktile 1, et sisestada täht A Järgmisena proovige sisestada tähed B, C ja D Tähe kustutamiseks pühkige vasakule Tühiku lisamiseks pühkige paremale - Kursori tagasi liigutamiseks pühkige üles - Kursori edasi liigutamiseks pühkige alla Klaviatuuri peitmiseks pühkige kahe sõrmega alla Muu klaviatuuri aktiveerimiseks pühkige kolme sõrmega alla Õpetuse lõpetamiseks pühkige kolme sõrmega üles KUSTUTA TÜHIK - KURSORIT LIIGUTATI TAGASI - KURSORIT LIIGUTATI EDASI PEIDA KLAVIATUUR JÄRGMINE KLAVIATUUR Nüüdsest ei saa te enam kasutada tavapäraseid TalkBacki liigutusi. TalkBack ei ole Braille\' klaviatuuri kasutamise ajal saadaval.\n\n%1$s Esmalt pöörake oma telefoni, nii et ekraan oleks suunaga teist eemal.\n\nSeejärel pöörake telefon horisontaalasendisse. Hoidke telefoni lühematest servadest. Teie parem käsi peab telefoni hoidma otsast, kus asub USB-port. Asetage kolm keskmist sõrme ekraanile ning toetage telefoni pöidla ja väikese sõrmega.\n\nKui olete valmis, puudutage jätkamiseks ekraani.\n\nBraille\' klaviatuuri sulgemiseks pühkige kolme sõrmega allapoole. See aktiveerib taas algse klaviatuuri. Telefon on vertikaalasendis. Jätkamiseks pöörake telefon horisontaalasendisse, nii et pikem serv on all. Seejärel pöörake telefoni, nii et ekraan oleks suunaga teist eemal. Kui olete valmis, topeltpuudutage ekraani, et jätkata. - Hoidke telefoni nii, et ekraan oleks suunaga teist eemale. Hoidke telefoni mõlema käega lühematest servadest, nii et saaksite mõlema käe kolme keskmise sõrmega ekraani puudutada.\n\nVasak nimetissõrm peaks olema punktil 1. Nüüd puudutage punkti 1, et sisestada täht A. - Puudutage vasaku käe nimetissõrmega punkti 1, et sisestada täht A + vasak nimetissõrm + parem nimetissõrm + Hoidke telefoni nii, et ekraan oleks suunaga teist eemale. Hoidke telefoni mõlema käega lühematest servadest, nii et saaksite mõlema käe kolme keskmise sõrmega ekraani puudutada.\n\nTeie %1$s peab olema punktil 1. Nüüd puudutage punkti 1, et sisestada täht A. + Asetage %1$s punktile 1, et sisestada A Puudutage punkti %1$s, et sisestada täht %2$s Tähe kustutamiseks pühkige vasakule. Proovige kohe. d kustutati. Tühiku lisamiseks pühkige paremale. Proovige kohe. - Kursori tagasi liigutamiseks pühkige üles. Proovige kohe. - Kursori edasi liigutamiseks pühkige alla. Proovige kohe. Klaviatuuri peitmiseks pühkige kahe sõrmega alla. Proovige kohe. Peida klaviatuur. Tavaliselt peidab see klaviatuuri. Braille\' klaviatuur jääb avatuks, kuna õpetus on veel pooleli. Teise klaviatuuri aktiveerimiseks pühkige kolme sõrmega alla. Proovige kohe. @@ -114,6 +127,4 @@ Täht on kustutatud Sõna on kustutatud Jätkame õpetust. %1$s - Ühendatud on väline Braille\' ekraan, mida saate kasutada sellesse seadmesse teksti sisestamiseks.\nVõite ka lülituda puuteekraaniga Braille\' klaviatuurile või järgmisele sisestusmeetodile. - Lülitu puuteekraaniga klaviatuurile diff --git a/braille/brailleime/src/phone/res/values-eu/strings.xml b/braille/brailleime/src/main/res/values-eu/strings.xml similarity index 82% rename from braille/brailleime/src/phone/res/values-eu/strings.xml rename to braille/brailleime/src/main/res/values-eu/strings.xml index e49fd7aea..558db2b36 100644 --- a/braille/brailleime/src/phone/res/values-eu/strings.xml +++ b/braille/brailleime/src/main/res/values-eu/strings.xml @@ -5,6 +5,9 @@ Mahaigaineko modua. Jarri gailua kargatzeko ataka ezkerrean duela. Puntuen kokapena eguneratzeko, eduki sakatuta pantaila sei hatzekin. Ez dago beste teklaturik gaituta; joan teklatuaren ezarpenetara Pasatu hiru hatz aukera gehiago ikusteko + Braille-teklatu laburtura aldatu da + Braille-teklatu osora aldatu da + Braille-teklatu bateratu osora aldatu da braille-teklatua braille-teklatua, %s TalkBack-en braille-teklatua: laguntza lortzeko, joan g.co/help/braille helbidera @@ -17,7 +20,6 @@ Eguneratu da lehen, bigarren eta hirugarren puntuen kokapena. Orain, eskuineko eskuko puntuak erregistratuko ditugu. Eduki sakatuta pantaila eskuineko eskuko erdiko hiru hatzekin. Eguneratu da lehen, bigarren eta hirugarren puntuen kokapena. Orain, ezkerreko eskuko puntuak erregistratuko ditugu. Eduki sakatuta pantaila ezkerreko eskuko erdiko hiru hatzekin. Ezin izan da eguneratu puntuen kokapena. Eduki pantaila sakatuta sei hatzekin. Ondoren, saiatu berriro. - %s ezarri duzu Braille-teklatua Konfiguratu braille-teklatua Braille-teklatua erabiltzeko argibideak @@ -27,18 +29,23 @@ <br><br>2. <b>Erabili braille-teklatua</b>: ireki ohiko teklatua eta sakatu teklatua hautatzeko %2$s ikonoa (beheko eskuineko izkinan egon ohi da). Hautatu \"%1$s\". <br><br>Teklatua aldatzeko aukerarik ikusten ez baduzu, instalatu %3$s, Google-ren teklatua. Ezarpenak - Idazteko hizkuntzak - Hizkuntza hobetsia - Ez erakutsi berriro - Aldatu bizkor hizkuntzaz idatzi ahala - Braille-teklatuarekin idatzi ahala hizkuntzaz aldatzeko, pasatu hiru hatz gora. Ondoren, hautatu \"Aldatu hurrengo hizkuntzara\". + Idazketa-hizkuntzak + Unified English Braille + Gaztelania + Arabiera + Frantsesa + Poloniera Sartu sakatutako puntu guztiak Sakatutako puntu guztiak dira idatzitako testuaren parte, baita lehenago jaregiten badira ere Alderantzikatu puntuak Aldatu puntuen posizioak; adibidez, trukatu 1. eta 4. puntuen tokiak Braille-teklatuaren aukerak - Aldatu hurrengo hizkuntzara: %s - Hau ari zara erabiltzen: %s + Aldatu idazteko hizkuntza + %s ari zara erabiltzen + Idazteko hizkuntza + Aldatu %s braille-teklatura + laburtua + osoa Berrikusi keinu guztiak Ireki tutoriala Amaitu tutoriala @@ -49,15 +56,23 @@ Ezabatzeko, pasatu hatza ezkerrera Beste lerro bat sortzeko, pasatu bi hatz eskuinera Hitz bat ezabatzeko, pasatu bi hatz ezkerrera - Kurtsorea atzera eramateko, pasatu hatza gora - Kurtsorea aurrera eramateko, pasatu hatza behera Teklatua ezkutatzeko, pasatu bi hatz behera Hurrengo teklatura aldatzeko, pasatu hiru hatz behera Testua bidaltzeko, pasatu bi hatz gora Laguntza lortzeko eta beste aukera batzuk ikusteko, pasatu hiru hatz gora Eginda + Pantaila urrunduaren modua + Eutsi gailuari eta alden ezazu, pantaila aurrez aurre duzula (pantaila urrunduaren modua) + Mahaigaineko modua + Jarri gailua mahai baten gainean horizontalki (mahaigaineko modua) + Egokitu gailua eusten duzun modura Gailuak ez du onartzen braille-teklatua Gailuak ez ditu onartzen behar adina ukipen-puntu. Informazio gehiago lortzeko, jarri harremanetan gailuaren fabrikatzailearekin. + Ezabatu da %s + + %s puntu + %s puntu + Braille-teklatua erabiltzeko, aktibatu TalkBack Aktibatu erabilerraztasun-ezarpenetan Braille-teklatua erabiltzeko, aktibatu berriro TalkBack @@ -71,32 +86,30 @@ Hemendik aurrera, ezin izango dituzu erabili TalkBack-en ohiko keinuak. TalkBack ez dago erabilgarri braille-teklatua erabiltzen duzun bitartean. Hasteko, eutsi honela telefonoari, pantaila aurpegitik aldenduta dagoela. Aurrera egiteko, sakatu pantaila birritan - Sakatu 1. puntua ezkerreko hatz erakuslearekin \"A\" hizkia idazteko + ezkerreko hatz erakuslea + eskuineko hatz erakuslea + \"A\" hizkia idazteko, erabili %1$s lehenengo puntua sakatzeko Gero, idatzi \"B\", \"C\" eta \"D\" hizkiak Hizki bat ezabatzeko, pasatu hatza ezkerrera Zuriune bat gehitzeko, pasatu hatza eskuinera - Kurtsorea atzera eramateko, pasatu hatza gora - Kurtsorea aurrera eramateko, pasatu hatza behera Teklatua ezkutatzeko, pasatu bi hatz behera Beste teklatu batera aldatzeko, pasatu hiru hatz behera Tutoriala amaitzeko, pasatu hiru hatz gora EZABATU GEHITU ZURIUNEA - ERAMAN DA ATZERA KURTSOREA - ERAMAN DA AURRERA KURTSOREA EZKUTATU TEKLATUA HURRENGO TEKLATUA Hemendik aurrera, ezin izango dituzu erabili TalkBack-en ohiko keinuak. TalkBack ez dago erabilgarri braille-teklatua erabiltzen duzun bitartean.\n\n%1$s Lehendabizi, aldendu pantaila eta jar ezazu aurrez aurre.\n\nGero, jarri telefonoa modu horizontalean. Heldu telefonoari alde laburretatik. Erabili eskuineko eskua USB ataka duen aldeari eusteko. Jarri erdiko hiru hatzak pantailaren gainean, eta erabili hatz txikia eta erpurua telefonoari heltzeko.\n\nPrest zaudenean, sakatu pantaila birritan aurrera egiteko.\n\nBraille-teklatutik irteteko, pasatu hiru hatz behera. Jatorrizko teklatura itzuliko zara horrela. Telefonoa modu bertikalean dago. Aurrera egiteko, biratu telefonoa horizontalki, alde luzea behean utzi arte. Aldendu pantaila eta jar ezazu aurrez aurre. Prest zaudenean, sakatu pantaila birritan aurrera egiteko. - Aldendu pantaila eta jar ezazu aurrez aurre. Heldu telefonoari bi eskuekin alde laburretatik, esku bakoitzeko erdiko hiru hatzak pantaila ukitzeko moduan gera daitezen.\n\nJarri ezkerreko hatz erakuslea lehenengo puntuan. Sakatu lehenengo puntua \"A\" hizkia idazteko. - Sakatu lehenengo puntua ezkerreko hatz erakuslearekin \"A\" hizkia idazteko + ezkerreko hatz erakuslea + eskuineko hatz erakuslea + Aldendu pantaila eta jar ezazu aurrez aurre. Heldu telefonoari bi eskuekin alde laburretatik, esku bakoitzeko erdiko hiru hatzak pantaila ukitzeko moduan gera daitezen.\n\nJarri %1$s lehenengo puntuan. Sakatu lehenengo puntua \"A\" hizkia idazteko. + \"A\" hizkia idazteko, erabili %1$s lehenengo puntua sakatzeko Sakatu %1$s \"%2$s\" hizkia idazteko Hizki bat ezabatzeko, pasatu hatza ezkerrera. Proba ezazu. Ezabatu da d hizkia. Zuriune bat gehitzeko, pasatu hatza eskuinera. Proba ezazu. - Kurtsorea atzera eramateko, pasatu hatza gora. Proba ezazu. - Kurtsorea aurrera eramateko, pasatu hatza behera. Proba ezazu. Teklatua ezkutatzeko, pasatu bi hatz behera. Proba ezazu. Ezkutatu teklatua. Normalean, teklatua ezkutatuko da hori eginez gero. Oraindik tutorialean zaudenez, braille-teklatua irekita geratuko da oraingo honetan. Beste teklatu batera aldatzeko, pasatu hiru hatz behera. Proba ezazu. @@ -114,6 +127,4 @@ Ezabatu da hizkia Ezabatu da hitza Egin tutorialean aurrera. %1$s - Kanpoko braille-pantaila bat konektatuta dago, zeina gailuan testua idazteko erabil baitezakezu.\nBestela, aldatu ukipen-pantailako braille-teklatura edo hurrengo idazketa-metodora. - Aldatu ukipen-pantailako teklatura diff --git a/braille/brailleime/src/phone/res/values-fa/strings.xml b/braille/brailleime/src/main/res/values-fa/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-fa/strings.xml rename to braille/brailleime/src/main/res/values-fa/strings.xml index 7ef81f60d..b398fb2cf 100644 --- a/braille/brailleime/src/phone/res/values-fa/strings.xml +++ b/braille/brailleime/src/main/res/values-fa/strings.xml @@ -5,6 +5,9 @@ حالت افقی روبه‌صورت. دستگاه را طوری قرار دهید که درگاه شارژ در سمت چپ باشد. برای به‌روزرسانی موقعیت نقطه، ۶ انگشت را پایین نگه دارید. صفحه‌کلید دیگری فعال نیست، به تنظیمات صفحه‌کلید بروید برای گزینه‌های بیشتر، با ۳ انگشت تند به‌بالا بکشید + صفحه‌کلید به بریل اختصاری تغییر کرد + صفحه‌کلید به بریل غیراختصاری تغییر کرد + ‏به حالت «بریل انگلیسی یکپارچه» (UEB) غیراختصاری رفتید صفحه‌کلید بریل صفحه‌کلید بریل، %s ‏صفحه‌کلید بریل TalkBack - برای راهنمایی به g.co/help/braille بروید @@ -17,7 +20,6 @@ موقعیت نقطه‌های ۱، ۲، و ۳ به‌روزرسانی شد. سپس، بیایید نقطه‌ها را برای دست راستتان ثبت کنیم. با ۳ انگشت میانی دست راستتان، صفحه‌نمایش را لمس کنید و نگه دارید. موقعیت نقطه‌های ۱، ۲، و ۳ به‌روزرسانی شد. سپس، بیایید نقطه‌ها را برای دست چپتان ثبت کنیم. با ۳ انگشت میانی دست چپتان، صفحه‌نمایش را لمس کنید و نگه دارید. موقعیت نقطه به‌روزرسانی نشد. صفحه‌نمایش را با ۶ انگشت لمس کنید و نگه دارید. سپس دوباره امتحان کنید. - به %s تغییر کرد صفحه‌کلید بریل راه‌اندازی صفحه‌کلید بریل نحوه استفاده از صفحه‌کلید بریل @@ -27,18 +29,23 @@ <br><br>‏۲. <b>از صفحه‌کلید بریل استفاده کنید</b>: صفحه‌کلید عادی را باز کنید و روی نماد «انتخاب صفحه‌کلید» %2$s (که معمولاً در گوشه پایین سمت چپ قرار دارد) ضربه بزنید. «%1$s» را انتخاب کنید. <br><br>اگر گزینه‌ای برای عوض کردن صفحه‌کلیدها نمی‌بینید، %3$s (صفحه‌کلید Google) را نصب کنید. تنظیمات - زبان‌های تایپ - زبان برگزیده - دیگر نشان داده نشود - تغییر سریع زبان درحین تایپ کردن - برای تغییر دادن زبان درحین تایپ کردن با صفحه‌کلید بریل، با ۳ انگشت تند به‌بالا بکشید. سپس «رفتن به زبان بعدی» را انتخاب کنید. + زبان‌های تایپ + بریل انگلیسی یکپارچه + اسپانیایی + عربی + فرانسوی + لهستانی همه نقاط فشرده‌شده در نظر گرفته شود هر نقطه فشرده‌شده بخشی از ورودی است، حتی اگر قبل از نقاط دیگر رها شده باشد نقاط وارونه شود موقعیت نقاط جابه‌جا می‌شود تا مثلاً جای نقاط ۱ و ۴ با هم عوض شود گزینه‌های صفحه‌کلید بریل - رفتن به زبان بعدی: %s - درحال استفاده از: %s + تغییر زبان تایپ + در حال حاضر از %s استفاده می‌شود + زبان تایپ + رفتن به بریل %s + اختصاری + غیراختصاری مرور همه اشاره‌ها شروع آموزش گام‌به‌گام تکمیل آموزش گام‌به‌گام @@ -49,15 +56,23 @@ برای «حذف»، تند به‌چپ بکشید برای افزودن «خط جدید»، با ۲ انگشت تند به‌راست بکشید برای «حذف واژه»، با ۲ انگشت تند به‌چپ بکشید - برای بردن نشانگر به عقب، تند به‌بالا بکشید - برای بردن نشانگر به جلو، تند به‌پایین بکشید برای پنهان کردن صفحه‌کلید، با ۲ انگشت تند به‌پایین بکشید برای رفتن به «صفحه‌کلید بعدی»، با ۳ انگشت تند به‌پایین بکشید برای «ارسال نوشتار»، با ۲ انگشت تند به‌بالا بکشید برای «راهنمایی و گزینه‌های دیگر»، با ۳ انگشت به بالا بکشید تمام + حالت پشت به‌صورت + پشت دستگاه را رو به‌خود نگه دارید (حالت پشت به‌صورت) + حالت افقی روبه‌صورت + دستگاه را صاف روی میز قرار دهید (حالت افقی روبه‌صورت) + تطبیق با نحوه نگه داشته شدن دستگاه دستگاهتان از صفحه‌کلید بریل پشتیبانی نمی‌کند دستگاهتان از نقاط لمسی کافی پشتیبانی نمی‌کند. برای دریافت اطلاعات بیشتر، با سازنده دستگاه تماس بگیرید. + %s حذف شد + + نقاط %s + نقاط %s + ‏برای استفاده از صفحه‌کلید بریل، TalkBack را روشن کنید در تنظیمات دسترس‌پذیری روشن کنید ‏برای استفاده از صفحه‌کلید بریل، سرویس TalkBack باید ازسرگرفته شود @@ -71,32 +86,30 @@ ‏از این به بعد نمی‌توانید از اشاره‌های TalkBack عادی استفاده کنید. TalkBack درحین استفاده از صفحه‌کلید بریل در دسترس نیست. برای شروع، تلفن را اینگونه در دست بگیرید: صفحه‌نمایش پشت به شما باشد. برای ادامه، روی بخشی از صفحه دو ضربه سریع بزنید - ‏با انگشت اشاره چپ روی نقطه ۱ ضربه بزنید تا حرف «A» تایپ شود + انگشت اشاره چپ + انگشت اشاره راست + ‏با %1$s خود روی نقطه ۱ ضربه بزنید تا حرف «A» تایپ شود ‏بعد، حروف B، ‏C، و D را تایپ کنید برای حذف حرف، تند به‌چپ بکشید برای افزودن فاصله، تند به‌راست بکشید - برای بردن نشانگر به عقب، تند به‌بالا بکشید - برای بردن نشانگر به جلو، تند به‌پایین بکشید برای پنهان کردن صفحه‌کلید، با ۲ انگشت تند به‌پایین بکشید برای رفتن به صفحه‌کلید دیگر، با ۳ انگشت تند به‌پایین بکشید برای تکمیل آموزش گام‌به‌گام، با ۳ انگشت تند به‌بالا بکشید حذف فاصله - نشانگر به عقب رفت - نشانگر به جلو رفت پنهان کردن صفحه‌کلید صفحه‌کلید بعدی ‏از این به بعد نمی‌توانید از اشاره‌های TalkBack عادی استفاده کنید. TalkBack درحین استفاده از صفحه‌کلید بریل در دسترس نیست.\n\n%1$s ‏ابتدا، تلفن را بچرخانید تا صفحه‌نمایش پشت به شما قرار گیرد.\n\nسپس، تلفن را افقی بچرخانید تا در حالت منظره قرار بگیرد. دستان شما باید لبه‌های کوتاه تلفن را گرفته باشند. دست راست شما باید انتهای پایینی با درگاه USB را گرفته باشد. ۳ انگشت وسط را روی صفحه‌نمایش قرار دهید و با انگشتان کوچک و شست تلفن را نگه دارید.\n\nوقتی آماده بودید، دو ضربه سریع روی صفحه‌نمایش بزنید تا کار را ادامه دهید. \n\nبرای خروج از صفحه‌کلید بریل، با ۳ انگشت تند به‌پایین (به‌طرف زمین) بکشید. با این کار به صفحه‌کلید اصلی برمی‌گردید. تلفن شما در موقعیت عمودی قرار دارد. برای ادامه، تلفن را طوری افقی بچرخانید که لبه بزرگ در پایین قرار بگیرد. سپس دوباره آن را بچرخانید تا صفحه‌نمایش پشت به شما قرار بگیرد. وقتی آماده بودید، دو ضربه سریع روی صفحه‌نمایش بزنید تا کار را ادامه دهید. - ‏صفحه‌نمایش را پشت به خود نگه دارید. تلفن را از سمت لبه‌های کوتاهش در دست بگیرید تا بتوانید صفحه‌نمایش را با ۳ انگشت وسط لمس کنید.\n\n انگشت اشاره چپ شما باید روی نقطه ۱ قرار داشته باشد. اکنون، روی نقطه ۱ ضربه بزنید تا حرف «A» تایپ شود. - ‏با انگشت اشاره چپ روی نقطه ۱ ضربه بزنید تا «A» تایپ شود + انگشت اشاره چپ + انگشت اشاره راست + ‏صفحه‌نمایش را پشت به خود نگه دارید. تلفن را از سمت لبه‌های کوتاهش در دست بگیرید تا بتوانید صفحه‌نمایش را با ۳ انگشت وسط لمس کنید.\n\n %1$s شما باید روی نقطه ۱ قرار داشته باشد. اکنون، روی نقطه ۱ ضربه بزنید تا حرف «A» تایپ شود. + ‏با %1$s خود روی نقطه ۱ ضربه بزنید تا حرف «A» تایپ شود روی %1$s ضربه بزنید تا حرف %2$s تایپ شود برای حذف یک حرف، تند به‌چپ بکشید. امتحان کنید. ‏d حذف شد. برای افزودن فاصله، تند به‌راست بکشید. امتحان کنید. - برای بردن نشانگر به عقب، تند به‌بالا بکشید. امتحان کنید. - برای بردن نشانگر به جلو، تند به‌پایین بکشید. امتحان کنید. برای پنهان کردن صفحه‌کلید، با ۲ انگشت تند به‌پایین بکشید. امتحان کنید. پنهان کردن صفحه‌کلید. معمولاً با این کار، صفحه‌کلید پنهان می‌شود. صفحه‌کلید بریل باز خواهد ماند چون هنوز در آموزش گام‌به‌گام هستید. برای اینکه به صفحه‌کلید دیگری بروید، با ۳ انگشت تند به‌پایین بکشید. امتحان کنید. @@ -114,6 +127,4 @@ حرف حذف شد واژه حذف شد بیایید آموزش گام‌به‌گام را ادامه دهیم. %1$s - ‏نمایشگر بریل خارجی متصل است. بااستفاده از این نمایشگر می‌توانید در این دستگاه نوشتار تایپ کنید.\nیا می‌توانید از «صفحه‌کلید بریل» صفحه لمسی یا روش ورودی بعدی استفاده کنید. - استفاده از صفحه‌کلید صفحه لمسی diff --git a/braille/brailleime/src/phone/res/values-fi/strings.xml b/braille/brailleime/src/main/res/values-fi/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-fi/strings.xml rename to braille/brailleime/src/main/res/values-fi/strings.xml index dcdede84b..8669fec33 100644 --- a/braille/brailleime/src/phone/res/values-fi/strings.xml +++ b/braille/brailleime/src/main/res/values-fi/strings.xml @@ -5,6 +5,9 @@ Pöytätila. Aseta laite niin, että latausportti on vasemmalla. Jos haluat muuttaa pisteen sijaintia, paina pitkään kuudella sormella. Toista näppäimistöä ei ole käytössä, siirry näppäimistöasetuksiin Pyyhkäise ylös kolmella sormella saadaksesi lisää vaihtoehtoja + Vaihdettiin lyhennettyyn pistekirjoitukseen + Vaihdettiin lyhentämättömään pistekirjoitukseen + Vaihdettiin lyhentämättömän UEB:n tilaan pistekirjoitusnäppäimistö pistekirjoitusnäppäimistö, %s TalkBackin pistekirjoitusnäppäimistö – saat ohjeita osoitteesta g.co/help/braille @@ -17,7 +20,6 @@ Pisteiden 1, 2 ja 3 sijaintia muutettu. Tallennetaan seuraavaksi oikean kätesi pisteet. Kosketa näyttöä pitkään oikean käden kolmella keskimmäisellä sormella. Pisteiden 1, 2 ja 3 sijaintia muutettu. Tallennetaan seuraavaksi vasemman kätesi pisteet. Kosketa näyttöä pitkään vasemman käden kolmella keskimmäisellä sormella. Pisteen sijaintia ei voitu muuttaa. Kosketa näyttöä pitkään kuudella sormella. Yritä sitten uudelleen. - %s otettu käyttöön Pistekirjoitusnäppäimistö Laita pistekirjoitusnäppäimistö päälle Pistekirjoitusnäppäimistön käyttäminen @@ -27,18 +29,23 @@ <br><br>2. <b>Pistekirjoitusnäytön käyttäminen</b>: Avaa tavallinen näppäimistö ja napauta näppäimistön valintakuvaketta %2$s (yleensä oikeassa alakulmassa). Valitse %1$s. <br><br>Jos et näe näppäimistön vaihtamisen vaihtoehtoa, kokeile asentaa Google-näppäimistö %3$s. Asetukset - Kirjoituskielet - Ensisijainen kieli - Älä näytä tätä uudelleen - Vaihda kieltä nopeasti kirjoitettaessa - Jos haluat vaihtaa kieltä kirjoittaessasi pistekirjoitusnäppäimistöllä, avaa valikko pyyhkäisemällä ylös kolmella sormella. Valitse sitten \"Vaihda seuraavaan kieleen\". + Kirjoituskielet + yleinen englanninkielinen pistekirjoitus + espanja + arabia + ranska + puola Sisällytä kaikki painetut pisteet Jokainen painettu piste on syötteen osa, vaikka piste vapautetaan ennen muita pisteitä Käänteiset pisteet Vaihda pisteiden paikkaa siten, että esimerkiksi pisteet 1 ja 4 vaihtavat paikkaa Pistekirjoitusnäppäimistön asetukset - Vaihda seuraavaan kieleen: %s - Tällä hetkellä käytössä on %s + Vaihda kirjoituskieltä + Tällä hetkellä käytetään tiliä %s + Kirjoituskieli + Aktivoi %s pistekirjoitus + lyhennetty + lyhentämätön Tarkista kaikki eleet Avaa ohje Lopeta ohje @@ -49,15 +56,23 @@ Poista pyyhkäisemällä vasemmalle Lisää uusi rivi pyyhkäisemällä oikealle kahdella sormella Poista sana pyyhkäisemällä vasemmalle kahdella sormella - Voit siirtää kohdistinta taaksepäin pyyhkäisemällä ylös - Voit siirtää kohdistinta eteenpäin pyyhkäisemällä alas Piilota näppäimistö pyyhkäisemällä alas kahdella sormella Vaihda seuraavaan näppäimistöön pyyhkäisemällä alas kolmella sormella Lähetä teksti pyyhkäisemällä ylös kahdella sormella Näet ohjeita ja muita vaihtoehtoja pyyhkäisemällä ylös kolmella sormella Valmis + Näyttö pois ‑tila + Pidä laitetta niin, että näyttö on itsestäsi poispäin (näyttö pois ‑tila) + Pöytätila + Aseta laite pöydälle vaakatasossa (pöytätila) + Mukaudu laitteen pitelytapaan Laitteesi ei tue pistekirjoitusnäppäimistöä. Laitteesi ei tue riittävää määrää kosketuspisteitä. Saat lisätietoja laitteen valmistajalta. + %s poistettiin + + piste %s + pisteet %s + TalkBackin ottaminen käyttöön pistekirjoitusnäppäimistön käyttöä varten Ota käyttöön esteettömyysasetuksista Jatka TalkBackia käyttääksesi pistekirjoitusnäppäimistöä @@ -71,32 +86,30 @@ Tästä alkaen et voi käyttää normaaleja TalkBack-eleitä. TalkBack ei ole käytettävissä pistekirjoitusnäppäimistön käytön aikana. Aloita pitämällä puhelinta niin, että sen näyttö on itsestäsi poispäin. Jatka kaksoisnapauttamalla näyttöä. - Kirjoita A napauttamalla pistettä 1 vasemman käden etusormella. + vasemmalla etusormella + oikealla etusormella + Kirjoita A napauttamalla pistettä 1 %1$s. Kokeile sitten kirjoittaa B, C ja D. Poista kirjain pyyhkäisemällä vasemmalle. Lisää välilyönti pyyhkäisemällä oikealle. - Voit siirtää kohdistinta taaksepäin pyyhkäisemällä ylös - Voit siirtää kohdistinta eteenpäin pyyhkäisemällä alas Piilota näppäimistö pyyhkäisemällä alas kahdella sormella. Vaihda toiseen näppäimistöön pyyhkäisemällä alas kolmella sormella. Sulje ohje pyyhkäisemällä ylös kolmella sormella. POISTA VÄLILYÖNTI - SIIRRÄ KOHDISTINTA TAAKSEPÄIN - SIIRRÄ KOHDISTINTA ETEENPÄIN PIILOTA NÄPPÄIMISTÖ SEURAAVA NÄPPÄIMISTÖ Tästä alkaen et voi käyttää normaaleja TalkBack-eleitä. TalkBack ei ole käytettävissä pistekirjoitusnäppäimistön käytön aikana.\n\n%1$s Käännä puhelin ensin siten, että näyttö on poispäin itsestäsi.\n\nKäännä sitten puhelin vaakasuoraan asentoon. Pitele puhelinta sen lyhyistä sivuista. Pitele USB-portin puolta oikealla kädellä. Pidä kolmea keskimmäistä sormeasi näytöllä ja tue puhelinta pikkusormella ja peukalolla.\n\nKun olet valmis, jatka kaksoisnapauttamalla näyttöä.\n\nPoistu pistekirjoitusnäppäimistöstä pyyhkäisemällä alaspäin kolmella sormella. Tämä vaihtaa takaisin alkuperäiseen näppäimistöösi. Puhelimesi on pystyasennossa. Jatka kääntämällä puhelin vaakasuoraan siten, että pitkä sivu on alaspäin. Käännä sitten näyttö itsestäsi poispäin. Kun olet valmis, jatka kaksoisnapauttamalla näyttöä. - Pidä näyttö itsestäsi poispäin. Pitele puhelinta molemmin käsin sen lyhyistä reunoista siten, että molempien käsien kolme keskimmäistä sormea voivat koskettaa näyttöä.\n\nVasemman käden etusormen tulisi olla pisteen 1 päällä. Kirjoita A napauttamalla pistettä 1. - Kirjoita A napauttamalla pistettä 1 vasemman käden etusormella. + vasen etusormi + oikea etusormi + Pidä näyttö itsestäsi poispäin. Pitele puhelinta molemmin käsin sen lyhyistä reunoista siten, että molempien käsien kolme keskimmäistä sormea voivat koskettaa näyttöä.\n\nLaita %1$s pisteen 1 päälle. Kirjoita A napauttamalla pistettä 1. + Kirjoita A napauttamalla pistettä 1 %1$s Kirjoita kirjain %2$s napauttamalla %1$s. Poista kirjain pyyhkäisemällä vasemmalle. Kokeile nyt. \"d\" poistettiin. Lisää välilyönti pyyhkäisemällä oikealle. Kokeile nyt. - Voit siirtää kohdistinta taaksepäin pyyhkäisemällä ylös Kokeile nyt. - Voit siirtää kohdistinta eteenpäin pyyhkäisemällä alas Kokeile nyt. Piilota näppäimistö pyyhkäisemällä alas kahdella sormella. Kokeile nyt. Piilota näppäimistö. Tavallisesti tämä piilottaa näppäimistön. Pistekirjoitusnäppäimistö pysyy auki, koska ohje on vielä avoinna. Vaihda toiseen näppäimistöön pyyhkäisemällä alas kolmella sormella. Kokeile nyt. @@ -114,6 +127,4 @@ Kirjain poistettiin Sana poistettiin Jatketaan ohjetta. %1$s - Laitteeseen on yhdistetty ulkoinen pistekirjoitusnäyttö, jonka avulla voit kirjoittaa tekstiä.\nVoit myös valita kosketusnäytön pistekirjoitusnäppäimistön tai seuraavan syöttötavan. - Vaihda kosketusnäyttönäppäimistöön diff --git a/braille/brailleime/src/phone/res/values-tl/strings.xml b/braille/brailleime/src/main/res/values-fil/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-tl/strings.xml rename to braille/brailleime/src/main/res/values-fil/strings.xml index 925d59e8e..2090abf08 100644 --- a/braille/brailleime/src/phone/res/values-tl/strings.xml +++ b/braille/brailleime/src/main/res/values-fil/strings.xml @@ -5,6 +5,9 @@ Tabletop mode. Ilagay ang iyong device nang nasa kaliwa ang charging port. Para i-update ang posisyon ng dot, i-hold gamit ang 6 na daliri. Kung walang iba pang naka-enable na keyboard, pumunta sa mga setting ng keyboard Mag-swipe pataas gamit ang 3 daliri para sa higit pang opsyon + Lumipat sa contracted braille + Lumipat sa uncontracted braille + Lumipat sa UEB uncontracted braille keyboard braille keyboard, %s Braille keyboard ng TalkBack - para sa tulong, bisitahin ang g.co/help/braille @@ -17,7 +20,6 @@ Na-update ang mga posisyon para sa dot 1, 2, at 3. Pagkatapos, i-record natin ang mga dot sa iyong kanang kamay. Pindutin nang matagal ang screen gamit ang gitnang 3 daliri ng iyong kanang kamay. Na-update ang mga posisyon para sa dot 1, 2, at 3. Pagkatapos, i-record natin ang mga dot sa iyong kaliwang kamay. Pindutin nang matagal ang screen gamit ang gitnang 3 daliri ng iyong kaliwang kamay. Hindi ma-update ang posisyon ng dot. Pindutin nang matagal ang screen gamit ang 6 na daliri. Pagkatapos ay subukan ulit. - Nalipat sa %s Braille keyboard Mag-set up ng braille keyboard Paano gumamit ng braille keyboard @@ -27,18 +29,23 @@ <br><br>2. <b>Gamitin ang braille keyboard</b>: Buksan ang iyong regular na keyboard, pagkatapos ay i-tap ang icon ng pumili ng keyboard %2$s (karaniwang nasa kanang sulok sa ibaba). Piliin ang \"%1$s.\" <br><br>Kung wala kang nakikitang opsyon para lumipat ng keyboard, subukang i-install ang %3$s, ang keyboard ng Google. Mga Setting - Mga wika sa pag-type - Gustong wika - Huwag na itong ipakita ulit - Mabilis na palitan ang wika habang nagta-type - Para palitan ang iyong wika habang nagta-type gamit ang braille keyboard, mag-swipe pataas gamit ang 3 daliri. Pagkatapos ay piliin ang \"lumipat sa susunod na wika.\" + Mga wika sa pag-type + Unified English Braille + Spanish + Arabic + French + Polish Isama ang lahat ng pressed dot Bahagi ng input ang lahat ng pressed dot, kahit na binitawan ang dot bago ang iba pang dot Mga reverse dot Pagpalitin ang mga posisyon ng dot, halimbawa, para magpalitan ng pwesto ang dot 1 at dot 4 Mga opsyon ng braille keyboard - Lumipat sa susunod na wika: %s - Kasalukuyang ginagamit: %s + Palitan ang wika sa pag-type + Kasalukuyang %s ang ginagamit + Wika sa pag-type + Lumipat sa %s braille + contracted + uncontracted Suriin ang lahat ng galaw Buksan ang tutorial Tapusin ang tutorial @@ -49,15 +56,23 @@ Para mag-delete, mag-swipe pakaliwa Para sa bagong linya, mag-swipe pakanan gamit ang 2 daliri Para mag-delete ng salita, mag-swipe pakaliwa gamit ang 2 daliri - Para iurong ang cursor, mag-swipe pataas - Para isulong ang cursor, mag-swipe pababa Para itago ang keyboard, mag-swipe pababa gamit ang 2 daliri Para lumipat sa susunod na keyboard, mag-swipe pakaliwa gamit ang 3 daliri Para magsumite ng text, mag-swipe pataas gamit ang 2 daliri Para sa tulong at iba pang opsyon, mag-swipe pataas gamit ang 3 daliri Tapos na + Screen-away mode + Hawakan ang device nang nakatalikod sa iyo ang screen (screen-away mode) + Tabletop mode + Ilapag ang device nang naka-flat sa mesa (tabletop mode) + Umangkop sa paghawak mo sa device Hindi sinusuportahan ng iyong device ang braille keyboard Kulang ang mga sinusuportahang touch point ng iyong device. Para sa higit pang impormasyon, makipag-ugnayan sa manufacturer ng iyong device. + %s ang na-delete + + dot %s + dot %s + I-on ang TalkBack para magamit ang braille keyboard I-on sa mga setting ng accessibility Magpatuloy sa TalkBack para magamit ang braille keyboard @@ -71,32 +86,30 @@ Simula ngayon, hindi ka na makakagamit ng mga regular na galaw sa TalkBack. Hindi available ang TalkBack kapag ginagamit ang braille keyboard. Para magsimula, hawakan ang iyong telepono tulad ng nasa larawan, nang nakatalikod sa iyo ang screen. Mag-double tap kahit saan para magpatuloy - I-tap ang dot 1 gamit ang iyong kaliwang hintuturo para i-type ang titik \"A\" + kaliwang hintuturo + kanang hintuturo + I-tap ang dot 1 gamit ang iyong %1$s para i-type ang titik \"A\" Pagkatapos, subukang i-type ang mga titik B, C, at D Para mag-delete ng titik, mag-swipe pakaliwa Para magdagdag ng space, mag-swipe pakanan - Para iurong ang cursor, mag-swipe pataas - Para isulong ang cursor, mag-swipe pababa Para itago ang keyboard, mag-swipe pababa gamit ang 2 daliri Para lumipat sa isa mo pang keyboard, mag-swipe pababa gamit ang 3 daliri Para tapusin ang tutorial, mag-swipe pataas gamit ang 3 daliri I-DELETE SPACE - INURONG ANG CURSOR - ISINULONG ANG CURSOR ITAGO ANG KEYBOARD SUSUNOD NA KEYBOARD Simula ngayon, hindi ka na makakagamit ng mga regular na galaw sa TalkBack. Hindi available ang TalkBack habang ginagamit ang braille keyboard.\n\n%1$s Una, i-flip ang iyong telepono nang sa gayon ay nakatalikod sa iyo ang screen mo.\n\nPagkatapos, i-rotate pahalang ang telepono papunta sa landscape na posisyon. Ang maiikling gilid ng telepono dapat ang hawak ng iyong mga kamay. Ang dulong may USB port dapat ang hawak ng iyong kanang kamay. Idikit ang iyong 3 gitnang daliri sa screen, at gamitin ang hinliliit at hinlalaki mo para hindi malaglag ang telepono.\n\nKapag handa ka na, i-double tap ang screen para magpatuloy.\n\nPara lumabas sa braille keyboard, mag-swipe pababa sa lupa gamit ang 3 daliri. Ibabalik nito ang orihinal mong keyboard. Nakapatayo ang iyong telepono. Para magpatuloy, i-rotate pahalang ang iyong telepono nang sa gayon ay nasa ibaba ang mahabang gilid. Pagkatapos ay italikod sa iyo ang screen. Kapag handa ka na, i-double tap ang screen para magpatuloy. - Panatilihing nakatalikod sa iyo ang screen. Hawakan ang iyong telepono gamit ang dalawang kamay sa maiikling gilid ng telepono nang sa gayon ay napipindot ng gitnang 3 daliri ng bawat kamay ang screen.\n\nDapat nasa dot 1 ang iyong hintuturo sa kaliwang kamay. I-tap na ang dot 1 para i-type ang titik “A”. - I-tap ang dot 1 gamit ang iyong kaliwang hintuturo para i-type ang \"A\" + kaliwang hintuturo + kanang hintuturo + Panatilihing nakatalikod sa iyo ang screen. Hawakan ang iyong telepono gamit ang dalawang kamay sa maiikling gilid ng telepono nang sa gayon ay napipindot ng gitnang 3 daliri ng bawat kamay ang screen.\n\nDapat nasa dot 1 ang iyong %1$s. I-tap na ang dot 1 para i-type ang titik “A”. + I-tap ang dot 1 gamit ang iyong %1$s para i-type ang “A” I-tap ang %1$s para i-type ang titik %2$s Para mag-delete ng titik, mag-swipe pakaliwa. Subukan ito ngayon. na-delete ang d. Para magdagdag ng space, mag-swipe pakanan. Subukan ito ngayon. - Para iurong ang cursor, mag-swipe pataas. Subukan ito ngayon. - Para isulong ang cursor, mag-swipe pababa. Subukan ito ngayon. Para itago ang keyboard, mag-swipe pababa gamit ang 2 daliri. Subukan ito ngayon. Itago ang keyboard. Karaniwan nitong itatago ang keyboard. Mananatiling bukas ang braille keyboard dahil nasa tutorial ka pa. Para lumipat sa isa mo pang keyboard, mag-swipe pababa gamit ang 3 daliri. Subukan ito ngayon. @@ -114,6 +127,4 @@ Na-delete ang titik Na-delete ang salita Ipagpatuloy natin ang tutorial. %1$s - May nakakonektang external na braille display, na magagamit mo sa pag-type ng text sa device na ito.\nO, lumipat sa touch-screen na Braille Keyboard o sa susunod na pamamaraan ng pag-input. - Lumipat sa touch-screen na keyboard diff --git a/braille/brailleime/src/phone/res/values-fr-rCA/strings.xml b/braille/brailleime/src/main/res/values-fr-rCA/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-fr-rCA/strings.xml rename to braille/brailleime/src/main/res/values-fr-rCA/strings.xml index a6d247df4..6b19dee3c 100644 --- a/braille/brailleime/src/phone/res/values-fr-rCA/strings.xml +++ b/braille/brailleime/src/main/res/values-fr-rCA/strings.xml @@ -5,6 +5,9 @@ Mode À plat. Placez votre appareil avec le port de recharge vers la gauche. Pour modifier la position des points, maintenez six doigts sur l\'écran. Aucun autre clavier n\'est activé; allez aux paramètres du clavier Balayez l\'écran vers le haut avec trois doigts pour afficher d\'autres options + Clavier passé au braille abrégé + Clavier passé au braille intégral + Vous êtes passé au mode braille anglais unifié clavier braille clavier braille, %s Clavier braille TalkBack : pour obtenir de l\'aide, visitez g.co/help/braille @@ -17,7 +20,6 @@ Position modifiée pour les points 1, 2 et 3. Enregistrez maintenant les points pour la main droite. Maintenez les trois doigts du milieu de votre main droite sur l\'écran. Position modifiée pour les points 1, 2 et 3. Enregistrez maintenant les points pour la main gauche. Maintenez les trois doigts du milieu de votre main gauche sur l\'écran. Impossible de modifier la position des points. Maintenez six doigts sur l\'écran, puis réessayez. - Vous êtes passé à %s Clavier braille Configurer le clavier braille Comment utiliser le clavier braille @@ -27,18 +29,23 @@ <br><br>2. <b>Utiliser le clavier braille :</b> ouvrez votre clavier ordinaire, puis touchez l\'icône %2$s pour choisir le clavier (habituellement dans le coin inférieur droit de l\'écran). Sélectionnez « %1$s ». <br><br>Si vous ne voyez pas d\'option pour changer de clavier, essayez d\'installer %3$s, le clavier Google. Paramètres - Langues de rédaction - Langue préférée - Ne plus afficher ce message - Changer rapidement de langue pendant la saisie - Pour changer la langue pendant la saisie avec le clavier braille, balayez vers le haut avec trois doigts. Ensuite, sélectionnez « activer la langue suivante ». + Langues d\'entrée + Code braille anglais unifié + Espagnol + Arabe + Français + Polonais Inclure tous les points enfoncés Chaque point enfoncé fait partie de l\'entrée, même si le point est relâché avant d\'autres points Points inversés Échangez les positions des points, de manière à permuter les points 1 et 4, par exemple Options du clavier braille - Activer la langue suivante : %s - Langue en cours d\'utilisation : %s + Modifier la langue de rédaction + Vous utilisez actuellement le compte %s + Langue de rédaction + Passer au braille %s + abrégé + intégral Voir tous les gestes Ouvrir le tutoriel Mettre fin au tutoriel @@ -49,15 +56,23 @@ Pour supprimer un caractère, balayez l\'écran vers la gauche Pour ajouter une ligne, balayez l\'écran vers la droite avec deux doigts Pour supprimer un mot, balayez l\'écran vers la gauche avec deux doigts - Pour déplacer le curseur vers l\'arrière, balayez vers le haut - Pour déplacer le curseur vers l\'avant, balayez vers le bas Pour masquer le clavier, balayez l\'écran vers le bas avec deux doigts Pour passer au clavier suivant, balayez l\'écran vers le bas avec trois doigts Pour envoyer du texte, balayez l\'écran vers le haut avec deux doigts Pour accéder à l\'aide et à d\'autres options, balayez l\'écran vers le haut avec trois doigts OK + Mode Écran retourné + Tenez l\'appareil avec l\'écran pointé vers l\'extérieur (mode Écran retourné) + Mode À plat + Placez l\'appareil à plat sur une table (mode À plat) + Adapter à la position de l\'appareil Votre appareil ne prend pas en charge le clavier braille Votre appareil ne prend pas en charge suffisamment de points tactiles. Pour en savoir plus, communiquez avec le fabricant de votre appareil. + %s supprimé + + point %s + points %s + Activer TalkBack pour utiliser le clavier braille Activer dans les paramètres d\'accessibilité Réactiver TalkBack pour utiliser le clavier braille @@ -71,32 +86,30 @@ À partir de maintenant, vous ne pourrez plus utiliser les gestes habituels de TalkBack. TalkBack ne peut pas être utilisé en même temps que le clavier braille. Pour commencer, tenez votre téléphone comme ceci, avec l\'écran du côté opposé à vous. Touchez deux fois n\'importe où pour continuer - Touchez le point 1 avec votre index gauche pour entrer la lettre « A » + index gauche + index droit + Touchez le point 1 avec votre %1$s pour entrer la lettre « A » Ensuite, essayez d\'entrer les lettres B, C et D Pour supprimer une lettre, balayez l\'écran vers la gauche Pour ajouter une espace, balayez l\'écran vers la droite - Pour déplacer le curseur vers l\'arrière, balayez vers le haut - Pour déplacer le curseur vers l\'avant, balayez vers le bas Pour masquer le clavier, balayez l\'écran vers le bas avec deux doigts Pour passer à votre autre clavier, balayez l\'écran vers le bas avec trois doigts Pour mettre fin au tutoriel, balayez l\'écran vers le haut avec trois doigts SUPPRIMER ESPACE - CURSEUR DÉPLACÉ VERS L\'ARRIÈRE - CURSEUR DÉPLACÉ VERS L\'AVANT MASQUER LE CLAVIER CLAVIER SUIVANT À partir de maintenant, vous ne pourrez plus utiliser les gestes habituels de TalkBack. TalkBack ne peut pas être utilisé en même temps que le clavier braille.\n\n%1$s En premier, tournez votre téléphone avec l\'écran orienté du côté opposé à vous.\n\nEnsuite, tournez le téléphone à l\'horizontale en position paysage. Vos mains doivent tenir le téléphone par ses côtés courts. Vous devez tenir l\'extrémité avec le port USB à l\'aide de votre main droite. Utilisez le pouce et l\'auriculaire pour tenir le téléphone et laissez reposer vos trois doigts médians sur l\'écran.\n\nQuand vous êtes prêt, touchez deux fois l\'écran pour continuer.\n\nPour quitter le clavier braille, balayez l\'écran vers le bas avec trois doigts. Cela vous fait revenir à votre clavier initial. Votre téléphone est en position verticale. Pour continuer, faites tourner votre téléphone à l\'horizontale de sorte que le côté long soit situé en bas. Ensuite, tournez l\'écran du côté opposé à vous. Quand vous êtes prêt, touchez deux fois l\'écran pour continuer. - Gardez l\'écran tourné du côté opposé à vous. Tenez votre téléphone à deux mains par ses côtés courts, de sorte que les trois doigts médians de chaque main puissent toucher l\'écran.\n\nVotre index gauche doit être sur le point 1. Maintenant, touchez le point 1 pour entrer la lettre « A ». - Touchez le point 1 avec votre index gauche pour entrer « A » + index gauche + index droit + Gardez l\'écran tourné du côté opposé à vous. Tenez votre téléphone à deux mains par ses côtés courts, de sorte que les trois doigts médians de chaque main puissent toucher l\'écran.\n\nVotre %1$s doit être sur le point 1. Maintenant, touchez le point 1 pour entrer la lettre « A ». + Touchez le point 1 avec votre %1$s pour entrer la lettre « A » Touchez %1$s pour entrer la lettre %2$s Pour supprimer une lettre, balayez l\'écran vers la gauche. Essayez-le maintenant. d supprimé. Pour ajouter une espace, balayez l\'écran vers la droite. Essayez-le maintenant. - Pour déplacer le curseur vers l\'arrière, balayez vers le haut. Essayez maintenant. - Pour déplacer le curseur vers l\'avant, balayez vers le bas. Essayez maintenant. Pour masquer le clavier, balayez l\'écran vers le bas avec deux doigts. Essayez-le maintenant. Masquer le clavier. Habituellement, cette action va masquer le clavier. Le clavier braille reste ouvert parce que vous êtes toujours dans le tutoriel. Pour passer à votre autre clavier, balayez l\'écran vers le bas avec trois doigts. Essayez-le maintenant. @@ -114,6 +127,4 @@ Lettre supprimée Mot supprimé Continuons le tutoriel. %1$s - Un afficheur braille externe est connecté, utilisez-le pour taper du texte dans cet appareil.\nVous pouvez autrement passer au clavier braille sur l\'écran tactile ou à la méthode d\'entrée suivante. - Passer au clavier sur l\'écran tactile diff --git a/braille/brailleime/src/phone/res/values-fr/strings.xml b/braille/brailleime/src/main/res/values-fr/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-fr/strings.xml rename to braille/brailleime/src/main/res/values-fr/strings.xml index 5d81a06b9..664db4153 100644 --- a/braille/brailleime/src/phone/res/values-fr/strings.xml +++ b/braille/brailleime/src/main/res/values-fr/strings.xml @@ -5,6 +5,9 @@ Mode À plat. Placez l\'appareil avec le port de recharge vers la gauche. Pour modifier la position des points, maintenez six doigts enfoncés. Aucun autre clavier n\'est activé, accédez aux paramètres du clavier Balayez l\'écran vers le haut avec trois doigts pour plus d\'options + Clavier braille abrégé + Clavier braille non abrégé + Braille anglais simplifié clavier braille clavier braille, %s Clavier braille TalkBack. Pour obtenir de l\'aide, consultez le site g.co/help/braille @@ -17,7 +20,6 @@ Position modifiée pour les points 1, 2 et 3. Enregistrez maintenant les points pour la main droite. Appuyez de manière prolongée sur l\'écran avec les trois doigts du milieu de votre main droite. Position modifiée pour les points 1, 2 et 3. Enregistrez maintenant les points pour la main gauche. Appuyez de manière prolongée sur l\'écran avec les trois doigts du milieu de votre main gauche. Impossible de modifier la position des points. Appuyez de manière prolongée sur l\'écran avec six doigts, puis réessayez. - Nouvelle langue : %s Clavier braille Configurer le clavier braille Comment utiliser le clavier braille @@ -27,18 +29,23 @@ <br><br>2. <b>Utiliser le clavier braille</b> : ouvrez le clavier standard, puis appuyez sur l\'icône de sélection du clavier %2$s, qui se trouve généralement dans l\'angle inférieur droit. Sélectionnez \"%1$s.\" <br><br>Si cette option ne s\'affiche pas, essayez d\'installer %3$s, le clavier Google. Paramètres - Langues de saisie - Langue préférée - Ne plus afficher - Changer rapidement de langue lors de la saisie - Pour changer de langue lors de la saisie avec le clavier braille, balayez l\'écran vers le haut avec trois doigts, puis sélectionnez \"passer à la langue suivante\". + Langues de saisie + Code braille anglais unifié + Espagnol + Arabe + Français + Polonais Inclure tous les points sur lesquels vous appuyez Chaque point sur lequel vous appuyez est utilisé pour la saisie, même s\'il est relâché avant les autres Inverser les points Permutez les points du clavier de sorte que, par exemple, les points 1 et 4 soient inversés Options du clavier braille - Passer à la langue suivante : %s - Vous utilisez actuellement : %s + Changer la langue de saisie + Vous utilisez actuellement %s + Langue de saisie + Passer au clavier braille %s + abrégé + non abrégé Examiner tous les gestes Ouvrir le tutoriel Terminer le tutoriel @@ -49,15 +56,23 @@ Pour supprimer un caractère, balayez l\'écran vers la gauche Pour insérer une ligne, balayez l\'écran vers la droite avec deux doigts Pour supprimer un mot, balayez l\'écran vers la gauche avec deux doigts - Pour déplacer le curseur vers l\'arrière, balayez l\'écran vers le haut - Pour déplacer le curseur vers l\'avant, balayez l\'écran vers le bas Pour masquer le clavier, balayez l\'écran vers le bas avec deux doigts Pour passer au clavier suivant, balayez l\'écran vers le bas avec trois doigts Pour envoyer le texte, balayez l\'écran vers le haut avec deux doigts Pour obtenir de l\'aide et accéder à plus d\'options, balayez l\'écran vers le haut avec trois doigts OK + Mode Écran retourné + Maintenez l\'appareil avec l\'écran tourné vers l\'extérieur (mode Écran retourné) + Mode À plat + Placez l\'appareil à plat sur une table (mode À plat) + Adapter à position et à l\'orientation de l\'appareil Votre appareil n\'est pas compatible avec le clavier braille L\'écran de votre appareil ne gère pas suffisamment de points de contact. Pour en savoir plus, contactez le fabricant de votre appareil. + %s supprimé + + le point %s + les points %s + Activez TalkBack pour utiliser le clavier braille Activer dans les paramètres d\'accessibilité Réactiver TalkBack pour utiliser le clavier braille @@ -71,32 +86,30 @@ À partir de maintenant, vous ne pourrez pas utiliser les gestes TalkBack habituels. TalkBack n\'est pas disponible lorsque vous utilisez le clavier braille. Pour commencer, tournez l\'écran de votre téléphone vers l\'extérieur. Appuyez deux fois n\'importe où pour continuer - Appuyez sur le point 1 avec l\'index gauche pour saisir la lettre \"A\" + index gauche + index droit + Appuyez sur le point 1 avec l\'%1$s pour saisir la lettre \"A\" Essayez ensuite de saisir les lettres B, C et D Pour supprimer une lettre, balayez l\'écran vers la gauche Pour ajouter un espace, balayez l\'écran vers la droite - Pour déplacer le curseur vers l\'arrière, balayez l\'écran vers le haut - Pour déplacer le curseur vers l\'avant, balayez l\'écran vers le bas Pour masquer le clavier, balayez l\'écran vers le bas avec deux doigts Pour passer à un autre clavier, balayez l\'écran vers le bas avec trois doigts Pour terminer ce tutoriel, balayez l\'écran vers le haut avec trois doigts SUPPRIMER ESPACE - CURSEUR DÉPLACÉ VERS L\'ARRIÈRE - CURSEUR DÉPLACÉ VERS L\'AVANT MASQUER LE CLAVIER CLAVIER SUIVANT À partir de maintenant, vous ne pourrez pas utiliser les gestes TalkBack habituels. TalkBack n\'est pas disponible lorsque vous utilisez le clavier braille.\n\n%1$s Pour commencer, tournez l\'écran de votre téléphone vers l\'extérieur.\n\nEnsuite, faites-le pivoter horizontalement en mode paysage. Vous devez tenir le téléphone à deux mains par les extrémités. Votre main droite doit tenir l\'extrémité où se trouve le port USB. Posez l\'index, le majeur et l\'annulaire sur l\'écran, et tenez le téléphone avec le pouce et l\'auriculaire.\n\nQuand vous êtes prêt, appuyez deux fois sur l\'écran pour continuer.\n\nPour quitter le clavier braille, balayez l\'écran vers le bas avec trois doigts. Vous reviendrez ainsi au clavier d\'origine. Votre téléphone est en position verticale. Pour continuer, faites-le pivoter à l\'horizontale, en mode paysage. Ensuite, tournez l\'écran du téléphone vers l\'extérieur. Quand vous êtes prêt, appuyez deux fois sur l\'écran pour continuer. - Tournez l\'écran vers l\'extérieur. Tenez le téléphone à deux mains par les extrémités, de sorte que vous puissiez toucher l\'écran avec l\'index, le majeur et l\'annulaire de chaque main.\n\nL\'index gauche doit être sur le point 1. Maintenant, appuyez sur le point 1 pour saisir la lettre \"A\". - Appuyez sur le point 1 avec l\'index gauche pour saisir la lettre \"A\" + index gauche + index droit + Tournez l\'écran vers l\'extérieur. Tenez le téléphone à deux mains par les extrémités, de sorte que vous puissiez toucher l\'écran avec l\'index, le majeur et l\'annulaire de chaque main.\n\nL\'%1$s doit être sur le point 1. Maintenant, appuyez sur le point 1 pour saisir la lettre \"A\". + Appuyez sur le point 1 avec l\'%1$s pour saisir la lettre \"A\" Appuyez sur %1$s pour saisir la lettre %2$s Pour supprimer une lettre, balayez l\'écran vers la gauche. Essayez maintenant ! Lettre \"d\" supprimée. Pour ajouter un espace, balayez l\'écran vers la droite. Essayez maintenant ! - Pour déplacer le curseur vers l\'arrière, balayez l\'écran vers le haut. Essayez maintenant. - Pour déplacer le curseur vers l\'avant, balayez l\'écran vers le bas. Essayez maintenant. Pour masquer le clavier, balayez l\'écran vers le bas avec deux doigts. Essayez maintenant ! Masquer le clavier. En général, ce geste permet de masquer le clavier. Cette fois cependant, le clavier braille reste affiché, car vous êtes dans le tutoriel. Pour passer à un autre clavier, balayez l\'écran vers le bas avec trois doigts. Essayez maintenant ! @@ -114,6 +127,4 @@ Lettre supprimée Mot supprimé Poursuivons ce tutoriel. %1$s - Vous pouvez utiliser la plage braille externe connectée pour saisir votre texte dans cet appareil.\nVous pouvez également passer au clavier braille tactile ou à la méthode de saisie suivante. - Passer au clavier tactile diff --git a/braille/brailleime/src/phone/res/values-gl/strings.xml b/braille/brailleime/src/main/res/values-gl/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-gl/strings.xml rename to braille/brailleime/src/main/res/values-gl/strings.xml index 33259d5f7..10aa7316c 100644 --- a/braille/brailleime/src/phone/res/values-gl/strings.xml +++ b/braille/brailleime/src/main/res/values-gl/strings.xml @@ -5,6 +5,9 @@ Modo encol da mesa. Coloca o dispositivo co porto de carga cara á esquerda. Para actualizar a posición dos puntos, mantén 6 dedos sobre a pantalla. Non hai ningún outro teclado activado, vai á configuración do teclado Pasa 3 dedos cara arriba para obter máis opcións + Cambiaches ao modo de braille contraído + Cambiaches ao modo de braille sen contraer + Cambiaches ao modo de braille inglés unificado sen contraer teclado braille teclado braille, %s Teclado braille de TalkBack (para obter axuda, visita a páxina g.co/help/braille) @@ -17,7 +20,6 @@ Actualizáronse as posicións dos puntos 1, 2 e 3. Agora vamos rexistrar os puntos da man dereita. Mantén premida a pantalla cos dedos índice, maior e anular da man dereita. Actualizáronse as posicións dos puntos 1, 2 e 3. Agora vamos rexistrar os puntos da man esquerda. Mantén premida a pantalla cos dedos índice, maior e anular da man esquerda. Non se puido actualizar a posición dos puntos. Mantén premida a pantalla con 6 dedos. Despois, téntao de novo. - Cambiouse ao %s Teclado braille Configurar o teclado braille Como utilizar o teclado braille? @@ -27,18 +29,23 @@ <br><br>2. <b>Utilizar o teclado braille</b>: abre o teclado normal e, a continuación, toca a icona de escoller teclado %2$s (normalmente atópase na esquina inferior dereita). Selecciona \"%1$s.\" <br><br>Se non ves ningunha opción para cambiar de teclado, tenta instalar %3$s, o teclado de Google. Configuración - Idiomas de escritura - Idioma preferido - Non mostrar de novo - Cambiar de idioma rapidamente mentres escribes - Para cambiar de idioma mentres escribes co teclado braille, pasa 3 dedos cara arriba. Despois selecciona Cambiar ao seguinte idioma. + Idiomas de escritura + Unified English Braille + Español + Árabe + Francés + Polaco Incluír todos os puntos premidos Cada punto premido forma parte da entrada, aínda que se solte antes doutros puntos Inverter puntos Cambia a posición dos puntos de modo que os puntos 1 e 4 cambien de posición, por exemplo Opcións do teclado braille - Cambiar ao seguinte idioma: %s - Estase utilizando: %s + Cambiar idioma de escritura + Estase utilizando: %s + Idioma de escritura + Cambiar ao modo de braille %s + contraído + sen contraer Revisar todos os xestos Abrir titorial Finalizar titorial @@ -49,15 +56,23 @@ Para eliminar, pasa o dedo á esquerda Para engadir unha liña nova, pasa 2 dedos cara á dereita Para eliminar unha palabra, pasa 2 dedos á esquerda - Para mover o cursor de texto cara atrás, pasa o dedo cara arriba - Para mover o cursor de texto cara adiante, pasa o dedo cara abaixo Para ocultar o teclado, pasa 2 dedos cara abaixo Para cambiar ao seguinte teclado, pasa 3 dedos cara abaixo Para enviar texto, pasa 2 dedos cara arriba Para obter axuda e acceder a outras opcións, pasa 3 dedos cara arriba Feito + Modo coa pantalla de costas a ti + Colle o dispositivo de xeito que a pantalla quede de costas a ti (modo coa pantalla de costas a ti) + Modo encol da mesa + Pousa o dispositivo enriba dunha mesa (modo encol da mesa) + Adáptase á forma en que colles o dispositivo O teu dispositivo non admite o teclado braille O teu dispositivo non admite suficientes puntos de contacto. Para obter máis información, ponte en contacto co fabricante do dispositivo. + Eliminouse: %s + + punto %s + puntos %s + Activa TalkBack para usar o teclado braille Activar na configuración de accesibilidade Retoma TalkBack para usar o teclado braille @@ -71,32 +86,30 @@ A partir de agora, non poderás utilizar xestos de TalkBack normais. TalkBack non está dispoñible mentres se utiliza o teclado braille. Para comezar, suxeita o teléfono desta maneira, coa pantalla mirando en dirección contraria a ti. Toca dúas veces en calquera parte para continuar - Toca o punto 1 co teu dedo índice esquerdo para escribir a letra A + dedo índice esquerdo + dedo índice dereito + Toca o punto 1 co %1$s para escribir A A continuación, tenta escribir as letras B, C e D Para eliminar unha letra, pasa o dedo á esquerda Para engadir un espazo, pasa o dedo á dereita - Para mover o cursor de texto cara atrás, pasa o dedo cara arriba - Para mover o cursor de texto cara adiante, pasa o dedo cara abaixo Para ocultar o teclado, pasa 2 dedos cara abaixo Para cambiar ao teu outro teclado, pasa 3 dedos cara abaixo Para finalizar o titorial, pasa 3 dedos cara arriba ELIMINAR ESPAZO - MOVEUSE O CURSOR DE TEXTO CARA ATRÁS - MOVEUSE O CURSOR DE TEXTO CARA ADIANTE OCULTAR TECLADO SEGUINTE TECLADO A partir de agora, non poderás utilizar xestos de TalkBack normais. TalkBack non está dispoñible mentres se utiliza o teclado braille.\n\n%1$s Primeiro, xira o teléfono de xeito que a pantalla quede mirando en dirección contraria a ti.\n\nA continuación, xira o teléfono á posición horizontal. As mans deberán agarrar os extremos curtos do teléfono. Deberías estar agarrando o extremo do porto USB coa man dereita. Apoia os 3 dedos centrais na pantalla e utiliza o maimiño e o polgar para apoiar o teléfono.\n\nCando teñas todo listo, toca dúas veces a pantalla para continuar.\n\nPara saír do teclado braille, pasa 3 dedos cara abaixo. Deste xeito volverás acceder ao teclado orixinal. O teléfono está en posición vertical. Para continuar, xira o teléfono horizontalmente de xeito que o lado máis longo quede na parte inferior. A continuación, xira a pantalla de xeito que quede mirando en dirección contraria a ti. Cando teñas todo listo, toca dúas veces a pantalla para continuar. - Mantén a pantalla mirando en dirección contraria a ti. Suxeita o teléfono coas dúas mans, nos bordos máis curtos do teléfono, de xeito que os tres dedos centrais de cada man poidan tocar a pantalla.\n\nO dedo índice esquerdo debe estar situado no punto 1. Agora, toca o punto 1 para escribir a letra A. - Toca o punto 1 co dedo índice esquerdo para escribir A + dedo índice esquerdo + dedo índice dereito + Mantén a pantalla mirando en dirección contraria a ti. Suxeita o teléfono coas dúas mans, nos bordos máis curtos do teléfono, de xeito que os tres dedos centrais de cada man poidan tocar a pantalla.\n\nO %1$s debe estar situado no punto 1. Agora, toca o punto 1 para escribir a letra A. + Toca o punto 1 co %1$s para escribir A Toca %1$s para escribir a letra %2$s Pasa o dedo á esquerda para eliminar unha letra. Próbao agora. eliminouse o \"d\". Para engadir un espazo, pasa o dedo á dereita. Próbao agora. - Para mover o cursor de texto cara atrás, pasa o dedo cara arriba. Próbao agora. - Para mover o cursor de texto cara adiante, pasa o dedo cara abaixo. Próbao agora. Para ocultar o teclado, pasa 2 dedos cara abaixo. Próbao agora. Ocultar o teclado. Normalmente, desta maneira ocultarase o teclado. O teclado braille permanecerá aberto debido a que aínda estás no titorial. Para cambiar ao teu outro teclado, pasa 3 dedos cara abaixo. Próbao agora. @@ -114,6 +127,4 @@ Eliminouse unha letra Eliminouse unha palabra Continuemos co titorial. %1$s - Hai conectada unha liña braille externa que podes usar para escribir texto neste dispositivo.\nTamén podes cambiar ao teclado braille da pantalla táctil ou ao seguinte método de introdución de texto. - Cambiar ao teclado da pantalla táctil diff --git a/braille/brailleime/src/phone/res/values-gu/strings.xml b/braille/brailleime/src/main/res/values-gu/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-gu/strings.xml rename to braille/brailleime/src/main/res/values-gu/strings.xml index d09d4eea2..bfc497816 100644 --- a/braille/brailleime/src/phone/res/values-gu/strings.xml +++ b/braille/brailleime/src/main/res/values-gu/strings.xml @@ -5,6 +5,9 @@ ટેબલટોપ મોડ. તમારા ડિવાઇસને એવી રીતે રાખો કે ચાર્જિંગ પોર્ટ ડાબી બાજુએ રહે. ડોટની સ્થિતિ અપડેટ કરવા માટે, 6 આંગળીથી દબાવી રાખો. બીજું કોઈ કીબોર્ડ ચાલુ નથી, કીબોર્ડ સેટિંગ પર જાઓ વધુ વિકલ્પો માટે 3 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરો + સંક્ષિપ્ત બ્રેઇલ પર સ્વિચ કર્યું + વિસ્તૃત બ્રેઇલ પર સ્વિચ કર્યું + UEB અનકોન્ટ્રેક્ટેડ મોડ પર સ્વિચ કર્યું બ્રેઇલ કીબોર્ડ બ્રેઇલ કીબોર્ડ, %s ટૉકબૅક બ્રેઇલ કીબોર્ડ - સહાય માટે, g.co/help/brailleની મુલાકાત લો @@ -17,7 +20,6 @@ ડોટ 1, 2 અને 3 માટે સ્થિતિ અપડેટ કરી. હવે, તમારા જમણા હાથના ડોટને રેકોર્ડ કરીએ. સ્ક્રીનને તમારા જમણા હાથની વચલી 3 આંગળી વડે ટચ કરીને થોડીવાર દબાવી રાખો. ડોટ 1, 2 અને 3 માટે સ્થિતિ અપડેટ કરી. હવે, તમારા ડાબા હાથના ડોટને રેકોર્ડ કરીએ. સ્ક્રીનને તમારા ડાબા હાથની વચલી 3 આંગળી વડે ટચ કરીને થોડીવાર દબાવી રાખો. ડોટની સ્થિતિ અપડેટ કરી શકાઈ નહીં. સ્ક્રીનને 6 આંગળી વડે ટચ કરીને થોડીવાર દબાવી રાખો. પછી ફરીથી પ્રયાસ કરો. - %s પર સ્વિચ કર્યું બ્રેઇલ કીબોર્ડ બ્રેઇલ કીબોર્ડનું સેટઅપ કરો બ્રેઇલ કીબોર્ડનો ઉપયોગ કેવી રીતે કરવો @@ -27,18 +29,23 @@ <br><br>2. <b>બ્રેઇલ કીબોર્ડનો ઉપયોગ કરો</b>: તમારું નિયમિત કીબોર્ડ ખોલો, પછી કીબોર્ડ પસંદ કરો આઇકન %2$s (જે સામાન્ય રીતે નીચલા જમણા ખૂણા પર હોય છે) પર ટૅપ કરો. \"%1$s\"ને પસંદ કરો. <br><br>જો તમને કીબોર્ડને સ્વિચ કરવાનો વિકલ્પ ન દેખાય, તો %3$s, Google કીબોર્ડને ઇન્સ્ટૉલ કરી જુઓ. સેટિંગ - ટાઇપ કરવાની ભાષાઓ - પસંદગીની ભાષા - આ ફરી બતાવશો નહીં - ટાઇપિંગ કરતી વખતે ઝડપથી ભાષા બદલો - બ્રેઇલ કીબોર્ડ વડે ટાઇપ કરતી વખતે તમારી ભાષા બદલવા માટે, 3 આંગળીઓથી ઉપરની તરફ સ્વાઇપ કરો. પછી \"આગલી ભાષા પર સ્વિચ થાઓ\"ને પસંદ કરો. + ટાઇપ કરવાની ભાષાઓ + યુનિફાઇડ ઇંગ્લીશ બ્રેઇલ + સ્પેનિશ + અરબી + ફ્રેન્ચ + પૉલીશ બધા દબાવેલા ડોટને શામેલ કરો દરેક દબાવેલો ડોટ એ ઇનપુટનો ભાગ છે, પછીથી ભલેને ડોટ, અન્ય ડોટની પહેલાં છોડી દેવામાં આવ્યો હોય ડોટ ઉલટાવો ડોટની જગ્યાની અદલાબદલી કરે છે, જેથી કરીને ડોટ 1 અને 4 સ્થાનની અદલાબદલી કરે, ઉદાહરણ તરીકે બ્રેઇલ કીબોર્ડના વિકલ્પો - આગલી ભાષા પર સ્વિચ થાઓ: %s - હાલમાં આનો ઉપયોગ રહ્યાં છીએ: %s + ટાઇપ કરવાની ભાષા બદલો + હાલમાં %sનો ઉપયોગ રહ્યાં છીએ + ટાઇપ કરવાની ભાષા + %s બ્રેઇલ પર સ્વિચ કરો + સંક્ષિપ્ત + વિસ્તૃત બધા સંકેતોનો રિવ્યૂ કરો ટ્યૂટૉરિઅલ ખોલો ટ્યૂટૉરિઅલ સમાપ્ત કરો @@ -49,15 +56,23 @@ ડિલીટ કરવા માટે, ડાબી બાજુએ સ્વાઇપ કરો કોઈ નવી લાઇન માટે, 2 આંગળી વડે જમણે સ્વાઇપ કરો શબ્દને ડિલીટ કરવા માટે, 2 આંગળી વડે ડાબે સ્વાઇપ કરો - કર્સરને પાછળ ખસેડવા માટે, ઉપરની તરફ સ્વાઇપ કરો - કર્સરને આગળ ખસેડવા માટે, નીચેની તરફ સ્વાઇપ કરો કીબોર્ડને છુપાવવા માટે, 2 આંગળી વડે નીચેની તરફ સ્વાઇપ કરો આગલા કીબોર્ડ પર સ્વિચ કરવા માટે, 3 આંગળી વડે નીચેની તરફ સ્વાઇપ કરો ટેક્સ્ટ સબમિટ કરવા માટે, 2 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરો સહાય અને અન્ય વિકલ્પો માટે, 3 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરો થઈ ગયું + સ્ક્રીન અવે મોડ + તમારી સામે સ્ક્રીનની પાછળનો ભાગ રહે તે રીતે ડિવાઇસને પકડો (સ્ક્રીન અવે મોડ) + ટેબલટોપ મોડ + ડિવાઇસને ટેબલ પર સપાટ રાખો (ટેબલટોપ મોડ) + તમે ડિવાઇસ કેવી રીતે પકડો છો તે મુજબ ફેરફાર કરે છે તમારા ડિવાઇસમાં બ્રેઇલ કીબોર્ડની સુવિધા ઉપલબ્ધ નથી તમારા ડિવાઇસમાં પૂરતાં પ્રમાણમાં ટચ પૉઇન્ટ ઉપલબ્ધ નથી. વધુ માહિતી માટે, તમારા ડિવાઇસના નિર્માતાનો સંપર્ક કરો. + %s ડિલીટ કર્યું + + ડોટ %s + ડોટ %s + બ્રેઇલ કીબોર્ડનો ઉપયોગ કરવા માટે ટૉકબૅક ચાલુ કરો ઍક્સેસિબિલિટી સેટિંગમાં ચાલુ કરો બ્રેઇલ કીબોર્ડનો ઉપયોગ કરવા માટે ટૉકબૅક ફરી શરૂ કરો @@ -71,32 +86,30 @@ હવેથી તમે, નિયમિત ટૉકબૅક સંકેતનો ઉપયોગ કરી શકશો નહીં. બ્રેઇલ કીબોર્ડનો ઉપયોગ કરતી વખતે ટૉકબૅક ઉપલબ્ધ નથી. શરૂ કરવા માટે, તમારા ફોનને એ રીતે પકડો કે તેની સ્ક્રીન તમારાથી દૂર રહે. ચાલુ રાખવા માટે ગમે-ત્યાં બે વાર ટૅપ કરો - અક્ષર \"A\" ટાઇપ કરવા માટે તમારા ડાબા હાથની પહેલી આંગળી વડે ડોટ 1 પર ટૅપ કરો + ડાબી તર્જની + જમણી તર્જની + અક્ષર “A” ટાઇપ કરવા માટે તમારી %1$s વડે ડોટ 1 પર ટૅપ કરો આગળ, અક્ષર B, C અને D ટાઇપ કરી જુઓ અક્ષરને ડિલીટ કરવા માટે, ડાબી બાજુએ સ્વાઇપ કરો સ્પેસ ઉમેરવા માટે, જમણી બાજુએ સ્વાઇપ કરો - કર્સરને પાછળ ખસેડવા માટે, ઉપરની તરફ સ્વાઇપ કરો - કર્સરને આગળ ખસેડવા માટે, નીચેની તરફ સ્વાઇપ કરો કીબોર્ડને છુપાવવા માટે, 2 આંગળી વડે નીચેની તરફ સ્વાઇપ કરો તમારા અન્ય કીબોર્ડ પર સ્વિચ કરવા માટે, 3 આંગળી વડે નીચેની તરફ સ્વાઇપ કરો ટ્યૂટૉરિઅલને સમાપ્ત કરવા માટે, 3 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરો ડિલીટ કરો સ્પેસ - કર્સર પાછળ ખસેડ્યું - કર્સર આગળ ખસેડ્યું કીબોર્ડ છુપાવો આગલું કીબોર્ડ હવેથી તમે, નિયમિત ટૉકબૅક સંકેતનો ઉપયોગ કરી શકશો નહીં. બ્રેઇલ કીબોર્ડનો ઉપયોગ કરતી વખતે ટૉકબૅક ઉપલબ્ધ નથી.\n\n%1$s સૌ પહેલાં, તમારા ફોનને પલટાવો જેથી કરીને સ્ક્રીન તમારાથી દૂર રહે.\n\nત્યાર બાદ, ફોનને આડો ફેરવીને લૅન્ડસ્કેપ સ્થિતિમાં લાવો. તમારા હાથમાં ફોનની ટૂંકી કિનારીઓ પકડમાં આવી જવી જોઈએ. તમારા ડાબા હાથમાં USB પોર્ટ ધરાવતો છેડો હોવો જોઈએ. તમારી 3 વચલી આંગળીને સ્ક્રીન પર મૂકો અને ફોનને પકડવા માટે તમારી ટચલી આંગળી અને અંગુઠાનો ઉપયોગ કરો.\n\nજ્યારે તમે તૈયાર હો, ત્યારે ચાલુ રાખવા માટે સ્ક્રીનને બે વાર ટૅપ કરો.\n\nબ્રેઇલ કીબોર્ડમાંથી બહાર નીકળવા માટે, 3 આંગળી વડે જમીનની તરફ નીચે સ્વાઇપ કરો. આમ કરવાથી તમારા ઑરિજિનલ કીબોર્ડ પર પાછું સ્વિચ થઈ જાય છે. તમારો ફોન ઊભી સ્થિતિમાં છે. ચાલુ રાખવા માટે, તમારા ફોનને આડો ફેરવો જેથી કરીને લાંબી બાજુ તળિયા પર રહે. પછી સ્ક્રીનને તમારાથી દૂર રાખવા માટે પલટાવો. જ્યારે તમે તૈયાર હો, ત્યારે ચાલુ રાખવા માટે સ્ક્રીનને બે વાર ટૅપ કરો. - સ્ક્રીનવાળો ભાગ તમારાથી વિપરિત દિશામાં રાખો. દરેક હાથની વચલી 3 આંગળીઓ સ્ક્રીનને ટચ કરી શકે તે રીતે તમારા ફોનને બન્ને હાથમાં, ફોનની ટૂંકી કિનારીઓ પર પકડો.\n\nતમારી ડાબી તર્જની આંગળી ડોટ 1 પર હોવી જોઈએ. હવે, અક્ષર “A” ટાઇપ કરવા માટે ડોટ 1 પર ટૅપ કરો. - “A” ટાઇપ કરવા માટે તમારી ડાબી તર્જની આંગળી વડે ડોટ 1 પર ટૅપ કરો + ડાબી તર્જની + જમણી તર્જની + સ્ક્રીનવાળો ભાગ તમારી વિપરિત દિશામાં રાખો. દરેક હાથની વચલી 3 આંગળી સ્ક્રીનને ટચ કરી શકે તે રીતે તમારા ફોનને બન્ને હાથમાં, ફોનની ટૂંકી કિનારીઓ બાજુથી પકડો.\n\nતમારી %1$s ડોટ 1 પર હોવી જોઈએ. હવે, અક્ષર “A” ટાઇપ કરવા માટે ડોટ 1 પર ટૅપ કરો. + “A” ટાઇપ કરવા માટે તમારી %1$s વડે ડોટ 1 પર ટૅપ કરો અક્ષર %2$s ટાઇપ કરવા માટે %1$s પર ટૅપ કરો અક્ષરને ડિલીટ કરવા માટે, ડાબી બાજુએ સ્વાઇપ કરો. હમણાં જ અજમાવી જુઓ. d અક્ષર ડિલીટ કર્યો. સ્પેસ ઉમેરવા માટે, જમણી બાજુએ સ્વાઇપ કરો. હમણાં જ અજમાવી જુઓ. - કર્સરને પાછળ ખસેડવા માટે, ઉપરની તરફ સ્વાઇપ કરો. હમણાં જ અજમાવી જુઓ. - કર્સરને આગળ ખસેડવા માટે, નીચેની તરફ સ્વાઇપ કરો. હમણાં જ અજમાવી જુઓ. કીબોર્ડને છુપાવવા માટે, 2 આંગળી વડે નીચેની તરફ સ્વાઇપ કરો. હમણાં જ અજમાવી જુઓ. કીબોર્ડ છુપાવો. સામાન્ય રીતે, આ કીબોર્ડને છુપાવશે. બ્રેઇલ કીબોર્ડ ખુલ્લું રહેશે કારણ કે તમે હજીપણ ટ્યૂટૉરિઅલમાં છો. તમારા અન્ય કીબોર્ડ પર સ્વિચ કરવા માટે, 3 આંગળી વડે નીચેની તરફ સ્વાઇપ કરો. હમણાં જ અજમાવી જુઓ. @@ -114,6 +127,4 @@ અક્ષર ડિલીટ કર્યો શબ્દ ડિલીટ કર્યો ચાલો ત્યારે ટ્યૂટૉરિઅલ ચાલુ કરીએ. %1$s - કોઈ બાહ્ય બ્રેઇલ ડિસ્પ્લે કનેક્ટ કરેલું છે, જેનો ઉપયોગ તમે આ ડિવાઇસમાં ટેક્સ્ટ ટાઇપ કરવા માટે કરી શકો છો.\nઅથવા તમે ટચ સ્ક્રીનના બ્રેઇલ કીબોર્ડ પર કે ઇનપુટની આગલી કોઈ પદ્ધતિ પર સ્વિચ કરી શકો છો. - ટચ સ્ક્રીનવાળા કીબોર્ડ પર સ્વિચ કરો diff --git a/braille/brailleime/src/phone/res/values-hi/strings.xml b/braille/brailleime/src/main/res/values-hi/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-hi/strings.xml rename to braille/brailleime/src/main/res/values-hi/strings.xml index 13e8abda3..0dd94162c 100644 --- a/braille/brailleime/src/phone/res/values-hi/strings.xml +++ b/braille/brailleime/src/main/res/values-hi/strings.xml @@ -5,6 +5,9 @@ टेबलटॉप मोड. अपने डिवाइस के चार्जिंग पोर्ट को बाईं ओर घुमाकर रखें. डॉट की पोज़िशन को कैलिब्रेट करने के लिए, छह उंगलियों का इस्तेमाल करें. कोई और कीबोर्ड चालू नहीं है, कीबोर्ड की सेटिंग पर जाएं ज़्यादा विकल्पों के लिए, ऊपर की ओर तीन उंगलियों से स्वाइप करें + कीबोर्ड को कॉन्ट्रैक्टेड ब्रेल मोड पर स्विच किया गया + कीबोर्ड को अनकॉन्ट्रैक्टेड ब्रेल मोड पर स्विच किया गया + कीबोर्ड को अनकॉन्ट्रैक्टेड यूईबी मोड पर स्विच किया गया ब्रेल कीबोर्ड ब्रेल कीबोर्ड, %s \'टॉकबैक\' से जुड़ा ब्रेल कीबोर्ड - मदद के लिए g.co/help/braille पर जाएं @@ -17,7 +20,6 @@ डॉट 1, 2, और 3 की पोज़िशन कैलिब्रेट हो गई है. अब आपके दाएं हाथ का इस्तेमाल करके डॉट की पोज़िशन को कैलिब्रेट करते हैं. इसके लिए, दाएं हाथ की बीच की तीन उंगलियों से स्क्रीन को दबाकर रखें. डॉट 1, 2, और 3 की पोज़िशन कैलिब्रेट हो गई है. अब आपके बाएं हाथ का इस्तेमाल करके डॉट की पोज़िशन को कैलिब्रेट करते हैं. इसके लिए, बाएं हाथ की बीच की तीन उंगलियों से स्क्रीन को दबाकर रखें. डॉट की पोज़िशन कैलिब्रेट नहीं हो पाई. छह उंगलियों से स्क्रीन को दबाकर रखें. इसके बाद, फिर से कोशिश करें. - अब %s का इस्तेमाल किया जा रहा है ब्रेल कीबोर्ड ब्रेल कीबोर्ड सेट अप करें ब्रेल कीबोर्ड इस्तेमाल करने का तरीका @@ -27,19 +29,24 @@ <br><br>2. <b>ब्रेल कीबोर्ड इस्तेमाल करना</b>: अपना सामान्य कीबोर्ड खोलें. इसके बाद, कीबोर्ड चुनें आइकॉन %2$s (आम तौर पर, सबसे नीचे दाएं काेने में होता है) पर टैप करें. \"%1$s\" चुनें. <br><br>अगर आपको कीबोर्ड स्विच करने का विकल्प नहीं दिखता, तो Google कीबोर्ड, %3$s इंस्टॉल करें. सेटिंग - टाइपिंग के लिए इस्तेमाल की जाने वाली भाषाएं - पसंदीदा भाषा - इसे दोबारा न दिखाएं - टाइप करते समय, भाषा को तेज़ी से बदलें - ब्रेल कीबोर्ड से टाइप करते समय भाषा बदलने के लिए, तीन उंगलियों से ऊपर की ओर स्वाइप करें. इसके बाद, \"अगली भाषा पर स्विच करें\" को चुनें. + टाइपिंग के लिए इस्तेमाल की जाने वाली भाषाएं + यूनिफ़ाइड इंग्लिश ब्रेल + स्पैनिश + अरेबिक + फ़्रेंच + पोलिश दबाए गए सभी बिंदुओं को शामिल करने वाला माेड दबाया गया हर बिंदु इनपुट का हिस्सा है. भले ही, एक बिंदु काे दूसरे बिंदुओं से पहले छाेड़ दिया गया हो बिंदुओं की जगह बदलने वाला माेड इससे बिंदुओं की जगह बदल जाती है. उदाहरण के लिए, बिंदु 1 की जगह बिंदु 4 ले लेता है ब्रेल कीबोर्ड के विकल्प - अगली भाषा पर स्विच करें: %s - फ़िलहाल, %s का इस्तेमाल किया जा रहा है - हाथ के सभी जेस्चर (हाव-भाव) की जांच करें + टाइपिंग के लिए इस्तेमाल की जाने वाली भाषा बदलें + फ़िलहाल, %s का इस्तेमाल कर रहा है + टाइपिंग के लिए इस्तेमाल की जाने वाली भाषा + %s ब्रेल पर स्विच करें + कॉन्ट्रैक्टेड ब्रेल + अनकॉन्ट्रैक्टेड ब्रेल + हाथ के सभी जेस्चर (हाव-भाव) देखें ट्यूटोरियल खोलें ट्यूटोरियल पूरा करें सेटिंग @@ -49,15 +56,23 @@ मिटाने के लिए, बाईं ओर स्वाइप करें नई लाइन जोड़ने के लिए, दो उंगलियों से दाईं ओर स्वाइप करें किसी शब्द को मिटाने के लिए, दो उंगलियों से बाईं ओर स्वाइप करें - कर्सर को पीछे ले जाने के लिए, ऊपर की ओर स्वाइप करें - कर्सर को आगे ले जाने के लिए, नीचे की ओर स्वाइप करें कीबोर्ड छिपाने के लिए, दो उंगलियों से नीचे की ओर स्वाइप करें अगले कीबोर्ड पर जाने के लिए, तीन उंगलियों से नीचे की ओर स्वाइप करें टेक्स्ट सबमिट करने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें मदद पाने और दूसरे विकल्पों के लिए, तीन उंगलियों से ऊपर की ओर स्वाइप करें हो गया + स्क्रीन अवे मोड + डिवाइस को स्क्रीन अवे मोड पर इस्तेमाल करने लिए ऐसे पकड़ें कि उसकी स्क्रीन आपके चेहरे के सामने न रहे + टेबलटॉप मोड + डिवाइस को टेबलटॉप मोड पर इस्तेमाल करने के लिए उसे सीधे लेटाकर रखें + डिवाइस को पकड़ने का अपना तरीका तय करें आपके डिवाइस पर ब्रेल कीबोर्ड काम नहीं करता आपके डिवाइस पर इतने टच पॉइंट काम नहीं करते. ज़्यादा जानकारी के लिए डिवाइस बनाने वाली कंपनी से संपर्क करें. + %s को मिटाया गया + + बिंदु %s + बिंदु %s + ब्रेल कीबोर्ड इस्तेमाल करने के लिए \'टॉकबैक\' चालू करें \'सुलभता सेटिंग\' में जाकर, इसे चालू करें ब्रेल कीबोर्ड इस्तेमाल करने के लिए, टॉकबैक की सुविधा फिर से चालू करें @@ -71,32 +86,30 @@ अब आप, \'टॉकबैक\' के सामान्य \'हाथ के जेस्चर (हाव-भाव)\' इस्तेमाल नहीं कर पाएंगे. ब्रेल कीबोर्ड इस्तेमाल करते समय \'टॉकबैक\' उपलब्ध नहीं होता. शुरू करने के लिए, अपने फ़ोन को इस तरह पकड़ें कि स्क्रीन आपके चेहरे के बिल्कुल सामने न हो. जारी रखने के लिए, स्क्रीन पर कहीं भी दो बार टैप करें - \"A\" लिखने के लिए, बाएं हाथ के अंगूठे के पास वाली उंगली से, बिंदु 1 पर टैप करें + बाएं हाथ के अंगूठे के पास वाली उंगली + दाएं हाथ के अंगूठे के पास वाली उंगली + \"A\" लिखने के लिए, %1$s से बिंदु 1 पर टैप करें इसके बाद, B, C, और D लिखें किसी अक्षर को मिटाने के लिए, बाईं ओर स्वाइप करें स्पेस जोड़ने के लिए, दाईं ओर स्वाइप करें - कर्सर को पीछे ले जाने के लिए, ऊपर की ओर स्वाइप करें - कर्सर को आगे ले जाने के लिए, नीचे की ओर स्वाइप करें कीबोर्ड छिपाने के लिए, दो उंगलियों से नीचे की ओर स्वाइप करें किसी दूसरे कीबोर्ड पर जाने के लिए, तीन उंगलियों से नीचे की ओर स्वाइप करें ट्यूटोरियल खत्म करने के लिए, तीन उंगलियों से ऊपर की ओर स्वाइप करें अक्षर मिटाएं स्पेस दें - कर्सर को पीछे ले जाया गया - कर्सर को आगे ले जाया गया कीबोर्ड छिपाएं अगले कीबोर्ड पर जाएं अब आप, \'टॉकबैक\' के सामान्य \'हाथ के जेस्चर (हाव-भाव)\' इस्तेमाल नहीं कर पाएंगे. ब्रेल कीबोर्ड इस्तेमाल करते समय \'टॉकबैक\' उपलब्ध नहीं होता.\n\n%1$s सबसे पहले, फ़ोन को इस तरह पलटें कि उसकी स्क्रीन आपके सामने न रहे.\n\nइसके बाद, फ़ोन को हॉरिज़ॉन्टली घुमाएं, ताकि वह लैंडस्केप स्थिति में आ जाए. फ़ोन को मज़बूती से पकड़ें. फ़ोन के यूएसबी पोर्ट वाले सिरे को दाएं हाथ से पकड़ें. अपने हाथ की बीच की तीन उंगलियां स्क्रीन पर रखें और बाकी दो उंगलियों से फ़ोन संभालें.\n\nजब आप तैयार हों, तो आगे बढ़ने के लिए स्क्रीन पर दो बार टैप करें.\n\nब्रेल कीबोर्ड से बाहर आने के लिए, तीन उंगलियों से नीचे की ओर स्वाइप करें. इससे आप अपने मुख्य कीबोर्ड पर वापस आ जाएंगे. आपका फ़ोन वर्टिकल स्थिति में है. आगे बढ़ने के लिए, अपने फ़ोन को हॉरिज़ॉन्टल स्थिति में लाएं, ताकि उसकी लंबी साइड नीचे की तरफ़ आ जाए. इसके बाद, स्क्रीन को इस तरह घुमाएं कि वह आपके चेहरे के बिल्कुल सामने न रहे. जब आप तैयार हों, तो आगे बढ़ने के लिए स्क्रीन पर दो बार टैप करें. - स्क्रीन को अपने चेहरे के बिल्कुल सामने न रखें. अपने फ़ोन को दोनों हाथों से इस तरह पकड़ें, ताकि दाेनाें हाथ के बीच की तीन उंगलियां स्क्रीन को छू सकें.\n\nआपके बाएं हाथ के अंगूठे के पास वाली उंगली, बिंदु 1 पर होनी चाहिए. अब, “A” लिखने के लिए बिंदु 1 पर टैप करें. - \"A\" लिखने के लिए, बाएं हाथ के अंगूठे के पास वाली उंगली से, बिंदु 1 पर टैप करें + बाएं हाथ के अंगूठे के पास वाली उंगली + दाएं हाथ के अंगूठे के पास वाली उंगली + स्क्रीन को इस तरह पलटें कि यह आपके चेहरे की तरफ़ न रहे. अपने फ़ोन को दोनों हाथों से इस तरह पकड़ें कि दाेनाें हाथों की बीच की तीन उंगलियां स्क्रीन को छू सकें.\n\nआपकी %1$s, बिंदु 1 पर होनी चाहिए. अब, “A” लिखने के लिए बिंदु 1 पर टैप करें. + \"A\" लिखने के लिए, %1$s से बिंदु 1 पर टैप करें %2$s लिखने के लिए %1$s पर टैप करें किसी अक्षर को मिटाने के लिए बाईं ओर स्वाइप करें. इसे अभी आज़माएं. d अक्षर मिटाया गया. स्पेस जोड़ने के लिए, दाईं ओर स्वाइप करें. इसे अभी आज़माएं. - कर्सर को पीछे ले जाने के लिए, ऊपर की ओर स्वाइप करें. इसे अभी आज़माएं. - कर्सर को आगे ले जाने के लिए, नीचे की ओर स्वाइप करें. इसे अभी आज़माएं. कीबोर्ड छिपाने के लिए, दो उंगलियों से नीचे की ओर स्वाइप करें. इसे अभी आज़माएं. कीबोर्ड छिपाएं. आम तौर पर, ऐसा करने से कीबोर्ड छिप जाता है. हालांकि, ब्रेल कीबोर्ड खुला रहेगा, क्योंकि आप अब भी ट्यूटोरियल देख रहे हैं. किसी दूसरे कीबोर्ड पर जाने के लिए, तीन उंगलियों से नीचे की ओर स्वाइप करें. इसे अभी आज़माएं. @@ -114,6 +127,4 @@ अक्षर मिटाया गया शब्द मिटाया गया ट्यूटोरियल जारी रखें. %1$s - इस डिवाइस पर टाइप करने के लिए, एक बाहरी ब्रेल प्रदर्शन कनेक्ट किया गया है.\nइसके अलावा, ब्रेल कीबोर्ड या इनपुट के किसी दूसरे तरीके पर भी स्विच किया जा सकता है. - टचस्क्रीन कीबोर्ड पर स्विच करें diff --git a/braille/brailleime/src/phone/res/values-hr/strings.xml b/braille/brailleime/src/main/res/values-hr/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-hr/strings.xml rename to braille/brailleime/src/main/res/values-hr/strings.xml index d58933418..8284d154c 100644 --- a/braille/brailleime/src/phone/res/values-hr/strings.xml +++ b/braille/brailleime/src/main/res/values-hr/strings.xml @@ -5,6 +5,9 @@ Stolni način. Položite uređaj tako da je priključak za punjenje lijevo. Da biste ažurirali položaj točaka, položite šest prstiju na zaslon. Nije omogućena nijedna druga tipkovnica, idite na postavke tipkovnice Za više opcija prijeđite prema gore s tri prsta + Prebačeno na brajični kratkopis + Prebačeno na punu brajicu + Prebačeno na UEB s punim pismom brajična tipkovnica brajična tipkovnica, %s TalkBackova brajična tipkovnica – pomoć potražite na stranici g.co/help/braille @@ -17,7 +20,6 @@ Ažurirani su položaji točaka 1, 2 i 3. Zatim ćemo snimiti točke desne ruke. Dodirnite zaslon sa srednja tri prsta desne ruke i zadržite pritisak. Ažurirani su položaji točaka 1, 2 i 3. Zatim ćemo snimiti točke lijeve ruke. Dodirnite zaslon sa srednja tri prsta lijeve ruke i zadržite pritisak. Ažuriranje položaja točaka nije uspjelo. Dodirnite zaslon pomoću šest prstiju i zadržite pritisak. Zatim pokušajte ponovo. - Prešli ste na brajicu %s Brajična tipkovnica Postavljanje brajične tipkovnice Kako se koristi brajična tipkovnica @@ -27,18 +29,23 @@ <br><br>2. <b>Koristite brajičnu tipkovnicu</b>: otvorite svoju uobičajenu tipkovnicu, a zatim dodirnite ikonu za odabir tipkovnice %2$s (obično u donjem desnom kutu). Odaberite \"%1$s\". <br><br>Ako ne vidite opciju za promjenu tipkovnice, pokušajte instalirati %3$s, Googleovu tipkovnicu. Postavke - Jezici pisanja - Željeni jezik - Ne prikazuj to ponovo - Brza promjena jezika tijekom pisanja - Da biste promijenili jezik tijekom upotrebe brajične tipkovnice, prijeđite trima prstima prema gore. Zatim odaberite \"Prijeđi na sljedeći jezik\". + Jezici za tipkanje + Unificirana brajica za engleski jezik + španjolski + arapski + francuski + poljski Uključi sve pritisnute točke Svaka pritisnuta točka dio je unosa, čak i ako se otpusti prije drugih točaka Obrni točke Zamjenjuju se položaji točaka, na primjer točke 1 i 4 zamjenjuju mjesta Opcije brajične tipkovnice - Prijeđi na sljedeći jezik: %s - Trenutačno upotrebljavate: %s + Promjena jezika pisanja + Trenutačno upotrebljavate %s + Jezik pisanja + Prijeđi na %s brajicu + kratkopisnu + punu Pregledajte sve pokrete Otvori vodič Zatvori vodič @@ -49,15 +56,24 @@ Da biste izbrisali, prijeđite prstom ulijevo Da biste prešli u novi redak, prijeđite udesno s dva prsta Da biste izbrisali riječ, prijeđite ulijevo s dva prsta - Da biste pomaknuli pokazivač unatrag, prijeđite prstom prema gore - Da biste pomaknuli pokazivač unaprijed, prijeđite prstom prema dolje Da biste sakrili tipkovnicu, prijeđite prema dolje s dva prsta Da biste prešli na sljedeću tipkovnicu, prijeđite prema dolje s tri prsta Da biste poslali tekst, prijeđite prema gore s dva prsta Da biste pristupili pomoći i drugim opcijama, prijeđite prema gore s tri prsta Gotovo + Zaslon prema dolje + Držite uređaj sa zaslonom prema dolje (zaslon prema dolje) + Stolni način + Položite uređaj na stol (stolni način) + Prilagodite načinu na koji držite uređaj Vaš uređaj ne podržava brajičnu tipkovnicu Vaš uređaj ne podržava dovoljno dodirnih točaka. Za više informacija obratite se proizvođaču uređaja. + Izbrisano: %s + + točke %s + točke %s + točke %s + Uključite TalkBack da biste koristili brajičnu tipkovnicu Uključi u postavkama pristupačnosti Ponovo pokrenite TalkBack da biste koristili brajičnu tipkovnicu @@ -71,32 +87,30 @@ Odsad nećete moći koristiti uobičajene pokrete za TalkBack. TalkBack nije dostupan tijekom upotrebe brajične tipkovnice. Za početak telefon držite ovako, tako da je zaslon okrenut od vas. Dodirnite dvaput bilo gdje da biste nastavili - Dodirnite točku 1 lijevim kažiprstom da biste napisali slovo \"A\" + lijevim kažiprstom + desnim kažiprstom + Dodirnite točku 1 %1$s da biste unijeli slovo \"A\" Zatim pokušajte napisati slova B, C i D Da biste izbrisali slovo, prijeđite prstom ulijevo Da biste dodali razmak, prijeđite prstom udesno - Da biste pomaknuli pokazivač unatrag, prijeđite prstom prema gore - Da biste pomaknuli pokazivač unaprijed, prijeđite prstom prema dolje Da biste sakrili tipkovnicu, prijeđite prema dolje s dva prsta Da biste prešli na drugu tipkovnicu, prijeđite prema dolje s tri prsta Da biste zatvorili vodič, prijeđite prema gore s tri prsta IZBRIŠI RAZMAK - POKAZIVAČ JE POMAKNUT UNATRAG - POKAZIVAČ JE POMAKNUT UNAPRIJED SAKRIJTE TIPKOVNICU SLJEDEĆA TIPKOVNICA Odsad nećete moći koristiti uobičajene pokrete za TalkBack. TalkBack nije dostupan tijekom upotrebe brajične tipkovnice.\n\n%1$s Najprije okrenite telefon tako da je zaslon okrenut od vas.\n\nZatim zakrenite telefon horizontalno u vodoravni položaj. Rukama biste trebali obuhvaćati kraće krajeve telefona. Desnom rukom trebali biste držati kraj USB priključka. Srednja tri prsta položite na zaslon, a malim prstom i placem pridržavajte telefon.\n\nKad budete spremni, dvaput dodirnite zaslon da biste nastavili.\n\nDa biste zatvorili brajičnu tipkovnicu, s tri prsta prijeđite prema tlu. Time ćete se vratiti na izvornu tipkovnicu. Telefon vam je u okomitom položaju. Da biste nastavili, zakrenite telefon horizontalno tako da dulji kraj bude dolje. Zatim okrenite zaslon od sebe. Kad budete spremni, dvaput dodirnite zaslon da biste nastavili. - Neka zaslon ostane okrenut od vas. Držite telefon s obje ruke, na kraćim rubovima telefona, tako da srednja tri prsta svake ruke mogu dodirivati zaslon.\n\nLijevi kažiprst treba biti na točki 1. Sad dodirnite točku 1 da biste napisali slovo \"A\". - Dodirnite točku 1 lijevim kažiprstom da biste napisali \"A\" + lijevi kažiprst + desni kažiprst + Neka zaslon ostane okrenut od vas. Držite telefon s obje ruke, na kraćim rubovima telefona, tako da srednja tri prsta svake ruke mogu dodirivati zaslon.\n\nVaš %1$s treba biti na točki 1. Sad dodirnite točku 1 da biste napisali slovo \"A\". + Dodirnite točku 1 %1$s da biste napisali \"A\" Dodirnite %1$s da biste napisali slovo %2$s Da biste izbrisali slovo, prijeđite prstom ulijevo. Isprobajte odmah. Slovo a je izbrisano. Da biste dodali razmak, prijeđite prstom udesno. Isprobajte odmah. - Da biste pomaknuli pokazivač unatrag, prijeđite prstom prema gore. Isprobajte odmah. - Da biste pomaknuli pokazivač unaprijed, prijeđite prstom prema dolje. Isprobajte odmah. Da biste sakrili tipkovnicu, prijeđite prema dolje s dva prsta. Isprobajte odmah. Sakrijte tipkovnicu. To će obično sakriti tipkovnicu. Brajična tipkovnica ostat će otvorena jer je još uvijek otvoren i vodič. Da biste prešli na drugu tipkovnicu, prijeđite prema dolje s tri prsta. Isprobajte odmah. @@ -114,6 +128,4 @@ Slovo izbrisano Riječ izbrisana Nastavimo s vodičem. %1$s - Povezan je vanjski brajev redak koji možete upotrebljavati za unos teksta na uređaju.\nMožete se i prebaciti na brajevu tipkovnicu na dodirnom zaslonu ili sljedeći način unosa. - Prebacite se na tipkovnicu na dodirnom zaslonu diff --git a/braille/brailleime/src/phone/res/values-hu/strings.xml b/braille/brailleime/src/main/res/values-hu/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-hu/strings.xml rename to braille/brailleime/src/main/res/values-hu/strings.xml index 0538ddc9f..14e94a0b7 100644 --- a/braille/brailleime/src/phone/res/values-hu/strings.xml +++ b/braille/brailleime/src/main/res/values-hu/strings.xml @@ -5,6 +5,9 @@ „Vízszintes“ mód. Fordítsa eszközét úgy, hogy a töltőport balra nézzen. A pontok helyzetének módosításához tartsa lenyomva hat ujját. Nincs másik engedélyezett billentyűzet. Nyissa meg a billentyűzetbeállításokat Csúsztassa felfelé három ujját a további lehetőségekért + Rövidített Braille-re váltott + Teljes Braille-re váltott + Nem összevont UEB-re váltott Braille-billentyűzet Braille-billentyűzet, %s TalkBack Braille-billentyűzet – segítségért keresse fel a g.co/help/braille oldalt @@ -17,7 +20,6 @@ Az 1., 2. és 3. pont helyzete módosítva. Ezután rögzítse a jobb kezénél lévő pontokat. Tartsa lenyomva a képernyőt jobb kezének három középső ujjával. Az 1., 2. és 3. pont helyzete módosítva. Ezután rögzítse a bal kezénél lévő pontokat. Tartsa lenyomva a képernyőt bal kezének három középső ujjával. Nem sikerült módosítani a pontok helyzetét. Tartsa hat ujját lenyomva a képernyőn. Ezután próbálja újra. - Átváltva %s nyelvre Braille-billentyűzet Braille-billentyűzet beállítása A Braille-billentyűzet használata @@ -27,18 +29,23 @@ <br><br>2. <b>A Braille-billentyűzet használata</b>: Nyissa meg a hagyományos billentyűzetet, majd koppintson a Billentyűzetválasztás %2$s ikonra (ez általában a jobb alsó sarokban látható). Válassza a következőt: „%1$s”. <br><br>Ha nem látja a billentyűzetváltót, próbálkozzon a %3$s, a Google billentyűzet telepítésével. Beállítások - Gépelési nyelvek - Előnyben részesített nyelv - Ne jelenjen meg többé - Nyelv gyors módosítása gépelés közben - Ha módosítani szeretné a nyelvet a braille-billentyűzeten való gépelés során, gyorsan csúsztassa felfelé három ujját, majd koppintson a „Váltás a következő nyelvre“ lehetőségre. + Gépelési nyelvek + Egységesített angol Braille + spanyol + Arab + francia + lengyel Az összes lenyomott pontot tartalmazza Az összes lenyomott pont része a bevitelnek, akkor is, ha az adott pontot más pontok előtt felengedi Pontok megfordítása A pontok pozíciójának megcserélésére, pl. az 1. és a 4. pont cseréjével Braille-billentyűzet beállításai - Váltás a következő nyelvre: %s - Jelenleg használt: %s + A gépelés nyelvének megváltoztatása + Jelenleg használt: %s + Gépelés nyelve + Váltás %s Braille-re + rövidített + teljes Összes kézmozdulat áttekintése Útmutató megnyitása Útmutató befejezése @@ -49,15 +56,23 @@ Törléshez csúsztasson balra. Új sor beszúrásához csúsztasson jobbra két ujjal Szó törléséhez csúsztasson balra két ujjal. - A kurzor visszafelé mozgatásához gyorsan csúsztasson felfelé - A kurzor előrefelé mozgatásához gyorsan csúsztasson lefelé A billentyűzet elrejtéséhez csúsztasson lefelé két ujjal A következő billentyűzetre váltáshoz csúsztasson lefelé három ujjal. Szöveg küldéséhez csúsztasson felfelé két ujjal. A súgó és a további lehetőségek megnyitásához csúsztasson felfelé három ujjal. Kész + „Elfordított képernyő” mód + Tartsa úgy az eszközt, hogy a hátlapja nézzen Ön felé („elfordított képernyő” mód). + Vízszintes mód + Fektesse az asztalra az eszközt („vízszintes” mód). + Igazítás az eszköz tartásához Eszköze nem támogatja a Braille-billentyűzetet Eszköze nem támogat elegendő érintési pontot. Ha további információt szeretne kapni, lépjen kapcsolatba eszköze gyártójával. + %s törölve + + az %s. pontra + a %s. pontra + A TalkBack funkció bekapcsolása a Braille-billentyűzet használatához Bekapcsolás a Kisegítő lehetőségek beállításaiban A Braille-billentyűzet használatához folytassa a TalkBack használatát @@ -71,32 +86,30 @@ Mostantól nem tudja használni a hagyományos TalkBack-kézmozdulatokat. A TalkBack nem áll rendelkezésre a Braille-billentyűzet használata közben. A kezdéshez tartsa így a telefonját, a telefon hátlapja nézzen Ön felé. Koppintson bárhol duplán a folytatáshoz. - Koppintson az 1. pontra bal mutatóujjával az „A” betű beírásához. + bal mutatóujja + jobb mutatóujja + Az „A” betű beírásához koppintson az 1. pontra %1$s használatával Ezután próbálkozzon meg a B, a C, és a D betű beírásával. Betű törléséhez csúsztasson balra. Szóköz beírásához csúsztasson jobbra. - A kurzor visszafelé mozgatásához gyorsan csúsztasson felfelé - A kurzor előrefelé mozgatásához gyorsan csúsztasson lefelé A billentyűzet elrejtéséhez csúsztasson lefelé két ujjal. A másik billentyűzetre való váltáshoz csúsztasson lefelé három ujjal. Az útmutató befejezéséhez csúsztasson felfelé három ujjal. TÖRLÉS SZÓKÖZ - KURZOR VISSZAFELÉ MOZGATVA - KURZOR ELŐREFELÉ MOZGATVA BILLENTYŰZET ELREJTÉSE KÖVETKEZŐ BILLENTYŰZET Mostantól nem tudja használni a hagyományos TalkBack-kézmozdulatokat. A Braille-billentyűzet használatakor a TalkBack funkció nem áll rendelkezésre.\n\n%1$s Kezdésként fordítsa úgy a telefonját, hogy a hátlapja nézzen Ön felé.\n\nEzután fordítsa el a telefont fekvő pozícióba. A telefon rövidebb oldalait fogja közben. Jobb keze a telefon USB-csatlakozó felőli végén legyen. A három középső ujját tartsa a képernyőn, kis- és hüvelykujjával pedig tartsa a telefont.\n\nAmikor készen áll, koppintson duplán a képernyőn a folytatáshoz.\n\nA Braille-billentyűzet elhagyásához csúsztasson a talaj felé három ujjal. Ezzel visszavált az eredeti billentyűzetére. Telefonja függőleges pozícióban van. A folytatáshoz fordítsa vízszintes helyzetbe úgy, hogy a hosszabb oldala legyen alul. Ezután fordítsa meg a képernyőt, úgy, hogy a telefon hátlapja nézzen Ön felé. Amikor készen áll, koppintson duplán a képernyőn a folytatáshoz. - Továbbra is a képernyő hátlapja nézzen Ön felé. Két kezével tartsa a telefon rövid oldalait úgy, hogy mindkét kezének három középső ujjával meg tudja érinteni a képernyőt.\n\nA bal mutatóujjának az 1. ponton kell lennie. Koppintson az 1. pontra az „A” betű beírásához. - Koppintson bal mutatóujjával az 1. pontra az „A” betű beírásához. + bal mutatóujja + jobb mutatóujja + Továbbra is a képernyő hátlapja nézzen Ön felé. Két kezével tartsa a telefon rövid oldalait úgy, hogy mindkét kezének három középső ujjával meg tudja érinteni a képernyőt.\n\nA %1$s az 1. ponton legyen. Koppintson az 1. pontra az „A” betű beírásához. + Az „A” betű beírásához koppintson az 1. pontra %1$s használatával Koppintson %1$s a következő betű beírásához: %2$s. Betű törléséhez csúsztasson balra. Próbálja ki most. „d” törölve. Szóköz beírásához csúsztasson jobbra. Próbálja ki most. - A kurzor visszafelé mozgatásához gyorsan csúsztasson felfelé. Próbálja ki. - A kurzor előrefelé mozgatásához gyorsan csúsztasson lefelé. Próbálja ki. A billentyűzet elrejtéséhez csúsztasson lefelé két ujjal. Próbálja ki most. Billentyűzet elrejtése. Ez általában elrejti a billentyűzetet. A Braille-billentyűzet továbbra is nyitva marad, mert ez még mindig az útmutató része. A másik billentyűzetre való váltáshoz csúsztasson lefelé három ujjal. Próbálja ki most. @@ -114,6 +127,4 @@ Betű törölve Szó törölve Folytassuk az útmutatót. %1$s - Külső Braille-kijelzőt csatlakoztatott, amelynek segítségével gépelhet ezen az eszközön.\nÚgy is dönthet, hogy az érintőképernyős Braille-billentyűzetre, vagy a következő beviteli módszerre vált. - Váltás az érintőképernyős billentyűzetre diff --git a/braille/brailleime/src/phone/res/values-hy/strings.xml b/braille/brailleime/src/main/res/values-hy/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-hy/strings.xml rename to braille/brailleime/src/main/res/values-hy/strings.xml index 5e27ca3c5..c29af906a 100644 --- a/braille/brailleime/src/phone/res/values-hy/strings.xml +++ b/braille/brailleime/src/main/res/values-hy/strings.xml @@ -5,6 +5,9 @@ Սեղանի ռեժիմ։ Դրեք ձեր սարքը լիցքավորման միացքով դեպի ձախ։ Կետերի դիրքը թարմացնելու համար 6 մատը սեղմած պահեք էկրանին։ Ոչ մի ստեղնաշար միացված չէ։ Անցեք ստեղնաշարի կարգավորումներ։ Այլ տարբերակների համար 3 մատը սահեցրեք էկրանի վրայով + Միացված է բրայլյան ստեղնաշարի կրճատված ռեժիմը + Միացված է բրայլյան ստեղնաշարի հիմնական ռեժիմը + Անցում կատարվեց UEB ստեղնաշարի հիմնական ռեժիմին Բրայլյան ստեղնաշար Բրայլյան ստեղնաշար, %s TalkBack-ի բրայլյան ստեղնաշարի մասին մանրամասն տեղեկությունների համար անցեք g.co/help/braille էջ։ @@ -17,7 +20,6 @@ Թարմացված դիրքեր կետ 1, 2 և 3-ի համար։ Հաջորդը գրանցեք աջ ձեռքի կետերը։ Աջ ձեռքի մեջտեղի 3 մատով սեղմած պահեք էկրանը։ Թարմացված դիրքեր կետ 1, 2 և 3-ի համար։ Հաջորդը գրանցեք ձախ ձեռքի կետերը։ Ձախ ձեռքի մեջտեղի 3 մատով սեղմած պահեք էկրանը։ Չհաջողվեց թարմացնել կետերի դիրքը։ Հպեք էկրանին և պահեք 6 մատով։ Այնուհետև նորից փորձեք։ - Անցում կատարվեց %s լեզվին Բրայլյան ստեղնաշար Բրայլյան ստեղնաշարի կարգավորում Ինչպես օգտագործել բրայլյան ստեղնաշարը @@ -27,18 +29,23 @@ <br><br>2. <b>Մուտքագրեք բրայլյան ստեղնաշարի միջոցով։</b> Բացեք ձեր սովորական ստեղնաշարը, ապա հպեք ստեղնաշարի ընտրության %2$s պատկերակին (սովորաբար գտնվում է ներքևի աջ անկյունում)։ Ընտրեք «%1$s»։ <br><br>Եթե չեք տեսնում ստեղնաշարի ընտրության կոճակը, փորձեք տեղադրել %3$s-ը՝ Google ստեղնաշարը։ Կարգավորումներ - Մուտքագրման լեզուներ - Նախընտրած լեզու - Այլևս ցույց չտալ - Արագ փոխեք լեզուն տեքստ մուտքագրելիս - Բրայլյան ստեղնաշարով տեքստ մուտքագրելիս լեզուն փոխելու համար 3 մատը սահեցրեք վերև, ապա ընտրեք «անցնել հաջորդ լեզվին»։ + Մուտքագրման լեզուներ + Unified English Braille + իսպաներեն + արաբերեն + ֆրանսերեն + լեհերեն Ներառել սեղմված բոլոր կետերը Մուտքագրելիս ներառել սեղմված բոլոր կետերը, նույնիսկ եթե մի կետը բաց է թողնվել մյուսից առաջ։ Կետերի հակառակ հերթականություն Փոխարինել կետերը՝ օրինակ այնպես, որ 1-ն ու 4-ը տեղերով փոխվեն Բրայլյան ստեղնաշարի տարբերակներ - Անցնել հաջորդ լեզվին՝ %s - Ներկայումս օգտագործվում է՝ %s + Փոխել տեքստի ներածման լեզուն + Ներկայումս օգտագործում է՝ %s + Տեքստի ներածման լեզուն + Անցնել բրայլյան %s ստեղնաշարին + կրճատված + հիմնական Դիտել բոլոր ժեստերը Բացել ուղեցույցը Դուրս գալ ուղեցույցից @@ -49,15 +56,23 @@ Ջնջելու համար մատը սահեցրեք ձախ Նոր տող ավելացնելու համար 2 մատը սահեցրեք աջ Բառը ջնջելու համար 2 մատը սահեցրեք ձախ - Նշորդը հետ տեղաշարժելու համար սահեցրեք մատը վերև - Նշորդն առաջ տեղաշարժելու համար սահեցրեք մատը ներքև Ստեղնաշարը թաքցնելու համար 2 մատը սահեցրեք ներքև Հաջորդ ստեղնաշարին անցնելու համար 3 մատը սահեցրեք ներքև Տեքստ ուղարկելու համար 2 մատը սահեցրեք վեր Օգնություն ստանալու և այլ պարամետրերի համար 3 մատը սահեցրեք վեր Պատրաստ է + Շրջած էկրանի ռեժիմ + Սարքը բռնեք էկրանը ձեզնից շրջած կողմով (շրջած էկրանի ռեժիմ) + Սեղանի ռեժիմ + Սարքը դրեք սեղանին (սեղանի ռեժիմ) + Շրջել ձեռքումս սարքի դիրքին համապատասխան Ձեր սարքում չի աջակցվում բրայլյան ստեղնաշար Ձեր սարքում սեղմման կետերի քանակը բավարար չէ։ Լրացուցիչ տեղեկությունների համար կապվեք սարքի արտադրողի հետ։ + Տեքստը (%s) ջնջվեց + + կետեր %s + կետեր %s + Բրայլյան ստեղնաշարն օգտագործելու համար միացրեք TalkBack-ը Միացրեք այն հատուկ գործառույթների կարգավորումներում Բրայլյան ստեղնաշարն օգտագործելու համար նորից միացրեք TalkBack-ը @@ -71,32 +86,30 @@ Դուք այժմ չեք կարող օգտագործել TalkBack-ի սովորական ժեստերը։ Բրայլյան ստեղնաշարն օգտագործելու ժամանակ TalkBack-ը հասանելի չէ։ Պտտեք հեռախոսի էկրանը հակառակ ուղղությամբ և բռնեք այնպես, ինչպես ցուցադրված է նկարում։ Կրկնակի հպեք՝ շարունակելու համար - A տառը մուտքագրելու համար ձախ ձեռքի ցուցամատով հպեք կետ 1-ին + ձախ ձեռքի ցուցամատ + աջ ձեռքի ցուցամատ + A տառը մուտքագրելու համար %1$sով հպեք կետ 1-ին։ Ապա փորձեք մուտքագրել B, C և D տառերը Տառը ջնջելու համար մատը սահեցրեք ձախ Բացատ ավելացնելու համար մատը սահեցրեք աջ - Նշորդը հետ տեղաշարժելու համար սահեցրեք մատը վերև - Նշորդն առաջ տեղաշարժելու համար սահեցրեք մատը ներքև Ստեղնաշարը թաքցնելու համար 2 մատը սահեցրեք ներքև Հաջորդ էկրան անցնելու համար 3 մատը սահեցրեք ներքև Ուղեցույցը փակելու համար 3 մատը սահեցրեք վերև ՋՆՋԵԼ ԲԱՑԱՏ - ՆՇՈՐԴԸ ՏԵՂԱՓՈԽՎԵՑ ՀԵՏ - ՆՇՈՐԴԸ ՏԵՂԱՓՈԽՎԵՑ ԱՌԱՋ ԹԱՔՑՆԵԼ ՍՏԵՂՆԱՇԱՐԸ ՀԱՋՈՐԴ ՍՏԵՂՆԱՇԱՐԸ Դուք այժմ չեք կարող օգտագործել TalkBack-ի սովորական ժեստերը։ Բրայլյան ստեղնաշարն օգտագործելու ժամանակ TalkBack-ը հասանելի չէ։\n\n%1$s Նախ պտտեք հեռախոսի էկրանը հակառակ ուղղությամբ։\n\nԱյնուհետև փոխեք հեռախոսի դիրքը հորիզոնականի՝ բռնելով դրա երկու կարճ եզրերից։ Աջ ձեռքով պետք է բռնած լինեք USB միացքով եզրը։ Ձեր ցուցամատը, միջնամատն ու մատնեմատը միաժամանակ հպեք էկրանին՝ պահելով հեռախոսը ճկույթով և բութ մատով։\n\nԵրբ պատրաստ լինեք շարունակել, կրկնակի հպեք էկրանին։\n\nԲրայլյան ստեղնաշարը փակելու համար 3 մատը սահեցրեք վերևից ներքև (դեպի հատակը)։ Այդպիսով դուք կանցնեք սովորական ստեղնաշարին։ Հեռախոսը ուղղաձիգ դիրքով է։ Շարունակելու համար հեռախոսը բռնեք հորիզոնական դիրքով։ Ապա պտտեք հեռախոսը հակառակ ուղղությամբ։ Երբ պատրաստ լինեք, շարունակելու համար կրկնակի հպեք էկրանին։ - Պահեք հեռախոսը հակառակ ուղղությամբ։ Բռնեք հեռախոսի երկու կարճ եզրերից այնպես, որ ցուցամատով, միջնամատով և մատնեմատով միաժամանակ կարողանաք հպել էկրանին։\n\nՁախ ձեռքի ցուցամատը պետք է գտնվի կետ 1-ի վրա։ A տառը մուտքագրելու համար հպեք կետ 1-ին։ - A տառը մուտքագրելու համար ձախ ձեռքի ցուցամատով հպեք կետ 1-ին։ + ձախ ձեռքի ցուցամատ + աջ ձեռքի ցուցամատ + Պահեք հեռախոսը հակառակ ուղղությամբ։ Բռնեք հեռախոսի երկու կարճ եզրերից այնպես, որ ցուցամատով, միջնամատով և մատնեմատով միաժամանակ կարողանաք հպել էկրանին։\n\nՁեր %1$sը պետք է գտնվի կետ 1-ի վրա։ A տառը մուտքագրելու համար հպեք կետ 1-ին։ + A տառը մուտքագրելու համար %1$sով հպեք կետ 1-ին։ %2$s տառը մուտքագրելու համար հպեք կետ %1$s-ին Տառը ջնջելու համար մատը սահեցրեք ձախ։ Փորձեք հիմա։ d տառը ջնջվեց։ Բացատ ավելացնելու համար մատը սահեցրեք աջ։ Փորձեք հիմա։ - Նշորդը հետ տեղաշարժելու համար սահեցրեք մատը վերև։ Փորձեք հիմա։ - Նշորդն առաջ տեղաշարժելու համար սահեցրեք մատը ներքև։ Փորձեք հիմա։ Ստեղնաշարը թաքցնելու համար 2 մատը սահեցրեք ներքև։ Փորձեք հիմա։ Թաքցնել ստեղնաշարը։ Այս գործողությամբ սովորաբար կարելի է փակել ստեղնաշարը։ Այս անգամ բրայլյան ստեղնաշարը բացված կմնա, քանի որ դուք դեռ ուղեցույցում եք։ Հաջորդ էկրան անցնելու համար 3 մատը սահեցրեք ներքև։ Փորձեք հիմա։ @@ -114,6 +127,4 @@ Տառը ջնջվեց Բառը ջնջվեց Վերադարձեք ուղեցույցին։ %1$s - Կապ է հաստատվել արտաքին բրայլյան էկրանի հետ, որը դուք կարող եք օգտագործել այս սարքում տեքստ մուտքագրելու համար։\nԴուք նաև կարող եք անցնել հպէկրանի բրայլյան ստեղնաշարին կամ մուտքագրման մյուս եղանակին։ - Բացել հպէկրանի ստեղնաշարը diff --git a/braille/brailleime/src/phone/res/values-in/strings.xml b/braille/brailleime/src/main/res/values-id/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-in/strings.xml rename to braille/brailleime/src/main/res/values-id/strings.xml index 9f14ef880..c1dda6975 100644 --- a/braille/brailleime/src/phone/res/values-in/strings.xml +++ b/braille/brailleime/src/main/res/values-id/strings.xml @@ -5,6 +5,9 @@ Mode di atas meja. Letakkan perangkat dengan posisi port pengisi daya di sebelah kiri. Untuk memperbarui posisi titik, tekan dan tahan dengan 6 jari. Tidak ada keyboard lain yang diaktifkan, buka setelan keyboard Geser ke atas dengan 3 jari untuk menampilkan opsi lainnya + Dialihkan ke braille singkat + Dialihkan ke braille tidak singkat + Dialihkan ke UEB tidak singkat keyboard braille keyboard braille, %s Keyboard braille TalkBack - untuk mendapatkan bantuan, buka g.co/help/braille @@ -17,7 +20,6 @@ Posisi titik 1, 2, dan 3 telah diperbarui. Berikutnya, mari rekam titik di tangan kanan. Sentuh lama layar dengan jari telunjuk, jari tengah, dan jari manis tangan kanan. Posisi titik 1, 2, dan 3 telah diperbarui. Berikutnya, mari rekam titik di tangan kiri. Sentuh lama layar dengan jari telunjuk, jari tengah, dan jari manis tangan kiri. Tidak dapat memperbarui posisi titik. Sentuh lama layar dengan 6 jari. Lalu, coba lagi. - Beralih ke %s Keyboard braille Siapkan keyboard braille Cara menggunakan keyboard braille @@ -27,18 +29,23 @@ <br><br>2. <b>Menggunakan keyboard braille</b>: Buka keyboard reguler, lalu ketuk ikon pilih keyboard %2$s (biasanya berada di pojok kanan bawah). Pilih \"%1$s\". <br><br>Jika tidak melihat opsi untuk beralih keyboard, coba instal %3$s, yaitu keyboard Google. Setelan - Bahasa pengetikan - Bahasa pilihan - Jangan tampilkan ini lagi - Ubah bahasa dengan cepat saat mengetik - Untuk mengubah bahasa saat mengetik dengan keyboard braille, geser ke atas dengan 3 jari. Lalu pilih \"beralih ke bahasa berikutnya\". + Bahasa pengetikan + Unified English Braille + Spanyol + Arab + Prancis + Polandia Menyertakan semua titik yang ditekan Setiap titik yang ditekan adalah bagian dari input, meskipun titik dibebaskan sebelum titik lain Tukar titik Menukar posisi titik, misalnya menukar posisi titik 1 dan 4 Opsi keyboard braille - Beralih ke bahasa berikutnya: %s - Saat ini menggunakan: %s + Ubah bahasa pengetikan + Saat ini menggunakan %s + Bahasa pengetikan + Beralih ke braille %s + singkat + tidak singkat Tinjau semua gestur Buka tutorial Selesaikan tutorial @@ -49,15 +56,23 @@ Untuk menghapus, geser ke kiri Untuk menambahkan baris baru, geser ke kanan dengan 2 jari Untuk menghapus kata, geser ke kiri dengan 2 jari - Untuk memundurkan kursor, geser ke atas - Untuk memajukan kursor, geser ke bawah Untuk menyembunyikan keyboard, geser ke bawah dengan 2 jari. Untuk beralih ke keyboard berikutnya, geser ke bawah dengan 3 jari Untuk mengirimkan teks, geser ke atas dengan 2 jari Untuk mendapatkan bantuan dan opsi lainnya, geser ke atas dengan 3 jari Selesai + Mode layar jauh + Genggam perangkat dengan posisi layar menjauhi Anda (mode layar jauh) + Mode di atas meja + Letakkan perangkat di atas meja dalam posisi datar (mode di atas meja) + Sesuaikan dengan cara Anda memegang perangkat Perangkat Anda tidak mendukung keyboard braille Perangkat Anda tidak mendukung titik sentuh yang cukup. Untuk informasi selengkapnya, hubungi produsen perangkat Anda. + %s dihapus + + titik %s + titik %s + Mengaktifkan TalkBack untuk menggunakan keyboard braille Aktifkan di setelan aksesibilitas Melanjutkan TalkBack untuk menggunakan keyboard braille @@ -71,32 +86,30 @@ Mulai sekarang, Anda tidak akan dapat menggunakan gestur TalkBack reguler. TalkBack tidak tersedia saat menggunakan keyboard braille. Untuk memulai, genggam ponsel dengan posisi layar yang membelakangi Anda. Ketuk dua kali di mana saja untuk melanjutkan - Ketuk titik 1 dengan jari telunjuk kiri Anda untuk mengetik huruf \"A\" + jari telunjuk kiri + jari telunjuk kanan + Ketuk titik 1 dengan %1$s Anda untuk mengetik huruf \"A\" Selanjutnya, coba ketik huruf B, C, dan D Untuk menghapus huruf, geser ke kiri Untuk menambahkan spasi, geser ke kanan - Untuk memundurkan kursor, geser ke atas - Untuk memajukan kursor, geser ke bawah Untuk menyembunyikan keyboard, geser ke bawah dengan 2 jari Untuk beralih ke keyboard lain, geser ke bawah dengan 3 jari Untuk menyelesaikan tutorial, geser ke atas dengan 3 jari HAPUS SPASI - MEMUNDURKAN KURSOR - MEMAJUKAN KURSOR SEMBUNYIKAN KEYBOARD KEYBOARD BERIKUTNYA Mulai sekarang, Anda tidak akan dapat menggunakan gestur TalkBack reguler. TalkBack tidak tersedia saat menggunakan keyboard braille.\n\n%1$s Pertama, balik ponsel sehingga layarnya membelakangi Anda.\n\nSelanjutnya, putar ponsel secara horizontal ke posisi lanskap. Tangan Anda harus menggenggam bagian sisi pendek ponsel. Tangan kanan Anda harus menggenggam ujung dengan port USB. Letakkan 3 jari tengah pada layar, lalu gunakan jari kelingking dan jempol untuk menggenggam ponsel.\n\nSetelah siap, ketuk layar dua kali untuk melanjutkan.\n\nUntuk keluar dari keyboard braille, geser ke bawah dengan 3 jari. Tindakan ini akan mengalihkan Anda kembali ke keyboard asal. Ponsel Anda sedang dalam posisi vertikal. Untuk melanjutkan, putar ponsel Anda ke posisi horizontal sehingga sisi panjangnya berada di bagian bawah. Lalu balik layarnya sehingga membelakangi Anda. Setelah siap, ketuk layar dua kali untuk melanjutkan. - Buat layar tetap membelakangi Anda. Genggam ponsel dengan kedua tangan pada sisi pendeknya, sehingga 3 jari tengah setiap tangan dapat menyentuh layar.\n\nJari telunjuk kiri Anda seharusnya berada pada titik 1. Sekarang, ketuk titik 1 untuk mengetik huruf “A”. - Ketuk titik 1 dengan jari telunjuk kiri Anda untuk mengetik “A” + jari telunjuk kiri + jari telunjuk kanan + Buat layar tetap membelakangi Anda. Genggam ponsel dengan kedua tangan pada sisi pendeknya, sehingga 3 jari tengah setiap tangan dapat menyentuh layar.\n\n%1$s Anda seharusnya berada pada titik 1. Sekarang, ketuk titik 1 untuk mengetik huruf “A”. + Ketuk titik 1 dengan %1$s Anda untuk mengetik “A” Ketuk %1$s untuk mengetik huruf %2$s Untuk menghapus huruf, geser ke kiri. Coba sekarang. d dihapus. Untuk menambahkan spasi, geser ke kanan. Coba sekarang. - Untuk memundurkan kursor, geser ke atas. Coba sekarang. - Untuk memajukan kursor, geser ke bawah. Coba sekarang. Untuk menyembunyikan keyboard, geser ke bawah dengan 2 jari. Coba sekarang. Keyboard disembunyikan. Biasanya, tindakan ini akan menyembunyikan keyboard. Keyboard braille akan tetap terbuka karena Anda masih dalam tutorial. Untuk beralih ke keyboard lain, geser ke bawah dengan 3 jari. Coba sekarang. @@ -114,6 +127,4 @@ Huruf dihapus Kata dihapus Mari lanjutkan tutorial. %1$s - Penampil braille eksternal terhubung dan dapat Anda gunakan untuk mengetik teks ke perangkat ini.\nAtau, Anda dapat beralih ke Keyboard Braille layar sentuh atau metode input berikutnya. - Beralih ke keyboard layar sentuh diff --git a/braille/brailleime/src/phone/res/values-id/strings.xml b/braille/brailleime/src/main/res/values-in/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-id/strings.xml rename to braille/brailleime/src/main/res/values-in/strings.xml index 9f14ef880..c1dda6975 100644 --- a/braille/brailleime/src/phone/res/values-id/strings.xml +++ b/braille/brailleime/src/main/res/values-in/strings.xml @@ -5,6 +5,9 @@ Mode di atas meja. Letakkan perangkat dengan posisi port pengisi daya di sebelah kiri. Untuk memperbarui posisi titik, tekan dan tahan dengan 6 jari. Tidak ada keyboard lain yang diaktifkan, buka setelan keyboard Geser ke atas dengan 3 jari untuk menampilkan opsi lainnya + Dialihkan ke braille singkat + Dialihkan ke braille tidak singkat + Dialihkan ke UEB tidak singkat keyboard braille keyboard braille, %s Keyboard braille TalkBack - untuk mendapatkan bantuan, buka g.co/help/braille @@ -17,7 +20,6 @@ Posisi titik 1, 2, dan 3 telah diperbarui. Berikutnya, mari rekam titik di tangan kanan. Sentuh lama layar dengan jari telunjuk, jari tengah, dan jari manis tangan kanan. Posisi titik 1, 2, dan 3 telah diperbarui. Berikutnya, mari rekam titik di tangan kiri. Sentuh lama layar dengan jari telunjuk, jari tengah, dan jari manis tangan kiri. Tidak dapat memperbarui posisi titik. Sentuh lama layar dengan 6 jari. Lalu, coba lagi. - Beralih ke %s Keyboard braille Siapkan keyboard braille Cara menggunakan keyboard braille @@ -27,18 +29,23 @@ <br><br>2. <b>Menggunakan keyboard braille</b>: Buka keyboard reguler, lalu ketuk ikon pilih keyboard %2$s (biasanya berada di pojok kanan bawah). Pilih \"%1$s\". <br><br>Jika tidak melihat opsi untuk beralih keyboard, coba instal %3$s, yaitu keyboard Google. Setelan - Bahasa pengetikan - Bahasa pilihan - Jangan tampilkan ini lagi - Ubah bahasa dengan cepat saat mengetik - Untuk mengubah bahasa saat mengetik dengan keyboard braille, geser ke atas dengan 3 jari. Lalu pilih \"beralih ke bahasa berikutnya\". + Bahasa pengetikan + Unified English Braille + Spanyol + Arab + Prancis + Polandia Menyertakan semua titik yang ditekan Setiap titik yang ditekan adalah bagian dari input, meskipun titik dibebaskan sebelum titik lain Tukar titik Menukar posisi titik, misalnya menukar posisi titik 1 dan 4 Opsi keyboard braille - Beralih ke bahasa berikutnya: %s - Saat ini menggunakan: %s + Ubah bahasa pengetikan + Saat ini menggunakan %s + Bahasa pengetikan + Beralih ke braille %s + singkat + tidak singkat Tinjau semua gestur Buka tutorial Selesaikan tutorial @@ -49,15 +56,23 @@ Untuk menghapus, geser ke kiri Untuk menambahkan baris baru, geser ke kanan dengan 2 jari Untuk menghapus kata, geser ke kiri dengan 2 jari - Untuk memundurkan kursor, geser ke atas - Untuk memajukan kursor, geser ke bawah Untuk menyembunyikan keyboard, geser ke bawah dengan 2 jari. Untuk beralih ke keyboard berikutnya, geser ke bawah dengan 3 jari Untuk mengirimkan teks, geser ke atas dengan 2 jari Untuk mendapatkan bantuan dan opsi lainnya, geser ke atas dengan 3 jari Selesai + Mode layar jauh + Genggam perangkat dengan posisi layar menjauhi Anda (mode layar jauh) + Mode di atas meja + Letakkan perangkat di atas meja dalam posisi datar (mode di atas meja) + Sesuaikan dengan cara Anda memegang perangkat Perangkat Anda tidak mendukung keyboard braille Perangkat Anda tidak mendukung titik sentuh yang cukup. Untuk informasi selengkapnya, hubungi produsen perangkat Anda. + %s dihapus + + titik %s + titik %s + Mengaktifkan TalkBack untuk menggunakan keyboard braille Aktifkan di setelan aksesibilitas Melanjutkan TalkBack untuk menggunakan keyboard braille @@ -71,32 +86,30 @@ Mulai sekarang, Anda tidak akan dapat menggunakan gestur TalkBack reguler. TalkBack tidak tersedia saat menggunakan keyboard braille. Untuk memulai, genggam ponsel dengan posisi layar yang membelakangi Anda. Ketuk dua kali di mana saja untuk melanjutkan - Ketuk titik 1 dengan jari telunjuk kiri Anda untuk mengetik huruf \"A\" + jari telunjuk kiri + jari telunjuk kanan + Ketuk titik 1 dengan %1$s Anda untuk mengetik huruf \"A\" Selanjutnya, coba ketik huruf B, C, dan D Untuk menghapus huruf, geser ke kiri Untuk menambahkan spasi, geser ke kanan - Untuk memundurkan kursor, geser ke atas - Untuk memajukan kursor, geser ke bawah Untuk menyembunyikan keyboard, geser ke bawah dengan 2 jari Untuk beralih ke keyboard lain, geser ke bawah dengan 3 jari Untuk menyelesaikan tutorial, geser ke atas dengan 3 jari HAPUS SPASI - MEMUNDURKAN KURSOR - MEMAJUKAN KURSOR SEMBUNYIKAN KEYBOARD KEYBOARD BERIKUTNYA Mulai sekarang, Anda tidak akan dapat menggunakan gestur TalkBack reguler. TalkBack tidak tersedia saat menggunakan keyboard braille.\n\n%1$s Pertama, balik ponsel sehingga layarnya membelakangi Anda.\n\nSelanjutnya, putar ponsel secara horizontal ke posisi lanskap. Tangan Anda harus menggenggam bagian sisi pendek ponsel. Tangan kanan Anda harus menggenggam ujung dengan port USB. Letakkan 3 jari tengah pada layar, lalu gunakan jari kelingking dan jempol untuk menggenggam ponsel.\n\nSetelah siap, ketuk layar dua kali untuk melanjutkan.\n\nUntuk keluar dari keyboard braille, geser ke bawah dengan 3 jari. Tindakan ini akan mengalihkan Anda kembali ke keyboard asal. Ponsel Anda sedang dalam posisi vertikal. Untuk melanjutkan, putar ponsel Anda ke posisi horizontal sehingga sisi panjangnya berada di bagian bawah. Lalu balik layarnya sehingga membelakangi Anda. Setelah siap, ketuk layar dua kali untuk melanjutkan. - Buat layar tetap membelakangi Anda. Genggam ponsel dengan kedua tangan pada sisi pendeknya, sehingga 3 jari tengah setiap tangan dapat menyentuh layar.\n\nJari telunjuk kiri Anda seharusnya berada pada titik 1. Sekarang, ketuk titik 1 untuk mengetik huruf “A”. - Ketuk titik 1 dengan jari telunjuk kiri Anda untuk mengetik “A” + jari telunjuk kiri + jari telunjuk kanan + Buat layar tetap membelakangi Anda. Genggam ponsel dengan kedua tangan pada sisi pendeknya, sehingga 3 jari tengah setiap tangan dapat menyentuh layar.\n\n%1$s Anda seharusnya berada pada titik 1. Sekarang, ketuk titik 1 untuk mengetik huruf “A”. + Ketuk titik 1 dengan %1$s Anda untuk mengetik “A” Ketuk %1$s untuk mengetik huruf %2$s Untuk menghapus huruf, geser ke kiri. Coba sekarang. d dihapus. Untuk menambahkan spasi, geser ke kanan. Coba sekarang. - Untuk memundurkan kursor, geser ke atas. Coba sekarang. - Untuk memajukan kursor, geser ke bawah. Coba sekarang. Untuk menyembunyikan keyboard, geser ke bawah dengan 2 jari. Coba sekarang. Keyboard disembunyikan. Biasanya, tindakan ini akan menyembunyikan keyboard. Keyboard braille akan tetap terbuka karena Anda masih dalam tutorial. Untuk beralih ke keyboard lain, geser ke bawah dengan 3 jari. Coba sekarang. @@ -114,6 +127,4 @@ Huruf dihapus Kata dihapus Mari lanjutkan tutorial. %1$s - Penampil braille eksternal terhubung dan dapat Anda gunakan untuk mengetik teks ke perangkat ini.\nAtau, Anda dapat beralih ke Keyboard Braille layar sentuh atau metode input berikutnya. - Beralih ke keyboard layar sentuh diff --git a/braille/brailleime/src/phone/res/values-is/strings.xml b/braille/brailleime/src/main/res/values-is/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-is/strings.xml rename to braille/brailleime/src/main/res/values-is/strings.xml index 1dafe9bfd..c89a85bef 100644 --- a/braille/brailleime/src/phone/res/values-is/strings.xml +++ b/braille/brailleime/src/main/res/values-is/strings.xml @@ -5,6 +5,9 @@ Borðstilling. Komdu tækinu fyrir með hleðslutengið vinstra megin. Haltu 6 fingrum niðri til að uppfæra staðsetningu punkta. Ekkert annað lyklaborð er virkt, opnaðu lyklaborðstillingar Strjúktu upp með þremur fingrum til að sjá fleiri valkosti + Skipt yfir í stytt blindraletur + Skipt yfir í venjulegt blindraletur + Skipt yfir í óstytt samræmt enskt blindraletur blindraleturslyklaborð blindraleturslyklaborð, %s TalkBack-blindraleturslyklaborð – aðstoð er að finna á g.co/help/braille @@ -17,7 +20,6 @@ Uppfærðar staðsetningar fyrir punkta 1, 2 og 3. Næst skulum við skrá punktana á hægri hendinni. Haltu miðfingrunum þremur á hægri hendi á skjánum. Uppfærðar staðsetningar fyrir punkta 1, 2 og 3. Næst skulum við skrá punktana á vinstri hendinni. Haltu miðfingrunum þremur á vinstri hendi á skjánum. Ekki tókst að uppfæra staðsetningu punkta. Haltu 6 fingrum inni á skjánum. Reyndu svo aftur. - Skipt yfir í %s Blindraleturslyklaborð Setja upp blindraleturslyklaborð Hvernig á að nota blindraleturslyklaborð @@ -27,18 +29,23 @@ <br><br>2. <b>Nota blindraleturslyklaborð</b>: Opnaðu venjulega lyklaborðið og ýttu síðan á táknið til að velja lyklaborð %2$s (yfirleitt neðst í hægra horninu). Veldu „%1$s“. <br><br>Ef þú sérð ekki valmöguleika til að skipta um lyklaborð skaltu prófa að setja Google lyklaborðið upp, %3$s. Stillingar - Innsláttartungumál - Valið tungumál - Ekki sýna þetta aftur - Skiptu um tungumál með hraði á meðan þú slærð inn - Til að skipta um tungumál þegar þú skrifar með blindraleturslyklaborðinu skaltu strjúka upp með 3 fingrum. Veldu svo „skipta yfir í næsta tungumál“. + Innsláttartungumál + Samræmt enskt blindraletur + Spænska + Arabíska + Franska + Pólska Taka með alla punkta sem ýtt er á Hver punktur sem ýtt er á er hluti af inntakinu, jafnvel þótt punktinum sé sleppt á undan öðrum Punktar í öfugri röð Víxla staðsetningu punktanna, til dæmis svo punktar 1 og 4 skipta um stað Valmöguleikar blindraleturslyklaborðs - Skipta yfir í næsta tungumál: %s - %s í notkun + Breyta innsláttartungumáli + %s í notkun + Innsláttartungumál + Skipta yfir í %s blindraletur + stytt + venjulegt Skoða allar bendingar Opna leiðsögn Ljúka leiðsögn @@ -49,15 +56,23 @@ Strjúktu til vinstri til að eyða Strjúktu til hægri með tveimur fingrum til að fá nýja línu Strjúktu til vinstri með tveimur fingrum til að eyða orði - Strjúktu upp til að færa bendilinn aftur á bak - Strjúktu niður til að færa bendilinn áfram Strjúktu niður með tveimur fingrum til að fela lyklaborðið Strjúktu niður með þremur fingrum til að skipta yfir á næsta lyklaborð Strjúktu upp með tveimur fingrum til að skrifa texta Strjúktu upp með þremur fingrum til að fá aðstoð og aðra valmöguleika Lokið + Skjá snúið frá + Haltu á tækinu þannig að skjárinn snúi frá þér (skjá snúið frá) + Borðstilling + Leggðu tækið á borð (skjá snúið upp) + Aðlagast því hvernig þú heldur á tækinu Tækið þitt styður ekki blindraleturslyklaborð Tækið þitt styður ekki nógu marga snertipunkta. Hafðu samband við framleiðanda tækisins til að fá frekari upplýsingar. + %s eytt + + punktur %s + punktar %s + Kveikja á TalkBack til að nota blindraleturslyklaborð Kveikja á í aðgengisstillingum Kveiktu aftur á TalkBack til að nota blindraleturslyklaborð @@ -71,32 +86,30 @@ Frá og með núna getur þú ekki notað venjulegar TalkBack-bendingar. TalkBack er ekki í boði þegar blindralyklaborð er notað. Til að byrja skaltu halda símanum þínum svona og láta skjáinn vísa frá þér. Ýttu tvisvar hvar sem er til að halda áfram - Ýttu á punkt 1 með vinstri vísifingri til að slá inn stafinn „A“ + vinstri vísifingri + hægri vísifingri + Ýttu á punkt 1 með %1$s til að slá inn stafinn „A“ Prófaðu því næst að slá inn stafina B, C og D Strjúktu til vinstri til að eyða staf Strjúktu til hægri til að bæta við bili - Strjúktu upp til að færa bendilinn aftur á bak - Strjúktu niður til að færa bendilinn áfram Strjúktu niður með tveimur fingrum til að fela lyklaborðið Strjúktu niður með þremur fingrum til að skipta yfir í hitt lyklaborðið þitt Strjúktu upp með þremur fingrum til að ljúka leiðsögninni EYÐA BIL - FÆRÐI BENDILINN AFTUR Á BAK - FÆRÐI BENDILINN ÁFRAM FELA LYKLABORÐ NÆSTA LYKLABORÐ Héðan í frá geturðu ekki notað venjulegar TalkBack-bendingar. TalkBack er ekki í boði þegar blindralyklaborð er notað.\n\n%1$s Byrjaðu á því að snúa símanum þannig að skjárinn vísi frá þér.\n\nÞví næst skaltu snúa símanum lárétt í langsnið. Hendurnar þínar ættu að halda utan um stuttu hliðar símans. Hægri höndin hætti að halda á endanum með USB-tenginu. Leggðu miðfingurna þrjá á skjáinn og notaðu litla puttann og þumalinn til að styðja við símann.\n\nÞegar þú ert til skaltu ýta tvisvar á skjáinn til að halda áfram.\n\nTil að loka blindraleturslyklaborðinu skaltu strjúka niður með þremur fingrum. Þetta skiptir aftur yfir í upprunalega lyklaborðið. Síminn þinn er í lóðréttri stöðu. Til að halda áfram skaltu snúa símanum lárétt þannig að lengri hliðin snúi niður. Snúðu síðan skjánum þannig að hann vísi frá þér. Þegar þú ert til skaltu ýta tvisvar á skjáinn til að halda áfram. - Láttu skjáinn vísa frá þér. Haltu utan um stuttu hliðar símans með báðum höndum þannig að miðfingurnir þrír á hvorri hönd geti snert skjáinn.\n\nVinstri vísifingurinn ætti að vera á punkti 1. Ýttu á punkt 1 til að slá inn stafinn „A“. - Ýttu á punkt 1 með vinstri vísifingri til að slá inn stafinn „A“ + Vinstri vísifingur + Hægri vísifingur + Láttu skjáinn vísa frá þér. Haltu utan um stuttu hliðar símans með báðum höndum þannig að miðfingurnir þrír á hvorri hönd geti snert skjáinn.\n\n%1$s ætti að vera á punkti 1. Ýttu nú á punkt 1 til að slá inn stafinn „A“. + Ýttu á punkt 1 með %1$s til að slá inn stafinn „A“ Ýttu á %1$s til að slá inn stafinn %2$s Strjúktu til vinstri til að eyða staf. Prófaðu það. d eytt. Strjúktu til hægri til að bæta við bili. Prófaðu það. - Strjúktu upp til að færa bendilinn aftur á bak. Prófa núna. - Strjúktu niður til að færa bendilinn áfram. Prófa núna. Strjúktu niður með tveimur fingrum til að fela lyklaborðið. Prófaðu það. Fela lyklaborð. Yfirleitt felur þetta lyklaborðið. Blindraleturslyklaborðið verður áfram opið vegna þess að leiðsögnin er enn í gangi. Strjúktu niður með þremur fingrum til að skipta yfir í hitt lyklaborðið þitt. Prófaðu það. @@ -114,6 +127,4 @@ Staf eytt Orði eytt Höldum leiðsögninni áfram. %1$s - Ytri blindraletursskjár er tengdur og þú getur notað hann til að slá texta inn í þetta tæki.\nÞú getur einnig skipt yfir í blindraleturslyklaborðið á snertiskjánum eða næstu innfærsluaðferð. - Skipta yfir í lyklaborð á snertiskjá diff --git a/braille/brailleime/src/phone/res/values-it/strings.xml b/braille/brailleime/src/main/res/values-it/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-it/strings.xml rename to braille/brailleime/src/main/res/values-it/strings.xml index 6fe0ef2a2..ddc693372 100644 --- a/braille/brailleime/src/phone/res/values-it/strings.xml +++ b/braille/brailleime/src/main/res/values-it/strings.xml @@ -5,6 +5,9 @@ Modalità da tavolo. Appoggia il dispositivo con la porta di ricarica a sinistra. Tieni premuto con 6 dita per aggiornare la posizione dei punti. Non sono attivate altre tastiere: vai alle impostazioni di tastiera Scorri verso l\'alto con tre dita per altre opzioni + Passata alla modalità Braille contratto + Passata alla modalità Braille esteso + Passaggio a UEB esteso effettuato Tastiera braille Tastiera braille, %s Tastiera braille di TalkBack: per assistenza, visita il sito g.co/help/braille @@ -17,7 +20,6 @@ Sono state aggiornate le posizioni dei punti 1, 2 e 3. Ora registra i punti della mano destra. Tocca e tieni premuto lo schermo con le 3 dita centrali della mano destra. Sono state aggiornate le posizioni dei punti 1, 2 e 3. Ora registra i punti della mano sinistra. Tocca e tieni premuto lo schermo con le 3 dita centrali della mano sinistra. Impossibile aggiornare la posizione dei punti. Tocca e tieni premuto lo schermo con 6 dita, quindi riprova. - Passaggio a %s effettuato Tastiera braille Configura la tastiera braille Come usare la tastiera braille @@ -27,18 +29,23 @@ <br><br>2. <b>Utilizzare la tastiera braille</b>: apri la tastiera classica, quindi tocca l\'icona della tastiera scelta %2$s (di solito nell\'angolo in basso a destra). Seleziona \"%1$s\". <br><br>Se non trovi l\'opzione per passare da una tastiera all\'altra, prova a installare %3$s, la tastiera Google. Impostazioni - Lingue di digitazione - Lingua preferita - Non mostrare più - Cambia velocemente la lingua durante la digitazione - Per cambiare la lingua mentre digiti con la tastiera braille, scorri verso l\'alto con 3 dita e seleziona \"Passa alla prossima lingua\". + Lingue di digitazione + Unified English Braille + Spagnolo + Arabo + Francese + Polacco Includi tutti i punti premuti Ogni punto premuto fa parte dell\'input, anche se viene rilasciato prima degli altri punti Punti inversi Inverti la posizione dei punti, in modo tale che i punti 1 e 4, ad esempio, si scambino di posto Opzioni tastiera braille - Passa alla prossima lingua: %s - Attualmente in uso: %s + Cambia lingua di digitazione + Attualmente in uso: %s + Lingua di digitazione + Passa alla modalità Braille %s + contratto + esteso Controlla tutti i gesti Apri tutorial Termina tutorial @@ -49,15 +56,23 @@ Per eliminare, scorri verso sinistra Per una nuova riga, scorri verso destra con due dita Per eliminare una parola, scorri verso sinistra con due dita - Per spostare il cursore a ritroso, scorri verso l\'alto - Per spostare il cursore in avanti, scorri verso il basso Per nascondere la tastiera, scorri verso il basso con due dita Per passare alla tastiera successiva, scorri verso il basso con tre dita Per inviare il testo, scorri verso l\'alto con due dita Per assistenza e altre opzioni, scorri verso l\'alto con tre dita Fine + Modalità schermo verso l\'esterno + Tieni il dispositivo con lo schermo rivolto verso l\'esterno (modalità schermo verso l\'esterno) + Modalità da tavolo + Appoggia il dispositivo in orizzontale su un piano (modalità da tavolo) + Adatta in base a come tieni il dispositivo Il tuo dispositivo non supporta la tastiera braille Il tuo dispositivo non supporta abbastanza punti touch. Per ulteriori informazioni, contatta il produttore del dispositivo. + %s eliminato + + punto %s + punti %s + Per utilizzare la tastiera braille, attiva TalkBack Attiva nelle impostazioni di accessibilità Riattiva TalkBack per usare la tastiera braille @@ -71,32 +86,30 @@ Se inizi ora, non potrai utilizzare i gesti standard di TalkBack. TalkBack non è disponibile mentre utilizzi la tastiera braille. Per iniziare, tieni il telefono in questo modo, con lo schermo rivolto verso l\'esterno. Tocca due volte un punto qualsiasi per continuare - Tocca il punto 1 con il dito indice sinistro per digitare la lettera \"A\" + dito indice sinistro + dito indice destro + Tocca il punto 1 con il %1$s per digitare la lettera \"A\" Poi prova a digitare le lettere B, C e D Per eliminare una lettera, scorri verso sinistra Per aggiungere uno spazio, scorri verso destra - Per spostare il cursore a ritroso, scorri verso l\'alto - Per spostare il cursore in avanti, scorri verso il basso Per nascondere la tastiera, scorri verso il basso con due dita Per passare all\'altra tastiera, scorri verso il basso con tre dita Per terminare il tutorial, scorri verso l\'alto con tre dita ELIMINA SPAZIO - CURSORE SPOSTATO A RITROSO - CURSORE SPOSTATO IN AVANTI NASCONDI TASTIERA TASTIERA SUCCESSIVA Se inizi ora, non potrai utilizzare i gesti standard di TalkBack. TalkBack non è disponibile durante l\'utilizzo della tastiera braille.\n\n%1$s Per prima cosa, gira il telefono in modo tale che lo schermo sia rivolto verso l\'esterno.\n\nQuindi ruota il telefono in posizione orizzontale. Afferra il telefono dai lati più corti. La mano destra dovrebbe tenere il lato con la porta USB. Appoggia le tre dita centrali sullo schermo e utilizza il mignolo e il pollice per reggere il telefono.\n\nQuando hai posizionato le dita in questo modo, tocca due volte lo schermo per continuare.\n\nPer uscire dalla tastiera braille, scorri verso il basso con tre dita. In questo modo tornerai alla tastiera originale. Il tuo telefono è in posizione verticale. Per continuare, ruota in orizzontale il telefono in modo tale che il lato lungo sia in basso. Quindi gira lo schermo in modo tale che sia rivolto verso l\'esterno. Quando il telefono è posizionato correttamente, tocca due volte lo schermo per continuare. - Tieni lo schermo in modo tale che sia rivolto verso l\'esterno. Tieni il telefono con entrambe le mani afferrandolo per i lati più corti, in modo tale che le tre dita centrali di entrambe le mani possano toccare lo schermo.\n\nIl tuo dito indice sinistro deve essere posizionato sul punto 1. Ora tocca il punto 1 per digitare la lettera \"A\". - Tocca il punto 1 con il dito indice sinistro per digitare la lettera \"A\" + dito indice sinistro + dito indice destro + Tieni lo schermo in modo tale che sia rivolto verso l\'esterno. Tieni il telefono con entrambe le mani afferrandolo per i lati più corti, in modo tale che le tre dita centrali di entrambe le mani possano toccare lo schermo.\n\nIl tuo %1$s deve essere posizionato sul punto 1. Ora tocca il punto 1 per digitare la lettera \"A\". + Tocca il punto 1 con il %1$s per digitare la lettera \"A\" Tocca %1$s per digitare la lettera %2$s Per eliminare una lettera, scorri verso sinistra. Prova ora. Lettera d eliminata. Per aggiungere uno spazio, scorri verso destra. Prova ora. - Per spostare il cursore a ritroso, scorri verso l\'alto. Prova ora. - Per spostare il cursore in avanti, scorri verso il basso. Prova ora. Per nascondere la tastiera, scorri verso il basso con due dita. Prova ora. Nascondi tastiera. Generalmente, in questo modo la tastiera verrà nascosta. La tastiera braille rimarrà aperta perché il tutorial è ancora attivo. Per passare all\'altra tastiera, scorri verso il basso con tre dita. Prova ora. @@ -114,6 +127,4 @@ Lettera eliminata Parola eliminata Continua il tutorial. %1$s - È collegato un display braille esterno, che puoi usare per digitare testo su questo dispositivo.\nIn alternativa, puoi passare alla tastiera braille touchscreen o al metodo di immissione successivo. - Passa alla tastiera touchscreen diff --git a/braille/brailleime/src/phone/res/values-iw/strings.xml b/braille/brailleime/src/main/res/values-iw/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-iw/strings.xml rename to braille/brailleime/src/main/res/values-iw/strings.xml index 1eb54adb6..1ea0d01d4 100644 --- a/braille/brailleime/src/phone/res/values-iw/strings.xml +++ b/braille/brailleime/src/main/res/values-iw/strings.xml @@ -5,6 +5,9 @@ מצב \'על משטח\'. יש להציב את המכשיר כך ששקע הטעינה משמאל. לעדכון מיקום הנקודות, עליך ללחוץ לחיצה ארוכה באמצעות 6 אצבעות. אין מקלדת נוספת שמופעלת. יש לעבור להגדרות המקלדת צריך להחליק למעלה עם 3 אצבעות לאפשרויות נוספות + הוחלפה לברייל מקוצר + הוחלפה לברייל לא מקוצר + ‏הוחלפה לברייל לא מקוצר (UEB) מקלדת ברייל מקלדת ברייל, %s ‏מקלדת ברייל ל-TalkBack - לעזרה, יש להיכנס אל g.co/help/braille @@ -17,7 +20,6 @@ המיקום של נקודות 1, 2 ו-3 עודכן. עכשיו עליך לתעד את הנקודות של יד ימין. יש ללחוץ לחיצה ארוכה על המסך באמצעות 3 האצבעות האמצעיות של יד ימין. המיקום של נקודות 1, 2 ו-3 עודכן. עכשיו עליך לתעד את הנקודות של יד שמאל. יש ללחוץ לחיצה ארוכה על המסך באמצעות 3 האצבעות האמצעיות של יד שמאל. עדכון מיקום הנקודות נכשל. יש ללחוץ לחיצה ארוכה על המסך עם 6 אצבעות. לאחר מכן יש לנסות שוב. - עברת אל %s מקלדת ברייל הגדרת מקלדת הברייל איך להשתמש במקלדת הברייל @@ -27,18 +29,23 @@ <br><br>2. <b>לשימוש במקלדת ברייל</b>: פותחים את המקלדת הרגילה ואז מקישים על הסמל לבחירת מקלדת %2$s (הוא נמצא בדרך כלל בפינה השמאלית התחתונה). בוחרים באפשרות \"%1$s\". <br><br>אם לא מוצגת האפשרות להחלפת מקלדת, מתקינים את %3$s, המקלדת של Google. הגדרות - שפות ההקלדה - שפה מועדפת - לא להציג שוב - שינוי שפה במהירות בזמן ההקלדה - כדי לשנות את השפה בזמן ההקלדה במקלדת הברייל, מחליקים למעלה בעזרת שלוש אצבעות. אחר כך בוחרים \'מעבר לשפה הבאה\'. + שפות ההקלדה + אנגלית אחידה לברייל + ספרדית + ערבית + צרפתית + פולנית הכללת כל הנקודות שנלחצו כל נקודה שנלחצה היא חלק מהקלט, גם אם מרפים מנקודה מסוימת לפני שמרפים משאר הנקודות נקודות הפוכות יש להחליף בין מיקומי הנקודות (למשל: החלפה בין נקודות 1 ו-4) אפשרויות למקלדת ברייל - מעבר לשפה הבאה: %s - בשימוש כרגע: %s + שינוי שפת ההקלדה + בשימוש כרגע: %s + שפת ההקלדה + החלפה לברייל %s + מקוצר + לא מקוצר לעיון בכל התנועות פתיחת המדריך סיום המדריך @@ -49,15 +56,25 @@ כדי למחוק, מחליקים ימינה להוספת שורה חדשה, מחליקים ימינה באמצעות 2 אצבעות כדי למחוק מילה, מחליקים ימינה באמצעות 2 אצבעות - כדי להזיז את הסמן אחורה, מחליקים למעלה - כדי להזיז את הסמן קדימה, מחליקים למטה כדי להסתיר את המקלדת, מחליקים למטה באמצעות 2 אצבעות כדי להחליף למקלדת הבאה, מחליקים למטה באמצעות 3 אצבעות כדי לשלוח טקסט, מחליקים למעלה באמצעות 2 אצבעות לקבלת עזרה ולאפשרויות נוספות, מחליקים למעלה באמצעות 3 אצבעות סיום + מצב \'המסך פונה כלפי חוץ\' + יש להחזיק את המכשיר כך שהמסך פונה כלפי חוץ (מצב \'המסך פונה כלפי חוץ\') + מצב \'על משטח\' + עליך להניח את המכשיר במצב שטוח על שולחן (מצב \'על משטח\') + התאמה לאופן שבו אוחזים את המכשיר המכשיר שברשותך לא תומך במקלדת ברייל המכשיר שברשותך לא תומך במספיק נקודות נגיעה. לקבלת מידע נוסף, יש לפנות ליצרן המכשיר. + בוצעה מחיקה של %s + + נקודה אחת (%s) + %s נקודות + %s נקודות + %s נקודות + ‏יש להפעיל את TalkBack כדי להשתמש במקלדת ברייל הפעלה בהגדרות הנגישות ‏חזרה ל-TalkBack כדי להשתמש במקלדת ברייל @@ -71,32 +88,30 @@ ‏החל מעכשיו, לא ניתן יהיה להשתמש בתנועות הרגילות של TalkBack. תכונת TalkBack לא זמינה כשמשתמשים במקלדת הברייל. כדי להתחיל, יש להחזיק את הטלפון כך, כשהמסך יפנה כלפי חוץ. יש ללחוץ פעמיים במקום כלשהו כדי להמשיך - ‏מקישים על נקודה 1 עם האצבע המורה השמאלית כדי להקליד את האות \"A\" + האצבע המורה השמאלית + האצבע המורה הימנית + ‏מקישים על נקודה 1 עם %1$s כדי להקליד את האות \"A\" ‏בשלב הבא, מנסים להקליד את האותיות B,‏ C‏ ו-D כדי למחוק אות, מחליקים ימינה כדי להוסיף רווח, מחליקים שמאלה - כדי להזיז את הסמן אחורה, מחליקים למעלה - כדי להזיז את הסמן קדימה, מחליקים למטה כדי להסתיר את המקלדת, מחליקים למטה באמצעות 2 אצבעות כדי להחליף למקלדת השנייה, מחליקים למטה באמצעות 3 אצבעות כדי לסיים את המדריך, מחליקים למעלה באמצעות 3 אצבעות מחיקה רווח - הסמן הוזז אחורה - הסמן הוזז קדימה הסתרת מקלדת המקלדת הבאה ‏החל מעכשיו, לא ניתן יהיה להשתמש בתנועות הרגילות של TalkBack. תכונת TalkBack לא זמינה כשמשתמשים במקלדת הברייל.\n\n%1$s ‏ראשית, מסובבים את הטלפון כך שהמסך יפנה כלפי חוץ.\n\nלאחר מכן, מסובבים את הטלפון למצב רוחבי (הקצוות הארוכים מקבילים לרצפה). יש להחזיק את הטלפון בידיים בקצוות הקצרים. על יד ימין להחזיק בקצה עם יציאת ה-USB. מניחים את 3 האצבעות האמצעיות על המסך, ומשתמשים בזרת ובאגודל כדי להחזיק את הטלפון.\n\nכשמוכנים, לוחצים פעמיים על המסך כדי להמשיך.\n\nליציאה ממקלדת הברייל, מחליקים למטה לכיוון הקרקע באמצעות 3 אצבעות. תנועה זו מחליפה בחזרה למקלדת המקורית. הטלפון ממוקם אנכית. כדי להמשיך, יש לסובב את הטלפון למצב רוחבי (הקצוות הארוכים מקבילים לרצפה). לאחר מכן, מסובבים את הטלפון כך שהמסך יפנה כלפי חוץ. כשמוכנים, לוחצים פעמיים על המסך כדי להמשיך. - ‏שומרים שהמסך יפנה כלפי חוץ. מחזיקים את הטלפון בשתי הידיים, בקצוות הקצרים של הטלפון, כך ששלוש האצבעות האמצעיות של כל יד יוכלו לגעת במסך.\n\nהאצבע המורה השמאלית צריכה להיות על נקודה 1. עכשיו, מקישים על נקודה 1 כדי להקליד את האות “A”. - ‏מקישים על נקודה 1 באמצעות האצבע המורה השמאלית כדי להקליד את האות “A” + האצבע המורה השמאלית + האצבע המורה הימנית + ‏שומרים שהמסך יפנה כלפי חוץ. מחזיקים את הטלפון בשתי הידיים, בקצוות הקצרים של הטלפון, כך ששלוש האצבעות האמצעיות של כל יד יוכלו לגעת במסך.\n\n%1$s צריכה להיות על נקודה 1. עכשיו, מקישים על נקודה 1 כדי להקליד את האות “A”. + ‏מקישים על נקודה 1 עם %1$s כדי להקליד את האות “A” מקישים על %1$s כדי להקליד את האות %2$s כדי למחוק אות, מחליקים ימינה. כדאי לנסות עכשיו. ‏d נמחקה. כדי להוסיף רווח, מחליקים שמאלה. כדאי לנסות עכשיו. - כדי להזיז את הסמן אחורה, מחליקים למעלה. אפשר לנסות עכשיו. - כדי להזיז את הסמן קדימה, מחליקים למטה. אפשר לנסות עכשיו. כדי להסתיר את המקלדת, מחליקים למטה באמצעות 2 אצבעות. כדאי לנסות עכשיו. הסתרת המקלדת. בדרך כלל, תנועה זו תסתיר את המקלדת. מקלדת הברייל תישאר פתוחה מפני שהמדריך עדיין לא הסתיים. כדי להחליף למקלדת השנייה, מחליקים למטה באמצעות 3 אצבעות. כדאי לנסות עכשיו. @@ -114,6 +129,4 @@ נמחקה אות נמחקה מילה שנמשיך עם המדריך? %1$s - ‏צג ברייל חיצוני מחובר, ויש לך אפשרות להשתמש בו כדי להקליד טקסט במכשיר הזה.\nלחלופין, אפשר לעבור למקלדת הברייל של מסך המגע או לשיטת הקלט הבאה. - למעבר למקלדת של מסך המגע diff --git a/braille/brailleime/src/phone/res/values-ja/strings.xml b/braille/brailleime/src/main/res/values-ja/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-ja/strings.xml rename to braille/brailleime/src/main/res/values-ja/strings.xml index 6904a6094..8a1c75839 100644 --- a/braille/brailleime/src/phone/res/values-ja/strings.xml +++ b/braille/brailleime/src/main/res/values-ja/strings.xml @@ -5,6 +5,9 @@ テーブルトップ モードです。充電ポートを左にした状態でデバイスを置いてください。ドット位置を更新するには、6 本の指で長押しします。 他に有効なキーボードがありません。キーボードの設定に移動します その他のオプションに移動するには、3本指で上にスワイプします。 + 縮約形点字に切り替えました + 非縮約形点字に切り替えました + UEB 非縮約形に切り替えました 点字キーボード 点字キーボード、%s TalkBack 点字キーボード - 詳しくは、g.co/help/braille をご覧ください @@ -17,7 +20,6 @@ ドット 1、2、3 の位置を更新しました。次に、右手でドット位置を記録しましょう。右手の人差し指、中指、薬指の 3 本で画面を長押しします。 ドット 1、2、3 の位置を更新しました。次に、左手でドット位置を記録しましょう。左手の人差し指、中指、薬指の 3 本で画面を長押しします。 ドット位置を更新できませんでした。6 本の指で画面を長押しして、もう一度お試しください。 - %sに切り替えました 点字キーボード 点字キーボードのセットアップ 点字キーボードの使い方 @@ -27,18 +29,23 @@ <br><br>2. <b>点字キーボードを使用する</b>: 通常のキーボードを開き、キーボード アイコン %2$s(通常は右下隅)をタップして選択します。[%1$s] を選択します。 <br><br>キーボードの切り替えオプションが表示されない場合は、Google キーボード %3$s をインストールしてみてください。 設定 - 入力言語 - 使用する言語 - 次回から表示しない - 入力中に言語をすぐに変更 - 点字キーボードでの入力中に言語を変更するには、3 本の指で上にスワイプしてから、[次の言語に切り替える] を選択します。 + 入力言語 + 統一英語点字 + スペイン語 + アラビア語 + フランス語 + ポーランド語 押されたドットをすべて含める 押されたドットは、他のドットを押す前に離された場合でも、すべて入力に含まれます ドットを反転させる ドットの位置を交換します(たとえば、ドット 1 と 4 の位置を交換します) 点字キーボード オプション - 次の言語に切り替える: %s - 現在使用中の言語: %s + 入力言語の変更 + 現在 %s を使用しています + 入力言語 + %s点字に切り替え + 縮約形 + 非縮約形 すべての操作を確認 チュートリアルを開く チュートリアルを終了 @@ -49,15 +56,23 @@ 削除するには、左にスワイプします 改行するには、2 本指で右にスワイプします 単語を削除するには、2 本指で左にスワイプします - カーソルを後ろに移動するには、上にスワイプします - カーソルを前に移動するには、下にスワイプします キーボードを非表示にするには、2本の指で下にスワイプします 次のキーボードに切り替えるには、3 本指で下にスワイプします テキストを送信するには、2 本指で上にスワイプします ヘルプや他のオプションを表示するには、3 本指で上にスワイプします 完了 + 画面裏返しモード + デバイスの画面を自分とは反対側に向けた状態にします(画面裏返しモード) + テーブルトップ モード + テーブルの上にデバイスを平らに置きます(テーブルトップ モード) + デバイスの持ち方に合わせる お使いのデバイスは点字キーボードに対応していません お使いのデバイスは十分なタッチポイントに対応していません。詳しくは、デバイスのメーカーにお問い合わせください。 + %sを削除しました + + ドット%s + ドット%s + 点字キーボードを使用するには、TalkBack をオンにしてください ユーザー補助設定でオンにする 点字キーボードを使用するには、TalkBack を再開してください @@ -71,32 +86,30 @@ ここからは、通常のTalkBackジェスチャーを使用できなくなります。点字キーボードの使用中は TalkBack はご利用いただけません。 まず、このように、画面を自分とは反対の方向に向けてスマートフォンを持ちます。 続行するには、ダブルタップします - 文字「A」を入力するには、左の人差し指でドット 1 をタップします + 左手の人差し指 + 右手の人差し指 + %1$sでドット 1 をタップして文字「A」を入力します 次に、文字「B」、「C」、「D」を入力してみます 文字を削除するには、左にスワイプします スペースを追加するには、右にスワイプします - カーソルを後ろに移動するには、上にスワイプします - カーソルを前に移動するには、下にスワイプします キーボードを非表示にするには、2 本指で下にスワイプします 他のキーボードに切り替えるには、3 本指で下にスワイプします チュートリアルを終了するには、3 本指で上にスワイプします 削除 スペース - カーソルを後ろに移動しました - カーソルを前に移動しました キーボードを非表示にする 次のキーボード ここからは、通常のTalkBackジェスチャーを使用できなくなります。点字キーボードの使用中は、TalkBackをご利用いただけません。\n\n%1$s まず、画面が自分とは反対側を向くようにスマートフォンを回します。\n\n次に、スマートフォンを横向きにします。左右の手でスマートフォンの短い方の縁をしっかり持ちます。右手でUSBポートがある方の縁を持ちます。人差し指、中指、薬指の3本の指を画面に置き、小指と親指でスマートフォンを支えます。\n\n準備ができたら、画面をダブルタップして続行します。\n\n点字キーボードを終了するには、3本指で下方向にスワイプします。これで、元のキーボードに戻ります。 スマートフォンが縦向きになっています。続行するには、長い方の縁が下になるようスマートフォンを横向きにします。次に、画面を自分とは反対側に向けます。準備ができたら、画面をダブルタップして続行します。 - 画面を自分とは反対側に向けておきます。左右の手でスマートフォンの短い方の縁をしっかり持ち、左右の人差し指、中指、薬指の3本で画面をタップできるようにします。\n\n左手の薬指をドット1に置きます。ドット1をタップして文字「A」を入力します。 - 左手の薬指でドット1をタップして「A」を入力します + 左手の人差し指 + 右手の人差し指 + 画面を自分とは反対側に向けておきます。左右の手でスマートフォンの短い方の縁をしっかり持ち、左右の人差し指、中指、薬指の3本で画面をタップできるようにします。\n\n%1$sをドット1に置きます。ドット1をタップして文字「A」を入力します。 + %1$sでドット1をタップして「A」を入力します %1$sをタップして文字「%2$s」を入力します 文字を削除するには、左にスワイプします。では、やってみましょう。 dを削除しました。 スペースを追加するには、右にスワイプします。では、やってみましょう。 - カーソルを後ろに移動するには、上にスワイプします。では、やってみましょう。 - カーソルを前に移動するには、下にスワイプします。では、やってみましょう。 キーボードを非表示にするには、2本の指で下にスワイプします。では、やってみましょう。 キーボードを非表示にします。通常はこれでキーボードが表示されなくなりますが、チュートリアルの途中なので、点字キーボードは開いたままになります。 他のキーボードに切り替えるには、3本指で下にスワイプします。では、やってみましょう。 @@ -114,6 +127,4 @@ 文字を削除しました 単語を削除しました チュートリアルを続けましょう。%1$s - 外付けの点字ディスプレイを接続して、このデバイスにテキストを入力できます。\nまた、タッチ スクリーンの点字キーボードか次の入力方法に切り替えることもできます。 - タッチ スクリーンのキーボードに切り替える diff --git a/braille/brailleime/src/phone/res/values-ka/strings.xml b/braille/brailleime/src/main/res/values-ka/strings.xml similarity index 86% rename from braille/brailleime/src/phone/res/values-ka/strings.xml rename to braille/brailleime/src/main/res/values-ka/strings.xml index e9accd688..99aa1b7ad 100644 --- a/braille/brailleime/src/phone/res/values-ka/strings.xml +++ b/braille/brailleime/src/main/res/values-ka/strings.xml @@ -5,6 +5,9 @@ მაგიდის რეჟიმი. დადეთ თქვენი მოწყობილობა დასატენი პორტით მარცხნივ. წერტილის მდებარეობის გასაახლებლად, დააჭირეთ 6 თითით. სხვა კლავიატურა არ არის ჩართული, გადადით კლავიატურის პარამეტრებზე მეტი ვარიანტის სანახავად გადაფურცლეთ ზემოთ 3 თითით + გადართულია შეკვეცილ ბრაილზე + გადართულია შეუკვეცავ ბრაილზე + გადართულია შეუკვეცავ UEB-ზე ბრაილის კლავიატურა ბრაილის კლავიატურა, %s TalkBack ბრაილის კლავიატურა — დახმარებისთვის მოინახულეთ g.co/help/braille @@ -17,7 +20,6 @@ განახლდა მდებარეობა წერტილებისთვის 1, 2 და 3. ახლა კი ჩავიწეროთ წერტილები თქვენი მარჯვენა ხელით. ხანგრძლივად შეეხეთ ეკრანს თქვენი მარჯვენა ხელის შუა 3 თითით. განახლდა მდებარეობა წერტილებისთვის 1, 2 და 3. ახლა კი ჩავიწეროთ წერტილები თქვენი მარცხენა ხელით. ხანგრძლივად შეეხეთ ეკრანს თქვენი მარცხენა ხელის შუა 3 თითით. წერტილის მდებარეობის განახლება ვერ მოხერხდა. ხანგრძლივად შეეხეთ ეკრანს 6 თითით. შემდეგ კი ცადეთ ხელახლა. - გადართულია %s-ზე ბრაილის კლავიატურა ბრაილის კლავიატურის დაყენება ბრაილის კლავიატურის გამოყენების წესი @@ -27,18 +29,23 @@ <br><br>2. <b>ბრაილის კლავიატურის გამოყენება</b>: გახსენით ჩვეულებრივი კლავიატურა, შემდეგ შეეხეთ კლავიატურის არჩევის ხატულას %2$s (ჩვეულებრივ, ქვედა მარჯვენა კუთხეშია). აირჩიეთ „%1$s“. <br><br>თუ კლავიატურების გადართვის ვარიანტს ვერ ხედავთ, ცადეთ, დააინსტალიროთ %3$s, Google კლავიატურა. პარამეტრები - აკრეფის ენა - უპირატესი ენა - აღარ მაჩვენოთ ეს - ენის სწრაფად შეცვლა აკრეფისას - ბრაილის კლავიატურით აკრეფისას ენის შესაცვლელად გადაფურცლეთ 3-მდე თითით. შემდეგ კი აირჩიეთ „შემდეგ ენაზე გადართვა“. + აკრეფის ენა + ერთიანი ინგლისური ბრაილი + ესპანური + არაბული + ფრანგული + პოლონური ყველა დაჭერილი წერტილის შეყვანა თითოეული დაჭერილი წერტილი შეტანილი ტექსტის ნაწილია, ისინიც კი, რომლებსაც სხვა წერტილებზე ადრე აუშვით წერტილების შებრუნება გადაცვალეთ წერტილების პოზიციები, ისე, რომ 1-ლმა და მე-4 წერტილებმა ადგილები გაცვალონ, მაგალითად ბრაილის კლავიატურის ვარიანტები - შემდეგ ენაზე გადართვა: %s - ამჟამად გამოიყენება: %s + აკრეფის ენის შეცვლა + ამჟამად გამოიყენება %s + აკრეფის ენა + %s ბრაილზე გადართვა + შეკვეცილ + შეუკვეცავ ყველა ჟესტის გადახედვა სახელმძღვანელოს გახსნა სახელმძღვანელოს დასრულება @@ -49,15 +56,23 @@ წასაშლელად გადაფურცლეთ მარცხნივ ახალი ხაზის დასამატებლად გადაფურცლეთ მარჯვნივ 2 თითით სიტყვის წასაშლელად გადაფურცლეთ მარცხნივ 2 თითით - გადაფურცლეთ ზევით, რათა კურსორი უკან გადასწიოთ - გადაფურცლეთ ქვევით, რათა კურსორი წინ გადასწიოთ კლავიატურის დასამალად გადაფურცლეთ ქვემოთ 2 თითით შემდეგ კლავიატურაზე გადასართავად გადაფურცლეთ ქვემოთ 3 თითით ტექსტის გასაგზავნად გადაფურცლეთ ზემოთ 2 თითით დახმარების და სხვა ვარიანტების სანახავად გადაფურცლეთ ზემოთ 3 თითით მზადაა + მიბრუნებული ეკრანის რეჟიმი + გეჭიროთ მოწყობილობა თქვენგან მიბრუნებული ეკრანით (მიბრუნებული ეკრანის რეჟიმი) + სამაგიდო რეჟიმი + მოათავსეთ მოწყობილობა ბრტყლად მაგიდაზე (მაგიდის რეჟიმი) + მოწყობილობის დაჭერასთან მიჩვევა თქვენს მოწყობილობას არ აქვს ბრაილის კლავიატურის მხარდაჭერა თქვენს მოწყობილობას არ აქვს საკმარისი შეხების წერტილების მხარდაჭერა. მეტი ინფორმაციისთვის დაუკავშირდით თქვენი მოწყობილობის მწარმოებელს. + %s წაიშალა + + წერტილი %s + წერტილები %s + TalkBack-ის ჩართვა ბრაილის კლავიატურის გამოსაყენებლად ჩართვა მარტივი წვდომის პარამეტრებიდან TalkBack-ის განახლება ბრაილის კლავიატურის გამოსაყენებლად @@ -71,32 +86,30 @@ ამიერიდან TalkBack-ის ჩვეულებრივ ჟესტებს ვეღარ გამოიყენებთ. TalkBack მიუწვდომელია ბრაილის კლავიატურის გამოყენების განმავლობაში. დასაწყებად ტელეფონი დაიჭირეთ ასე, თქვენგან მიმართული ეკრანით. გასაგრძელებლად ორმაგად შეეხეთ სადმე - „ა“ ასოს დასაწერად შეეხეთ წერტილ 1-ს მარცხენა საჩვენებელი თითით + მარცხენა საჩვენებელი თითით + მარჯვენა საჩვენებელი თითით + „ა“ ასოს დასაწერად შეეხეთ წერტილ 1-ს %1$s შემდეგ, ცადეთ, დაწეროთ „ბ“, „გ“ და „დ“ ასოები ასოს წასაშლელად გადაფურცლეთ მარცხნივ ინტერვალის დასამატებლად გადაფურცლეთ მარჯვნივ - გადაფურცლეთ ზევით, რათა კურსორი უკან გადასწიოთ - გადაფურცლეთ ქვევით, რათა კურსორი წინ გადასწიოთ კლავიატურის დასამალად გადაფურცლეთ ქვემოთ 2 თითით თქვენს სხვა კლავიატურაზე გადასართავად გადაფურცლეთ ქვემოთ 3 თითით სახელმძღვანელოს დასასრულებლად გადაფურცლეთ ზემოთ 3 თითით წაშლა ინტერვალი - კურსორი გადაწეულია უკან - კურსორი გადაწეულია წინ კლავიატურის დამალვა შემდეგი კლავიატურა ამიერიდან TalkBack-ის ჩვეულებრივ ჟესტებს ვეღარ გამოიყენებთ. TalkBack მიუწვდომელია ბრაილის კლავიატურის გამოყენების განმავლობაში.\n\n%1$s თავდაპირველად, შეაბრუნეთ ტელეფონი ისე, რომ ეკრანი თქვენგან იყოს მიმართული.\n\nშემდეგ შეატრიალეთ ტელეფონი ჰორიზონტალურად, ლანდშაფტის პოზიციაზე. ხელებით ტელეფონის მოკლე კიდეები უნდა გეჭიროთ. მარჯვენა ხელით უნდა გეჭიროთ იმ ბოლო, რომელზეც USB პორტია მოთავსებული. დაადეთ 3 შუა თითი ეკრანს, ხოლო ნეკი და ცერი ტელეფონის საყრდენად გამოიყენეთ.\n\nროდესაც მზად იქნებით, ორმაგად შეეხეთ ეკრანს გასაგრძელებლად.\n\nბრაილის კლავიატურიდან გასასვლელად გადაფურცლეთ ქვემოთ, მიწისკენ, 3 თითით. ეს საწყის კლავიატურაზე დაგაბრუნებთ. თქვენი ტელეფონი ვერტიკალურ პოზიციაშია. გასაგრძელებლად შეატრიალეთ ტელეფონი ჰორიზონტალურად, ისე, რომ გრძელი მხარე ქვემოთ იყოს. შემდეგ შეაბრუნეთ ეკრანი თქვენგან შორს. როდესაც მზად იქნებით, ორმაგად შეეხეთ ეკრანს გასაგრძელებლად. - ეკრანი თქვენგან მიმართულ მდგომარეობაში გეჭიროთ. გეჭიროთ ტელეფონი ორივე ხელით, ტელეფონის მოკლე კიდეებზე, ისე, რომ თითოეული ხელის 3 შუა თითი ეკრანს ეხებოდეს.\n\nმარცხენა საჩვენებელი თითი წერტილ 1-ზე უნდა იყოს. ახლა შეეხეთ წერტილ 1-ს „ა“ ასოს დასაწერად. - „ა“ ასოს დასაწერად შეეხეთ წერტილ 1-ს მარცხენა საჩვენებელი თითით + მარცხენა საჩვენებელი თითი + მარჯვენა საჩვენებელი თითი + ეკრანი თქვენგან მიმართულ მდგომარეობაში გეჭიროთ. გეჭიროთ ტელეფონი ორივე ხელით, ტელეფონის მოკლე კიდეებით, ისე, რომ თითოეული ხელის 3 შუა თითი ეკრანს ეხებოდეს.\n\n%1$s წერტილ 1-ზე უნდა იყოს. ახლა შეეხეთ წერტილ 1-ს „ა“ ასოს დასაწერად. + „ა“ ასოს დასაწერად შეეხეთ წერტილ 1-ს %1$s „%2$s“ ასოს დასაწერად შეეხეთ %1$s-ს ასოს წასაშლელად გადაფურცლეთ მარცხნივ. ცადეთ ახლავე. d წაიშალა. ინტერვალის დასამატებლად გადაფურცლეთ მარჯვნივ. ცადეთ ახლავე. - გადაფურცლეთ ზევით, რათა კურსორი უკან გადასწიოთ ცადეთ ახლავე. - გადაფურცლეთ ქვევით, რათა ტექსტის კურსორი წინ გადასწიოთ. ცადეთ ახლავე. კლავიატურის დასამალად გადაფურცლეთ ქვემოთ 2 თითით. ცადეთ ახლავე. კლავიატურის დამალვა. ჩვეულებრივ, ეს კლავიატურას დამალავს. ბრაილის კლავიატურა ღია დარჩება, რადგან თქვენ ჯერ კიდევ სახელმძღვანელოში ხართ. თქვენს სხვა კლავიატურაზე გადასართავად გადაფურცლეთ ქვემოთ 3 თითით. ცადეთ ახლავე. @@ -114,6 +127,4 @@ ასო წაიშალა სიტყვა წაიშალა მოდით, განვაგრძოთ სახელმძღვანელო. %1$s - დაკავშირებულია ბრაილის გარე ეკრანი, რომლის გამოყენებაც შეგიძლიათ ამ მოწყობილობაზე ტექსტის ასაკრეფად.\nშეგიძლიათ გადაერთოთ ბრაილის სენსორული ეკრანის კლავიატურაზე ან ტექსტის შეყვანის სხვა მეთოდზე. - სენსორული ეკრანის კლავიატურაზე გადართვა diff --git a/braille/brailleime/src/phone/res/values-kk/strings.xml b/braille/brailleime/src/main/res/values-kk/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-kk/strings.xml rename to braille/brailleime/src/main/res/values-kk/strings.xml index d4bd5efab..be1637c07 100644 --- a/braille/brailleime/src/phone/res/values-kk/strings.xml +++ b/braille/brailleime/src/main/res/values-kk/strings.xml @@ -5,6 +5,9 @@ Үстел үсті режимі. Құрылғыны зарядтау порты сол жақта тұратындай қойыңыз. Нүктенің орнын өзгерту үшін 6 саусақпен басып тұрыңыз. Басқа пернетақта іске қосылмады, пернатақта параметрлеріне өтіңіз. Қосымша параметрлер үшін 3 саусақпен жоғары сырғытыңыз. + Кішірейтілген Брайль пернетақтасына ауыстырылды. + Кішірейтілмеген Брайль пернетақтасына ауыстырылды. + Кішірейтілмеген Брайль пернетақтасына ауыстырылды. Брайль пернетақтасы Брайль пернетақтасы, %s TalkBack Брайль пернетақтасы – анықтама алу үшін g.co/help/braille бетіне өтіңіз. @@ -17,7 +20,6 @@ 1-ші, 2-ші және 3-ші нүктелердің орындары өзгертілді. Енді оларды оң қолмен жазып көрейік. Оң қолыңыздың ортаңғы 3 саусағымен экранды басып тұрыңыз. 1-ші, 2-ші және 3-ші нүктелердің орындары өзгертілді. Енді оларды сол қолмен жазып көрейік. Сол қолыңыздың ортаңғы 3 саусағымен экранды басып тұрыңыз. Нүкте орны өзгермеді. 6 саусағыңызбен экранды басып тұрыңыз. Одан кейін әрекетті қайталап көріңіз. - %s тіліне ауысты. Брайль пернетақтасы Брайль пернетақтасын реттеу Брайль пернетақтасын пайдалану әдісі @@ -27,18 +29,23 @@ <br><br>2. <b>Брайль пернетақтасын пайдалану</b>: кәдімгі пернетақтаны ашып, пернетақта таңдау таңбашасын %2$s (әдетте төменгі оң жақта) түртіңіз. \"%1$s\" таңдаңыз. <br><br>Пернетақталарды ауыстыру опциясын көрмесеңіз, %3$s, Google пернетақтасын орнатып көріңіз. Параметрлер - Теру тілдері - Қолданатын тіл - Қайта көрсетілмесін - Теру кезінде тілді жылдам ауыстыру - Брайль пернетақтасымен теру кезінде тілді ауыстыру үшін 3 саусағыңызбен жоғары сырғытыңыз. Содан кейін \"келесі тілге ауысу\" тармағын таңдаңыз. + Мәтін енгізу тілдері + Unified English Braille + Испан + Араб + Француз + Поляк Барлық басылған нүктені қамту Нүкте басқа нүктелерден бұрын жіберілсе де, әр басылған нүкте енгiзудің бөлігі болып саналады. Кері бағыттағы нүктелер Нүктенің орнын ауыстыру, мысалы, 1 мен 4. Брайль пернетақтасының опциялары - Келесі тілге ауысу: %s - Қолданыстағы тіл: %s + Теру тілін өзгерту + Қазір %s пайдаланылуда + Теру тілі + %s Брайль пернетақтасына ауысу + кішірейтілген + кішірейтілмеген Барлық қимылдарды қарау Оқулықты ашу Оқулықты жабу @@ -49,15 +56,23 @@ Жою үшін солға қарай сырғытыңыз. Жаңа жол енгізу үшін 2 саусақпен оңға қарай сырғытыңыз. Сөзді жою үшін 2 саусақпен солға қарай сырғытыңыз. - Курсорды артқа жылжыту үшін жоғары сырғытыңыз. - Курсорды алға жылжыту үшін төмен сырғытыңыз. Пернетақтаны жасыру үшін 2 саусақпен төмен қарай сырғытыңыз. Келесі пернатақтаға ауысу үшін 3 саусақпен төмен қарай сырғытыңыз. Мәтін жіберу үшін 2 саусақпен жоғары қарай сырғытыңыз. Анықтама және қосымша опциялар үшін 3 саусақпен жоғары қарай сырғытыңыз. Дайын + Экранды ары қарату режимі + Құрылғының экранын ары қаратыңыз (экранды ары қарату режимі) + Экранды жоғары қаратып қою режимі + Құрылғыңызды үстелге жатқызып қойыңыз (экранды жоғары қаратып үстелге қою режимі) + Құрылғыны ұстау мәнеріңізге бейімдеу Құрылғыңыз Брайль пернетақтасын қолдамайды. Құрылғыңыз жеткілікті түрту орындарын қолдамайды. Қосымша ақпарат алу үшін құрылғы өндірушісіне хабарласыңыз. + %s жойылды. + + %s нүкте + %s нүкте + Брайль пернетақтасын пайдалану үшін TalkBack функциясын іске қосыңыз. \"Арнайы мүмкіндіктер\" параметрлерін іске қосу Брайль пернетақтасын пайдалану үшін TalkBack функциясын қолдана беріңіз. @@ -71,32 +86,30 @@ Бұдан былай кәдімгі TalkBack қимылдарын пайдалана алмайсыз. TalkBack функциясы Брайль пернетақтасын пайдалану кезінде қолжетімді болмайды. Бастау үшін телефоныңыздың экранын әрі қаратып ұстаңыз. Жалғастыру үшін кез келген жерді екі рет түртіңіз. - \"A\" әрпін теру үшін сол сұқ саусағыңызбен 1 нүктесін түртіңіз. + сол сұқ саусақ + оң сұқ саусақ + \"A\" әрпін теру үшін %1$s арқылы 1-нүктені түртіңіз. Одан кейін B, C және D әріптерін теріп көріңіз. Әріпті жою үшін солға қарай сырғытыңыз. Бос орын енгізу үшін оңға қарай сырғытыңыз. - Курсорды артқа жылжыту үшін жоғары сырғытыңыз. - Курсорды алға жылжыту үшін төмен сырғытыңыз. Пернетақтаны жасыру үшін 2 саусақпен төмен қарай сырғытыңыз. Басқа пернетақтаға ауысу үшін 3 саусақпен төмен қарай сырғытыңыз. Оқулықты жабу үшін 3 саусақпен жоғары қарай сырғытыңыз. ЖОЮ БОС ОРЫН - КУРСОР АРТҚА ЖЫЛЖЫТЫЛДЫ. - КУРСОР АЛҒА ЖЫЛЖЫТЫЛДЫ. ПЕРНЕТАҚТАНЫ ЖАСЫРУ КЕЛЕСІ ПЕРНЕТАҚТА Бұдан былай кәдімгі TalkBack қимылдарын пайдалана алмайсыз. TalkBack функциясы Брайль пернетақтасын пайдалану кезінде қолжетімді болмайды.\n\n%1$s Алдымен телефонды қосыңыз. Оның экраны әрі қарап тұруы керек.\n\nОдан кейін телефонды көлденеңінен бұрып, альбом қалпына келтіріңіз. Саусақтарыңыз телефонның шетінде болуы керек. Оң қолыңызбен USB портының шетінен ұстаңыз. 3 саусақ экранда, ал шынашақ пен бас бармақ телефонның шетінде.\n\nДайын болған кезде, экранды екі рет түртіңіз.\n\nБрайль пернетақтасын жабу үшін 3 саусақпен төмен қарай сырғытыңыз. Бастапқы пернетақтаға ораласыз. Телефон тік қалыпта. Жалғастыру үшін оны көлденең қалыпта ұстаңыз. Одан кейін экранды әрі қаратып ұстаңыз. Дайын болған кезде, экранды екі рет түртіңіз. - Экранды әрі қаратып ұстаңыз. Ортаңғы 3 саусағыңыз экранды түрте алатындай етіп, телефонның шетінен екі қолыңызбен ұстаңыз.\n\nСол жақ сұқ саусағыңыз 1-нүктеде болуы керек. \"A\" әрпін теру үшін 1-нүктені түртіңіз. - \"A\" әрпін теру үшін сол жақ сұқ саусағыңызбен 1-нүктені түртіңіз. + сол сұқ саусақ + оң сұқ саусақ + Экранды әрі қаратып ұстаңыз. Ортаңғы 3 саусағыңыз экранды түрте алатындай етіп, телефонның шетінен екі қолыңызбен ұстаңыз.\n\n%1$s 1-нүктеде болуы керек. \"A\" әрпін теру үшін 1-нүктені түртіңіз. + \"A\" әрпін теру үшін %1$s арқылы 1-нүктені түртіңіз. %2$s әрпін теру үшін %1$s түртіңіз. Әріпті жою үшін солға қарай сырғытыңыз. Қазір байқап көріңіз. d жойылды. Бос орын қосу үшін оңға қарай сырғытыңыз. Қазір байқап көріңіз. - Курсорды артқа жылжыту үшін жоғары сырғытыңыз. Қазір істеп көріңіз. - Курсорды алға жылжыту үшін төмен сырғытыңыз. Қазір істеп көріңіз. Пернетақтаны жасыру үшін 2 саусақпен төмен қарай сырғытыңыз. Қазір байқап көріңіз. Пернетақтаны жасыру. Әдетте бұл пәрмен пернетақтаны жасырады. Сіз әлі оқулықты ашып отырғандықтан, Брайль пернетақтасы да ашық болады. Басқа пернетақтаға ауысу үшін 3 саусақпен төмен қарай сырғытыңыз. Қазір байқап көріңіз. @@ -114,6 +127,4 @@ Әріп жойылды Сөз жойылды Оқуды жалғастыру. %1$s - Сыртқы Брайль дисплейі жалғанды, оны осы құрылғыға мәтін енгізу үшін пайдалануға болады.\nСенсорлық экранды Брайль пернетақтасына немесе келесі енгізу әдісіне ауыса аласыз. - Сенсорлық экранды пернетақтаға ауысу diff --git a/braille/brailleime/src/phone/res/values-km/strings.xml b/braille/brailleime/src/main/res/values-km/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-km/strings.xml rename to braille/brailleime/src/main/res/values-km/strings.xml index 6b13031ed..4de1fa01b 100644 --- a/braille/brailleime/src/phone/res/values-km/strings.xml +++ b/braille/brailleime/src/main/res/values-km/strings.xml @@ -5,6 +5,9 @@ មុខងារដាក់លើតុ។ ដាក់​ឧបករណ៍​ដែលមានរន្ធ​សាកថ្ម​របស់អ្នក​ទៅខាងឆ្វេង​។ ដើម្បីធ្វើបច្ចុប្បន្នភាព​ទីតាំងចំណុច សូមសង្កត់ដោយប្រើម្រាមដៃ 6។ មិនបានបើក​ក្ដារចុច​ផ្សេងទៀតទេ សូមចូល​ទៅកាន់​ការកំណត់​ក្ដារចុច អូសឡើងលើ​ដោយប្រើ​ម្រាមដៃ 3 សម្រាប់​ជម្រើស​ច្រើនទៀត + បានប្ដូរទៅ​អក្សរស្ទាប​កាត់ + បានប្ដូរទៅ​អក្សរស្ទាប​ពេញ + បានប្ដូរទៅ​មុខងារ UEB ទម្រង់​ពេញ ក្ដារចុច​អក្សរស្ទាប ក្ដារចុច​អក្សរស្ទាប, %s ក្ដារចុច​អក្សរស្ទាបតបវិញ - សម្រាប់​ជំនួយ សូមចូល​ទៅកាន់ g.co/help/braille @@ -17,7 +20,6 @@ ទីតាំងដែលបានធ្វើបច្ចុប្បន្នភាពសម្រាប់ចំណុច 1, 2 និង 3។ បន្ទាប់មក សូមថតចំណុចនៅលើដៃស្ដាំរបស់អ្នក។ ចុចអេក្រង់​ឱ្យជាប់ដោយប្រើម្រាមដៃកណ្ដាល 3 នៃដៃស្ដាំរបស់អ្នក។ ទីតាំងដែលបានធ្វើបច្ចុប្បន្នភាពសម្រាប់ចំណុច 1, 2 និង 3។ បន្ទាប់មក សូមថតចំណុចនៅលើដៃឆ្វេងរបស់អ្នក។ ចុចអេក្រង់​ឱ្យជាប់ដោយប្រើម្រាមដៃកណ្ដាល 3 នៃដៃឆ្វេងរបស់អ្នក។ មិនអាចធ្វើបច្ចុប្បន្នភាព​ទីតាំងចំណុចបានទេ។ សូមចុច​អេក្រង់ឱ្យជាប់​ដោយប្រើ​ម្រាមដៃ 6។ បន្ទាប់មក ព្យាយាម​ម្ដង​ទៀត។ - បាន​ប្ដូរទៅ %s ក្ដារចុច​អក្សរស្ទាប រៀបចំ​ក្ដារចុច​អក្សរស្ទាប របៀប​ប្រើប្រាស់​ក្ដារចុច​អក្សរស្ទាប @@ -27,18 +29,23 @@ <br><br>2. <b>ប្រើ​ក្ដារចុច​អក្សរស្ទាប</b>៖ បើក​ក្ដារចុច​ធម្មតា​របស់អ្នក រួចចុចលើ​រូបជ្រើសរើស​ក្ដារចុច %2$s (ជាធម្មតា ស្ថិតនៅជ្រុង​ខាងក្រោម​ផ្នែកខាងស្ដាំ)។ ជ្រើសរើស \"%1$s។\" <br><br>ប្រសិនបើអ្នក​មិនឃើញ​ជម្រើសប្ដូរ​ក្ដារចុចទេ សូម​សាកល្បង​ដំឡើង %3$s ដែលជា​ក្ដារចុច Google។ ការកំណត់ - ភាសាវាយបញ្ចូល - ភាសា​អាទិភាព - កុំបង្ហាញវាម្ដងទៀត - ប្ដូរភាសាយ៉ាងរហ័ស ខណៈពេលកំពុងវាយបញ្ចូល - ដើម្បីប្ដូរភាសារបស់អ្នក ខណៈពេលកំពុងវាយបញ្ចូលដោយប្រើក្ដារចុចអក្សរស្ទាប សូមអូសឡើងលើដោយប្រើម្រាមដៃ 3។ បន្ទាប់មកជ្រើសរើស \"ប្ដូរទៅភាសាបន្ទាប់\"។ + ភាសាវាយបញ្ចូល + អក្សរស្ទាប​សម្រាប់ភាសា​អង់គ្លេស​ទូទៅ + អេស្ប៉ាញ + អារ៉ាប់ + បារាំង + ប៉ូឡូញ រួមបញ្ចូល​ចំណុច​ទាំងអស់​ដែល​បានចុច ចំណុចនីមួយៗដែលបានចុចគឺជាផ្នែកនៃការបញ្ចូល ទោះបីជាចំណុចនោះត្រូវបានលែង​មុនចំណុចផ្សេងទៀតក៏ដោយ បញ្ច្រាសចំណុច ឧទាហរណ៍ ផ្លាស់ប្ដូរ​ទីតាំង​ចំណុច ដើម្បីឱ្យ​ចំណុចទី 1 និង 4 ប្ដូរ​ទីតាំងគ្នា ជម្រើស​ក្ដារចុច​អក្សរស្ទាប - ប្ដូរទៅភាសាបន្ទាប់៖ %s - បច្ចុប្បន្ន​កំពុងប្រើ៖ %s + ផ្លាស់ប្ដូរ​ភាសាវាយបញ្ចូល + បច្ចុប្បន្ន​កំពុងប្រើ %s + ភាសា​វាយបញ្ចូល + ប្ដូរទៅ​អក្សរស្ទាប %s + ​កាត់ + ពេញ ពិនិត្យមើល​ចលនាទាំងអស់ បើក​មេរៀន បញ្ចប់​មេរៀន @@ -49,15 +56,23 @@ ដើម្បីលុប សូម​អូសទៅឆ្វេង សម្រាប់បន្ទាត់ថ្មី សូមអូស​ទៅស្ដាំ​ដោយប្រើ​ម្រាមដៃ 2 ដើម្បីលុប​ពាក្យ សូមអូស​ទៅឆ្វេង​ដោយប្រើ​ម្រាមដៃ 2 - ដើម្បីផ្លាស់ទីទស្សន៍ទ្រនិចថយក្រោយ សូមអូសឡើងលើ - ដើម្បីផ្លាស់ទីទស្សន៍ទ្រនិចទៅមុខ សូមអូសចុះក្រោម ដើម្បីលាក់​ក្ដារចុច សូមអូស​ចុះក្រោម​ដោយប្រើ​ម្រាមដៃ 2 ដើម្បី​ប្ដូរទៅក្ដារចុច​បន្ទាប់ សូម​អូសចុះក្រោម​ដោយប្រើ​ម្រាមដៃ 3 ដើម្បីដាក់បញ្ជូន​អត្ថបទ សូមអូស​ឡើងលើ​ដោយប្រើ​ម្រាមដៃ 2 សម្រាប់ជំនួយ និង​ជម្រើស​ផ្សេងទៀត សូមអូស​ឡើងលើ​ដោយប្រើ​ម្រាមដៃ 3 រួចរាល់ + មុខងារ​បែរអេក្រង់​ចេញ + កាន់​ឧបករណ៍​ដោយ​បែរអេក្រង់​ចេញពី​អ្នក (មុខងារ​បែរអេក្រង់ចេញ) + មុខងារដាក់លើតុ + ដាក់​ឧបករណ៍​ឱ្យរាបស្មើ​នៅលើតុ (មុខងារ​ដាក់លើតុ) + សម្រប​តាមរបៀប​ដែលអ្នក​កាន់ឧបករណ៍ ឧបករណ៍​របស់អ្នក​មិនស្គាល់​ក្ដារចុច​អក្សរស្ទាបទេ ឧបករណ៍​របស់អ្នក​មិនស្គាល់​ចំណុចប៉ះ​គ្រប់គ្រាន់ទេ។ សម្រាប់​ព័ត៌មាន​បន្ថែម សូម​ទាក់ទង​ក្រុមហ៊ុនផលិត​ឧបករណ៍​របស់អ្នក។ + បានលុប %s + + ចំណុចលេខ %s + ចំណុចលេខ %s + បើក​មុខងារ​តបវិញ ដើម្បីប្រើ​ក្ដារចុច​អក្សរស្ទាប បើក​ការកំណត់​ភាពងាយស្រួល បន្ត​មុខងារ​តបវិញ ដើម្បីប្រើ​ក្ដារចុច​អក្សរស្ទាប @@ -71,32 +86,30 @@ ចាប់ពី​ពេលនេះ​ទៅ អ្នកនឹង​មិនអាច​ប្រើចលនា​ធម្មតា​របស់​មុខងារ​តបវិញ​បានទេ។ មិនអាចប្រើ​មុខងារ​តបវិញ​បានទេ នៅពេលប្រើ​ក្ដារចុច​អក្សរស្ទាប។ ដើម្បី​ចាប់ផ្ដើម សូមកាន់​ទូរសព្ទ​របស់អ្នក​បែបនេះ ដោយបែរ​អេក្រង់​ចេញពីអ្នក។ ចុចពីរដង​នៅលើ​កន្លែង​ណាមួយ ដើម្បីបន្ត - ចុច​ចំណុច​លេខ 1 ដោយប្រើ​ម្រាមដៃចង្អុល​ខាងឆ្វេង​របស់អ្នក ដើម្បី​វាយបញ្ចូល​អក្សរ \"A\" + ម្រាមដៃ​ចង្អុល​ខាងឆ្វេង + ម្រាមដៃចង្អុល​ខាងស្ដាំ + ចុច​ចំណុច​លេខ 1 ដោយប្រើ %1$s របស់អ្នក ដើម្បី​វាយបញ្ចូល​អក្សរ \"A\" បន្ទាប់មក សូម​សាកល្បង​វាយបញ្ចូល​អក្សរ B, C និង D ដើម្បី​លុបអក្សរ សូមអូស​ទៅឆ្វេង ដើម្បី​ដកឃ្លា សូម​អូសទៅ​ស្ដាំ - ដើម្បីផ្លាស់ទីទស្សន៍ទ្រនិចថយក្រោយ សូមអូសឡើងលើ - ដើម្បីផ្លាស់ទីទស្សន៍ទ្រនិចទៅមុខ សូមអូសចុះក្រោម ដើម្បី​លាក់​ក្ដារចុច សូមអូស​ចុះក្រោម​ដោយប្រើ​ម្រាមដៃ 2 ដើម្បី​ប្ដូរទៅ​ក្ដារចុច​ផ្សេងទៀត​របស់អ្នក សូមអូស​ចុះក្រោម​ដោយប្រើ​ម្រាមដៃ 3 ដើម្បី​បញ្ចប់​មេរៀន សូមអូស​ឡើងលើ​ដោយប្រើ​ម្រាមដៃ 3 លុប ដកឃ្លា - បានផ្លាស់ទីទស្សន៍ទ្រនិចថយក្រោយ - បានផ្លាស់ទីទស្សន៍ទ្រនិចទៅមុខ លាក់​ក្ដារចុច ក្ដារចុច​បន្ទាប់ ចាប់ពី​ពេលនេះ​ទៅ អ្នកនឹង​មិនអាច​ប្រើចលនា​ធម្មតា​របស់​មុខងារ​តបវិញ​បានទេ។ មិនអាចប្រើ​មុខងារ​តបវិញ​បានទេ នៅពេលប្រើ​ក្ដារចុច​អក្សរស្ទាប។\n\n%1$s ជាដំបូង សូមបែរ​ទូរសព្ទ​របស់អ្នក ដើម្បីឱ្យ​អេក្រង់​បែរចេញ​ពីអ្នក។\n\nបន្ទាប់មក បង្វិល​ទូរសព្ទ​ទៅផ្ដេក។ ដៃ​របស់អ្នក​គួរតែ​ក្ដាប់គែម​ទទឹងរបស់​ទូរសព្ទ។ ដៃស្ដាំ​របស់អ្នក​គួរតែកាន់​ចុងរន្ធ USB។ ដាក់ម្រាមដៃ​កណ្ដាល 3 របស់អ្នក​នៅលើ​អេក្រង់ ហើយប្រើ​កូនដៃ និងមេដៃ​របស់អ្នក ដើម្បី​ទ្រទូរសព្ទ។\n\nនៅពេល​ដែលអ្នក​រួចរាល់ សូមចុចពីរដង​នៅលើ​អេក្រង់​ដើម្បីបន្ត។\n\nដើម្បី​ចាកចេញពី​ក្ដារចុច​អក្សរស្ទាប សូមអូស​ចុះក្រោម​តម្រង់ទៅដី​ដោយប្រើ​ម្រាមដៃ 3។ ការធ្វើបែបនេះ​នឹងប្ដូរទៅ​ក្ដារចុចដើម​របស់អ្នក​វិញ។ ទូរសព្ទ​របស់អ្នក​កំពុង​បញ្ឈរ។ ដើម្បីបន្ត សូមបង្វិល​ទូរសព្ទ​របស់អ្នក​ទៅផ្ដេក ដើម្បីឱ្យ​ចំហៀងទ្រវែង​ស្ថិតនៅក្រោម។ បន្ទាប់មក បែរ​អេក្រង់​ឱ្យចេញ​ពីអ្នក។ នៅពេល​ដែលអ្នក​រួចរាល់ សូមចុច​ពីរដងនៅលើ​អេក្រង់​ដើម្បីបន្ត។ - បន្តបែរ​អេក្រង់​ចេញពីអ្នក។ កាន់​ទូរសព្ទ​របស់អ្នក​ដោយដៃ​ទាំងពីរនៅ​គែមទទឹង​របស់ទូរសព្ទ ដើម្បីឱ្យ​ម្រាមដៃ​កណ្ដាល 3 នៃ​ដៃម្ខាងៗ​របស់អ្នក​អាចប៉ះ​អេក្រង់បាន។\n\nម្រាមដៃ​ចង្អុល​ខាងឆ្វេង​របស់អ្នក​គួរតែ​ស្ថិតនៅលើ​ចំណុលេខ 1។ ឥឡូវនេះ សូមចុច​ចំណុចលេខ 1 ដើម្បី​វាយបញ្ចូល​អក្សរ “A”។ - ចុច​ចំណុចលេខ 1 ដោយប្រើ​ម្រាមដៃចង្អុល​ខាងឆ្វេង​របស់អ្នក ដើម្បី​វាយបញ្ចូល​អក្សរ “A” + ម្រាមដៃ​ចង្អុល​ខាងឆ្វេង + ម្រាមដៃចង្អុល​ខាងស្ដាំ + បន្តបែរ​អេក្រង់​ចេញពីអ្នក។ កាន់ទូរសព្ទ​របស់អ្នក​ដោយដៃ​ទាំងពីរនៅ​គែមទទឹង​របស់ទូរសព្ទ ដើម្បីឱ្យ​ម្រាមដៃ​កណ្ដាល 3 នៃ​ដៃម្ខាងៗ​របស់អ្នក​អាចប៉ះ​អេក្រង់បាន។\n\n %1$s របស់អ្នក​គួរតែ​ស្ថិតនៅលើ​ចំណុលេខ 1។ ឥឡូវនេះ សូមចុច​ចំណុចលេខ 1 ដើម្បី​វាយបញ្ចូល​អក្សរ “A”។ + ចុច​ចំណុចលេខ 1 ដោយប្រើ %1$s របស់អ្នក ដើម្បី​វាយបញ្ចូល​អក្សរ “A” ចុច %1$s ដើម្បី​វាយបញ្ចូល​អក្សរ %2$s ដើម្បី​លុបអក្សរ សូមអូស​ទៅឆ្វេង។ សាកល្បង​ឥឡូវ​នេះ។ បានលុបអក្សរ \"d\"។ ដើម្បី​ដកឃ្លា សូម​អូសទៅ​ស្ដាំ។ សាកល្បង​ឥឡូវ​នេះ។ - ដើម្បីផ្លាស់ទីទស្សន៍ទ្រនិចថយក្រោយ សូមអូសឡើងលើ។ សាកល្បងឥឡូវនេះ។ - ដើម្បីផ្លាស់ទីទស្សន៍ទ្រនិចទៅមុខ សូមអូសចុះក្រោម។ សាកល្បងឥឡូវនេះ។ ដើម្បី​លាក់​ក្ដារចុច សូមអូស​ចុះក្រោម​ដោយប្រើ​ម្រាមដៃ 2។ សាកល្បង​ឥឡូវ​នេះ។ លាក់​ក្ដារចុច។ ជាទូទៅ ការធ្វើបែបនេះ​នឹងលាក់​ក្ដារចុច។ ក្ដារចុច​អក្សរស្ទាប​នឹងបន្តបើក ដោយសារ​អ្នកស្ថិត​នៅក្នុង​ការសិក្សា​មេរៀន​នៅឡើយ។ ដើម្បី​ប្ដូរទៅ​ក្ដារចុច​ផ្សេងទៀត​របស់អ្នក សូមអូស​ចុះក្រោម​ដោយប្រើ​ម្រាមដៃ 3។ សាកល្បង​ឥឡូវ​នេះ។ @@ -114,6 +127,4 @@ បានលុប​អក្សរ បានលុប​ពាក្យ សូមបន្ត​មេរៀន។ %1$s - ឧបករណ៍បង្ហាញអក្សរស្ទាបខាងក្រៅត្រូវបានភ្ជាប់ ដែលអ្នកអាចប្រើ ដើម្បីវាយបញ្ចូលអត្ថបទទៅក្នុងឧបករណ៍នេះ។\nឬអ្នកអាចប្ដូរទៅក្ដារចុចអក្សរស្ទាបអេក្រង់ថាច់ ឬវិធីសាស្ត្រ​បញ្ចូលបន្ទាប់។ - ប្ដូរទៅក្ដារចុចអេក្រង់ថាច់ diff --git a/braille/brailleime/src/phone/res/values-kn/strings.xml b/braille/brailleime/src/main/res/values-kn/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-kn/strings.xml rename to braille/brailleime/src/main/res/values-kn/strings.xml index 5504fc0d2..2bb3db547 100644 --- a/braille/brailleime/src/phone/res/values-kn/strings.xml +++ b/braille/brailleime/src/main/res/values-kn/strings.xml @@ -5,6 +5,9 @@ ಟೇಬಲ್‍‍ಟಾಪ್ ಮೋಡ್. ನಿಮ್ಮ ಸಾಧನದ ಚಾರ್ಜಿಂಗ್ ಪೋರ್ಟ್ ಅನ್ನು ಎಡಕ್ಕೆ ಇರಿಸಿ. ಡಾಟ್ ಸ್ಥಾನವನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲು, 6 ಬೆರಳುಗಳನ್ನು ಹಿಡಿದುಕೊಳ್ಳಿ. ಯಾವುದೇ ಕೀಬೋರ್ಡ್ ಸಕ್ರಿಯಗೊಂಡಿಲ್ಲ, ಕೀಬೋರ್ಡ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ ಹೆಚ್ಚಿನ ಆಯ್ಕೆಗಳಿಗಾಗಿ, 3 ಬೆರಳುಗಳಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ + ಸಂಕ್ಷೇಪಿಸಿದ ಬ್ರೈಲ್‌ಗೆ ಬದಲಿಸಲಾಗಿದೆ + ಸಂಕ್ಷೇಪಿಸಿರದ ಬ್ರೈಲ್‌ಗೆ ಬದಲಿಸಲಾಗಿದೆ + ಒಪ್ಪಂದ ರಹಿತ UEB ‌ಗೆ ಬದಲಾಯಿಸಲಾಗಿದೆ ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್, %s TalkBack ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ - ಸಹಾಯಕ್ಕಾಗಿ, g.co/help/braille ಗೆ ಭೇಟಿ ನೀಡಿ @@ -17,7 +20,6 @@ ಡಾಟ್ 1, 2 ಮತ್ತು 3 ಗಾಗಿ ಸ್ಥಾನಗಳನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲಾಗಿದೆ. ಮುಂದೆ, ನಿಮ್ಮ ಬಲಗೈಯಲ್ಲಿನ ಡಾಟ್‌ಗಳನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡೋಣ. ನಿಮ್ಮ ಬಲಗೈಯಲ್ಲಿನ ಮಧ್ಯದ 3 ಬೆರಳುಗಳಿಂದ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ. ಡಾಟ್ 1, 2 ಮತ್ತು 3 ಗಾಗಿ ಸ್ಥಾನಗಳನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲಾಗಿದೆ. ಮುಂದೆ, ನಿಮ್ಮ ಎಡಗೈಯಲ್ಲಿನ ಡಾಟ್‌ಗಳನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡೋಣ. ನಿಮ್ಮ ಎಡಗೈಯಲ್ಲಿನ ಮಧ್ಯದ 3 ಬೆರಳುಗಳಿಂದ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ. ಡಾಟ್‌ನ ಸ್ಥಾನವನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. 6 ಬೆರಳುಗಳಿಂದ ಸ್ಕ್ರೀನ್ ಸ್ಪರ್ಶಿಸಿ, ಒತ್ತಿಹಿಡಿಯಿರಿ ಹಾಗೂ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ. ನಂತರ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ. - %s ಗೆ ಬದಲಿಸಲಾಗಿದೆ ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಸೆಟಪ್ ಮಾಡಿ ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಬಳಸುವುದು ಹೇಗೆ? @@ -27,18 +29,23 @@ <br><br>2. <b>ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಬಳಸಿ</b>: ನಿಮ್ಮ ಸಾಮಾನ್ಯ ಕೀಬೋರ್ಡ್ ತೆರೆಯಿರಿ, ನಂತರ %2$s ಕೀಬೋರ್ಡ್ ಐಕಾನ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ ಎಂಬುದನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ (ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಕೆಳಗಿನ ಬಲ ಮೂಲೆಯಲ್ಲಿರುತ್ತದೆ). \"%1$s\" ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ. <br><br>ಕೀಬೋರ್ಡ್‌ಗಳನ್ನು ಬದಲಿಸುವ ಆಯ್ಕೆಯು ನಿಮಗೆ ದೊರೆಯದಿದ್ದರೆ, Google ಕೀಬೋರ್ಡ್ %3$s ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ. ಸೆಟ್ಟಿಂಗ್‌ಗಳು - ಟೈಪಿಂಗ್ ಭಾಷೆಗಳು - ಆದ್ಯತೆಯ ಭಾಷೆ - ಇದನ್ನು ಮತ್ತೊಮ್ಮೆ ತೋರಿಸಬೇಡಿ - ಟೈಪ್ ಮಾಡುವಾಗ ತ್ವರಿತವಾಗಿ ಭಾಷೆಯನ್ನು ಬದಲಾಯಿಸಿ - ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಬಳಸಿ ಟೈಪ್ ಮಾಡುತ್ತಿರುವಾಗ ನಿಮ್ಮ ಭಾಷೆಯನ್ನು ಬದಲಾಯಿಸಲು, 3 ಬೆರಳುಗಳಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ನಂತರ \"ಮುಂದಿನ ಭಾಷೆಗೆ ಬದಲಿಸಿಕೊಳ್ಳಿ\" ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ. + ಟೈಪಿಂಗ್ ಭಾಷೆಗಳು + ಯೂನಿಫೈಡ್ ಇಂಗ್ಲಿಷ್ ಬ್ರೈಲ್ + ಸ್ಪ್ಯಾನಿಶ್ + ಅರೇಬಿಕ್ + ಫ್ರೆಂಚ್ + ಪೋಲಿಶ್ ಒತ್ತಲಾದ ಎಲ್ಲಾ ಚುಕ್ಕೆಗಳನ್ನು ಸೇರಿಸಿ ಇತರ ಚುಕ್ಕೆಗಳಿಗೂ ಮೊದಲು ಚುಕ್ಕೆಯನ್ನು ಒತ್ತಿ-ಬಿಟ್ಟಿದ್ದರೂ, ಪ್ರತಿ ಒತ್ತಿದ ಚುಕ್ಕೆಯು ಇನ್‌ಪುಟ್‌ನ ಭಾಗವಾಗಿರುತ್ತದೆ ಹಿಮ್ಮುಖ ಚುಕ್ಕೆಗಳು ಚುಕ್ಕೆಯ ಸ್ಥಾನಗಳನ್ನು ಸ್ವ್ಯಾಪ್ ಮಾಡಿ, ಉದಾಹರಣೆಗೆ 1 ಮತ್ತು 4 ನೇ ಚುಕ್ಕೆಗಳ ಸ್ಥಾನ ಅದಲು-ಬದಲು ಮಾಡಿ ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಆಯ್ಕೆಗಳು - ಮುಂದಿನ ಭಾಷೆಗೆ ಬದಲಿಸಿಕೊಳ್ಳಿ: %s - ಪ್ರಸ್ತುತ ಇದನ್ನು ಬಳಸುತ್ತಿದ್ದೀರಿ: %s + ಟೈಪಿಂಗ್ ಭಾಷೆಯನ್ನು ಬದಲಾಯಿಸಿ + ಪ್ರಸ್ತತವಾಗಿ %s ಅನ್ನು ಬಳಸುತ್ತಿರುವಿರಿ + ಟೈಪಿಂಗ್ ಭಾಷೆ + %s ಬ್ರೈಲ್‌ಗೆ ಬದಲಿಸಿ + ಸಂಕ್ಷೇಪಿಸಿದ ಬ್ರೈಲ್ + ಸಂಕ್ಷೇಪಿಸಿರದ ಬ್ರೈಲ್ ಎಲ್ಲಾ ಗೆಸ್ಚರ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಟುಟೋರಿಯಲ್ ತೆರೆಯಿರಿ ಟುಟೋರಿಯಲ್ ಪೂರ್ಣಗೊಳಿಸಿ @@ -49,15 +56,23 @@ ಅಳಿಸಲು, ಎಡಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಹೊಸ ಸಾಲನ್ನು ಸೇರಿಸಲು, 2 ಬೆರಳುಗಳಿಂದ ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಪದವನ್ನು ಅಳಿಸಲು, 2 ಬೆರಳುಗಳಿಂದ ಎಡಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ - ಕರ್ಸರ್ ಹಿಂದಕ್ಕೆ ಸರಿಸಲು, ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ - ಕರ್ಸರ್ ಮುಂದಕ್ಕೆ ಸರಿಸಲು, ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಕೀಬೋರ್ಡ್ ಮರೆಮಾಡಲು, 2 ಬೆರಳುಗಳಿಂದ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮುಂದಿನ ಕೀಬೋರ್ಡ್‌ಗೆ ಬದಲಿಸಲು, 3 ಬೆರಳುಗಳಿಂದ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಪಠ್ಯವನ್ನು ಸಲ್ಲಿಸಲು, 2 ಬೆರಳುಗಳಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಸಹಾಯ ಮತ್ತು ಇತರ ಆಯ್ಕೆಗಳಿಗಾಗಿ, 3 ಬೆರಳುಗಳಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಪೂರ್ಣಗೊಂಡಿದೆ + ಸ್ಕ್ರೀನ್-ಅವೇ ಮೋಡ್ + ಸ್ಕ್ರೀನ್ ಅನ್ನು ನಿಮ್ಮಿಂದ ದೂರ ಹಿಡಿದುಕೊಳ್ಳಿ (ಸ್ಕ್ರೀನ್-ಅವೇ ಮೋಡ್) + ಟೇಬಲ್‌ಟಾಪ್ ಮೋಡ್ + ಸಾಧನವನ್ನು ಟೇಬಲ್ ಮೇಲೆ ಫ್ಲಾಟ್ ಆಗಿ ಇರಿಸಿ (ಟೇಬಲ್‍ಟಾಪ್ ಮೋಡ್) + ನೀವು ಸಾಧನ ಹಿಡಿದುಕೊಳ್ಳುವ ರೀತಿಗೆ ಹೊಂದಿಸಿ ನಿಮ್ಮ ಸಾಧನವು ಬ್ರೈಲ್ ಕೀಬೋರ್ಡನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ ನಿಮ್ಮ ಸಾಧನವು ಸಾಕಷ್ಟು ಸ್ಪರ್ಶ ಬಿಂದುಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ನಿಮ್ಮ ಸಾಧನ ತಯಾರಕರನ್ನು ಸಂಪರ್ಕಿಸಿ. + %s ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ + + ಚುಕ್ಕೆಗಳು %s + ಚುಕ್ಕೆಗಳು %s + ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಬಳಸಲು, TalkBack ಆನ್ ಮಾಡಿ ಪ್ರವೇಶಿಸುವಿಕೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಆನ್ ಮಾಡಿ ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಬಳಸಲು, TalkBack ಪುನರಾರಂಭಿಸಿ @@ -71,32 +86,30 @@ ಈಗಿನಿಂದ, ನಿಮಗೆ ಸಾಮಾನ್ಯ TalkBack ಗೆಸ್ಚರ್‌ಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಬಳಸುವಾಗ TalkBack ಲಭ್ಯವಿರುವುದಿಲ್ಲ. ಪ್ರಾರಂಭಿಸಲು, ಪರದೆಯು ನಿಮ್ಮಿಂದ ದೂರವಿರುವಂತೆ ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಈ ರೀತಿಯಾಗಿ ಹಿಡಿದುಕೊಳ್ಳಿ. ಮುಂದುವರಿಯಲು ಎಲ್ಲಿಯಾದರೂ ಡಬಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ - \"A\" ಅಕ್ಷರವನ್ನು ಟೈಪ್ ಮಾಡಲು, ನಿಮ್ಮ ಎಡ ತೋರು ಬೆರಳಿನಿಂದ 1 ನೇ ಚುಕ್ಕೆಯನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ + ಎಡಗೈ ತೋರು ಬೆರಳು + ಬಲಗೈ ತೋರು ಬೆರಳು + \"A\" ಅಕ್ಷರವನ್ನು ಟೈಪ್ ಮಾಡಲು, ನಿಮ್ಮ %1$s ಬಳಸಿಕೊಂಡು 1 ನೇ ಚುಕ್ಕೆಯ ಮೇಲೆ ಟ್ಯಾಪ್ ಮಾಡಿ ಮುಂದೆ, B, C, ಮತ್ತು D ಅಕ್ಷರಗಳನ್ನು ಟೈಪ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ ಅಕ್ಷರವೊಂದನ್ನು ಅಳಿಸಲು, ಎಡಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಒಂದು ಸ್ಪೇಸ್ ಸೇರಿಸಲು, ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ - ಕರ್ಸರ್ ಹಿಂದಕ್ಕೆ ಸರಿಸಲು, ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ - ಕರ್ಸರ್ ಮುಂದಕ್ಕೆ ಸರಿಸಲು, ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಕೀಬೋರ್ಡ್ ಮರೆಮಾಡಲು, 2 ಬೆರಳುಗಳಿಂದ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ನಿಮ್ಮ ಮತ್ತೊಂದು ಕೀಬೋರ್ಡ್‌ಗೆ ಬದಲಿಸಲು, 3 ಬೆರಳುಗಳಿಂದ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಟುಟೋರಿಯಲ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು, 3 ಬೆರಳುಗಳಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಅಳಿಸಿ ಸ್ಪೇಸ್ - ಕರ್ಸರ್ ಹಿಂದಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ - ಕರ್ಸರ್ ಮುಂದಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ ಕೀಬೋರ್ಡ್ ಮರೆಮಾಡಿ ಮುಂದಿನ ಕೀಬೋರ್ಡ್ ಈಗಿನಿಂದ, ಸಾಮಾನ್ಯ TalkBack ಗೆಸ್ಚರ್‌ಗಳನ್ನು ಬಳಸಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಬಳಸುವಾಗ TalkBack ಲಭ್ಯವಿರುವುದಿಲ್ಲ.\n\n%1$s ಮೊದಲು, ಪರದೆಯು ನಿಮ್ಮಿಂದ ದೂರವಿರುವಂತೆ ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ತಿರುಗಿಸಿ.\n\nಮುಂದೆ, ಫೋನ್ ಅನ್ನು ಲ್ಯಾಂಡ್‌ಸ್ಕೇಪ್ ಸ್ಥಾನಕ್ಕೆ ಅಡ್ಡಲಾಗಿ ತಿರುಗಿಸಿ. ನಿಮ್ಮ ಕೈಗಳು ಫೋನ್‌ನ ಸಣ್ಣ ತುದಿಗಳನ್ನು ಹಿಡಿದಿರಬೇಕು. ನಿಮ್ಮ ಬಲಗೈನಲ್ಲಿ USB ಪೋರ್ಟ್ ತುದಿಯನ್ನು ಹಿಡಿದಿರಬೇಕು. ನಿಮ್ಮ 3 ಮಧ್ಯದ ಬೆರಳುಗಳು ಪರದೆಯ ಮೇಲೆ ವಿರಮಿಸಲಿ ಮತ್ತು ಫೋನ್ ಅನ್ನು ನಿಮ್ಮ ಕಿರುಬೆರಳು ಮತ್ತು ಹೆಬ್ಬೆರಳುಗಳಿಂದ ಹಿಡಿಯಿರಿ.\n\nನೀವು ಸಿದ್ಧರಾದಾಗ, ಮುಂದುವರೆಯಲು ಪರದೆಯನ್ನು ಎರಡು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ.\n\nಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್‌ನಿಂದ ನಿರ್ಗಮಿಸಲು, 3 ಬೆರಳುಗಳಿಂದ ನೆಲದ ಕಡೆಗೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಇದು ನಿಮ್ಮ ಮೂಲ ಕೀಬೋರ್ಡ್‌ಗೆ ಪುನಃ ಬದಲಿಸುತ್ತದೆ. ನಿಮ್ಮ ಫೋನ್ ಲಂಬ ಸ್ಥಿತಿಯಲ್ಲಿದೆ. ಮುಂದುವರಿಯಲು, ನೀಳ ಭಾಗವು ಕೆಳಭಾಗದಲ್ಲಿ ಬರುವಂತೆ ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಅಡ್ಡಲಾಗಿ ತಿರುಗಿಸಿ. ನಂತರ ನಿಮ್ಮಿಂದ ದೂರವಿರುವಂತೆ ಪರದೆಯನ್ನು ತಿರುಗಿಸಿ. ನೀವು ಸಿದ್ಧರಾದಾಗ, ಮುಂದುವರೆಯಲು ಪರದೆಯನ್ನು ಎರಡು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ. - ಪರದೆಯನ್ನು ನಿಮ್ಮಿಂದ ದೂರವಿರಿಸಿ. ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಎರಡೂ ಕೈಗಳಲ್ಲಿ, ಫೋನ್‌ನ ಸಣ್ಣ ಅಂಚುಗಳಲ್ಲಿ ಹಿಡಿದುಕೊಳ್ಳಿ ಹಾಗೂ ಪ್ರತಿ ಕೈಯ ಮಧ್ಯದ 3 ಬೆರಳುಗಳು ಪರದೆಯನ್ನು ಸ್ಪರ್ಶಿಸಲಿ.\n\nನಿಮ್ಮ ಎಡ ತೋರು ಬೆರಳು 1 ನೇ ಚುಕ್ಕೆಯ ಮೇಲಿರಬೇಕು. ಈಗ, “A” ಅಕ್ಷರವನ್ನು ಟೈಪ್ ಮಾಡಲು 1 ನೇ ಚುಕ್ಕೆಯನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ. - “A” ಎಂದು ಟೈಪ್ ಮಾಡಲು, ನಿಮ್ಮ ಎಡ ತೋರು ಬೆರಳಿನಿಂದ 1 ನೇ ಚುಕ್ಕೆಯನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ + ಎಡಗೈ ತೋರು ಬೆರಳು + ಬಲಗೈ ತೋರು ಬೆರಳು + ಪರದೆಯನ್ನು ನಿಮ್ಮಿಂದ ದೂರವಿರಿಸಿ. ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಎರಡೂ ಕೈಗಳಲ್ಲಿ, ಫೋನ್‌ನ ಸಣ್ಣ ಅಂಚುಗಳಲ್ಲಿ ಹಿಡಿದುಕೊಳ್ಳಿ ಹಾಗೂ ಪ್ರತಿ ಕೈಯ ಮಧ್ಯದ 3 ಬೆರಳುಗಳು ಪರದೆಯನ್ನು ಸ್ಪರ್ಶಿಸಲಿ.\n\nನಿಮ್ಮ %1$s 1 ನೇ ಚುಕ್ಕೆಯ ಮೇಲಿರಬೇಕು. ಈಗ, “A” ಅಕ್ಷರವನ್ನು ಟೈಪ್ ಮಾಡಲು 1 ನೇ ಚುಕ್ಕೆಯನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ. + “A” ಎಂದು ಟೈಪ್ ಮಾಡಲು, ನಿಮ್ಮ %1$s ಬಳಸಿಕೊಂಡು 1 ನೇ ಚುಕ್ಕೆಯನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ %1$s ಅಕ್ಷರವನ್ನು ಟೈಪ್ ಮಾಡಲು, %2$s ಟ್ಯಾಪ್ ಮಾಡಿ ಅಕ್ಷರವೊಂದನ್ನು ಅಳಿಸಲು, ಎಡಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಇದನ್ನು ಈಗ ಪ್ರಯತ್ನಿಸಿ. d ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ. ಒಂದು ಸ್ಪೇಸ್ ಸೇರಿಸಲು, ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಇದನ್ನು ಈಗ ಪ್ರಯತ್ನಿಸಿ. - ಕರ್ಸರ್ ಹಿಂದಕ್ಕೆ ಸರಿಸಲು, ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಈಗ ಪ್ರಯತ್ನಿಸಿ. - ಕರ್ಸರ್ ಮುಂದಕ್ಕೆ ಸರಿಸಲು, ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಈಗ ಪ್ರಯತ್ನಿಸಿ. ಕೀಬೋರ್ಡ್ ಮರೆಮಾಡಲು, 2 ಬೆರಳುಗಳಿಂದ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಇದನ್ನು ಈಗ ಪ್ರಯತ್ನಿಸಿ. ಕೀಬೋರ್ಡ್ ಮರೆಮಾಡಿ. ಸಾಮಾನ್ಯವಾಗಿ, ಇದು ಕೀಬೋರ್ಡನ್ನು ಮರೆಮಾಡುತ್ತದೆ. ನೀವು ಇನ್ನೂ ಟುಟೋರಿಯಲ್‌ನಲ್ಲಿರುವ ಕಾರಣ ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ತೆರೆದೇ ಇರುತ್ತದೆ. ನಿಮ್ಮ ಮತ್ತೊಂದು ಕೀಬೋರ್ಡ್‌ಗೆ ಬದಲಿಸಲು, 3 ಬೆರಳುಗಳಿಂದ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಇದನ್ನು ಈಗ ಪ್ರಯತ್ನಿಸಿ. @@ -114,6 +127,4 @@ ಅಕ್ಷರವನ್ನು ಅಳಿಸಲಾಗಿದೆ ಪದವನ್ನು ಅಳಿಸಲಾಗಿದೆ ಟುಟೋರಿಯಲ್ ಅನ್ನು ಮುಂದುವರಿಸೋಣ. %1$s - ಈ ಸಾಧನಕ್ಕೆ ಬಾಹ್ಯ ಬ್ರೈಲ್ ಡಿಸ್ಪ್ಲೇ ಅನ್ನು ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ, ಈ ಸಾಧನದಲ್ಲಿ ಪಠ್ಯವನ್ನು ಟೈಪ್ ಮಾಡಲು ನೀವು ಅದನ್ನು ಬಳಸಬಹುದು.\n ಅಥವಾ ನೀವು ಟಚ್‌ಸ್ಕ್ರೀನ್ ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಅಥವಾ ಮುಂದಿನ ಇನ್‌ಪುಟ್ ವಿಧಾನಕ್ಕೆ ಬದಲಾಯಿಸಬಹುದು. - ಟಚ್‌ಸ್ಕ್ರೀನ್ ಕೀಬೋರ್ಡ್‌ಗೆ ಬದಲಾಯಿಸಿ diff --git a/braille/brailleime/src/phone/res/values-ko/strings.xml b/braille/brailleime/src/main/res/values-ko/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-ko/strings.xml rename to braille/brailleime/src/main/res/values-ko/strings.xml index e0a546d4f..bfd9caacc 100644 --- a/braille/brailleime/src/phone/res/values-ko/strings.xml +++ b/braille/brailleime/src/main/res/values-ko/strings.xml @@ -5,6 +5,9 @@ 탁자 모드입니다. 충전 포트가 왼쪽으로 오도록 기기를 놓습니다. 점 위치를 업데이트하려면 손가락 6개를 사용해 길게 누릅니다. 사용 설정된 다른 키보드가 없습니다. 키보드 설정으로 이동하세요. 더 많은 옵션을 확인하려면 세 손가락으로 위로 스와이프하세요 + 약자 점자 키보드로 전환됨 + 정자 점자 키보드로 전환됨 + 정자 통일영어점자로 전환됨 점자 키보드 점자 키보드, %s 음성 안내 지원 점자 키보드입니다. 도움이 필요하면 g.co/help/braille를 방문하세요. @@ -17,7 +20,6 @@ 점 1, 점 2, 점 3의 위치가 업데이트되었습니다. 이제 오른손의 점 위치를 기록합니다. 오른손 가운데 세 손가락을 사용해 화면을 길게 터치합니다. 점 1, 점 2, 점 3의 위치가 업데이트되었습니다. 이제 왼손의 점 위치를 기록합니다. 왼손 가운데 세 손가락을 사용해 화면을 길게 터치합니다. 점 위치를 업데이트할 수 없습니다. 손가락 여섯 개를 사용해 화면을 길게 터치합니다. 그런 다음 다시 시도해 보세요. - %s로 전환됨 점자 키보드 점자 키보드 설정 점자 키보드 사용 방법 @@ -27,18 +29,23 @@ <br><br>2. <b>점자 키보드 사용</b>: 일반 키보드를 열고 키보드 선택 아이콘 %2$s(일반적으로 오른쪽 하단에 위치)을 탭합니다. ‘%1$s’을(를) 선택합니다. <br><br>키보드 전환 옵션이 표시되지 않으면 Google 키보드인 %3$s을(를) 설치해 보세요. 설정 - 입력 언어 - 기본 언어 - 다시 표시하지 않음 - 입력 중 빠르게 언어 변경 - 점자 키보드로 입력하는 중에 언어를 변경하려면 세 손가락을 사용해 위로 스와이프하세요. 그런 다음 \'다음 언어로 전환\'을 선택하세요. + 입력 언어 + 통합 영어 점자 + 스페인어 + 아랍어 + 프랑스어 + 폴란드어 사용자가 누른 점 모두 포함 점을 누른 다음 다른 점을 누르기 위해 손가락을 떼었다고 해도, 사용자가 누른 모든 점은 입력에 포함됩니다. 점 위치 교환 점 위치를 교환합니다. 예를 들어 점 1과 4의 위치를 바꿀 수 있습니다. 점자 키보드 옵션 - 다음 언어로 전환: %s - 현재 사용 중인 언어: %s + 입력 언어 변경 + 현재 %s 사용 중 + 입력 언어 + %s 점자로 전환 + 약자 + 정자 모든 동작 보기 가이드 열기 가이드 끝내기 @@ -49,15 +56,23 @@ 삭제하려면 왼쪽으로 스와이프합니다. 줄바꿈을 하려면 두 손가락을 사용하여 오른쪽으로 스와이프합니다. 단어를 삭제하려면 두 손가락을 사용하여 왼쪽으로 스와이프합니다. - 커서를 뒤로 이동하려면 위로 스와이프하세요. - 커서를 앞으로 이동하려면 아래로 스와이프하세요. 키보드를 숨기려면 두 손가락으로 아래로 스와이프합니다. 다음 키보드로 전환하려면 세 손가락을 사용하여 아래로 스와이프합니다. 텍스트를 제출하려면 두 손가락을 사용하여 위로 스와이프합니다. 도움말 및 다른 옵션을 확인하려면 세 손가락을 사용하여 위로 스와이프합니다. 완료 + 반대 화면 모드 + 화면이 내 반대쪽을 향하도록 기기를 듭니다(반대 화면 모드). + 탁자 모드 + 기기를 탁자 위에 평평하게 올려놓습니다(탁자 모드). + 기기를 드는 방향에 맞게 조정 기기에서 점자 키보드가 지원되지 않음 기기에서 충분한 터치 포인트를 지원하지 않습니다. 자세한 내용은 기기 제조업체에 문의하세요. + %s 삭제됨 + + 점 %s개 + 점 %s개 + 점자 키보드 사용을 위해 음성 안내 지원을 사용 설정해야 함 접근성 설정 사용 점자 키보드를 사용하려면 음성 안내 지원을 재개하세요. @@ -71,32 +86,30 @@ 지금부터 일반적인 음성 안내 지원 동작은 사용할 수 없습니다. 점자 키보드를 사용할 때는 음성 안내 지원을 사용할 수 없습니다. 시작하려면 화면이 나의 반대쪽을 향하도록 휴대전화를 드세요. 계속하려면 아무 곳이나 두 번 탭하세요. - 왼쪽 검지 손가락으로 점 1을 탭하여 \'A\'를 입력합니다. + 왼쪽 검지손가락 + 오른쪽 검지손가락 + %1$s으로 점 1을 탭하여 ‘A’를 입력합니다. 다음으로 B, C, D를 입력해 보세요. 글자를 삭제하려면 왼쪽으로 스와이프합니다. 공백을 추가하려면 오른쪽으로 스와이프합니다. - 커서를 뒤로 이동하려면 위로 스와이프하세요. - 커서를 앞으로 이동하려면 아래로 스와이프하세요. 키보드를 숨기려면 두 손가락으로 아래로 스와이프합니다. 다른 키보드로 전환하려면 세 손가락으로 아래로 스와이프합니다. 가이드를 종료하려면 세 손가락으로 위로 스와이프합니다. 삭제 공백 - 커서 뒤로 이동 - 커서 앞으로 이동 키보드 숨기기 다음 키보드 지금부터 일반적인 음성 안내 지원 동작은 사용할 수 없습니다. 점자 키보드를 사용할 때는 음성 안내 지원이 지원되지 않습니다.\n\n%1$s 우선 화면이 내 반대쪽을 향하도록 휴대전화를 듭니다.\n\n다음으로 휴대전화가 가로 모드가 되도록 돌립니다. 손으로 휴대전화의 짧은 쪽 모서리를 쥐어야 합니다. 오른손으로 USB 포트가 있는 쪽을 잡아야 합니다. 가운데 세 손가락을 화면에 두고 새끼손가락과 엄지손가락으로 휴대전화를 지지합니다.\n\n준비가 되면 화면을 두 번 탭하여 계속합니다.\n\n점자 키보드를 종료하려면 세 손가락을 사용하여 땅을 향해 아래로 스와이프하세요. 이렇게 하면 원래 키보드로 다시 전환됩니다. 휴대전화가 세로 모드입니다. 계속하려면 긴 쪽이 밑으로 가도록 휴대전화를 가로로 돌립니다. 그런 다음 화면이 나의 반대쪽을 향하도록 돌립니다. 준비가 되면 화면을 두 번 탭하여 계속합니다. - 화면이 나의 반대쪽을 향하도록 유지합니다. 양손의 가운데 세 손가락이 화면을 터치할 수 있도록 두 손으로 휴대전화 양쪽의 짧은 쪽 모서리를 잡습니다.\n\n왼쪽 검지 손가락이 점 1 위에 위치해야 합니다. 이제 점 1을 탭하여 \'A\'를 입력합니다. - 왼쪽 검지 손가락으로 점 1을 탭하여 \'A\'를 입력합니다 + 왼쪽 검지손가락 + 오른쪽 검지손가락 + 화면이 내 반대쪽을 향하도록 합니다. 양손의 가운데 세 손가락으로 화면을 터치할 수 있도록 두 손으로 휴대전화의 짧은 쪽 모서리를 잡습니다.\n\n%1$s이 점 1 위에 있어야 합니다. 이제 점 1을 탭하여 \'A\'를 입력합니다. + %1$s으로 점 1을 탭하여 ‘A’를 입력합니다. 점 %1$s을(를) 탭하여 글자 %2$s을(를) 입력합니다 글자를 삭제하려면 왼쪽으로 스와이프합니다. 지금 해 보세요. d가 삭제되었습니다. 공백을 추가하려면 오른쪽으로 스와이프합니다. 지금 해 보세요. - 커서를 뒤로 이동하려면 위로 스와이프하세요. 지금 해 보세요. - 텍스트 커서를 앞으로 이동하려면 아래로 스와이프하세요. 지금 해 보세요. 키보드를 숨기려면 두 손가락으로 아래로 스와이프합니다. 지금 해 보세요. 키보드를 숨깁니다. 보통 이렇게 하면 키보드가 사라집니다. 아직 가이드가 진행되고 있기 때문에 점자 키보드가 켜진 상태로 유지됩니다. 다른 키보드로 전환하려면 세 손가락으로 아래로 스와이프합니다. 지금 해 보세요. @@ -114,6 +127,4 @@ 글자가 삭제됨 단어가 삭제됨 가이드를 계속하겠습니다. %1$s - 이 기기에 텍스트를 입력하는 데 사용할 수 있는 외부 점자 디스플레이가 연결되었습니다.\n또는 터치스크린 점자 키보드나 다음 입력 방법으로 전환할 수 있습니다. - 터치스크린 키보드로 전환 diff --git a/braille/brailleime/src/phone/res/values-ky/strings.xml b/braille/brailleime/src/main/res/values-ky/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-ky/strings.xml rename to braille/brailleime/src/main/res/values-ky/strings.xml index 88d0ed242..829c47b28 100644 --- a/braille/brailleime/src/phone/res/values-ky/strings.xml +++ b/braille/brailleime/src/main/res/values-ky/strings.xml @@ -5,6 +5,9 @@ Столдун үстүндө колдонуу режими. Түзмөгүңүздү столго кубаттоо оюкчасын солго каратып коюңуз. Чекиттердин ордун өзгөртүү үчүн 6 манжаңыз менен экранды басып туруңуз. Башка иштетилген баскычтоп жок. Баскычтоптун жөндөөлөрүнө өтүңүз Дагы башка параметрлерди көрүү үчүн экранды 3 манжаңыз менен сүрүңүз + Стенограммалык брайль баскычтобуна которулду + Толук брайль баскычтобуна которулду + Бириктирилген Брайль англис шрифтине которулду брайль баскычтобу брайль баскычтобу, %s TalkBack Брайль баскычтобу – жардам алуу үчүн g.co/help/braille бөлүмүнө өтүңүз @@ -17,7 +20,6 @@ 1, 2 жана 3 чекиттеринин экрандагы орундары өзгөрдү. Эми оң колуңуздун чекиттери кайсы жерде болорун белгилеп алалы. Экранды оң колуңуздун 3 орто манжасы менен кое бербей басып туруңуз. 1, 2 жана 3 чекиттеринин экрандагы орундары өзгөрдү. Эми сол колуңуздун чекиттери кайсы жерде болорун белгилеп алалы. Экранды сол колуңуздун 3 орто манжасы менен коё бербей басып туруңуз. Чекиттердин орду өзгөргөн жок. Экранды 6 манжаңыз менен коё бербей басып туруңуз. Андан кийин кайталап көрүңүз. - %s тилине которулду Брайль баскычтобу Брайль баскычтобун жөндөө Брайль баскычтобун кантип колдонуу керек @@ -27,18 +29,23 @@ <br><br>2. <b>Брайль баскычтобун колдонуу</b>: Кадимки баскычтопту ачып, %2$s баскычтопту тандоо сүрөтчөсүн таптап коюңуз (адатта ал төмөнкү оң бурчта жайгашат). \"%1$s\" дегенди тандаңыз. <br><br>Эгер баскычтопту которуштуруу параметри болбосо, %3$s, Google баскычтобун орнотуп көрүңүз. Жөндөөлөр - Терүү үчүн колдонулган тилдер - Тандалган тил - Бул нерсе экинчи көрүнбөсүн - Терип жатканда тилди ыкчам өзгөртүү - Брайль баскычтобунда терип жатканда тилди өзгөртүү үчүн 3 манжаңыз менен экранды өйдө сүрүп коюңуз. Андан соң \"кийинки тилге которулууну\" тандаңыз. + Терүү үчүн колдонулган тилдер + Унификацияланган англис тилиндеги Брайль + Испанча + Арабча + Французча + Полякча Бардык басылган чекиттер камтылсын Башка чекиттерге чейин бошотулса да, ар бир басылган чекит киргизүүнүн бөлүгү болот Тескери чекиттер 1–4 чейинки чекиттердин ордун артка алмашытырыңыз, мисалы Брайль баскычтобунун параметрлери - Кийинки тилге которулуу: %s - Учурда %s колдонулууда + Терүү тилин өзгөртүү + Учурда %s колдонулууда + Терүү тили + %s брайль баскычтобуна которуу + Стенограммалык + Толук Бардык жаңсоолорду карап чыгуу Үйрөткүчтү ачуу Үйрөткүчтү бүтүрүү @@ -49,15 +56,23 @@ Жок кылуу үчүн экранды солго сүрүңүз Жаңы сап кошуу үчүн экранды 2 манжаңыз менен оңго сүрүңүз Сөздү жок кылуу үчүн экранды 2 манжаңыз менен солго сүрүңүз - Курсорду артка жылдыруу үчүн экранды жогору сүрүңүз - Курсорду алдыга жылдыруу үчүн экранды ылдый сүрүңүз Баскычтопту жашыруу үчүн экранды 2 манжаңыз менен ылдый сүрүңүз Кийинки баскычтопко которулуу үчүн экранды 3 манжаңыз менен ылдый сүрүңүз Текстти тапшыруу үчүн экранды 2 манжаңыз менен өйдө сүрүңүз Жардам алуу жана башка параметрлер үчүн экранды 3 манжаңыз менен өйдө сүрүңүз Бүттү + Экранды ары каратып колдонуу режими + Түзмөктү экранын ары каратып кармаңыз (экранды ары каратып колдонуу режими) + Столдун үстүндө колдонуу режими + Түзмөктү столдун үстүнө түз коюңуз (столдун үстүндө колдонуу режими) + Түзмөктү кармаганыңызга карай тууралоо Түзмөгүңүздө Брайль баскычтобу жок Түзмөгүңүзгө бир нече манжаңыз менен басып киргизүүгө болбойт. Толук маалымат алуу үчүн, түзмөктү өндүрүүчүгө кайрылыңыз. + %s өчүрүлдү + + чекит %s + чекиттер %s + Брайль баскычтобун колдонуу үчүн TalkBack\'ти күйгүзүңүз Атайын мүмкүнчүлүктөр жөндөөлөрүн күйгүзүү Брайль баскычтобун колдонуу үчүн TalkBack\'ти улантыңыз @@ -71,32 +86,30 @@ Эми демейки TalkBack жаңсоолорун колдоно албайсыз. Брайль баскычтобун колдонуп жатканда TalkBack функциясы иштебейт. Баштоо үчүн телефондун экранын ары каратып кармаңыз. Улантуу үчүн бир жерди басыңыз - \"А\" тамгасын киргизүү үчүн сол колуңуздун сөөмөйү менен 1 чекитин таптап коюңуз + сол колуңуздун сөөмөйү + оң колуңуздун сөөмөйү + \"А\" тамгасын терүү үчүн %1$s менен 1 чекитин таптап коюңуз Эми Б, В, Г тамгаларын терип көрүңүз Тамганы өчүрүү үчүн солго сүрүңүз Боштук кошуу үчүн экранды оңго сүрүңүз - Курсорду артка жылдыруу үчүн экранды жогору сүрүңүз - Курсорду алдыга жылдыруу үчүн экранды ылдый сүрүңүз Баскычтопту жашыруу үчүн экранды 2 манжаңыз менен ылдый сүрүңүз Башка баскычтопко которулуу үчүн экранды 3 манжаңыз менен ылдый сүрүңүз Үйрөткүчтү бүтүрүү үчүн экранды 3 манжаңыз менен өйдө сүрүңүз ЖОК КЫЛУУ БОШТУК - КУРСОР АРТКА ЖЫЛДЫРЫЛДЫ - КУРСОР АЛДЫГА ЖЫЛДЫРЫЛДЫ БАСКЫЧТОПТУ ЖАШЫРУУ КИЙИНКИ БАСКЫЧТОП Эми демейки TalkBack жаңсоолорун колдоно албайсыз. Брайль баскычтобун колдонуп жатканда TalkBack функциясы иштебейт.\n\n%1$s Адегенде телефондун экранын ары каратып кармаңыз.\n\nЭми телефонуңузду туурасынан кармаңыз. Телефондун кыска жагынан кармаңыз. Оң колуңузга USB оюкчасы бар учун кармаңыз. 3 манжаңызды телефондун экранына коюп, чыпалак жана баш бармагыңыз менен телефонду кармап туруңуз.\n\nДаяр болгондо экранды эки жолу таптап коюңуз.\n\nБрайль баскычтобунан чыгуу үчүн экранды 3 манжаңыз менен ылдый сүрүңүз. Түпнуска баскытопко которуласыз. Телефонуңузду тигинен кармап турасыз. Улантуу үчүн телефонуңузду туурасынан, узун жагын ылдый каратып кармаңыз. Экранды ары каратып кармаңыз. Даяр болгондо улантуу үчүн экранды эки жолу таптап коюңуз. - Экранды ары каратып кармаңыз. Телефонду кыска тараптарынан эки колуңуз менен кармаңыз. Эки колуңуздун 3 манжасы экранга жеткидей болушу керек.\n\nСол колуңуздун сөөмөйү 1 чекитинин үстүндө болсун. Эми \"А\" тамгасын терүү үчүн 1 чекитин таптап коюңуз. - \"А\" тамгасын киргизүү үчүн сол колуңуздун сөөмөйү менен 1 чекитин таптап коюңуз + сол колуңуздун сөөмөйү + оң колуңуздун сөөмөйү + Экранды ары каратып кармаңыз. Телефонду кыска тараптарынан эки колуңуз менен кармаңыз. Эки колуңуздун 3 манжасы экранга жеткидей болушу керек.\n\n1 чекитинин үстүндө %1$s болсун. Эми \"А\" тамгасын терүү үчүн 1 чекитин таптап коюңуз. + \"А\" тамгасын киргизүү үчүн %1$s менен 1 чекитин таптап коюңуз %2$s тамгасын терүү үчүн %1$s чекитин таптап коюңуз Тамганы өчүрүү үчүн солго сүрүңүз. Азыр байкап көрүңүз. \"d\" өчүрүлдү. Боштук кошуу үчүн экранды оңго сүрүңүз. Азыр байкап көрүңүз. - Курсорду артка жылдыруу үчүн экранды жогору сүрүңүз. Азыр байкап көрүңүз. - Курсорду алдыга жылдыруу үчүн экранды ылдый сүрүңүз. Азыр байкап көрүңүз. Баскычтопту жашыруу үчүн экранды 2 манжаңыз менен ылдый сүрүңүз. Азыр байкап көрүңүз. Баскычтопту жашыруу. Адатта бул баскычтопту жашырат. Брайль баскычтобу ачык бойдон калат, анткени сиз дагы эле үйрөткүчтөсүз. Башка баскычтопко которулуу үчүн экранды 3 манжаңыз менен ылдый сүрүңүз. Азыр байкап көрүңүз. @@ -114,6 +127,4 @@ Тамга өчүрүлдү Сөз өчүрүлдү Үйрөткүчтү уланталы. %1$s - Тышкы брайль дисплейи туташты. Анын жардамы менен бул түзмөктө текст тере аласыз.\nЖе болбосо, сенсордук экрандын брайль баскычтобуна же кийинки киргизүү ыкмасына которулсаңыз болот. - Сенсордук экрандын баскычтобуна которулуу diff --git a/braille/brailleime/src/phone/res/values-lo/strings.xml b/braille/brailleime/src/main/res/values-lo/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-lo/strings.xml rename to braille/brailleime/src/main/res/values-lo/strings.xml index e59f769a5..c2ef9ff20 100644 --- a/braille/brailleime/src/phone/res/values-lo/strings.xml +++ b/braille/brailleime/src/main/res/values-lo/strings.xml @@ -5,6 +5,9 @@ ໂໝດຕັ້ງໂຕະ. ວາງອຸປະກອນຂອງທ່ານໂດຍໃຫ້ຜອດສາກໄຟຢູ່ທາງຊ້າຍ. ໃຊ້ 6 ນິ້ວກົດໜ້າຈໍຄ້າງໄວ້ເພື່ອອັບເດດຕຳແໜ່ງຂອງຈຸດ. ບໍ່ໄດ້ເປີດໃຊ້ແປ້ນພິມອື່ນ, ກະລຸນາໄປທີ່ການຕັ້ງຄ່າແປ້ນພິມ ປັດຂຶ້ນດ້ວຍ 3 ນິ້ວເພື່ອເບິ່ງຕົວເລືອກເພີ່ມເຕີມ + ສະຫຼັບໄປໃຊ້ອັກສອນນູນແບບຫຍໍ້ແລ້ວ + ສະຫຼັບໄປໃຊ້ອັກສອນນູນແບບບໍ່ຫຍໍ້ແລ້ວ + ສະຫຼັບໄປໃຊ້ UEB ແບບບໍ່ມີສັນຍາແລ້ວ ແປ້ນພິມອັກສອນນູນ ແປ້ນພິມອັກສອນນູນ, %s ແປ້ນພິມອັກສອນນູນ TalkBack - ສຳລັບການຊ່ວຍເຫຼືອ, ກະລຸນາໄປທີ່ g.co/help/braille @@ -17,7 +20,6 @@ ອັບເດດຕຳແໜ່ງຈຸດສຳລັບ 1, 2 ແລະ 3 ແລ້ວ. ຕໍ່ໄປ, ມາບັນທຶກຈຸດຢູ່ທາງຂວາມືຂອງທ່ານ. ແຕະໃສ່ໜ້າຈໍຄ້າງໄວ້ດ້ວຍນິ້ວກາງ 3 ນິ້ວຂອງມືຂວາທ່ານ. ອັບເດດຕຳແໜ່ງຈຸດສຳລັບ 1, 2 ແລະ 3 ແລ້ວ. ຕໍ່ໄປ, ມາບັນທຶກຈຸດຢູ່ທາງຊ້າຍມືຂອງທ່ານ. ແຕະໃສ່ໜ້າຈໍຄ້າງໄວ້ດ້ວຍນິ້ວກາງ 3 ນິ້ວຂອງມືຊ້າຍທ່ານ. ບໍ່ສາມາດອັບເດດຕຳແໜ່ງຈຸດໄດ້. ແຕະໃສ່ໜ້າຈໍຄ້າງໄວ້ດ້ວຍ 6 ນິ້ວ. ຈາກນັ້ນລອງໃໝ່. - ສະຫຼັບໄປຫາ %s ແລ້ວ ແປ້ນພິມອັກສອນນູນ ຕັ້ງຄ່າແປ້ນພິມອັກສອນນູນ ວິທີໃຊ້ແປ້ນພິມອັກສອນນູນ @@ -27,18 +29,23 @@ <br><br>2. <b>ໃຊ້ແປ້ນພິມຕົວອັກສອນນູນ</b>: ເປີດແປ້ນພິມປົກກະຕິຂອງທ່ານຂຶ້ນມາ, ຈາກນັ້ນແຕະໃສ່ໄອຄອນແປ້ນພິມ %2$s (ປົກກະຕິຈະຢູ່ມຸມຂວາລຸ່ມ). ເລືອກ \"%1$s.\" <br><br>ຫາກທ່ານບໍ່ເຫັນຕົວເລືອກໃນການສະຫຼັບແປ້ນພິມ, ໃຫ້ຕິດຕັ້ງ %3$s, ແປ້ນພິມ Google. ການຕັ້ງຄ່າ - ພາສາການພິມ - ພາສາທີ່ຕ້ອງການ - ຢ່າສະແດງສິ່ງນີ້ອີກ - ປ່ຽນພາສາໃນລະຫວ່າງທີ່ກຳລັງພິມໄດ້ຢ່າງວ່ອງໄວ - ເພື່ອປ່ຽນພາສາຂອງທ່ານໃນລະຫວ່າງທີ່ກຳລັງພິມດ້ວຍແປ້ນພິມອັກສອນນູນ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 3 ນິ້ວ. ຈາກນັ້ນເລືອກ \"ສະຫຼັບໄປຫາພາສາຕໍ່ໄປ\". + ພາສາການພິມ + Unified English Braille + ສະແປນນິຊ + ອາຣາບິກ + ຝຣັ່ງ + ໂພລິຊ ຮວມຈຸດທີ່ກົດໄວ້ທັງໝົດ ແຕ່ລະຈຸດທີ່ກົດເປັນສ່ວນໜຶ່ງຂອງອິນພຸດ, ເຖິງແມ່ນວ່າຈະປ່ອຍຈຸດນັ້ນກ່ອນຈຸດອື່ນ ຈຸດແບບຍ້ອນກັບ ສະຫຼັບຕຳແໜ່ງຈຸດ ເຊັ່ນ: ເພື່ອໃຫ້ຈຸດ 1 ແລະ ຈຸດ 4 ສະຫຼັບບ່ອນກັນ ຕົວເລືອກແປ້ນພິມຕົວອັກສອນນູນ - ສະຫຼັບໄປຫາພາສາຕໍ່ໄປ: %s - ຕອນນີ້ກຳລັງໃຊ້: %s + ປ່ຽນພາສາການພິມ + ໃນປັດຈຸບັນກຳລັງໃຊ້ %s + ພາສາການພິມ + ສະຫຼັບໄປໃຊ້ຕົວອັກສອນນູນແບບ %s + ຫຍໍ້ + ບໍ່ຫຍໍ້ ກວດສອບທ່າທາງທັງໝົດ ເປີດການສອນການນຳໃຊ້ ສຳເລັດການສອນການນຳໃຊ້ @@ -49,15 +56,23 @@ ເພື່ອ ລຶບ, ໃຫ້ປັດຊ້າຍ ສຳລັບ ແຖວໃໝ່, ໃຫ້ປັດຂວາດ້ວຍ 2 ນິ້ວ ເພື່ອ ລຶບຄຳສັບ, ໃຫ້ປັດຊ້າຍດ້ວຍ 2 ນິ້ວ - ເພື່ອ ຍ້າຍເຄີເຊີກັບຫຼັງ, ໃຫ້ປັດຂຶ້ນ - ເພື່ອ ຍ້າຍເຄີເຊີໄປໜ້າ, ໃຫ້ປັດລົງ ເພື່ອ ເຊື່ອງແປ້ນພິມ, ໃຫ້ປັດລົງດ້ວຍ 2 ນິ້ວ ເພື່ອສະຫຼັບໄປຫາ ແປ້ນພິມຕໍ່ໄປ, ໃຫ້ປັດລົງດ້ວຍ 3 ນິ້ວ ເພື່ອ ສົ່ງຂໍ້ຄວາມ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 2 ນິ້ວ ສຳລັບ ການຊ່ວຍເຫຼືອ ແລະ ຕົວເລືອກອື່ນ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 3 ນິ້ວ ແລ້ວໆ + ໂໝດປິ່ນໜ້າຈໍອອກ + ຖືອຸປະກອນໂດຍປິ່ນໜ້າຈໍອອກຈາກຕົວທ່ານ (ໂໝດປິ່ນໜ້າຈໍອອກ) + ໂໝດຕັ້ງໂຕະ + ວາງອຸປະກອນນອນຮາບໄວ້ຢູ່ໂຕະ (ໂໝດຕັ້ງໂຕະ) + ປັບຕາມວິທີທີ່ຂ້ອຍຖືອຸປະກອນ ອຸປະກອນຂອງທ່ານບໍ່ຮອງຮັບແປ້ນພິມຕົວອັກສອນນູນ ອຸປະກອນຂອງທ່ານບໍ່ຮອງຮັບຈຸດສຳຜັດພຽງພໍ. ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ຕິດຕໍ່ຜູ້ຜະລິດອຸປະກອນ. + ລຶບ %s ແລ້ວ + + ຈຸດ %s + ຈຸດ %s + ເປີດໃຊ້ TalkBack ເພື່ອໃຊ້ແປ້ນພິມຕົວອັກສອນນູນ ເປີດໃຊ້ໄດ້ໃນການຕັ້ງຄ່າການຊ່ວຍເຂົ້າເຖິງ ສືບຕໍ່ TalkBack ເພື່ອໃຊ້ແປ້ນພິມອັກສອນນູນ @@ -71,32 +86,30 @@ ເລີ່ມຕົ້ນຕອນນີ້, ທ່ານຈະບໍ່ສາມາດໃຊ້ທ່າທາງ TalkBack ແບບທຳມະດາໄດ້ອີກ. TalkBack ຈະບໍ່ສາມາດໃຊ້ໄດ້ໃນລະຫວ່າງການນຳໃຊ້ແປ້ນພິມຕົວອັກສອນນູນ. ເພື່ອເລີ່ມຕົ້ນ, ໃຫ້ຖືໂທລະສັບຂອງທ່ານໄວ້ແບບນີ້, ໂດຍປິ່ນໜ້າຈໍອອກຈາກຕົວທ່ານ. ແຕະສອງເທື່ອຢູ່ບ່ອນໃດກໍໄດ້ເພື່ອດຳເນີນການຕໍ່ - ໃຊ້ນິ້ວຊີ້ຊ້າຍແຕະຈຸດ 1 ເພື່ອພິມຕົວອັກສອນ \"A\" + ນິ້ວຊີ້ຊ້າຍ + ນິ້ວຊີ້ຂວາ + ແຕະຈຸດ 1 ຢູ່ %1$s ຂອງທ່ານເພື່ອພິມຕົວ \"A\" ຕໍ່ໄປ, ໃຫ້ລອງພິມຕົວອັກສອນ B, C ແລະ D ເພື່ອລຶບຕົວອັກສອນໃດໜຶ່ງ, ໃຫ້ປັດຊ້າຍ ເພື່ອເພີ່ມຍະຫວ່າງ, ໃຫ້ປັດຂວາ - ເພື່ອຍ້າຍເຄີເຊີກັບຫຼັງ, ໃຫ້ປັດຂຶ້ນ - ເພື່ອຍ້າຍເຄີເຊີໄປໜ້າ, ໃຫ້ປັດລົງ ເພື່ອເຊື່ອງແປ້ນພິມ, ໃຫ້ປັດລົງດ້ວຍ 2 ນິ້ວ ເພື່ອສະຫຼັບໄປໃຊ້ແປ້ນພິມອື່ນຂອງທ່ານ, ໃຫ້ປັດລົງດ້ວຍ 3 ນິ້ວ ເພື່ອສຳເລັດການສອນການນຳໃຊ້, ໃຫ້ປັດຂຶ້ນດ້ວຍ 3 ນິ້ວ ລຶບ ຍະຫວ່າງ - ຍ້າຍເຄີເຊີກັບຫຼັງແລ້ວ - ຍ້າຍເຄີເຊີໄປໜ້າແລ້ວ ເຊື່ອງແປ້ນພິມ ແປ້ນພິມຕໍ່ໄປ ເລີ່ມຕົ້ນຕອນນີ້, ທ່ານຈະບໍ່ສາມາດໃຊ້ທ່າທາງ TalkBack ແບບທຳມະດາໄດ້ອີກ. ບໍ່ສາມາດໃຊ້ TalkBack ໄດ້ໃນເວລາທີ່ກຳລັງໃຊ້ແປ້ນພິມອັກສອນນູນ.\n\n%1$s ທຳອິດ, ໃຫ້ປິ່ນໜ້າຈໍອອກຈາກຕົວທ່ານ.\n\nຕໍ່ໄປ, ໃຫ້ອຽງໂທລະສັບໃຫ້ຢູ່ໃນແນວນອນ. ຄວນໃຊ້ທັງສອງມືຈັບປາຍທາງຊ້າຍ ແລະ ຂວາຂອງໂທລະສັບໃຫ້ໝັ້ນຄົງ. ຄວນໃຊ້ມືຂວາຈັບສ່ວນປາຍຂອງຜອດ USB ໄວ້. ວາງນິ້ວຊີ້, ນິ້ວກາງ ແລະ ນິ້ວນາງທັງ 3 ນິ້ວຢູ່ໜ້າຈໍ ແລະ ໃຊ້ນິ້ວກ້ອຍກັບນິ້ວໂປ້ຮອງໂທລະສັບໄວ້.\n\nເມື່ອພ້ອມແລ້ວ, ໃຫ້ແຕະໜ້າຈໍສອງເທື່ອເພື່ອດຳເນີນການຕໍ່.\n\nເພື່ອອອກຈາກແປ້ນພິມຕົວອັກສອນນູນ, ໃຫ້ປັດລົງໄປຫາພື້ນທາງລຸ່ມດ້ວຍ 3 ນິ້ວ. ນີ້ຈະເປັນການສະຫຼັບກັບໄປຫາແປ້ນພິມເດີມຂອງທ່ານ. ໂທລະສັບຂອງທ່ານຢູ່ໃນແນວຕັ້ງຢູ່. ເພື່ອສືບຕໍ່, ໃຫ້ໝຸນໂທລະສັບຂອງທ່ານເປັນແນວນອນເພື່ອໃຫ້ລວງຍາວຢູ່ທາງລຸ່ມ. ຈາກນັ້ນປິ່ນໜ້າຈໍອອກຈາກຕົວທ່ານ. ເມື່ອພ້ອມແລ້ວ, ໃຫ້ແຕະສອງເທື່ອໃສ່ໜ້າຈໍເພື່ອດຳເນີນການຕໍ່. - ໃຫ້ປິ່ນໜ້າຈໍອອກຈາກຕົວທ່ານໄວ້. ໃຊ້ມືທັງສອງຈັບປາຍທາງຊ້າຍ ແລະ ຂວາຂອງໂທລະສັບໂດຍໃຫ້ນິ້ວຊີ້, ນິ້ວກາງ ແລະ ນິ້ວນາງຂອງມືແຕ່ລະຂ້າງສາມາດແຕະໜ້າຈໍໄດ້.\n\nນິ້ວຊີ້ຊ້າຍຄວນຢູ່ທີ່ຈຸດ 1. ຕອນນີ້, ໃຫ້ແຕະຈຸດ 1 ເພື່ອພິມຕົວອັກສອນ \"A\". - ແຕະຈຸດ 1 ດ້ວຍນິ້ວຊີ້ຊ້າຍຂອງທ່ານເພື່ອພິມ “A” + ນິ້ວຊີ້ຊ້າຍ + ນິ້ວຊີ້ຂວາ + ໃຫ້ປິ່ນໜ້າຈໍອອກຈາກຕົວທ່ານໄວ້. ໃຊ້ມືທັງສອງຈັບປາຍທາງຊ້າຍ ແລະ ຂວາຂອງໂທລະສັບໂດຍໃຫ້ນິ້ວຊີ້, ນິ້ວກາງ ແລະ ນິ້ວນາງຂອງມືແຕ່ລະຂ້າງສາມາດແຕະໜ້າຈໍໄດ້.\n\%1$s ຂອງທ່ານຄວນຢູ່ທີ່ຈຸດ 1. ຕອນນີ້, ໃຫ້ແຕະຈຸດ 1 ເພື່ອພິມຕົວອັກສອນ \"A\". + ແຕະຈຸດ 1 ດ້ວຍ %1$s ຂອງທ່ານເພື່ອພິມ “A” ແຕະ %1$s ເພື່ອພິວຕົວ %2$s ເພື່ອລຶບຕົວອັກສອນໃດໜຶ່ງ, ໃຫ້ປັດຊ້າຍ ລອງໃຊ້ມັນດຽວນີ້. ລຶບ d ແລ້ວ. ເພື່ອເພີ່ມຍະຫວ່າງ, ໃຫ້ປັດຂວາ. ລອງໃຊ້ມັນດຽວນີ້. - ເພື່ອຍ້າຍເຄີເຊີກັບຫຼັງ, ໃຫ້ປັດຂຶ້ນ. ລອງໃຊ້ມັນດຽວນີ້. - ເພື່ອຍ້າຍເຄີເຊີໄປໜ້າ, ໃຫ້ປັດລົງ. ລອງໃຊ້ມັນດຽວນີ້. ເພື່ອເຊື່ອງແປ້ນພິມ, ໃຫ້ປັດລົງດ້ວຍ 2 ນິ້ວ. ລອງໃຊ້ມັນດຽວນີ້. ເຊື່ອງແປ້ນພິມ. ປົກກະຕິ, ນີ້ຈະເປັນການເຊື່ອງແປ້ນພິມ. ແປ້ນພິມຕົວອັກສອນນູນຈະເປີດໄວ້ເນື່ອງຈາກທ່ານຍັງຢູ່ໃນການສອນການນຳໃຊ້ຢູ່. ເພື່ອສະຫຼັບໄປໃຊ້ແປ້ນພິມອື່ນຂອງທ່ານ, ໃຫ້ປັດລົງດ້ວຍ 3 ນິ້ວ. ລອງໃຊ້ມັນດຽວນີ້. @@ -114,6 +127,4 @@ ລຶບຕົວອັກສອນແລ້ວ ລຶບຄຳສັບແລ້ວ ມາສືບຕໍ່ການສອນການນຳໃຊ້ກັນ. %1$s - ເຊື່ອມຕໍ່ການ​ສະ​ແດງ​ຕົວ​ໜັງ​ສື​ນູນພາຍນອກແລ້ວ, ເຊິ່ງທ່ານສາມາດໃຊ້ເພື່ອພິມຂໍ້ຄວາມໃສ່ອຸປະກອນນີ້ໄດ້.\nຫຼື ທ່ານສາມາດສະຫຼັບໄປໃຊ້ແປ້ນພິມອັກສອນນູນໜ້າຈໍສຳຜັດ ຫຼື ວິທີການປ້ອນຂໍ້ມູນຕໍ່ໄປ. - ສະຫຼັບໄປໃຊ້ແປ້ນພິມໜ້າຈໍສຳຜັດ diff --git a/braille/brailleime/src/phone/res/values-lt/strings.xml b/braille/brailleime/src/main/res/values-lt/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-lt/strings.xml rename to braille/brailleime/src/main/res/values-lt/strings.xml index 75dedcb62..11a8d42e7 100644 --- a/braille/brailleime/src/phone/res/values-lt/strings.xml +++ b/braille/brailleime/src/main/res/values-lt/strings.xml @@ -5,6 +5,9 @@ Gulsčiasis režimas. Padėkite įrenginį, kad įkrovimo prievadas būtų kairėje. Kad atnaujintumėte taškų padėtį, palieskite šešiais pirštais. Nėra jokios kitos įgalintos klaviatūros, eikite į klaviatūros nustatymus Perbraukite aukštyn trim pirštais, kad būtų pateikta daugiau parinkčių + Perjungta į sutrauktą Brailio rašmenų formą + Perjungta į nesutrauktą Brailio rašmenų formą + Perjungta į nesutrauktą UEB Brailio rašmenų klaviatūra Brailio rašmenų klaviatūra, %s „TalkBack“ Brailio rašmenų klaviatūra – jei reikia pagalbos, apsilankykite adresu g.co/help/braille @@ -17,7 +20,6 @@ Atnaujinta 1, 2 ir 3 taškų padėtis. Dabar įrašykime taškus dešiniąja ranka. Paspauskite ir palaikykite ekraną trim viduriniais dešiniosios rankos pirštais. Atnaujinta 1, 2 ir 3 taškų padėtis. Dabar įrašykime taškus kairiąja ranka. Paspauskite ir palaikykite ekraną trim viduriniais kairiosios rankos pirštais. Nepavyko atnaujinti taškų padėties. Palieskite ir palaikykite ekraną šešiais pirštais. Tada bandykite dar kartą. - Perjungta į: %s Brailio rašmenų klaviatūra Brailio rašto klaviatūros nustatymas Kaip naudoti Brailio rašto klaviatūrą @@ -27,18 +29,23 @@ <br><br>2. <b>Brailio rašmenų klaviatūros naudojimas</b> Atidarykite įprastą klaviatūrą, tada palieskite klaviatūros pasirinkimo piktogramą %2$s (įprastai pateikiama apatiniame dešiniajame kampe). Pasirinkite „%1$s“. <br><br>Jei nematote klaviatūrų perjungimo parinkties, pabandykite įdiegt %3$s, „Google“ klaviatūrą. Nustatymai - Įvesties kalbos - Pageidaujama kalba - Daugiau nerodyti - Spartusis kalbos keitimas vedant tekstą - Jei norite pakeisti kalbą, kai vedate tekstą Brailio rašto klaviatūra, perbraukite aukštyn trimis pirštais. Tada pasirinkite „perjungti į kitą kalbą“. + Įvesties kalbos + Unified English Braille + Ispanų k. + Arabų + Prancūzų + Lenkų k. Visų paspaustų taškų įtraukimas Kiekvienas paspaustas taškas yra įvesties dalis, net jei jis atleidžiamas anksčiau nei kiti taškai Atvirkštiniai taškai Sukeiskite taškų pozicijas, kad būtų sukeistos, pvz., 1 ir 4 taškų vietos Brailio rašmenų klaviatūros parinktys - Perjungti į kitą kalbą: %s - Šiuo metu naudojama: %s + Pakeisti klaviatūros kalbą + Šiuo metu naudojama %s + Teksto vedimo kalba + Perjungti į %s Brailio rašmenų formą + sutrauktą + nesutrauktą Peržiūrėti visus gestus Atidaryti mokymo programą Užbaigti mokymo programą @@ -49,15 +56,25 @@ Kad ištrintumėte, perbraukite kairėn Jei norite eiti į naują eilutę, perbraukite dešinėn dviem pirštais Kad ištrintumėte žodį, perbraukite kairėn dviem pirštais - Jei norite perkelti žymeklį atgal, perbraukite aukštyn - Jei norite perkelti žymeklį pirmyn, perbraukite žemyn Jei norite paslėpti klaviatūrą, perbraukite žemyn dviem pirštais Kad perjungtumėte į kitą klaviatūrą, perbraukite žemyn trim pirštais Kad pateiktumėte tekstą, perbraukite aukštyn dviem pirštais Jei reikia pagalbos ir kitų parinkčių, perbraukite aukštyn trim pirštais Atlikta + Statusis režimas + Įrenginį laikykite ekraną nukreipę nuo savęs (statusis režimas) + Gulsčiasis režimas + Padėkite įrenginį gulsčiai ant stalo (gulsčiasis režimas). + Pritaikyti pagal įrenginio laikymą Įrenginyje nepalaikoma Brailio rašmenų klaviatūra Įrenginyje nepalaikoma pakankamai lietimo taškų. Jei reikia daugiau informacijos, susisiekite su įrenginio gamintoju. + Ištrinta: %s + + %s taškas + %s taškai + %s taško + %s taškų + „TalkBack“ įjungimas norint naudoti Brailio rašmenų klaviatūrą Įjungti pritaikomumo nustatymuose „TalkBack“ atnaujinimas norint naudoti Brailio rašmenų klaviatūrą @@ -71,32 +88,30 @@ Nuo dabar nebegalėsite naudoti įprastų „TalkBack“ gestų. „TalkBack“ nepasiekiama naudojant Brailio rašmenų klaviatūrą. Jei norite pradėti, laikykite telefoną, kaip parodyta, ekraną nukreipę nuo savęs. Tęskite dukart palietę bet kurioje vietoje - Palietę 1 tašką kairės rankos smiliumi įvesite raidę A + kairės rankos smiliumi + dešinės rankos smiliumi + Palietę 1 tašką %1$s įvesite raidę A Tada pabandykite įvesti raides B, C ir D Kad ištrintumėte raidę, perbraukite kairėn Kad pridėtumėte tarpą, perbraukite dešinėn - Jei norite perkelti žymeklį atgal, perbraukite aukštyn - Jei norite perkelti žymeklį pirmyn, perbraukite žemyn Jei norite paslėpti klaviatūrą, perbraukite žemyn dviem pirštais Jei norite perjungti į kitą klaviatūrą, perbraukite žemyn trim pirštais Kad užbaigtumėte mokymo programą, perbraukite aukštyn trim pirštais IŠTRINTI TARPAS - PERKELTI ŽYMEKLĮ ATGAL - PERKELTI ŽYMEKLĮ PIRMYN SLĖPTI KLAVIATŪRĄ KITA KLAVIATŪRA Nuo dabar nebegalėsite naudoti įprastų „TalkBack“ gestų. „TalkBack“ nepasiekiama naudojant Brailio rašmenų klaviatūrą.\n\n%1$s Pirmiausia pasukite telefoną, kad ekranas būtų nukreiptas nuo jūsų.\n\nTada pasukite telefoną horizontaliai į gulsčią padėtį. Rankomis turėtumėte laikyti už trumpesnių telefono kraštų. Dešiniąja ranka laikykite už krašto, kuriame yra USB prievadas. Tris vidurinius pirštus laikykite virš telefono, o mažyliu ir nykščiu prilaikykite telefoną.\n\nKai būsite pasiruošę, tęskite dukart palietę ekraną.\n\nJei norite išeiti iš Brailio rašmenų klaviatūros, trim pirštais perbraukite žemyn iki apačios. Bus vėl įjungta pradinė klaviatūra. Telefonas vertikalioje padėtyje. Jei norite tęsti, pasukite telefoną horizontaliai, kad ilgasis kraštas būtų nukreiptas žemyn. Tada nukreipkite ekraną nuo savęs. Kai būsite pasiruošę, tęskite palietę ekraną du kartus. - Laikykite ekraną nukreiptą nuo savęs. Laikykite telefoną abiem rankomis už trumpesnių telefono kraštų, kad kiekvienos rankos viduriniais trim pirštais galėtumėte paliesti ekraną.\n\nKairės rankos smilius turėtų būti virš 1 taško. Dabar palieskite 1 tašką, kad įvestumėte raidę A. - Palietę 1 tašką kairės rankos smiliumi įvesite A + Kairės rankos smilius + Dešinės rankos smilius + Laikykite ekraną nukreiptą nuo savęs. Laikykite telefoną abiem rankomis už trumpesnių telefono kraštų, kad kiekvienos rankos viduriniais trim pirštais galėtumėte paliesti ekraną.\n\n%1$s turėtų būti virš 1 taško. Dabar palieskite 1 tašką, kad įvestumėte raidę A. + Palietę 1 tašką %1$s įvesite A Palietę %1$s įvesite raidę %2$s Kad ištrintumėte raidę, perbraukite kairėn. Išbandykite dabar. Raidė D ištrinta. Kad pridėtumėte tarpą, perbraukite dešinėn. Išbandykite dabar. - Jei norite perkelti žymeklį atgal, perbraukite aukštyn. Išbandykite dabar. - Jei norite perkelti žymeklį pirmyn, perbraukite žemyn. Išbandykite dabar. Jei norite paslėpti klaviatūrą, perbraukite žemyn dviem pirštais. Išbandykite dabar. Slėpti klaviatūrą. Įprastai klaviatūra paslepiama. Brailio rašmenų klaviatūra liks atidaryta, nes vis dar dalyvaujate mokymo programoje. Jei norite perjungti į kitą klaviatūrą, perbraukite žemyn trim pirštais. Išbandykite dabar. @@ -114,6 +129,4 @@ Raidė ištrinta Žodis ištrintas Tęskime mokymo programą. %1$s - Prijungtas išorinis Brailio rašmenų ekranas, kurį naudodami galite vesti tekstą šiame įrenginyje.\nArba galite perjungti į jutiklinio ekrano Brailio rašmenų klaviatūrą ar kitą įvesties metodą. - Perjungti į jutiklinio ekrano klaviatūrą diff --git a/braille/brailleime/src/phone/res/values-lv/strings.xml b/braille/brailleime/src/main/res/values-lv/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-lv/strings.xml rename to braille/brailleime/src/main/res/values-lv/strings.xml index dca3a3ad3..8ef043408 100644 --- a/braille/brailleime/src/phone/res/values-lv/strings.xml +++ b/braille/brailleime/src/main/res/values-lv/strings.xml @@ -5,6 +5,9 @@ Galda režīms. Novietojiet ierīci tā, lai uzlādes pieslēgvieta būtu vērsta pa kreisi. Lai mainītu punktu pozīciju, piespiediet sešus pirkstus un turiet. Nav iespējota cita tastatūra. Pārejiet uz tastatūras iestatījumiem. Velciet augšup ar 3 pirkstiem, lai skatītu citas opcijas. + Veikta pārslēgšanās uz saīsināto Braila rakstu + Veikta pārslēgšanās uz nesaīsināto Braila rakstu + Tastatūra pārslēgta uz nesaīsināto UEB Braila tastatūra Braila tastatūra, %s TalkBack Braila tastatūra. Lai saņemtu palīdzību, apmeklējiet vietni g.co/help/braille. @@ -17,7 +20,6 @@ Pirmā, otrā un trešā punkta pozīcija ir atjaunināta. Tagad reģistrējiet labās rokas punktus. Pieskarieties ekrānam ar labās rokas trim vidējiem pirkstiem un turiet. Pirmā, otrā un trešā punkta pozīcija ir atjaunināta. Tagad reģistrējiet kreisās rokas punktus. Pieskarieties ekrānam ar kreisās rokas trim vidējiem pirkstiem un turiet. Nevarēja atjaunināt punktu pozīciju. Pieskarieties ekrānam ar sešiem pirkstiem un turiet. Pēc tam mēģiniet vēlreiz. - Pārslēgta uz: %s Braila tastatūra Braila tastatūras iestatīšana Braila tastatūras izmantošana @@ -27,18 +29,23 @@ <br><br>2. <b>Braila tastatūras izmantošana</b>: atveriet parasto tastatūru, pēc tam pieskarieties tastatūras izvēlnes ikonai %2$s (parasti atrodas apakšējā labajā stūrī). Atlasiet vienumu “%1$s”. <br><br>Ja nav redzama tastatūras pārslēgšanas iespēja, mēģiniet instalēt Google tastatūru %3$s. Iestatījumi - Rakstīšanas valodas - Vēlamā valoda - Turpmāk vairs nerādīt - Ātra valodas nomaiņa rakstīšanas laikā - Lai mainītu valodu, kad rakstīšanai izmantojat Braila tastatūru, velciet augšup ar 3 pirkstiem. Pēc tam atlasiet opciju “Pārslēgt uz nākamo valodu”. + Rakstīšanas valodas + Vienotais angļu valodas Braila raksts + Spāņu + Arābu + Franču + Poļu Visu nospiesto punktu iekļaušana Katrs nospiestais punkts ir ievades daļa, pat ja punkts tiek atlaists pirms citu punktu nospiešanas. Punktu atpakaļvērstais režīms Mainīt punktu pozīciju, lai, piemēram, 1. punkts un 4. punkts mainītos vietām Braila tastatūras opcijas - Pārslēgt uz nākamo valodu: %s - Pašlaik tiek lietota šāda valoda: %s + Mainīt rakstīšanas valodu + Pašlaik tiek šāda valoda: %s. + Rakstīšanas valoda + Pārslēgties uz šo Braila raksta veidu: %s + saīsināts + nesaīsināts Skatīt visus žestus Atvērt pamācību Pabeigt pamācību @@ -49,15 +56,24 @@ Lai dzēstu, velciet pa kreisi. Lai pievienotu jaunu rindiņu, velciet pa labi ar 2 pirkstiem. Lai dzēstu vārdu, velciet pa kreisi ar 2 pirkstiem. - Lai pārvietotu kursoru atpakaļ, velciet augšup - Lai pārvietotu kursoru uz priekšu, velciet lejup Lai paslēptu tastatūru, velciet lejup ar 2 pirkstiem. Lai pārietu uz nākamo tastatūru, velciet lejup ar 3 pirkstiem. Lai iesniegtu tekstu, velciet augšup ar 2 pirkstiem. Lai skatītu palīdzību un citas iespējas, velciet augšup ar 3 pirkstiem. Gatavs + Prom vērsta ekrāna režīms + Turiet ierīci ar prom vērstu ekrānu (prom vērsta ekrāna režīms). + Galda režīms + Novietojiet ierīci plakaniski uz galda (galda režīms). + Pielāgoties ierīces turēšanas veidam Jūsu ierīcē netiek atbalstīta Braila tastatūra. Jūsu ierīcē netiek atbalstīts pietiekami daudz skāriena punktu. Lai iegūtu plašāku informāciju, sazinieties ar ierīces ražotāju. + Teksts “%s” ir izdzēsts. + + punkti %s + punkti %s + punkti %s + TalkBack ieslēgšana, lai izmantotu Braila tastatūru Ieslēgt pieejamības iestatījumos TalkBack darbības atsākšana, lai izmantotu Braila tastatūru @@ -71,32 +87,30 @@ No šī brīža jūs nevarēsiet izmantot parastos TalkBack žestus. Funkcija TalkBack nav pieejama, kamēr izmantojat Braila tastatūru. Lai sāktu darbu, turiet tālruni, kā norādīts, ar ekrānu prom no sevis. Lai turpinātu, jebkurā vietā veiciet dubultskārienu. - Lai ievadītu burtu “A”, ar kreiso rādītājpirkstu pieskarieties 1. punktam. + kreiso rādītājpirkstu + labo rādītājpirkstu + Lai ievadītu burtu “A”, ar %1$s pieskarieties 1. punktam. Pēc tam mēģiniet rakstīt burtus “B”, “C” un “D”. Lai dzēstu burtu, velciet pa kreisi. Lai pievienotu atstarpi, velciet pa labi. - Lai pārvietotu kursoru atpakaļ, velciet augšup - Lai pārvietotu kursoru uz priekšu, velciet lejup Lai paslēptu tastatūru, velciet lejup ar 2 pirkstiem. Lai pārietu uz citu tastatūru, velciet lejup ar 3 pirkstiem. Lai pabeigtu pamācību, velciet augšup ar 3 pirkstiem. DZĒST ATSTARPE - KURSORS PĀRVIETOTS ATPAKAĻ - KURSORS PĀRVIETOTS UZ PRIEKŠU PASLĒPT TASTATŪRU NĀKAMĀ TASTATŪRA No šī brīža jūs nevarēsiet izmantot parastos TalkBack žestus. Funkcija TalkBack nav pieejama, kamēr izmantojat Braila tastatūru.\n\n%1$s Vispirms pavērsiet tālruni ar ekrānu prom no sevis.\n\nPēc tam pagrieziet tālruni horizontāli ainavas pozīcijā. Rokām ir jāsatver tālruņa īsākās malas. Labajai rokai ir jātur mala, kurā ir USB pieslēgvieta. Turiet 3 vidējos pirkstus uz ekrāna, un pieturiet tālruni ar mazo pirkstiņu un īkšķi.\n\nKad esat gatavs, ekrānā veiciet dubultskārienu, lai turpinātu.\n\nLai aizvērtu Braila tastatūru, ar 3 pirkstiem velciet lejup uz zemi. Notiek pāreja uz sākotnējo tastatūru. Tālrunis ir vertikālā pozīcijā. Lai turpinātu, pagrieziet tālruni horizontāli ar garo malu apakšdaļā. Pēc tam pagrieziet ekrānu prom no sevis. Kad esat gatavs, ekrānā veiciet dubultskārienu, lai turpinātu. - Pavērsiet ekrānu prom no sevis. Turiet tālruni abās rokās aiz tā īsākajām malām, lai katras rokas 3 vidējie pirksti pieskartos ekrānam.\n\nKreisajam rādītājpirkstam ir jāatrodas uz 1. punkta. Pēc tam pieskarieties 1. punktam, lai ievadītu burtu “A”. - Ar kreiso rādītājpirkstu pieskarieties 1. punktam, lai ievadītu burtu “A”. + Kreisajam rādītājpirkstam + Labajam rādītājpirkstam + Pavērsiet ekrānu prom no sevis. Turiet tālruni abās rokās aiz tā īsākajām malām, lai katras rokas 3 vidējie pirksti pieskartos ekrānam.\n\n%1$sKreisajam rādītājpirkstam ir jāatrodas uz 1. punkta. Pēc tam pieskarieties 1. punktam, lai ievadītu burtu “A”. + Lai ievadītu burtu “A”, ar %1$s pieskarieties 1. punktam. Lai ievadītu burtu “%2$s”, pieskarieties: %1$s. Lai dzēstu burtu, velciet pa kreisi. Izmēģiniet tūlīt! Burts “d” ir izdzēsts. Lai pievienotu atstarpi, velciet pa labi. Izmēģiniet tūlīt! - Lai pārvietotu kursoru atpakaļ, velciet augšup. Izmēģiniet tūlīt! - Lai pārvietotu kursoru uz priekšu, velciet lejup. Izmēģiniet tūlīt! Lai paslēptu tastatūru, velciet lejup ar 2 pirkstiem. Izmēģiniet tūlīt! Paslēpt tastatūru. Parasti ar šo darbību tiek paslēpta tastatūra. Braila tastatūra joprojām būs atvērta, jo izmantojat pamācību. Lai pārietu uz citu tastatūru, velciet lejup ar 3 pirkstiem. Izmēģiniet tūlīt! @@ -114,6 +128,4 @@ Burts izdzēsts Vārds izdzēsts Turpināsim pamācību. %1$s - Ir pievienots ārējs Braila displejs, ko jūs varat izmantot, lai rakstītu tekstu šajā ierīcē.\nVarat arī pārslēgties uz skārienekrāna Braila tastatūru vai nākamo ievades metodi. - Pārslēgties uz skārienekrāna tastatūru diff --git a/braille/brailleime/src/phone/res/values-mk/strings.xml b/braille/brailleime/src/main/res/values-mk/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-mk/strings.xml rename to braille/brailleime/src/main/res/values-mk/strings.xml index 81e690d23..c9b146790 100644 --- a/braille/brailleime/src/phone/res/values-mk/strings.xml +++ b/braille/brailleime/src/main/res/values-mk/strings.xml @@ -5,6 +5,9 @@ Режим за на маса. Поставете го уредот со портата за полнење на левата страна. За ажурирање положба на точките, задржете со шест прсти. Нема друга овозможена тастатура, одете во поставките за тастатури Повлечете нагоре со три прста за повеќе опции + Префрлено на скратено брајово писмо + Префрлено на нескратено брајово писмо + Префрлено на нескратено унифицирано англиско брајово писмо (UEB) тастатура со брајово писмо тастатура со брајово писмо, %s Тастатура со брајово писмо за TalkBack. За помош, одете на g.co/help/braille @@ -17,7 +20,6 @@ Положбата на точките 1, 2 и 3 е ажурирана. Следно, да ги снимиме точките на десната рака. Допрете и задржете го екранот со средните три прста од десната рака. Положбата на точките 1, 2 и 3 е ажурирана. Следно, да ги снимиме точките на левата рака. Допрете и задржете го екранот со средните три прста од левата рака. Не можеше да се ажурира положбата на точките. Допрете и задржете го екранот со 6 прста. Потоа обидете се повторно. - Се префрливте на %s Тастатура со брајово писмо Поставете тастатура со брајово писмо Како се користи тастатура со брајово писмо @@ -27,18 +29,23 @@ <br><br>2. <b>Користење на тастатурата со брајово писмо</b>: отворете ја обичната тастатура, а потоа допрете ја иконата за избор на тастатура %2$s (обично во долниот десен агол). Изберете „%1$s“. <br><br>Ако не ја гледате опцијата за префрлање тастатури, инсталирајте ја %3$s, тастатурата на Google. Поставки - Јазици за пишување - Претпочитан јазик - Не прикажувај го ова повторно - Брзо променете го јазикот додека пишувате - За да го промените јазикот додека пишувате со тастатура за брајово писмо, повлечете нагоре со 3 прста. Потоа изберете „Префрли се на следниот јазик“. + Јазици за пишување + Унифицирано брајово писмо на англиски + шпански + арапски + француски + полски Вклучете ги сите притиснати точки Секоја притисната точка е дел од записот, дури и ако точката е пуштена пред другите точки Обратни точки Заменете ја положбата на точките, на пример, точките 1 и 4 да си ги заменат местата Опции за тастатура со брајово писмо - Префрли се на следниот јазик: %s - Во моментов користите: %s + Променете го јазикот за пишување + Во моментов користите %s + Јазик за пишување + Префрли се на %s брајово писмо + скратено + нескратено Прегледајте ги сите движења Отвори го упатството Затвори го упатството @@ -49,15 +56,23 @@ За да избришете, повлечете налево За нов ред, повлечете надесно со два прста За да избришете збор, повлечете налево со два прста - За да го поместите курсорот наназад, лизгајте нагоре - За да го поместите курсорот нанапред, лизгајте надолу За да ја сокриете тастатурата, повлечете надолу со два прста За да се префрлите на следната тастатура, повлечете надолу со три прста За да испратите текст, повлечете нагоре со два прста За помош и други опции, повлечете нагоре со три прста Готово + Режим на екран свртен обратно + Држете го уредот со екранот свртен обратно од вас (режим на екран свртен обратно) + Режим за на маса + Ставете го уредот рамно на масата (режим за на маса) + Приспособи според начинот на кој го држам уредот Вашиот уред не поддржува тастатура со брајово писмо Вашиот уред не поддржува доволно точки на допир. За повеќе информации, контактирајте со производителот на уредот. + Текстот „%s“ е избришан + + точки %s + точки %s + Вклучете TalkBack за да користите тастатура со брајово писмо Вклучи ги поставките за пристапност Продолжете со TalkBack за да користите тастатура со брајово писмо @@ -71,32 +86,30 @@ Почнувајќи отсега, нема да може да користите обични движења за TalkBack. TalkBack не е достапна додека ја користите тастатурата со брајово писмо. За да започнете, држете го телефонот вака, со екранот свртен обратно од вас. Допрете два пати каде било за да продолжите - Допрете ја точката 1 со левиот показалец за да ја напишете буквата „A“ + лев показалец + десен показалец + Допрете ја точката 1 со вашиот %1$s за да ја напишете буквата „A“ Следно, напишете ги буквите B, C и D За да избришете буква, повлечете налево За да додадете празно место, повлечете надесно - За да го поместите курсорот наназад, лизгајте нагоре - За да го поместите курсорот нанапред, лизгајте надолу За да ја сокриете тастатурата, повлечете надолу со два прста За да се префрлите на вашата друга тастатура, повлечете надолу со три прста За да го затворите упатството, повлечете нагоре со три прста ИЗБРИШИ ПРАЗНО МЕСТО - КУРСОРОТ Е ПРЕМЕСТЕН НАНАЗАД - КУРСОРОТ Е ПРЕМЕСТЕН НАНАПРЕД СОКРИЈТЕ ЈА ТАСТАТУРАТА СЛЕДНА ТАСТАТУРА Почнувајќи отсега, нема да може да користите обични движења за TalkBack. TalkBack не е достапна додека ја користите тастатурата со брајово писмо.\n\n%1$s Прво, завртете го телефонот, тако што екранот ќе биде свртен обратно од вас.\n\nСледно, ротирајте го телефонот хоризонтално во положба на пејзаж. Со рацете држете го телефонот за потесните страни. Вашата десна рака треба да ја држи страната со USB-портата. Ставете ги трите средни прста на екранот, а со малиот прст и палецот држете го телефонот.\n\nКога ќе бидете спремни, допрете два пати на екранот за да продолжите.\n\nЗа да излезете од тастатурата со брајово писмо, повлечете надолу кон земјата со три прста. Така ќе се префрлите назад на првичната тастатура. Вашиот телефон е во вертикална положба. За да продолжите, ротирајте го телефонот хоризонтално, така што подолгата страна ќе биде долу. Потоа свртете го екранот обратно од вас. Кога ќе бидете спремни, допрете два пати на екранот за да продолжите. - Екранот нека биде свртен обратно од вас. Држете го телефонот во двете раце, на неговите потесни рабови, така што средните три прста од секоја рака ќе може да го допираат екранот.\n\nВашиот лев показалец треба да биде на точката 1. Сега, допрете ја точката 1 за да ја напишете буквата „A“. - Допрете ја точката 1 со левиот показалец за да напишете „A“ + лев показалец + десен показалец + Екранот нека биде свртен обратно од вас. Држете го телефонот во двете раце, на неговите потесни рабови, така што средните три прста од секоја рака ќе може да го допираат екранот.\n\nВашиот %1$s треба да биде на точката 1. Сега, допрете ја точката 1 за да ја напишете буквата „A“. + Допрете ја точката 1 со вашиот %1$s за да напишете „A“ Допрете ја %1$s за да ја напишете буквата %2$s За да избришете буква, повлечете налево. Пробајте сега. Буквата „d“ е избришана. За да додадете празно место, повлечете надесно. Пробајте сега. - За да го поместите курсорот наназад, лизгајте нагоре. Пробајте сега. - За да го поместите курсорот нанапред, лизгајте надолу. Пробајте сега. За да ја сокриете тастатурата, повлечете надолу со два прста. Пробајте сега. Сокријте ја тастатурата. Обично, ова ќе ја сокрие тастатурата. Тастатурата со брајово писмо ќе остане отворена бидејќи сѐ уште сте во упатството. За да се префрлите на вашата друга тастатура, повлечете надолу со три прста. Пробајте сега. @@ -114,6 +127,4 @@ Избришана е буква Избришан е збор Ајде да продолжиме со упатството. %1$s - Поврзан е надворешен приказ на брајово писмо, што може да го користите за да напишете текст на уредов.\nИли префрлете се на допирната тастатура со брајово писмо или следниот метод за внесување. - Префли на тастатура на допирен екран diff --git a/braille/brailleime/src/phone/res/values-ml/strings.xml b/braille/brailleime/src/main/res/values-ml/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-ml/strings.xml rename to braille/brailleime/src/main/res/values-ml/strings.xml index 54ae476bc..bac306ff2 100644 --- a/braille/brailleime/src/phone/res/values-ml/strings.xml +++ b/braille/brailleime/src/main/res/values-ml/strings.xml @@ -5,6 +5,9 @@ ടേബിൾടോപ്പ് മോഡ്. ചാർജിംഗ് പോർട്ട് നിങ്ങളുടെ ഇടത് വശത്ത് വരുന്ന വിധത്തിൽ ഉപകരണം സ്ഥാപിക്കുക. ഡോട്ട് സ്ഥാനം അപ്‌ഡേറ്റ് ചെയ്യാൻ 6 വിരലുകൾ ഉപയോഗിച്ച് പിടിക്കുക. മറ്റൊരു കീബോർഡും പ്രവർത്തനക്ഷമമാക്കിയിട്ടില്ല, കീബോർഡ് ക്രമീകരണത്തിലേക്ക് പോകുക കൂടുതൽ ഓപ്ഷനുകൾക്കായി 3 വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക + ബ്രെയ്‍ലിയുടെ ചുരുക്കിയ മോഡിലേക്ക് മാറി + ബ്രെയ്‍ലിയുടെ ചുരുക്കാത്ത മോഡിലേക്ക് മാറി + UEB-യുടെ ചുരുക്കാത്ത മോഡിലേക്ക് മാറി ബ്രെയ്‌ലി കീബോർഡ് ബ്രെയ്‌ലി കീബോർഡ്, %s TalkBack ബ്രെയ്‌ലി കീബോർഡ് - സഹായത്തിന് g.co/help/braille സന്ദർശിക്കുക @@ -17,7 +20,6 @@ 1, 2, 3 എന്നീ ഡോട്ടുകൾക്കുള്ള അപ്ഡേറ്റ് ചെയ്ത സ്ഥാനങ്ങൾ. അടുത്തത്, വലത് കൈ സ്പർശിക്കുന്ന ഡോട്ടുകൾ നമുക്ക് റെക്കോർഡ് ചെയ്യാം. വലത് കൈയ്യിലെ നടുവിലെ 3 വിരലുകൾ ഉപയോഗിച്ച് സ്ക്രീൻ സ്‌പർശിച്ചുപിടിക്കുക. 1, 2, 3 എന്നീ ഡോട്ടുകൾക്കുള്ള അപ്ഡേറ്റ് ചെയ്ത സ്ഥാനങ്ങൾ. അടുത്തത്, നിങ്ങളുടെ ഇടത് കൈ സ്‌പർശിക്കുന്ന ഡോട്ടുകൾ നമുക്ക് റെക്കോർഡ് ചെയ്യാം. ഇടത് കൈയ്യിലെ നടുവിലെ 3 വിരലുകൾ ഉപയോഗിച്ച് സ്ക്രീൻ സ്‌പർശിച്ചുപിടിക്കുക. ഡോട്ട് സ്ഥാനം അപ്ഡേറ്റ് ചെയ്യാനായില്ല. 6 വിരലുകൾ ഉപയോഗിച്ച് സ്ക്രീൻ സ്‌പർശിച്ചുപിടിക്കുക. തുടർന്ന് വീണ്ടും ശ്രമിക്കുക. - %s എന്നതിലേക്ക് മാറി ബ്രെയ്‌ലി കീബോർഡ് ബ്രെയ്‌ലി കീബോർഡ് സജ്ജീകരിക്കുക ബ്രെയ്‌ലി കീബോർഡ് എങ്ങനെ ഉപയോഗിക്കാം @@ -27,18 +29,23 @@ <br><br>2. <b>ബ്രെയ്‍ലി കീബോർഡ് ഉപയോഗിക്കുക</b>: നിങ്ങളുടെ സാധാരണ കീബോർഡ് തുറക്കുക, ശേഷം കീബോർഡ് തിരഞ്ഞെടുക്കുക ഐക്കൺ %2$s ടാപ്പ് ചെയ്യുക (സാധാരണ താഴെ വലത്തേ കോണിൽ). \"%1$s\" തിരഞ്ഞെടുക്കുക. <br><br>കീബോർഡുകൾ മാറാനൊരു ഓപ്ഷൻ കാണുന്നില്ലെങ്കിൽ Google കീബോർഡായ %3$s ഇൻസ്റ്റാൾ ചെയ്യാൻ ശ്രമിക്കുക. ക്രമീകരണം - ടൈപ്പ് ചെയ്യുന്ന ഭാഷകൾ - മുൻഗണന നൽകുന്ന ഭാഷ - ഇത് വീണ്ടും കാണിക്കരുത് - ടൈപ്പ് ചെയ്യുമ്പോൾ വേഗത്തിൽ ഭാഷ മാറ്റുക - ബ്രെയ്‌ലി കീബോർഡ് ഉപയോഗിച്ച് ടൈപ്പ് ചെയ്യുമ്പോൾ നിങ്ങളുടെ ഭാഷ മാറ്റാൻ, 3 വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക. തുടർന്ന് \"അടുത്ത ഭാഷയിലേക്ക് മാറുക\" തിരഞ്ഞെടുക്കുക. + ടെപ്പ് ചെയ്യാനുള്ള ഭാഷകൾ + ഏകീകൃത ഇംഗ്ലീഷ് ബ്രെയ്‌ലി + സ്‌പാനിഷ് + അറബിക് + ഫ്രഞ്ച് + പോളിഷ് പ്രസ് ചെയ്‍ത എല്ലാ ഡോട്ടുകളും ഉൾപ്പെടുത്തുക മറ്റ് ഡോട്ടുകൾക്ക് മുമ്പ് ഡോട്ട് റിലീസ് ചെയ്‍താൽ പോലും പ്രസ് ചെയ്‍ത ഓരോ ഡോട്ടും ഇൻപുട്ടിന്റെ ഭാഗമാണ് വിപരീത ഡോട്ടുകൾ ഡോട്ട് സ്ഥാനങ്ങൾ സ്വാപ്പ് ചെയ്യുക, ഉദാഹരണത്തിന് 1, 4 ഡോട്ടുകൾ തമ്മിൽ സ്ഥാനങ്ങൾ കൈമാറുന്നു ബ്രെയ്‌ലി കീബോർഡ് ഓപ്ഷനുകൾ - അടുത്ത ഭാഷയിലേക്ക് മാറുക: %s - നിലവിൽ ഉപയോഗിക്കുന്നത്: %s + ടൈപ്പ് ചെയ്യുന്ന ഭാഷ മാറ്റുക + നിലവിൽ %s എന്ന അക്കൗണ്ട് ഉപയോഗിക്കുന്നു + ടൈപ്പ് ചെയ്യുന്ന ഭാഷ + %s ബ്രെയ്‌ലിയിലേക്ക് മാറുക + ചുരുക്കി + ചുരുക്കിയത് മാറ്റി എല്ലാ ജെസ്ച്ചറുകളും അവലോകനം ചെയ്യുക ട്യൂട്ടോറിയൽ തുറക്കുക ട്യൂട്ടോറിയൽ പൂർത്തിയാക്കുക @@ -49,15 +56,23 @@ ഇല്ലാതാക്കാൻ ഇടത്തോട്ട് സ്വൈപ്പ് ചെയ്യുക പുതിയ വരി ചേർക്കാൻ രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് വലത്തോട്ട് സ്വൈപ്പ് ചെയ്യുക ഒരു വാക്ക് ഇല്ലാതാക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് ഇടത്തോട്ട് സ്വൈപ്പ് ചെയ്യുക - കഴ്‌സർ പുറകോട്ട് നീക്കാൻ, മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക - കഴ്‌സർ മുന്നോട്ട് നീക്കാൻ, താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക കീബോർഡ് മറയ്ക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക അടുത്ത കീബോർഡിലേക്ക് മാറാൻ 3 വിരലുകൾ ഉപയോഗിച്ച് താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക ടെക്‌സ്റ്റ് സമർപ്പിക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക സഹായത്തിനും മറ്റ് ഓപ്ഷനുകൾക്കും 3 വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക പൂർത്തിയായി + സ്ക്രീൻ എവേ മോഡ് + സ്ക്രീൻ നിങ്ങൾക്ക് അഭിമുഖമല്ലാത്ത രീതിയിൽ തിരിച്ച് പിടിക്കുക (സ്ക്രീൻ എവേ മോഡ്) + ടേബിൾടോപ്പ് മോഡ് + ഉപകരണം മേശപ്പുറത്ത് വയ്ക്കുക (ടേബിൾടോപ്പ് മോഡ്) + നിങ്ങൾ ഉപകരണം പിടിക്കുന്ന രീതിക്ക് അനുസൃതമാക്കൂ നിങ്ങളുടെ ഉപകരണം ബ്രെയ്‍ലി കീബോർഡിനെ പിന്തുണയ്ക്കുന്നില്ല നിങ്ങളുടെ ഉപകരണം ആവശ്യത്തിന് ടച്ച് പോയിന്റുകളെ പിന്തുണയ്ക്കുന്നില്ല. കൂടുതൽ വിവരങ്ങൾക്ക് നിങ്ങളുടെ ഉപകരണ നിർമ്മാതാവിനെ സമീപിക്കുക. + %s ഇല്ലാതാക്കി + + %s ഡോട്ട് + %s ഡോട്ടുകൾ + ബ്രെയ്‍ലി കീബോർഡ് ഉപയോഗിക്കാൻ TalkBack ഓണാക്കുക ഉപയോഗസഹായി ക്രമീകരണത്തിൽ ഓണാക്കുക ബ്രെയ്‌ലി കീബോർഡ് ഉപയോഗിക്കാൻ TalkBack പുനരാരംഭിക്കുക @@ -71,32 +86,30 @@ ഇപ്പോൾ മുതൽ നിങ്ങൾക്ക് സാധാരണ TalkBack വിരൽചലനങ്ങൾ ഉപയോഗിക്കാനാവില്ല. ബ്രെയ്‍ലി കീബോർഡ് ഉപയോഗിക്കുമ്പോൾ TalkBack ലഭ്യമല്ല. തുടങ്ങാൻ, സ്ക്രീൻ നിങ്ങൾക്ക് അഭിമുഖമല്ലാത്ത തരത്തിൽ ഫോൺ തിരിച്ച്, ഇതുപോലെ പിടിക്കുക. തുടരാൻ എവിടെയെങ്കിലും ഡബിൾ ടാപ്പ് ചെയ്യുക - അക്ഷരം \"A\" ടൈപ്പ് ചെയ്യാൻ നിങ്ങളുടെ ഇടത്തേ ചൂണ്ടുവിരൽ കൊണ്ട് ഡോട്ട് 1 ടാപ്പ് ചെയ്യുക + ഇടത് ചൂണ്ടുവിരൽ + വലത് ചൂണ്ടുവിരൽ + അക്ഷരം \"A\" ടൈപ്പ് ചെയ്യാൻ %1$s ഉപയോഗിച്ച് ഡോട്ട് 1 ടാപ്പ് ചെയ്യുക അടുത്തതായി B, C, D അക്ഷരങ്ങൾ ടൈപ്പ് ചെയ്‍ത് നോക്കൂ ഒരു അക്ഷരം ഇല്ലാതാക്കാൻ ഇടത്തോട്ട് സ്വൈപ്പ് ചെയ്യുക സ്‌പെയ്‌സ് ചേർക്കാൻ വലത്തോട്ട് സ്വൈപ്പ് ചെയ്യുക - കഴ്‌സർ പുറകോട്ട് നീക്കാൻ, മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക - കഴ്‌സർ മുന്നോട്ട് നീക്കാൻ, താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക കീബോർഡ് മറയ്ക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക മറ്റൊരു കീബോർഡിലേക്ക് മാറാൻ 3 വിരലുകൾ ഉപയോഗിച്ച് താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക ട്യൂട്ടോറിയൽ പൂർത്തിയാക്കാൻ 3 വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക ഇല്ലാതാക്കുക സ്‌പെയ്‌സ് - കഴ്‌സർ പുറകോട്ട് നീക്കി - കഴ്‌സർ മുന്നോട്ട് നീക്കി കീബോർഡ് മറയ്‌ക്കുക അടുത്ത കീബോർഡ് ഇനി മുതൽ നിങ്ങൾക്ക് സാധാരണ TalkBack വിരൽചലനങ്ങൾ ഉപയോഗിക്കാനാവില്ല. ബ്രെയ്‍ലി കീബോർഡ് ഉപയോഗിക്കുമ്പോൾ TalkBack ലഭ്യമാവില്ല.\n\n%1$s ആദ്യം, നിങ്ങൾക്ക് അഭിമുഖമല്ലാത്ത രീതിയിൽ ഫോൺ പിടിക്കുക.\n\nതുടർന്ന്, ലാൻഡ്സ്കേപ്പ് പൊസിഷനിൽ കൊണ്ടുവരാൻ ഫോൺ തിരശ്ചീനമായി തിരിക്കുക. ഫോണിന്റെ നീളം കുറഞ്ഞ വശങ്ങളിലാണ് പിടിക്കേണ്ടത്. USB പോർട്ടോട് കൂടിയ വശം വലത് കയ്യിലായിരിക്കണം. നടുവിലെ 3 വിരലുകൾ സ്ക്രീനിൽ വയ്ക്കുക, ഫോൺ വീഴാതെ പിടിക്കാൻ ചെറുവിരലും തള്ളവിരലും ഉപയോഗിക്കുക.\n\nനിങ്ങൾ തയ്യാറാവുമ്പോൾ തുടരാൻ സ്ക്രീനിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക.\n\nബ്രെയ്‍ലി കീബോർഡിൽ നിന്ന് പുറത്തുകടക്കാൻ, 3 വിരലുകൾ ഉപയോഗിച്ച് താഴ്ഭാഗത്തേക്ക് സ്വൈപ്പ് ചെയ്യുക. ഇത് നിങ്ങളുടെ ഒറിജിനൽ കീബോർഡിലേക്ക് വീണ്ടും മാറ്റുന്നു. നിങ്ങളുടെ ഫോൺ ലംബമായ പൊസിഷനിലാണ്. തുടരാൻ, നീളമുള്ള ഭാഗം താഴെയാക്കി നിങ്ങളുടെ ഫോൺ തിരശ്ചീനമായി പിടിക്കുക. തുടർന്ന് സ്ക്രീൻ നിങ്ങൾക്ക് അഭിമുഖമല്ലാത്ത തരത്തിൽ തിരിച്ച് പിടിക്കുക. നിങ്ങൾ തയ്യാറായി കഴിയുമ്പോൾ തുടരാൻ സ്ക്രീനിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക. - സ്ക്രീൻ നിങ്ങൾക്ക് അഭിമുഖമല്ലാത്ത തരത്തിൽ തിരിച്ച് പിടിക്കുക. രണ്ട് കൈയുടെയും നടുവിലെ 3 വിരലുകൾ സ്ക്രീനിൽ വയ്ക്കാൻ കഴിയുന്ന തരത്തിൽ ഫോണിന്റെ നീളം കുറഞ്ഞ വശങ്ങളിൽ രണ്ട് കൈകളും ഉപയോഗിച്ച് വേണം ഫോൺ പിടിയ്ക്കാൻ.\n\nനിങ്ങളുടെ ഇടത് ചൂണ്ടുവിരൽ ഡോട്ട് 1-ൽ ആയിരിക്കണം. ഇപ്പോൾ, അക്ഷരം \"A\" ടൈപ്പ് ചെയ്യാൻ ഡോട്ട് 1 ടാപ്പ് ചെയ്യുക. - \"A\" ടൈപ്പ് ചെയ്യാൻ നിങ്ങളുടെ ഇടത്തേ ചൂണ്ടുവിരൽ കൊണ്ട് ഡോട്ട് 1 ടാപ്പ് ചെയ്യുക + ഇടത് ചൂണ്ടുവിരൽ + വലത് ചൂണ്ടുവിരൽ + സ്ക്രീൻ നിങ്ങൾക്ക് അഭിമുഖമല്ലാത്ത രീതിയിൽ തിരിച്ച് പിടിക്കുക. രണ്ട് കൈകളിലെയും നടുവിലെ 3 വിരലുകൾ സ്ക്രീനിൽ വയ്ക്കാൻ കഴിയുന്ന തരത്തിൽ ഫോണിന്റെ നീളം കുറഞ്ഞ വശങ്ങളിൽ രണ്ട് കൈകളും ഉപയോഗിച്ച് വേണം ഫോൺ പിടിയ്ക്കാൻ.\n\nനിങ്ങളുടെ %1$s ഡോട്ട് 1-ൽ ആയിരിക്കണം. ഇപ്പോൾ, അക്ഷരം \"A\" ടൈപ്പ് ചെയ്യാൻ ഡോട്ട് 1 ടാപ്പ് ചെയ്യുക. + അക്ഷരം \"A\" ടൈപ്പ് ചെയ്യാൻ %1$s ഉപയോഗിച്ച് ഡോട്ട് 1 ടാപ്പ് ചെയ്യുക. അക്ഷരം %2$s ടൈപ്പ് ചെയ്യാൻ %1$s ടാപ്പ് ചെയ്യുക ഒരു അക്ഷരം ഇല്ലാതാക്കാൻ ഇടത്തോട്ട് സ്വൈപ്പ് ചെയ്യുക. ഇപ്പോൾ ശ്രമിക്കൂ. d ഇല്ലാതാക്കി. സ്‌പെയ്‌സ് ചേർക്കാൻ വലത്തോട്ട് സ്വൈപ്പ് ചെയ്യുക. ഇപ്പോൾ ശ്രമിക്കൂ. - കഴ്‌സർ പുറകോട്ട് നീക്കാൻ, മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക. ഇപ്പോൾ ശ്രമിക്കൂ. - കഴ്‌സർ മുന്നോട്ട് നീക്കാൻ, താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക. ഇപ്പോൾ ശ്രമിക്കൂ. കീബോർഡ് മറയ്ക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക. ഇപ്പോൾ ശ്രമിക്കൂ. കീബോർഡ് മറയ്‌ക്കുക. സാധാരണയായി ഇത് കീബോർഡ് മറയ്ക്കും. നിങ്ങൾ ഇപ്പോഴും ട്യൂട്ടോറിയലിൽ ആയതിനാൽ ബ്രെയ്‌ലി കീബോർഡ് തുറന്ന് തന്നെ ഇരിക്കും. മറ്റൊരു കീബോർഡിലേക്ക് മാറാൻ 3 വിരലുകൾ ഉപയോഗിച്ച് താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക. ഇപ്പോൾ ശ്രമിക്കൂ. @@ -114,6 +127,4 @@ അക്ഷരം ഇല്ലാതാക്കി വാക്ക് ഇല്ലാതാക്കി നമുക്ക് ട്യൂട്ടോറിയൽ തുടരാം. %1$s - ഈ ഉപകരണത്തിൽ ടെക്‌സ്‌റ്റ് ടെെപ്പ് ചെയ്യാൻ ഉപയോഗിക്കാവുന്ന ബാഹ്യമായ ബ്രെയ്‌ലി ഡിസ്‌പ്ലേ കണക്‌റ്റ് ചെയ്‌തു.\nഅല്ലെങ്കിൽ ടച്ച്‌സ്‌ക്രീൻ ബ്രെയ്‌ലി കീബോർഡിലേക്കോ അടുത്ത ഇൻപുട്ട് രീതിയിലോക്കോ മാറാം. - ടച്ച്‌സ്‌ക്രീൻ കീബോർഡിലേക്ക് മാറുക diff --git a/braille/brailleime/src/phone/res/values-mn/strings.xml b/braille/brailleime/src/main/res/values-mn/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-mn/strings.xml rename to braille/brailleime/src/main/res/values-mn/strings.xml index dcc147593..94c33478f 100644 --- a/braille/brailleime/src/phone/res/values-mn/strings.xml +++ b/braille/brailleime/src/main/res/values-mn/strings.xml @@ -5,6 +5,9 @@ Ширээн дээр тавих горим. Цэнэглэх порттой төхөөрөмжөө зүүн тийш байрлуулна уу. Цэгийн байрлалыг шинэчлэхийн тулд 6 хуруугаараа удаан дарна уу. Идэвхжүүлсэн өөр гар байхгүй байна, гарын тохиргоо руу очно уу Бусад сонголтыг харахын тулд 3 хуруугаар дээш шударна уу + Товчилсон брайл руу сэлгэлээ + Товчлоогүй брайл руу сэлгэлээ + Товчлоогүй UEB рүү сэлгэсэн брайл гар брайл гар, %s TalkBack брайл гар - тусламж хэрэгтэй бол g.co/help/braille холбоосоор зочилно уу @@ -17,7 +20,6 @@ 1, 2, 3-р цэгийн байрлалыг шинэчилсэн. Дараа нь таны баруун гар дээрх цэгүүдийг бичицгээе. Баруун гарынхаа дундах 3 хуруугаар дэлгэцэд хүрээд удаан дарна уу. 1, 2, 3-р цэгийн байрлалыг шинэчилсэн. Дараа нь таны зүүн гар дээрх цэгүүдийг бичицгээе. Зүүн гарынхаа дундах 3 хуруугаар дэлгэцэд хүрээд удаан дарна уу. Цэгийн байрлалыг шинэчилж чадсангүй. Дэлгэц дээр 6 хуруугаараа хүрээд удаан дарна уу. Дараа нь дахин оролдоно уу. - %s руу сэлгэсэн Брайл гар Брайл гарыг тохируулах Брайл гарыг хэрхэн ашиглах вэ @@ -27,18 +29,23 @@ <br><br>2. <b>Брайл гарыг ашиглах</b>: Энгийн гараа нээгээд гар сонгох %2$s дүрс тэмдгийг (ихэвчлэн баруун доод буланд) товшино уу. \"%1$s\"-г сонгоно уу. <br><br>Хэрэв та гар солих сонголтыг харахгүй байвал %3$s Google гарыг суулгаж үзнэ үү. Тохиргоо - Бичиж буй хэлнүүд - Сонгосон хэл - Үүнийг дахиж бүү харуул - Бичих явцад хэлийг хурдан өөрчлөх - Брайлаар бичиж байхдаа хэлээ өөрчлөхийн тулд 3 хуруугаараа дээш шударна уу. Тэгээд \"дараагийн хэл рүү сэлгэх\" гэснийг сонгоно уу. + Бичиж буй хэлнүүд + Англи хэлний нэгтгэсэн брайл + Испани + Араб + Франц + Польш Дарсан бүх цэгийг оролцуулах Бусад цэгийн өмнө цэгийг дарахаа больсон ч дарсан цэг тус бүр нь оролтын нэг хэсэг юм Цэгүүдийг урвуулах Жишээлбэл, 1 болон 4 цэгүүд байраа сольж байхаар цэгүүдийн байрлалыг солино уу Брайл гарын сонголт - Дараагийн хэл рүү сэлгэх: %s - Одоогоор %s-г ашиглаж байна + Бичих хэлийг өөрчлөх + Одоогоор %s-г ашиглаж байна + Бичих хэл + %s брайл руу сэлгэх + Товчилсон + Товчлоогүй Бүх зангааг шалгах Практик хичээлийг нээх Практик хичээлийг дуусгах @@ -49,15 +56,23 @@ Устгахын тулд зүүн тийш шударна уу Шинэ мөр эхлүүлэхийн тулд 2 хуруугаар баруун тийш шударна уу Үг устгахын тулд 2 хуруугаар зүүн тийш шударна уу - Курсорыг арагш зөөх бол дээш шударна уу - Курсорыг урагш зөөх бол доош шударна уу Гарыг нуухын тулд 2 хуруугаар доош шударна уу Дараагийн гар луу сэлгэхийн тулд 3 хуруугаар доош шударна уу Текст илгээхийн тулд 2 хуруугаар дээш шударна уу Тусламж авах болон бусад сонголтыг харахын тулд 3 хуруугаар дээш шударна уу Болсон + Дэлгэцээс хол байх горим + Төхөөрөмжийн дэлгэцийг өөрөөсөө хол барина уу (дэлгэцээс хол байх горим) + Ширээн дээр тавих горим + Төхөөрөмжийг ширээн дээр тэгшхэн байрлуулна уу (ширээн дээр тавих горим) + Төхөөрөмжийг хэрхэн барихаа тохируулна уу Таны төхөөрөмж брайл гарыг дэмждэггүй Таны төхөөрөмж хангалттай хүрэх цэгийг дэмждэггүй. Нэмэлт мэдээлэл авахын тулд төхөөрөмжийнхөө үйлдвэрлэгчтэй холбогдоно уу. + %s-г устгалаа + + цэг %s + цэгүүд %s + Брайл гарыг ашиглахын тулд TalkBack-г асаах Хандалтын тохиргоонд асаах Брайл гарыг ашиглахын тулд TalkBack-г үргэлжлүүлэх @@ -71,32 +86,30 @@ Одооноос та TalkBack-н энгийн зангааг ашиглах боломжгүй болно. TalkBack нь брайл гарыг ашиглах үед боломжгүй байна. Эхлүүлэхийн тулд дэлгэцийг нь цааш харуулж, утсаа ингэж барина уу. Үргэлжлүүлэхийн тулд аль нэг хэсэгт хоёр товшино уу - \"A\" үсэг бичихийн тулд зүүн гарын долоовор хуруугаараа цэг 1-г товшино уу + зүүн гарын долоовор хуруу + баруун гарын долоовор хуруу + \"A\" үсэг бичихийн тулд %1$s-гаараа цэг 1-г товшино уу Дараа нь B, C болон D үсгийг бичиж үзнэ үү Үcэг устгахийн тулд зүүн тийш шударна уу Зай авахын тулд баруун тийш шударна уу - Курсорыг арагш зөөх бол дээш шударна уу - Курсорыг урагш зөөх бол доош шударна уу Гарыг нуухын тулд 2 хуруугаар доош шударна уу Өөр гар луугаа сэлгэхийн тулд 3 хуруугаар доош шударна уу Практик хичээлийг дуусгахын тулд 3 хуруугаар дээш шударна уу УСТГАХ ЗАЙ - КУРСОРЫГ АРАГШ ЗӨӨВ - КУРСОРЫГ УРАГШ ЗӨӨВ ГАРЫГ НУУХ ДАРААГИЙН ГАР Одооноос та TalkBack-н энгийн зангааг ашиглах боломжгүй болно. TalkBack нь брайл гарыг ашиглах үед боломжгүй байна.\n\n%1$s Эхлээд дэлгэцийг нь цааш харуулж, утсаа эргүүлнэ үү.\n\nДараа нь утсыг хэвтээ чигт эргүүлж, хөндлөн байрлалд оруулна уу. Таны гар утасны богино ирмэгийг атгаж байх ёстой. Таны баруун гар USB порттой ирмэгийг барьж байх ёстой. Дундах 3 хуруугаа дэлгэц дээр тавьж, утас барихдаа чигчий болон эрхий хуруугаа ашиглана уу.\n\nТа бэлэн болсон үедээ үргэлжлүүлэхийн тулд дэлгэц дээр хоёр товшино уу.\n\nБрайл гараас гарахын тулд 3 хуруугаар газар луу доош шударна уу. Энэ нь таны анхны гар луу буцааж сэлгэдэг. Таны утас босоо байрлалд байна. Үргэлжлүүлэхийн тулд урт тал нь доор байхаар утсаа хэвтээ чигт эргүүлнэ үү. Дараа нь дэлгэцийг нь цааш харуулж эргүүлнэ үү. Та бэлэн болсон үедээ үргэлжлүүлэхийн тулд дэлгэц дээр хоёр товшино уу. - Дэлгэцийг нь цааш харуулж барина уу. Хоёр гарын дундах 3 хуруу дэлгэцэд хүрэх боломжтой байхаар богино талаар нь утсаа хоёр гартаа барина уу.\n\nТаны зүүн гарын долоовор хуруу цэг 1 дээр байх ёстой. Одоо \"A\" үсэг бичихийн тулд цэг 1-г товшино уу. - \"A\"-г бичихийн тулд зүүн гарын долоовор хуруугаараа цэг 1-г товшино уу + зүүн гарын долоовор хуруу + баруун гарын долоовор хуруу + Дэлгэцийг нь цааш харуулж барина уу. Хоёр гарын дундах 3 хуруу дэлгэцэд хүрэх боломжтой байхаар богино талаар нь утсаа хоёр гартаа барина уу.\n\nТаны %1$s цэг 1 дээр байх ёстой. Одоо \"A\" үсэг бичихийн тулд цэг 1-г товшино уу. + \"A\"-г бичихийн тулд %1$s-гаараа цэг 1-г товшино уу %2$s үсэг бичихийн тулд %1$s-г товшино уу Үcэг устгахын тулд зүүн тийш шударна уу. Одоо туршиж үзээрэй. d-г устгасан. Зай авахын тулд баруун тийш шударна уу. Одоо туршиж үзээрэй. - Курсорыг арагш зөөх бол дээш шударна уу Одоо туршиж үзнэ үү. - Курсорыг урагш зөөх бол доош шударна уу Одоо туршиж үзнэ үү. Гарыг нуухын тулд 2 хуруугаар доош шударна уу. Одоо туршиж үзээрэй. Гарыг нуух. Энэ нь ихэвчлэн гарыг нууна. Та практик хичээл дээр байсаар байгаа тул брайл гар нь нээлттэй үлдэх болно. Өөр гар луугаа сэлгэхийн тулд 3 хуруугаар доош шударна уу. Одоо туршиж үзээрэй. @@ -114,6 +127,4 @@ Үсгийг устгалаа Үгийг устгалаа Практик хичээлээ үргэлжлүүлцгээе. %1$s - Гадны брайл дэлгэц холбогдсон бөгөөд үүнийг та энэ төхөөрөмжид текст бичиж оруулахдаа ашиглаж болно.\nЭсвэл та мэдрэгчтэй дэлгэцийн брайл гар болон дараагийн оруулах арга руу сэлгэж болно. - Мэдрэгчтэй дэлгэцийн гар луу сэлгэх diff --git a/braille/brailleime/src/phone/res/values-mr/strings.xml b/braille/brailleime/src/main/res/values-mr/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-mr/strings.xml rename to braille/brailleime/src/main/res/values-mr/strings.xml index ff4d7e32d..55b6c9614 100644 --- a/braille/brailleime/src/phone/res/values-mr/strings.xml +++ b/braille/brailleime/src/main/res/values-mr/strings.xml @@ -5,6 +5,9 @@ टेबलटॉप मोड. तुमचे डिव्हाइस चार्जिंग पोर्टसह डावीकडे ठेवा. बिंदूचे स्थान अपडेट करण्यासाठी, सहा बोटांनी धरा. दुसरा कीबोर्ड सुरू केलेला नाही, कीबोर्ड सेटिंग्जवर जा आणखी पर्यायांसाठी तीन बोटांनी वर स्वाइप करा + संक्षिप्त ब्रेलवर स्विच केला आहे + विस्तारित ब्रेलवर स्विच केला आहे + UEB विस्तारितवर स्विच केले ब्रेल कीबोर्ड ब्रेल कीबोर्ड, %s TalkBack ब्रेल कीबोर्ड - मदतीसाठी, g.co/help/braille येथे भेट द्या @@ -17,7 +20,6 @@ बिंदू एक, दोन आणि तीनसाठी स्थाने अपडेट केली. पुढे, तुमच्या उजव्या हाताचे बिंदू रेकॉर्ड करूया. तुमच्या उजव्या हाताच्या मधल्या तीन बोटांनी स्क्रीनला स्‍पर्श करा आणि धरून ठेवा. बिंदू एक, दोन आणि तीनसाठी स्थाने अपडेट केली. पुढे, तुमच्या डाव्या हाताचे बिंदू रेकॉर्ड करू या. तुमच्या डाव्या हाताच्या मधल्या तीन बोटांनी स्क्रीनला स्‍पर्श करा आणि धरून ठेवा. बिंदूचे स्थान अपडेट करता आले नाही. सहा बोटांनी स्क्रीनला स्‍पर्श करा आणि धरून ठेवा. त्यानंतर पुन्हा प्रयत्न करा. - %s वर स्विच केले ब्रेल कीबोर्ड ब्रेल कीबोर्ड सेट करा ब्रेल कीबोर्ड कसे वापरावे @@ -27,18 +29,23 @@ <br><br>2. <b>ब्रेल कीबोर्ड वापरा</b>: तुमचा नेहमीचा कीबोर्ड उघडा, त्यानंतर (सहसा तळाशी उजव्या कोपर्‍यात) कीबोर्ड आयकन निवडा %2$s वर टॅप करा. \"%1$s\" निवडा. <br><br>तुम्हाला कीबोर्ड स्विच करण्याचा पर्याय दिसत नसल्यास %3$s, Google कीबोर्ड, इंस्टॉल करण्याचा प्रयत्न करा. सेटिंग्ज - टाइप करण्याच्या भाषा - प्राधान्य दिलेली भाषा - हे पुन्हा दाखवू नका - टाइप करताना भाषा झटपट बदला - ब्रेल कीबोर्ड वापरून टाइप करताना तुमची भाषा बदलण्यासाठी, तीन बोटांनी वरती स्वाइप करा. त्यानंतर \"पुढील भाषेवर स्विच करा\" निवडा. + टाइप करायची भाषा + युनिफाइड इंग्रजी ब्रेल + स्पॅनिश + अरबी + फ्रेंच + पोलिश सर्व दाबलेले बिंदू समाविष्ट करा बिंदू इतर बिंदूंच्या आधी रिलीझ केला गेला तरीही, प्रत्येक दाबलेला बिंदू इनपुटचा भाग असतो बिंदू उलट करा बिंदू १ आणि ४ जागांची अदलाबदल करतील अशा प्रकारे बिंदूंच्या जागा स्वॅप करा, उदाहरणार्थ ब्रेल कीबोर्ड पर्याय - पुढील भाषेवर स्विच करा: %s - सध्या वापरत आहे: %s + टाइप करण्याची भाषा बदला + सध्या %s चा वापर करत आहे + टाइप करण्याची भाषा + %s ब्रेलवर स्विच करा + संक्षिप्त + विस्तारित सर्व जेश्चरचे परीक्षण करा ट्यूटोरियल उघडा ट्यूटोरियल संपवा @@ -49,15 +56,23 @@ हटवण्यासाठी डावीकडे स्वाइप करा एखाद्या नवीन ओळीसाठी दोन बोटांनी उजवीकडे स्वाइप करा एखादा शब्द हटवण्यासाठी दोन बोटांनी डावीकडे स्वाइप करा - कर्सर मागे हलवणे यासाठी, वरती स्वाइप करा - कर्सर पुढे हलवणे यासाठी, खाली स्वाइप करा कीबोर्ड लपवण्यासाठी दोन बोटांनी खाली स्वाइप करा पुढील कीबोर्डवर स्विच करण्यासाठी तीन बोटांनी खाली स्वाइप करा मजकूर सबमिट करण्यासाठी दोन बोटांनी वर स्वाइप करा मदत आणि इतर पर्यायांसाठी तीन बोटांनी वर स्वाइप करा पूर्ण झाले + स्क्रीन अवे मोड + डिव्हाइस अशाप्रकारे धरा ज्यामुळे स्क्रीन तुमच्यापासून विरुद्ध दिशेला असेल (स्क्रीन अवे मोड) + टेबलटॉप मोड + डिव्हाइस टेबलवर सपाट ठेवा (टेबलटॉप मोड) + तुम्ही डिव्हाइस कसे धरता ते जाणून घ्या तुमचे डिव्हाइस ब्रेल कीबोर्डला सपोर्ट करत नाही तुमचे डिव्हाइस पुरेशा स्पर्शबिंदूंना सपोर्ट करत नाही. अधिक माहितीसाठी, तुमच्या डिव्हाइस निर्मात्याशी संपर्क साधा. + %s हटवला + + बिंदू %s + बिंदू %s + ब्रेल कीबोर्ड वापरण्यासाठी TalkBack सुरू करा अ‍ॅक्सेसिबिलिटी सेटिंग्जमध्ये सुरू करा ब्रेल कीबोर्ड वापरण्यासाठी TalkBack पुन्‍हा सुरू करा @@ -71,32 +86,30 @@ आतापासून, तुम्हाला नेहमीची TalkBack जेश्चर वापरता येणार नाहीत. ब्रेल कीबोर्ड वापरत असताना TalkBack उपलब्ध नाही. सुरुवात करण्यासाठी, तुमचा फोन स्क्रीन तुमच्यापासून बाहेरच्या दिशेला असेल अशा प्रकारे धरा. सुरू ठेवण्यासाठी कुठेही दोनदा टॅप करा - \"A\" हे अक्षर टाइप करण्यासाठी तुमच्या डाव्या तर्जनीने बिंदू १ वर टॅप करा + डावी तर्जनी + उजवी तर्जनी + \"A\" हे अक्षर टाइप करण्यासाठी तुमच्या %1$s ने बिंदू १ वर टॅप करा त्यानंतर, B, C आणि D ही अक्षरे टाइप करून पहा अक्षर हटवण्यासाठी, डावीकडे स्वाइप करा स्पेस जोडण्यासाठी, उजवीकडे स्‍वाइप करा - कर्सर मागे हलवण्यासाठी, वरती स्‍वाइप करा - कर्सर पुढे हलवण्यासाठी, खाली स्‍वाइप करा कीबोर्ड लपवण्यासाठी, दोन बोटांनी खाली स्वाइप करा तुमच्या दुसर्‍या कीबोर्डवर स्विच करण्यासाठी, तीन बोटांनी खाली स्वाइप करा ट्यूटोरियल संपवण्यासाठी, तीन बोटांनी वर स्वाइप करा हटवा स्पेस - कर्सर मागे हलवला - कर्सर पुढे हलवला कीबोर्ड लपवा पुढील कीबोर्ड आतापासून तुम्हाला नेहमीची TalkBack जेश्चर वापरता येणार नाहीत. ब्रेल कीबोर्ड वापरत असताना TalkBack उपलब्ध नाही.\n\n%1$s आधी तुमची फोन स्क्रीन तुमच्या विरूद्ध दिशेला असेल अशा प्रकारे वळवा.\n\nत्यानंतर फोन आडवा फिरवून लँडस्केप स्थितीत आणा. तुमच्या हातांनी फोनच्या लहान बाजू धरून ठेवली पाहिजे. तुमच्या उजव्या हाताने USB पोर्टचा मागील भाग धरा. तुमची मधील तीन बोटे स्क्रीनवर ठेवा आणि फोनला आधार देण्यासाठी तुमची करंगळी आणि अंगठा वापरा.\n\nतुम्ही तयार असल्यावर सुरू ठेवण्यासाठी स्क्रीनवर दोनदा टॅप करा.\n\nब्रेल कीबोर्डमधून बाहेर पडण्यासाठी तीन बोटांनी खाली स्वाइप करा. हे परत तुमच्या मूळ कीबोर्डवर स्विच करते. तुमचा फोन उभ्या स्थितीत आहे. सुरू ठेवण्यासाठी, तुमचा फोन लांब बाजू तळाशी येईल अशा प्रकारे आडवा फिरवा. त्यानंतर स्क्रीन तुमच्यापासून बाहेरच्या दिशेला वळवा. तुम्ही तयार असल्यावर, सुरू ठेवण्यासाठी स्क्रीनवर दोनदा टॅप करा. - स्क्रीन तुमच्यापासून बाहेरच्या दिशेला वळवलेली ठेवा. प्रत्येक हाताची मधली तीन बोटे स्क्रीनला स्पर्श करू शकतील अशा प्रकारे तुमचा फोन दोन्ही हातांमध्ये, फोनच्या लहान बाजूंवर धरा.\n\nतुमची डावी तर्जनी बिंदू १ वर असली पाहिजे. आता, \"A\" हे अक्षर टाइप करण्यासाठी बिंदू १ वर टॅप करा. - \"A\" टाइप करण्यासाठी तुमच्या डाव्या तर्जनीने बिंदू १ वर टॅप करा + डावी तर्जनी + उजवी तर्जनी + स्क्रीन तुमच्या विरूद्ध दिशेला वळवलेली ठेवा. प्रत्येक हाताची मधली तीन बोटे स्क्रीनला स्पर्श करू शकतील अशा प्रकारे तुमचा फोन दोन्ही हातांमध्ये फोनच्या लहान बाजूंवर धरा.\n\nतुमची %1$s बिंदू १ वर असली पाहिजे. आता \"A\" हे अक्षर टाइप करण्यासाठी बिंदू १ वर टॅप करा. + “A” टाइप करण्यासाठी तुमच्या %1$s ने बिंदू १ वर टॅप करा %2$s हे अक्षर टाइप करण्यासाठी %1$s वर टॅप करा अक्षर हटवण्यासाठी, डावीकडे स्वाइप करा. आता ते करून पहा. d अक्षर हटवले. स्पेस जोडण्यासाठी, उजवीकडे स्‍वाइप करा. आता ते करून पहा. - कर्सर मागे हलवण्यासाठी, वरती स्‍वाइप करा. आता करून पहा. - कर्सर पुढे हलवण्यासाठी, खाली स्वाइप करा. आता करून पहा. कीबोर्ड लपवण्यासाठी, दोन बोटांनी खाली स्वाइप करा. आता ते करून पहा. कीबोर्ड लपवा. सहसा, हे कीबोर्ड लपवेल. तुम्ही अजून ट्युटोरियलमध्ये असल्यामुळे ब्रेल कीबोर्ड उघडा राहील. तुमच्या दुसर्‍या कीबोर्डवर स्वाइप करण्यासाठी, तीन बोटांनी खाली स्वाइप करा. आता ते करून पहा. @@ -114,6 +127,4 @@ अक्षर हटवले शब्द हटवला आपण ट्यूटोरियल सुरू ठेवू या. %1$s - बाह्य ब्रेल डिस्प्ले कनेक्ट केलेला आहे, जो तुम्ही या डिव्हाइसवर मजकूर टाइप करण्यासाठी वापरू शकता.\nकिंवा तुम्ही टच स्क्रीन ब्रेल कीबोर्डवर अथवा पुढील इनपुट पद्धतीवर स्विच करू शकता. - टच स्क्रीन कीबोर्डवर स्विच करा diff --git a/braille/brailleime/src/phone/res/values-ms/strings.xml b/braille/brailleime/src/main/res/values-ms/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-ms/strings.xml rename to braille/brailleime/src/main/res/values-ms/strings.xml index b0e4aac0c..2bd988bf2 100644 --- a/braille/brailleime/src/phone/res/values-ms/strings.xml +++ b/braille/brailleime/src/main/res/values-ms/strings.xml @@ -5,6 +5,9 @@ Mod atas meja. Letakkan peranti anda dengan port pengecas di sebelah kiri. Untuk mengemas kini kedudukan titik, tekan 6 jari. Tiada papan kekunci lain yang telah didayakan, pergi ke tetapan papan kekunci Leret ke atas menggunakan 3 jari untuk mendapatkan lagi pilihan + Bertukar kepada braille singkat + Bertukar kepada braille panjang + Bertukar kepada UEB panjang papan kekunci braille papan kekunci braille, %s Papan kekunci braille TalkBack - untuk mendapatkan bantuan, lawati g.co/help/braille @@ -17,7 +20,6 @@ Kedudukan yang dikemas kini untuk titik 1, 2 dan 3. Kemudian, mari rakam titik di sebelah kanan anda. Sentuh dan tahan skrin dengan 3 jari tengah tangan kanan anda. Kedudukan yang dikemas kini untuk titik 1, 2 dan 3. Kemudian, mari rakam titik di sebelah kiri anda. Sentuh dan tahan skrin dengan 3 jari tengah tangan kiri anda. Tidak dapat mengemas kini kedudukan titik. Tekan dan tahan skrin dengan 6 jari. Kemudian, cuba lagi. - Bertukar kepada %s Papan kekunci Braille Sediakan papan kekunci braille Cara menggunakan papan kekunci braille @@ -27,18 +29,23 @@ <br><br>2. <b>Gunakan papan kekunci braille</b>: Buka papan kekunci biasa anda, kemudian ketik ikon pilih papan kekunci %2$s (biasanya di penjuru kanan sebelah bawah). Pilih \"%1$s.\" <br><br>Jika pilihan untuk menukar papan kekunci tidak kelihatan, cuba pasang %3$s, iaitu papan kekunci Google. Tetapan - Bahasa penaipan - Bahasa pilihan - Jangan tunjukkan ini lagi - Tukar bahasa dengan cepat semasa menaip - Untuk menukar bahasa anda semasa menaip menggunakan papan kekunci braille, leret ke atas menggunakan 3 jari. Kemudian pilih \"tukar kepada bahasa seterusnya\". + Penaip bahasa + Unified English Braille + Bahasa Sepanyol + Arab + Perancis + Bahasa Poland Termasuk semua titik yang ditekan Setiap titik yang ditekan ialah sebahagian drpd input, walaupun titik itu dilepaskan sblm titik lain Terbalikkan titik Tukar kedudukan titik supaya titik 1 dan 4 mengambil tempat satu sama lain, contohnya Pilihan papan kekunci Braille - Tukar kepada bahasa seterusnya: %s - Pada masa ini menggunakan: %s + Tukar bahasa penaipan + Pada masa ini menggunakan %s + Bahasa penaipan + Bertukar kepada braille %s + singkat + tidak singkat Semak semua gerak isyarat Buka tutorial Tamatkan tutorial @@ -49,15 +56,23 @@ Untuk memadam, leret ke kiri Untuk menambah baris baharu, leret ke kanan menggunakan 2 jari Untuk memadamkan perkataan, leret ke kiri menggunakan 2 jari - Untuk menggerakkan kursor ke belakang, leret ke atas - Untuk menggerakkan kursor ke hadapan, leret ke bawah Untuk menyembunyikan papan kekunci, leret ke bawah menggunakan 2 jari Untuk bertukar kepada papan kekunci seterusnya, leret ke bawah menggunakan 3 jari Untuk menyerahkan teks, leret ke atas menggunakan 2 jari Untuk mendapatkan bantuan dan pilihan lain, leret ke atas menggunakan 3 jari Selesai + Mod skrin jauh + Tahan peranti dengan skrin jauh daripada anda (mod skrin jauh) + Mod atas meja + Letakkan peranti anda mendatar di atas meja (mod atas meja) + Sesuaikan dengan cara anda memegang peranti Peranti anda tidak menyokong papan kekunci braille Peranti anda tidak menyokong bilangan titik sentuh yang mencukupi. Untuk mendapatkan maklumat lanjut, hubungi pengilang peranti anda. + %s dipadamkan + + titik %s + titik %s + Hidupkan TalkBack untuk menggunakan papan kekunci braille Hidupkan tetapan kebolehaksesan Sambung semula TalkBack untuk menggunakan papan kekunci braille @@ -71,32 +86,30 @@ Mulai sekarang, anda tidak akan dapat menggunakan gerak isyarat biasa TalkBack. TalkBack tidak tersedia semasa menggunakan papan kekunci braille. Untuk bermula, pegang telefon anda seperti ini, dengan skrin membelakangi anda. Dwiketik di mana-mana untuk meneruskan tutorial - Ketik titik 1 dengan jari telunjuk kiri anda untuk menaip huruf \"A\" + jari telunjuk kiri + jari telunjuk kanan + Ketik 1 titik dengan %1$s anda untuk menaip huruf \"A\" Kemudian, cuba taip huruf B, C dan D Untuk memadamkan huruf, leret ke kiri Untuk menambah ruang, leret ke kanan - Untuk menggerakkan kursor ke belakang, leret ke atas - Untuk menggerakkan kursor ke hadapan, leret ke bawah Untuk menyembunyikan papan kekunci, leret ke bawah menggunakan dua jari Untuk bertukar kepada papan kekunci anda yang lain, leret ke bawah menggunakan 3 jari Untuk menyelesaikan tutorial, leret ke atas menggunakan 3 jari PADAM RUANG - TELAH GERAKKAN KURSOR KE BELAKANG - TELAH GERAKKAN KURSOR KE HADAPAN SEMBUNYIKAN PAPAN KEKUNCI PAPAN KEKUNCI SETERUSNYA Mulai sekarang, anda tidak akan dapat menggunakan gerak isyarat TalkBack yang biasa. TalkBack tidak tersedia semasa menggunakan papan kekunci braille.\n\n%1$s Mula-mula, pusingkan telefon anda supaya skrin membelakangi anda.\n\nSeterusnya, putarkan telefon secara mendatar kepada kedudukan landskap. Tangan anda seharusnya mencengkam kedua-dua hujung pendek telefon. Tangan kanan anda seharusnya memegang hujung yang terdapat port USB. Letakkan 3 jari tengah anda pada skrin dan gunakan jari kelengkeng serta ibu jari untuk menyokong telefon.\n\nSetelah bersedia, dwiketik skrin untuk meneruskan penggunaan.\n\nUntuk keluar daripada papan kekunci braille, leret ke arah lantai di sebelah bawah menggunakan 3 jari. Tindakan ini menukar papan kekunci kembali kepada papan kekunci asal. Telefon anda dalam kedudukan menegak. Untuk meneruskan, pusingkan telefon secara mendatar supaya bahagian panjang terletak di sebelah bawah. Kemudian, pusingkan skrin supaya membelakangi anda. Apabila anda bersedia, dwiketik skrin untuk meneruskan. - Pastikan skrin membelakangi anda. Pegang telefon anda menggunakan kedua-dua tangan pada hujung pendek telefon, supaya 3 jari tengah setiap tangan dapat menyentuh skrin.\n\nJari telunjuk kiri anda seharusnya berada pada titik 1. Sekarang, ketik titik 1 untuk menaip huruf “A”. - Ketik titik 1 dengan jari telunjuk kiri anda untuk menaip huruf “A” + jari telunjuk kiri + jari telunjuk kanan + Pastikan skrin membelakangi anda. Pegang telefon anda menggunakan kedua-dua tangan pada hujung pendek telefon, supaya 3 jari tengah setiap tangan dapat menyentuh skrin.\n\n%1$s anda seharusnya berada pada titik 1. Sekarang, ketik titik 1 untuk menaip huruf “A”. + Ketik titik 1 dengan %1$s anda untuk menaip “A” Ketik %1$s untuk menaip huruf %2$s Untuk memadamkan surat, leret ke kiri. Cubalah sekarang. d dipadamkan. Untuk menambah ruang, leret ke kanan. Cubalah sekarang. - Untuk menggerakkan kursor ke belakang, leret ke atas. Cuba leret sekarang. - Untuk menggerakkan kursor ke hadapan, leret ke bawah. Cuba leret sekarang. Untuk menyembunyikan papan kekunci, leret ke bawah menggunakan 2 jari. Cubalah sekarang. Sembunyikan papan kekunci. Biasanya, tindakan ini akan menyembunyikan papan kekunci. Papan kekunci braille akan kekal terbuka kerana anda masih dalam tutorial. Untuk bertukar kepada papan kekunci anda yang lain, leret ke bawah menggunakan 3 jari. Cubalah sekarang. @@ -114,6 +127,4 @@ Huruf dipadamkan Perkataan dipadamkan Mari teruskan tutorial. %1$s - Paparan braille luaran disambungkan, yang boleh anda gunakan untuk menaipkan teks dalam peranti ini.\nAtau, anda boleh menukar kepada Papan Kekunci Braille skrin sentuh atau kaedah masukan seterusnya. - Tukar kepada papan kekunci skrin sentuh diff --git a/braille/brailleime/src/phone/res/values-my/strings.xml b/braille/brailleime/src/main/res/values-my/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-my/strings.xml rename to braille/brailleime/src/main/res/values-my/strings.xml index e34a9f229..481315d97 100644 --- a/braille/brailleime/src/phone/res/values-my/strings.xml +++ b/braille/brailleime/src/main/res/values-my/strings.xml @@ -5,6 +5,9 @@ စားပွဲတင်မုဒ်။ အားသွင်းပေါက်ကိုဘယ်ဘက်တွင်ထား၍ သင့်စက်ကိုတင်ပါ။ ဒေါ့(တ်)တည်နေရာကို အပ်ဒိတ်လုပ်ရန် လက်ချောင်း ၆ ချောင်းနှင့် ဖိထားပါ။ အခြားလက်ကွက် ဖွင့်မထားပါ၊ လက်ကွက်ဆက်တင်များသို့ သွားပါ အခြား ရွေးချယ်စရာများကို ဖွင့်ရန် လက် ၃ ချောင်းဖြင့် အပေါ်သို့ ပွတ်ဆွဲပါ + ချုံ့ထားသော မျက်မမြင်စာရေးစနစ်သို့ ပြောင်းလိုက်ပါပြီ + ချုံ့မထားသော မျက်မမြင်စာရေးစနစ်သို့ ပြောင်းလိုက်ပါပြီ + ချုံ့မထားသော UEB စနစ်သို့ ပြောင်းလိုက်ပါပြီ မျက်မမြင်စာရေးစနစ် လက်ကွက် မျက်မမြင်စာရေးစနစ် လက်ကွက်၊ %s TalkBack မျက်မမြင်စာရေးစနစ် လက်ကွက် - အကူအညီရယူရန် g.co/help/braille သို့သွားပါ @@ -17,7 +20,6 @@ ဒေါ့(တ်) ၁၊ ၂ နှင့် ၃ အတွက် အပ်ဒိတ်လုပ်ထားသော တည်နေရာများ။ နောက်တစ်ဆင့်တွင် သင့်ညာဘက်လက်ရှိ ဒေါ့(တ်)များကို မှတ်တမ်းတင်ပါမည်။ ဖန်သားပြင်ကို ညာဘက်လက်၏ အလယ်လက်ချောင်း ၃ ချောင်းဖြင့် တို့ထိ၍ဖိထားပါ။ ဒေါ့(တ်) ၁၊ ၂ နှင့် ၃ အတွက် အပ်ဒိတ်လုပ်ထားသော တည်နေရာများ။ နောက်တစ်ဆင့်တွင် သင့်ဘယ်ဘက်လက်ရှိ ဒေါ့(တ်)များကို မှတ်တမ်းတင်ပါမည်။ ဖန်သားပြင်ကို ဘယ်ဘက်လက်၏ အလယ်လက်ချောင်း ၃ ချောင်းဖြင့် တို့ထိ၍ဖိထားပါ။ ဒေါ့(တ်)တည်နေရာကို အပ်ဒိတ်လုပ်၍မရပါ။ ဖန်သားပြင်ကို လက်ချောင်း ၆ ချောင်းဖြင့် တို့ထိ၍ဖိထားပါ။ ထို့နောက် ထပ်စမ်းကြည့်ပါ။ - %s သို့ ပြောင်းလိုက်သည် မျက်မမြင်စာရေးစနစ် လက်ကွက် မျက်မမြင်စာရေးစနစ်လက်ကွက် ထည့်သွင်းခြင်း မျက်မမြင်စာရေးစနစ်လက်ကွက် အသုံးပြုနည်း @@ -27,18 +29,23 @@ <br><br>၂။ <b>မျက်မမြင်စာရေးစနစ် လက်ကွက်ကို ဖွင့်ရန်</b> - သင်၏ ပုံမှန်လက်ကွက်ကို ဖွင့်ပါ၊ ပြီးနောက် လက်ကွက်သင်္ကေတ ရွေးမည်ကို တို့နှိပ်ပါ %2$s (ပုံမှန်အားဖြင့် အောက်ညာဘက်ထောင့်တွင် ရှိသည်)။ \"%1$s\" ကို ရွေးပါ။ <br><br>လက်ကွက်ပြောင်းရန် ရွေးချယ်မှုကို မတွေ့ရှိပါက Google လက်ကွက် %3$s ကို ထည့်သွင်း၍ ကြိုးစားကြည့်ပါ။ ဆက်တင်များ - အသုံးပြုသည့် ဘာသာစကားများ - ဦးစားပေး ဘာသာစကား - ဤအရာကို ထပ်မပြပါနှင့် - စာရိုက်နေစဉ် ဘာသာစကားအမြန်ပြောင်းခြင်း - မျက်မမြင်စာရေးစနစ်သုံးကီးဘုတ်ဖြင့် စာရိုက်နေစဉ် ဘာသာစကားပြောင်းရန် လက် ၃ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပါ။ ထို့နောက် “ဘာသာစကားနောက်တစ်ခုပြောင်းရန်” ရွေးပါ။ + စာရိုက်ရန် ဘာသာစကားများ + Unified English Braille + စပိန် + အာရဗီ + ပြင်သစ် + ပိုလန် နှိပ်ထားသော အစက်များ အားလုံးပါဝင်သည် နှိပ်ထားသော အစက်တစ်ခုချင်းစီက အခြားအစက် မတိုင်မီ ပြန်လွှတ်လိုက်သည့်တိုင် ထည့်သွင်းမှုတွင် ပါဝင်သည် ပြောင်းပြန် အစက်များ အစက်များ၏ နေရာကို ပြောင်းခြင်းဖြင့် အစက် ၁ နှင့် ၄ ကို နေရာလဲလှယ်နိုင်သည်၊ ဥပမာ မျက်မမြင်စာရေးစနစ် လက်ကွက် ရွေးချယ်မှုများ - ဘာသာစကားနောက်တစ်ခုပြောင်းရန်- %s - သုံးနေသည့် ဘာသာစကား- %s + စာရိုက်ရန်ဘာသာစကားကို ပြောင်းရန် + %s ကို လောလောဆယ် သုံးနေသည် + စာရိုက်ရန်ဘာသာစကား + %s မျက်မမြင်စာရေးစနစ်သို့ ပြောင်းရန် + ချုံ့ထားသည် + ချုံ့မထားပါ လက်ဟန်အားလုံးကို ပြန်ကြည့်ရန် သရုပ်ပြမှု ဖွင့်ရန် သင်ခန်းစာကို အပြီးသတ်ရန် @@ -49,15 +56,23 @@ ဖျက်ရန် ဘယ်ဘက်သို့ပွတ်ဆွဲပါ စာကြောင်းသစ်ထည့်ရန် လက် ၂ ချောင်းဖြင့် ညာဘက်သို့ပွတ်ဆွဲပါ စာလုံး ဖျက်ရန် လက် ၂ ချောင်းဖြင့် ဘယ်ဘက်သို့ပွတ်ဆွဲပါ - ကာဆာကို နောက်သို့ရွှေ့ရန် အပေါ်သို့ပွတ်ဆွဲပါ - ကာဆာကို ရှေ့သို့ရွှေ့ရန် အောက်သို့ပွတ်ဆွဲပါ လက်ကွက်ကို ဖျောက်ရန် လက် ၂ ချောင်းဖြင့် အောက်သို့ ပွတ်ဆွဲပါ နောက်လက်ကွက်သို့ ပြောင်းရန် လက် ၃ ချောင်းဖြင့် အောက်သို့ပွတ်ဆွဲပါ စာသားပို့ရန် လက် ၂ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပါ အကူအညီနှင့် အခြား ရွေးချယ်စရာများအတွက် လက် ၃ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပါ ပြီးပြီ + ဖန်သားပြင်နှင့်ဝေးနေချိန်မုဒ် + စက်ကို အခြားတစ်ဖက်သို့ မျက်နှာမူပြီး ကိုင်ထားပါ (ဖန်သားပြင်နှင့်ဝေးနေချိန်မုဒ်) + စားပွဲတင်မုဒ် + စက်ကို စားပွဲပေါ်တွင် အပြားလိုက်တင်ပါ (စားပွဲတင်မုဒ်) + စက်ပစ္စည်းကိုင်ပုံကိုလိုက်၍ မုဒ်ရွေးပါ သင့်စက်က မျက်မမြင်စာရေးစနစ် လက်ကွက်ကို မပံ့ပိုးပါ သင့်စက်က လုံလောက်သော တို့ထိမှုအမှတ်ကို မပံ့ပိုးပါ။ နောက်ထပ် အချက်အလက်များအတွက် သင်၏ စက်ပစ္စည်း ထုတ်လုပ်သူထံ ဆက်သွယ်ပါ။ + %s ကို ဖျက်ပြီးပြီ + + အစက်%s + အစက်များ%s + မျက်မမြင်စာရေးစနစ် လက်ကွက်ကို အသုံးပြုရန် TalkBack ကို ဖွင့်ပါ အသုံးလွယ်မှု ဆက်တင်များ တွင် ဖွင့်ရန် မျက်မမြင်စာရေးစနစ် လက်ကွက် အသုံးပြုရန် TalkBack ကို ဆက်သုံးခြင်း @@ -71,32 +86,30 @@ ယခုအချိန်မှစ၍ သင်၏ ပုံမှန် TalkBack လက်ဟန်များကို သင်အသုံးပြုနိုင်မည် မဟုတ်ပါ။ မျက်မမြင်စာရေးစနစ် လက်ကွက်ကို အသုံးပြုနေစဉ် TalkBack ကို အသုံးပြု၍ မရပါ။ စတင်ရန် သင့်ဖုန်းကို ယခုကဲ့သို့ စခရင်ကို အခြားတစ်ဘက်သို့ လှည့်၍ ကိုင်ပါ။ ရှေ့ဆက်ရန် မည်သည့်နေရာကိုမဆို နှစ်ချက်တို့ပါ - \"A\" စာလုံးရိုက်ရန် သင်၏ ဘယ်လက်ညှိုးဖြင့် အစက် ၁ ကို တို့ပါ + ဘယ်ဘက်လက်ညှိုး + ညာဘက်လက်ညှိုး + \"A\" စာလုံးရိုက်ရန် သင်၏ %1$s ဖြင့် အစက် ၁ ကို တို့ပါ ပြီးလျှင် စာလုံး B၊ C နှင့် D ကို စမ်းရိုက်ကြည့်ပါ စာလုံးတစ်လုံး ဖျက်ရန် ဘယ်ဘက်သို့ ပွတ်ဆွဲပါ နေရာလွတ်ထည့်ရန် ညာဘက်သို့ ပွတ်ဆွဲပါ - ကာဆာကို နောက်သို့ရွှေ့ရန် အပေါ်သို့ပွတ်ဆွဲပါ - ကာဆာကို ရှေ့သို့ရွှေ့ရန် အောက်သို့ပွတ်ဆွဲပါ လက်ကွက်ဖျောက်ရန် လက် ၂ ချောင်းဖြင့် အောက်သို့ ပွတ်ဆွဲပါ သင်၏ အခြားလက်ကွက်သို့ ပြောင်းရန် လက် ၃ ချောင်းဖြင့် အောက်သို့ ပွတ်ဆွဲပါ သရုပ်ပြမှု အဆုံးသတ်ရန် လက် ၃ ချောင်းဖြင့် အပေါ်သို့ ပွတ်ဆွဲပါ ဖျက်ရန် နေရာလွတ် - ကာဆာ နောက်သို့ရွှေ့လိုက်သည် - ကာဆာ ရှေ့သို့ရွှေ့လိုက်သည် လက်ကွက် ဝှက်ခြင်း နောက်လက်ကွက် ယခုအချိန်မှစ၍ သင်၏ ပုံမှန် TalkBack လက်ဟန်များကို အသုံးပြုနိုင်မည် မဟုတ်ပါ။ မျက်မမြင်စာရေးစနစ် လက်ကွက် အသုံးပြုနေစဉ်တွင် TalkBack ကို မရနိုင်ပါ။\n\n%1$s ပထမဦးစွာ ဖုန်း၏ဖန်သားပြင်ကို အခြားတစ်ဘက်သို့ မျက်နှာမူလိုက်ပါ။\n\nထို့နောက် အလျားလိုက်ဖြစ်ရန် သင့်ဖုန်းကို ရေပြင်ညီအတိုင်း လှည့်ပါ။ သင့်လက်များက ဖုန်းအနားစွန်းများကို ဆုပ်ကိုင်ထားရပါမည်။ သင့်ညာဘက်လက်က USB ပို့တ်ဘက် အစွန်းကို ကိုင်ထားရမည်။ သင်၏အလယ်လက်ချောင်း ၃ ချောင်းကို ဖန်သားပြင်ပေါ်တွင်တင်၍ လက်သန်း၊ လက်မတို့ဖြင့် ဖုန်းကိုထိန်းထားပါ။\n\nအသင့်ဖြစ်သည့်အခါ ရှေ့ဆက်ရန် ဖန်သားပြင်ကို နှစ်ချက်တို့ပါ။\n\nမျက်မမြင်စာရေးစနစ်လက်ကွက်မှ ထွက်ရန် လက် ၃ ချောင်းဖြင့် အောက်ဘက်သို့ ပွတ်ဆွဲပါ။ ၎င်းက သင်၏ မူလလက်ကွက်သို့ ပြန်ပြောင်းပေးပါသည်။ သင့်ဖုန်းက ဒေါင်လိုက်ပုံစံ ဖြစ်နေသည်။ ရှေ့ဆက်ရန် ဖုန်းကို အလျားလိုက် လှည့်၍ ပိုရှည်သည့်ဘက်ကို အောက်ခြေတွင်ထားပါ။ ပြီးလျှင် စခရင်ကို သင်၏ အခြားတစ်ဘက်သို့ လှည့်ပါ။ သင် အဆင်သင့်ဖြစ်သည့်အခါ ရှေ့ဆက်ရန် စခရင်ကို နှစ်ချက်တို့ပါ။ - စခရင်ကို သင်၏ အခြားတစ်ဘက်သို့ လှည့်ထားပါ။ သင့်ဖုန်းကို လက်နှစ်ဘက်ဖြင့် အစွန်းများကို ကိုင်ထား၍ လက်တစ်ဘက်စီ၏ အလယ်လက် ၃ ချောင်းဖြင့် စခရင်ကို ထိထားပါ။\n\nသင်၏ ဘယ်ဘက် လက်ညှိုးက အစက် ၁ ပေါ်တွင် ရှိနေရပါမည်။ ပြီးလျှင် “A” စာလုံးရိုက်ရန် အစက် ၁ ကို တို့ပါ။ - \"A\" ရိုက်ရန် သင်၏ ဘယ်လက်ညှိုးဖြင့် အစက် ၁ ကို တို့ပါ + ဘယ်ဘက်လက်ညှိုး + ညာဘက်လက်ညှိုး + ဖန်သားပြင်ကို အခြားတစ်ဘက်သို့ မျက်နှာမူထားပါ။ ဖုန်း၏အစွန်းများကို လက်နှစ်ဘက်ဖြင့် ကိုင်ထားပြီး လက်တစ်ဘက်စီ၏ အလယ်လက်ချောင်း ၃ ချောင်းဖြင့် ဖန်သားပြင်ကို ထိထားပါ။\n\nသင်၏ %1$s က အစက် ၁ ပေါ်တွင် ရှိနေရပါမည်။ ပြီးလျှင် “A” စာလုံးရိုက်ရန် အစက် ၁ ကို တို့ပါ။ + \"A\" ရိုက်ရန် သင်၏ %1$s ဖြင့် အစက် ၁ ကို တို့ပါ %2$s ရိုက်ရန် %1$sကို တို့ပါ စာလုံးတစ်လုံး ဖျက်ရန် ဘယ်ဘက်သို့ ပွတ်ဆွဲပါ။ ယခုပဲ စမ်းကြည့်လိုက်ပါ။ d ကို ဖျက်လိုက်သည်။ နေရာလွတ်ထည့်ရန် ညာဘက်သို့ ပွတ်ဆွဲပါ။ ယခုပဲ စမ်းကြည့်လိုက်ပါ။ - ကာဆာကို နောက်သို့ရွှေ့ရန် အပေါ်သို့ပွတ်ဆွဲပါ။ ယခုစမ်းကြည့်ပါ။ - ကာဆာကို ရှေ့သို့ရွှေ့ရန် အောက်သို့ပွတ်ဆွဲပါ။ ယခုစမ်းကြည့်ပါ။ လက်ကွက်ဖျောက်ရန် လက် ၂ ချောင်းဖြင့် အောက်သို့ ပွတ်ဆွဲပါ။ ယခုပဲ စမ်းကြည့်လိုက်ပါ။ လက်ကွက် ဝှက်ပါ။ ပုံမှန်အားဖြင့် ယင်းက လက်ကွက်ကို ဖျောက်ပေးသည်။ သင်က သရုပ်ပြမှုတွင် ရှိနေသေးသဖြင့် မျက်မမြင်စာရေးစနစ် လက်ကွက် ဆက်ပွင့်နေပါမည်။ သင်၏ အခြားလက်ကွက်သို့ ပြောင်းရန် လက် ၃ ချောင်းဖြင့် အောက်သို့ ပွတ်ဆွဲပါ။ ယခုပဲ စမ်းကြည့်လိုက်ပါ။ @@ -114,6 +127,4 @@ စာဖျက်ပြီးပြီ စာလုံး ဖျက်ပြီးပြီ သရုပ်ပြမှုကို ရှေ့ဆက်ကြရအောင်။ %1$s - ဤစက်တွင် စာရိုက်ရန်အတွက် သုံးနိုင်သည့် ပြင်ပ မျက်မမြင်စာဖတ်ကိရိယာနှင့် ချိတ်ဆက်ထားပါသည်။\nထိုနည်းမဟုတ် တို့ထိ မျက်နှာပြင် ‘မျက်မမြင်စာရေးစနစ် ကီးဘုတ်’ (သို့) နောက်ထပ် လက်ကွက်သို့ ပြောင်းနိုင်ပါသည်။ - တို့ထိ မျက်နှာပြင် ကီးဘုတ်သို့ ပြောင်းရန် diff --git a/braille/brailleime/src/phone/res/values-nb/strings.xml b/braille/brailleime/src/main/res/values-nb/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-nb/strings.xml rename to braille/brailleime/src/main/res/values-nb/strings.xml index aaa2af717..74377831d 100644 --- a/braille/brailleime/src/phone/res/values-nb/strings.xml +++ b/braille/brailleime/src/main/res/values-nb/strings.xml @@ -5,6 +5,9 @@ Skjerm vendt opp-modus. Plassér enheten med ladeporten til venstre. For å oppdatere punktposisjonen, hold seks fingre nede. Ingen andre tastaturer er aktivert. Gå til tastaturinnstillingene Sveip opp med tre fingre for å se flere alternativer + Byttet til forkortet punktskrift + Byttet til uforkortet punktskrift + Byttet til uforkortet UEB punktskrifttastatur punktskrifttastatur, %s TalkBack-punktskrifttastatur – du finner hjelp på g.co/help/braille @@ -17,7 +20,6 @@ Oppdater posisjon for punkt 1, 2 og 3. Deretter registrerer du punktene på høyre hånd. Trykk og hold på skjermen med de tre midterste fingrene på høyre hånd. Oppdater posisjon for punkt 1, 2 og 3. Deretter registrerer du punktene på venstre hånd. Trykk og hold på skjermen med de tre midterste fingrene på venstre hånd. Kunne ikke oppdatere punktposisjonen. Trykk og hold på skjermen med seks fingre. Prøv deretter på nytt. - Byttet til %s Punktskrifttastatur Konfigurer punktskrifttastatur Slik bruker du punktskrifttastatur @@ -27,18 +29,23 @@ <br><br>2. <b>Bruk punktskrifttastatur</b>: Åpne det vanlige tastaturet, og trykk på velg tastatur-ikonet %2$s (vanligvis nederst til høyre). Velg «%1$s». <br><br>Hvis du ikke ser et alternativ for å bytte tastatur, kan du prøve å installere %3$s – Google-tastaturet. Innstillinger - Skriftspråk - Foretrukket språk - Ikke vis dette igjen - Bytt språk raskt mens du skriver - For å endre språk mens du skriver med punktskrifttastaturet, sveip opp med tre fingre. Velg deretter «Bytt til neste språk». + Skriftspråk + Unified English Braille + Spansk + Arabisk + Fransk + Polsk Inkluder alle trykte punkter Hvert trykte punkt er en del av inndataene, selv om punktet slippes før andre punkter. Omvendte punkter Bytt punktposisjoner, slik at for eksempel punkt én og fire bytter plass Alternativer for punktskrifttastatur - Bytt til neste språk: %s - Du bruker for øyeblikket %s + Endre skriftspråk + Du bruker for øyeblikket %s + Skriftspråk + Bytt til %s punktskrift + forkortet + uforkortet Gjennomgå alle bevegelser Åpne veiledning Avslutt veiledning @@ -49,15 +56,23 @@ For å slette, sveip til venstre For å legge til en ny linje, sveip til høyre med to fingre For å slette et ord, sveip til venstre med to fingre - For å flytte markøren bakover, sveip opp - For å flytte markøren forover, sveip ned For å skjule tastaturet, sveip ned med to fingre For å bytte til neste tastatur, sveip ned med tre fingre For å sende inn tekst, sveip opp med to fingre For å åpne hjelp og andre alternativer, sveip opp med tre fingre Ferdig + Skjerm vendt bort-modus + Hold enheten med skjermen vendt bort fra deg (skjerm vendt bort-modus) + Skjerm vendt opp-modus + Legg enheten flatt på et bord (skjerm vendt opp-modus) + Tilpass til måten du holder enheten på Enheten din støtter ikke punktskrifttastatur Enheten din støtter ikke nok kontaktpunkter. Kontakt enhetsprodusenten for å få mer informasjon. + %s er slettet + + punkt %s + punkter %s + Slå på TalkBack for å bruke punktskrifttastatur Slå på i tilgjengelighetsinnstillingene Gjenoppta TalkBack for å bruke punktskrifttastatur @@ -71,32 +86,30 @@ Fra og med nå kan du ikke bruke vanlige TalkBack-bevegelser. TalkBack er ikke tilgjengelig når du bruker punktskrifttastaturet. For å starte, hold telefonen på denne måten, med skjermen vendt fra deg. Dobbelttrykk hvor som helst for å fortsette - Trykk på punkt 1 med venstre pekefinger for å skrive bokstaven «A» + venstre pekefinger + høyre pekefinger + Trykk på punkt 1 med %1$s for å skrive «A» Prøv deretter å skrive bokstavene B, C og D For å slette en bokstav, sveip til venstre For å legge til et mellomrom, sveip til høyre - For å flytte markøren bakover, sveip opp - For å flytte markøren forover, sveip ned For å skjule tastaturet, sveip ned med to fingre For å bytte til det andre tastaturet ditt, sveip ned med tre fingre For å fullføre veiledningen, sveip opp med tre fingre SLETT MELLOMROM - FLYTTET MARKØREN BAKOVER - FLYTTET MARKØREN FOROVER SKJUL TASTATURET NESTE TASTATUR Fra og med nå kan du ikke bruke vanlige TalkBack-bevegelser. TalkBack er ikke tilgjengelig når du bruker punktskrifttastaturet.\n\n%1$s Først snur du telefonen, slik at skjermen er vendt bort fra deg.\n\nDeretter roterer du den til liggende (vannrett) posisjon. Hendene dine skal holde kortsidene av telefonen. Høyre hånd skal holde enden med USB-porten. Hvil de tre midterste fingrene på skjermen, og bruk lillefingeren og tommelen til å støtte telefonen.\n\nNår du er klar, dobbelttrykker du på skjermen for å fortsette.\n\nFor å lukke punktskrifttastaturet, sveip ned mot bakken med tre fingre. Da bytter du tilbake til det opprinnelige tastaturet. Telefonen er i stående (loddrett) posisjon. For å fortsette, rotér telefonen til liggende posisjon, slik at langsiden er nederst. Deretter snur du skjermen, slik at den er vendt bort fra deg. Når du er klar, dobbelttrykker du på skjermen for å fortsette. - Hold skjermen vendt bort fra deg. Hold telefonen med begge hendene på kortsidene av telefonen, slik at de tre midterste fingrene på hver hånd kan berøre skjermen.\n\nVenstre pekefinger skal være på punkt 1. Trykk på punkt 1 for å skrive bokstaven «A». - Trykk på punkt 1 med venstre pekefinger for å skrive «A» + venstre pekefinger + høyre pekefinger + Hold skjermen vendt bort fra deg. Hold telefonen med begge hendene på kortsidene av telefonen, slik at de tre midterste fingrene på hver hånd kan berøre skjermen.\n\n%1$s skal være på punkt 1. Trykk på punkt 1 for å skrive bokstaven «A». + Trykk på punkt 1 med %1$s for å skrive «A» Trykk på %1$s for å skrive bokstaven %2$s For å slette en bokstav, sveip til venstre. Prøv nå. a er slettet. For å legge til et mellomrom, sveip til høyre. Prøv nå. - For å flytte markøren bakover, sveip opp. Prøv nå. - For å flytte markøren forover, sveip ned. Prøv nå. For å skjule tastaturet, sveip ned med to fingre. Prøv nå. Skjul tastaturet. Dette skjuler vanligvis tastaturet. Punktskrifttastaturet holdes åpent fordi du fremdeles er i veiledningen. For å bytte til det andre tastaturet, sveip ned med tre fingre. Prøv nå. @@ -114,6 +127,4 @@ Bokstaven er slettet Ordet er slettet La oss fortsette veiledningen. %1$s - En ekstern leselist er tilkoblet. Du kan bruke den til å skrive inn tekst på denne enheten.\nEller du kan bytte til punktskrifttastaturet på berøringsskjermen eller den neste inndatametoden. - Bytt til tastaturet på berøringsskjermen diff --git a/braille/brailleime/src/phone/res/values-ne/strings.xml b/braille/brailleime/src/main/res/values-ne/strings.xml similarity index 82% rename from braille/brailleime/src/phone/res/values-ne/strings.xml rename to braille/brailleime/src/main/res/values-ne/strings.xml index 928442bf8..816c1076d 100644 --- a/braille/brailleime/src/phone/res/values-ne/strings.xml +++ b/braille/brailleime/src/main/res/values-ne/strings.xml @@ -5,6 +5,9 @@ टेबलटप मोड। डिभाइसको चार्जिङ पोर्टको भाग बायाँतिर राख्नुहोस्। डटको स्थिति क्यालिब्रेट गर्न ६ वटा औँलाले थिचिराख्नुहोस्। अर्को कुनै पनि किबोर्ड सक्षम पारिएको छैन, किबोर्डका सेटिङमा जानुहोस् थप विकल्पहरू प्राप्त गर्न ३ वटा औँलाले माथितिर स्वाइप गर्नुहोस् + किबोर्ड बदलेर ब्रेलको सङ्कुचित मोड पारियो + किबोर्ड बदलेर ब्रेलको विस्तृत मोड पारियो + UEB अनकन्ट्र्याक्टेड मोड प्रयोग गर्न थालियो ब्रेल किबोर्ड ब्रेल किबोर्ड, %s TalkBack ब्रेल किबोर्ड - मद्दत प्राप्त गर्न g.co/help/braille मा जानुहोस् @@ -17,7 +20,6 @@ १, २ र ३ डटहरूको स्थिति क्यालिब्रेट गरियो। अब, दाहिने हात प्रयोग गरी डटहरू क्यालिब्रेट गरौँ। आफ्नो दाहिने हातका बिचका ३ वटा औँलाले स्क्रिनमा छोइराख्नुहोस्। १, २ र ३ डटहरूको स्थिति क्यालिब्रेट गरियो। अब, आफ्नो देब्रे हात प्रयोग गरी डटको स्थिति क्यालिब्रेट गरौँ। आफ्नो देब्रे हातका बिचका ३ वटा औँलाले स्क्रिनमा छोइराख्नुहोस्। डटको स्थिति क्यालिब्रेट गर्न सकिएन। ६ वटा औँलाले स्क्रिनमा टच एण्ड होल्ड गर्नुहोस्। त्यसपछि फेरि प्रयास गर्नुहोस्। - %s भाषा प्रयोग गरियो ब्रेल किबोर्ड ब्रेल किबोर्ड सेट अप गर्नुहोस् ब्रेल किबोर्ड प्रयोग गर्ने तरिका @@ -27,18 +29,23 @@ <br><br>२. <b>ब्रेल किबोर्ड प्रयोग गर्नुहोस्</b>: आफ्नो नियमित किबोर्ड खोल्नुहोस्, त्यसपछि किबोर्ड छनौट गर्नुहोस् नामक आइकन %2$s (सामान्यतया पुछारको दायाँ कुनामा रहने) छनौट गर्नुहोस्। \"%1$s\" चयन गर्नुहोस्। <br><br>तपाईंले किबोर्ड बदल्ने विकल्प भेट्नुभएन भने %3$s अर्थात् Google किबोर्ड स्थापना गरी हेर्नुहोस्। सेटिङहरू - टाइप गर्ने भाषाहरू - रोजिएको भाषा - यो फेरि नदेखाइयोस् - टाइप गर्ने क्रममा अझ छिटो भाषा बदल्नुहोस् - तपाईं ब्रेल किबोर्ड प्रयोग गरी टाइप गर्ने क्रममा भाषा बदल्न चाहनुहुन्छ भने ३ वटा औँलाले माथितिर स्वाइप गर्नुहोस्। त्यसपछि \"अर्को भाषा प्रयोग गर्नुहोस्\" चयन गर्नुहोस्। + टाइप गरिने भाषाहरू + एकीकृत अङ्ग्रेजी ब्रेल + स्प्यानिस + अरबी + फ्रान्सेली + पोलिस थिचिएका सबै डटहरू समावेश गर्नुहोस् अन्य डटहरूभन्दा अघि नै छोडिए पनि थिचिएको हरेक डटले इनपुट सृजना गर्छ डटहरू उल्ट्याउनुहोस् उदाहरणका लागि १ र ४ डटले स्थान साटासाट गरून् भन्नाका खातिर डटको स्थिति परिवर्तन गर्नुहोस् ब्रेल किबोर्डका विकल्पहरू - अर्को भाषा प्रयोग गर्नुहोस्: %s - हाल प्रयोग गरिएको भाषा: %s + टाइप गर्ने भाषा परिवर्तन गर्नुहोस् + हाल %s प्रयोग गरिँदै छ + टाइप गर्ने भाषा + बदलेर %s ब्रेल पार्नुहोस् + सङ्कुचन गरिएको + सङ्कुचन नगरिएको सबै इसाराहरू हेर्नुहोस् ट्युटोरियल खोल्नुहोस् ट्युटोरियल बन्द गर्नुहोस् @@ -49,15 +56,23 @@ मेट्न बायाँतिर स्वाइप गर्नुहोस् नयाँ हरफ थप्न २ वटा औँलाले दायाँतिर स्वाइप गर्नुहोस् कुनै शब्द मेट्न २ वटा औँलाले बायाँतिर स्वाइप गर्नुहोस् - तपाईं टेक्स्ट कर्सर सारेर पछाडि लैजान चाहनुहुन्छ भने माथितिर स्वाइप गर्नुहोस् - तपाईं टेक्स्ट कर्सर सारेर अगाडि लैजान चाहनुहुन्छ भने तलतिर स्वाइप गर्नुहोस् किबोर्ड लुकाउन २ वटा औँलाले तलतिर स्वाइप गर्नुहोस् किबोर्ड बदलेर अर्को किबोर्ड मा जान ३ वटा औँलाले तलतिर स्वाइप गर्नुहोस् पाठ पेस गर्न २ वटा औँलाले माथितिर स्वाइप गर्नुहोस् मद्दत र अन्य विकल्पहरू नामक पृष्ठमा जान ३ वटा औँलाले माथितिर स्वाइप गर्नुहोस् भयो + \'स्क्रिन अवे\' मोड + आफ्नो विपरीत दिशातिर स्क्रिन पर्ने गरी डिभाइस समात्नुहोस् (\'स्क्रिन अवे\' मोड) + टेबलटप मोड + यन्त्रलाई टेबुलमा सुताएर राख्नुहोस् (टेबलटप मोड) + तपाईंले यन्त्र समात्ने तरिकाअनुसार समायोजन गर्नु… यस यन्त्रमा ब्रेल किबोर्ड चल्दैन तपाईंको डिभाइसमा पर्याप्त स्पर्श विन्दुहरू क्रियाशील छैनन्। थप जानकारीका लागि आफ्ना डिभाइसका उत्पादकसँग सम्पर्क गर्नुहोस्। + %s मेटाइयो + + डट %s + डटहरू %s + ब्रेल किबोर्ड प्रयोग गर्न TalkBack सक्रिय गर्नुहोस् पहुँचसम्बन्धी सेटिङहरूमा गई सक्रिय गर्नुहोस् ब्रेल किबोर्ड प्रयोग गर्न TalkBack सुचारु गर्नुहोस् @@ -71,32 +86,30 @@ अब उप्रान्त, तपाईं TalkBack का नियमित इसाराहरू प्रयोग गर्न सक्नु हुने छैन। ब्रेल किबोर्ड प्रयोग गर्दा TalkBack उपलब्ध हुँदैन। सुरु गर्न, फोनको स्क्रिन अर्कोपट्टि फर्काएर यहाँ देखाइएअनुसार राख्नुहोस्। जारी राख्न कुनै ठाउँमा डबल ट्याप गर्नुहोस् - \"A\" अक्षर टाइप गर्न आफ्नो देब्रे हातको चोर औँलाले डट १ मा ट्याप गर्नुहोस् + देब्रे हातको चोर औँला + दाहिने हातको चोर औँला + \"A\" टाइप गर्न आफ्नो %1$s ले १ डटमा ट्याप गर्नुहोस् त्यसपछि, B, C र D अक्षरहरू टाइप गरी हेर्नुहोस् कुनै अक्षर मेट्न बायाँतिर स्वाइप गर्नुहोस् स्थान थप्न दायाँतिर स्वाइप गर्नुहोस् - तपाईं टेक्स्ट कर्सर सारेर पछाडि लैजान चाहनुहुन्छ भने माथितिर स्वाइप गर्नुहोस् - तपाईं टेक्स्ट कर्सर सारेर अगाडि लैजान चाहनुहुन्छ भने तलतिर स्वाइप गर्नुहोस् किबोर्ड लुकाउन २ वटा औँलाले तलतिर स्वाइप गर्नुहोस् तपाईंको किबोर्ड बदलेर अर्कामा जान ३ वटा औँलाले तलतिर स्वाइप गर्नुहोस् ट्युटोरियल पूरा गर्न ३ वटा औँलाले माथितिर स्वाइप गर्नुहोस् मेट्नुहोस् खाली ठाउँ - टेक्स्ट कर्सर पछाडितिर सारियो - टेक्स्ट कर्सर अगाडितिर सारियो किबोर्ड लुकाउनुहोस् अर्को किबोर्ड अब उप्रान्त, तपाईं TalkBack का नियमित इसाराहरू प्रयोग गर्न सक्नु हुने छैन। ब्रेल किबोर्ड प्रयोग गर्दा TalkBack उपलब्ध हुँदैन।\n\n%1$s पहिले, स्क्रिन बाहिरतिर फर्कियोस् भन्नाका खातिर फोन उल्टाउनुहोस्।\n\nत्यसपछि, फोनलाई क्षितिजीय रूपमा घुमाएर ल्यान्डस्केप अवस्थामा राख्नुहोस्। तपाईंले फोनलाई ठाडो पारेर हातले दुवै छेउ भेट्ने गरी समात्नु पर्ने हुन्छ। तपाईंले आफ्नो दायाँ हातले फोनको USB पोर्ट रहेको छेउ समात्नु पर्ने हुन्छ। आफ्ना बिचका ३ वटा औँला स्क्रिनमा राख्नुहोस् र कान्छी औँलो र बुढी औँलो प्रयोग गरी फोन अड्याउनुहोस्।\n\nतपाईं तयार भएपछि प्रक्रिया अघि बढाउन स्क्रिनमा डबल ट्याप गर्नुहोस्।\n\nब्रेल किबोर्डबाट बाहिरिन ३ वटा औँलाले तल जमिनतिर स्वाइप गर्नुहोस्। यस कार्यले तपाईंलाई मूल किबोर्डमै फर्काउने छ। तपाईंको फोन ठाडो पारेर राखिएको छ। जारी राख्न, लामोपट्टिको भाग फेदतिर परोस् भन्नाका खातिर आफ्नो फोन क्षितिजीय रूपमा घुमाउनुहोस्। त्यसपछि स्क्रिनलाई अर्कातिर फर्काउनुहोस्। तपाईं तयार भइसकेपछि, प्रक्रिया अघि बढाउन स्क्रिनमा डबल ट्याप गर्नुहोस्। - स्क्रिनलाई विपरीत दिशातिर फर्काएर राख्नुहोस्। दुवै हातका बिचका ३ वटा औँलाले स्क्रिनमा स्पर्श गरून् भन्नाका खातिर तपाईंले फोनलाई ठाडो पारेर दुवै छेउ भेट्ने गरी हातले समातेको हुनु पर्छ।\n\n तपाईंको बायाँ हातको चोर औँला डट १ मा हुनु पर्छ। अब, “A” अक्षर टाइप गर्न डट १ मा ट्याप गर्नुहोस्। - “A” अक्षर टाइप गर्न आफ्नो देब्रे हातको चोर औँलाले डट १ मा ट्याप गर्नुहोस् + देब्रे हातको चोर औँला + दाहिने हातको चोर औँला + स्क्रिनलाई आफ्नो विपरीत दिशातिर फर्काएर राख्नुहोस्। दुवै हातका बिचका ३ वटा औँलाले स्क्रिनमा स्पर्श गरून् भन्नाका खातिर तपाईंले फोनलाई ठाडो पारेर दुवै छेउ भेट्ने गरी हातले समातेको हुनु पर्छ।\n\n तपाईंको %1$s डट १ मा हुनु पर्छ। अब, “A” टाइप गर्न डट १ मा ट्याप गर्नुहोस्। + “A” टाइप गर्न आफ्नो %1$s ले डट १ मा ट्याप गर्नुहोस्। %2$s टाइप गर्न %1$s मा ट्याप गर्नुहोस् अक्षर मेट्न बायाँतिर स्वाइप गर्नुहोस्। अहिले नै यो काम गरी हेर्नुहोस्। अक्षर d मेटाइयो। खाली ठाउँ थप्न दायाँतिर स्वाइप गर्नुहोस्। अहिले नै यो काम गरी हेर्नुहोस्। - तपाईं टेक्स्ट कर्सर सारेर पछाडि लैजान चाहनुहुन्छ भने माथितिर स्वाइप गर्नुहोस्। अहिले नै यसो गरी हेर्नुहोस्। - तपाईं टेक्स्ट कर्सर सारेर अगाडि लैजान चाहनुहुन्छ भने तलतिर स्वाइप गर्नुहोस्। अहिले नै यसो गरी हेर्नुहोस्। किबोर्ड लुकाउन २ वटा औँलाले तलतिर स्वाइप गर्नुहोस्। अहिले नै यो काम गरी हेर्नुहोस्। किबोर्ड लुकाउनुहोस्। सामान्यतया, यस कार्यले किबोर्ड लुकाउने छ। तपाईं अझै ट्युटोरियलमा हुनुभएकाले ब्रेल किबोर्ड खुलै रहने छ। किबोर्ड बदलेर तपाईंको अर्को किबोर्डमा जान ३ वटा औँलाले तलतिर स्वाइप गर्नुहोस्। अहिले नै यो काम गरी हेर्नुहोस्। @@ -114,6 +127,4 @@ अक्षर मेटाइयो शब्द मेटाइयो ट्युटोरियललाई निरन्तरता दिऔँ। %1$s - यो डिभाइसमा बाह्य ब्रेल डिस्प्ले कनेक्ट गरिएको छ, तपाईं सो डिस्प्ले प्रयोग गरी यो डिभाइसमा टाइप गर्न सक्नुहुन्छ।\nअथवा, तपाईं टच स्क्रिन ब्रेल किबोर्ड वा अर्को इनपुट विधि प्रयोग गर्न सक्नुहुन्छ। - टच स्क्रिन किबोर्ड प्रयोग गर्नुहोस् diff --git a/braille/brailleime/src/phone/res/values-nl/strings.xml b/braille/brailleime/src/main/res/values-nl/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-nl/strings.xml rename to braille/brailleime/src/main/res/values-nl/strings.xml index 23bb54b68..b36f58099 100644 --- a/braille/brailleime/src/phone/res/values-nl/strings.xml +++ b/braille/brailleime/src/main/res/values-nl/strings.xml @@ -5,6 +5,9 @@ Tafelbladmodus. Leg je apparaat neer met de oplaadpoort naar links. Plaats 6 vingers om de positie van de stippen te updaten. Er staat geen ander toetsenbord aan. Ga naar de toetsenbordinstellingen. Swipe met 3 vingers omhoog voor meer opties + Overgeschakeld naar braille (kortschrift) + Overgeschakeld naar braille (volledig) + Overgeschakeld naar volledige UEB brailletoetsenbord brailletoetsenbord, %s TalkBack-brailletoetsenbord - ga voor hulp naar g.co/help/braille @@ -17,7 +20,6 @@ De positie van stippen 1, 2 en 3 is geüpdatet. Laten we nu de stippen van je rechterhand opnemen. Tik op het scherm en houd dit vast met de middelste 3 vingers van je rechterhand. De positie van stippen 1, 2 en 3 is geüpdatet. Laten we nu de stippen van je linkerhand opnemen. Tik op het scherm en houd dit vast met de middelste 3 vingers van je linkerhand. De positie van de stippen kan niet worden geüpdatet. Tik met 6 vingers op het scherm en houd vast. Probeer het opnieuw. - Overgeschakeld naar %s Brailletoetsenbord Brailletoetsenbord instellen Een brailletoetsenbord gebruiken @@ -27,18 +29,23 @@ <br><br>2. <b>Brailletoetsenbord gebruiken</b>: Open je gebruikelijke toetsenbord en tik op Toetsenbord kiezen %2$s (meestal rechtsonder). Selecteer %1$s. <br><br>Als je geen schakeloptie ziet, installeer je het Google-toetsenbord %3$s. Instellingen - Talen voor typen - Taalvoorkeur - Dit bericht niet meer tonen - Taal snel wijzigen tijdens typen - Als je de taal wilt wijzigen terwijl je typt met het brailletoetsenbord, swipe je met 3 vingers omhoog. Selecteer dan Overschakelen naar volgende taal. + Talen voor typen + UEB (Unified English Braille) + Spaans + Arabisch + Frans + Pools Alle ingedrukte punten opnemen Elke ingedrukte punt is onderdeel van de invoer, ook als de punt vóór andere punten is losgelaten Punten omkeren Wissel de puntposities, zodat bijvoorbeeld punt 1 en 4 van plaats wisselen Opties brailletoetsenbord - Overschakelen naar volgende taal: %s - Momenteel gebruikt: %s + Taal voor typen wijzigen + Momenteel wordt %s gebruikt + Taal voor typen + Overschakelen naar braille (%s) + kortschrift + volledig Alle gebaren bekijken Tutorial openen Tutorial voltooien @@ -49,15 +56,23 @@ Swipe naar links om te verwijderen Swipe met 2 vingers naar rechts om een nieuwe regel toe te voegen Swipe met 2 vingers naar links om een woord te verwijderen - Swipe omhoog om de cursor terug te bewegen - Swipe omlaag om de cursor vooruit te bewegen Swipe met 2 vingers omlaag om het toetsenbord te verbergen Swipe met 3 vingers omlaag om te schakelen naar het volgende toetsenbord Swipe met 2 vingers omhoog om tekst te sturen Swipe met 3 vingers omhoog voor hulp en andere opties Klaar + Modus Scherm weg + Houd het apparaat vast met het scherm van je af (modus Scherm weg) + Tafelbladmodus + Leg het apparaat plat op een tafel (tafelbladmodus) + Aanpassen aan hoe je het apparaat vasthoudt Je apparaat ondersteunt geen brailletoetsenbord Je apparaat ondersteunt niet voldoende aanraakpunten. Neem contact op met de fabrikant van het apparaat voor meer informatie. + %s verwijderd + + punt %s + punten %s + Zet TalkBack aan om een brailletoetsenbord te gebruiken Aanzetten via instellingen voor toegankelijkheid TalkBack hervatten om het brailletoetsenbord te gebruiken @@ -71,32 +86,30 @@ Je kunt vanaf nu geen reguliere TalkBack-gebaren gebruiken. TalkBack is niet beschikbaar als je het brailletoetsenbord gebruikt. Begin door je telefoon zo vast te houden, met het scherm van je af gericht. Dubbeltik op een willekeurige plek om verder te gaan - Tik met je linkerwijsvinger op punt 1 om de letter \'A\' te typen + linkerwijsvinger + rechterwijsvinger + Tik met je %1$s op punt 1 om de letter \'A\' te typen Typ nu de letters \'B\', \'C\' en \'D\' Swipe naar links om een letter te verwijderen Swipe naar rechts om een spatie toe te voegen - Swipe omhoog om de cursor terug te bewegen - Swipe omlaag om de cursor vooruit te bewegen Swipe met 2 vingers omlaag om het toetsenbord te verbergen Swipe met 3 vingers omlaag om over te schakelen naar je andere toetsenbord Swipe met 3 vingers omhoog om de tutorial af te ronden VERWIJDEREN SPATIE - CURSOR TERUG BEWOGEN - CURSOR VOORUIT BEWOGEN TOETSENBORD VERBERGEN VOLGEND TOETSENBORD Je kunt vanaf nu geen reguliere TalkBack-gebaren gebruiken. TalkBack is niet beschikbaar als je het brailletoetsenbord gebruikt.\n\n%1$s Draai je telefoon zodat het scherm van je af is gericht.\n\nDraai de telefoon vervolgens horizontaal naar de liggende positie. Houd je telefoon aan de korte kanten vast. Je rechterhand moet de kant met de USB-poort vasthouden. Laat je drie middelste vingers rusten op het scherm en gebruik je pink en duim om de telefoon stevig vast te houden.\n\nAls je klaar bent, dubbeltik je op het scherm om verder te gaan.\n\nAls je het brailletoetsenbord wilt sluiten, swipe je met 3 vingers omlaag. Op die manier wordt het oorspronkelijke toetsenbord weer actief. Je telefoon bevindt zich in de verticale stand. Draai je telefoon horizontaal met de lange kant onderaan om verder te gaan. Zorg vervolgens dat het scherm van je af is gericht. Als je klaar bent, dubbeltik je op het scherm om verder te gaan. - Zorg dat het scherm van je af is gericht. Houd je telefoon met beide handen vast aan de korte zijden, zodat de middelste 3 vingers van elke hand het scherm kunnen aanraken.\n\nJe linkerwijsvinger moet zich op punt 1 bevinden. Tik nu op punt 1 om de letter \'A\' te typen. - Tik met je linkerwijsvinger op punt 1 om \'A\' te typen + linkerwijsvinger + rechterwijsvinger + Zorg dat het scherm van je af is gericht. Houd je telefoon met beide handen vast aan de korte zijden, zodat de middelste 3 vingers van elke hand het scherm kunnen aanraken.\n\nJe %1$s moet zich op punt 1 bevinden. Tik nu op punt 1 om de letter \'A\' te typen. + Tik met je %1$s op punt 1 om \'A\' te typen Tik op %1$s om de letter \'%2$s\' te typen Swipe naar links om een letter te verwijderen. Probeer het nu. d verwijderd. Swipe naar rechts om een spatie toe te voegen. Probeer het nu. - Swipe omhoog om de cursor terug te bewegen. Probeer het nu. - Swipe omlaag om de cursor vooruit te bewegen. Probeer het nu. Swipe met 2 vingers omlaag om het toetsenbord te verbergen. Probeer het nu. Toetsenbord verbergen. Hiermee wordt doorgaans het toetsenbord verborgen. Het brailletoetsenbord blijft geopend omdat de tutorial nog actief is. Swipe met 3 vingers omlaag om over te schakelen naar je andere toetsenbord. Probeer het nu. @@ -114,6 +127,4 @@ Letter verwijderd Woord verwijderd We gaan verder met de tutorial. %1$s - Er is een externe brailleleesregel verbonden, waarmee je tekst kunt typen op dit apparaat.\nJe kunt ook overschakelen naar het brailletoetsenbord met touchscreen of de volgende invoermethode. - Overschakelen naar toetsenbord met touchscreen diff --git a/braille/brailleime/src/phone/res/values-no/strings.xml b/braille/brailleime/src/main/res/values-no/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-no/strings.xml rename to braille/brailleime/src/main/res/values-no/strings.xml index aaa2af717..74377831d 100644 --- a/braille/brailleime/src/phone/res/values-no/strings.xml +++ b/braille/brailleime/src/main/res/values-no/strings.xml @@ -5,6 +5,9 @@ Skjerm vendt opp-modus. Plassér enheten med ladeporten til venstre. For å oppdatere punktposisjonen, hold seks fingre nede. Ingen andre tastaturer er aktivert. Gå til tastaturinnstillingene Sveip opp med tre fingre for å se flere alternativer + Byttet til forkortet punktskrift + Byttet til uforkortet punktskrift + Byttet til uforkortet UEB punktskrifttastatur punktskrifttastatur, %s TalkBack-punktskrifttastatur – du finner hjelp på g.co/help/braille @@ -17,7 +20,6 @@ Oppdater posisjon for punkt 1, 2 og 3. Deretter registrerer du punktene på høyre hånd. Trykk og hold på skjermen med de tre midterste fingrene på høyre hånd. Oppdater posisjon for punkt 1, 2 og 3. Deretter registrerer du punktene på venstre hånd. Trykk og hold på skjermen med de tre midterste fingrene på venstre hånd. Kunne ikke oppdatere punktposisjonen. Trykk og hold på skjermen med seks fingre. Prøv deretter på nytt. - Byttet til %s Punktskrifttastatur Konfigurer punktskrifttastatur Slik bruker du punktskrifttastatur @@ -27,18 +29,23 @@ <br><br>2. <b>Bruk punktskrifttastatur</b>: Åpne det vanlige tastaturet, og trykk på velg tastatur-ikonet %2$s (vanligvis nederst til høyre). Velg «%1$s». <br><br>Hvis du ikke ser et alternativ for å bytte tastatur, kan du prøve å installere %3$s – Google-tastaturet. Innstillinger - Skriftspråk - Foretrukket språk - Ikke vis dette igjen - Bytt språk raskt mens du skriver - For å endre språk mens du skriver med punktskrifttastaturet, sveip opp med tre fingre. Velg deretter «Bytt til neste språk». + Skriftspråk + Unified English Braille + Spansk + Arabisk + Fransk + Polsk Inkluder alle trykte punkter Hvert trykte punkt er en del av inndataene, selv om punktet slippes før andre punkter. Omvendte punkter Bytt punktposisjoner, slik at for eksempel punkt én og fire bytter plass Alternativer for punktskrifttastatur - Bytt til neste språk: %s - Du bruker for øyeblikket %s + Endre skriftspråk + Du bruker for øyeblikket %s + Skriftspråk + Bytt til %s punktskrift + forkortet + uforkortet Gjennomgå alle bevegelser Åpne veiledning Avslutt veiledning @@ -49,15 +56,23 @@ For å slette, sveip til venstre For å legge til en ny linje, sveip til høyre med to fingre For å slette et ord, sveip til venstre med to fingre - For å flytte markøren bakover, sveip opp - For å flytte markøren forover, sveip ned For å skjule tastaturet, sveip ned med to fingre For å bytte til neste tastatur, sveip ned med tre fingre For å sende inn tekst, sveip opp med to fingre For å åpne hjelp og andre alternativer, sveip opp med tre fingre Ferdig + Skjerm vendt bort-modus + Hold enheten med skjermen vendt bort fra deg (skjerm vendt bort-modus) + Skjerm vendt opp-modus + Legg enheten flatt på et bord (skjerm vendt opp-modus) + Tilpass til måten du holder enheten på Enheten din støtter ikke punktskrifttastatur Enheten din støtter ikke nok kontaktpunkter. Kontakt enhetsprodusenten for å få mer informasjon. + %s er slettet + + punkt %s + punkter %s + Slå på TalkBack for å bruke punktskrifttastatur Slå på i tilgjengelighetsinnstillingene Gjenoppta TalkBack for å bruke punktskrifttastatur @@ -71,32 +86,30 @@ Fra og med nå kan du ikke bruke vanlige TalkBack-bevegelser. TalkBack er ikke tilgjengelig når du bruker punktskrifttastaturet. For å starte, hold telefonen på denne måten, med skjermen vendt fra deg. Dobbelttrykk hvor som helst for å fortsette - Trykk på punkt 1 med venstre pekefinger for å skrive bokstaven «A» + venstre pekefinger + høyre pekefinger + Trykk på punkt 1 med %1$s for å skrive «A» Prøv deretter å skrive bokstavene B, C og D For å slette en bokstav, sveip til venstre For å legge til et mellomrom, sveip til høyre - For å flytte markøren bakover, sveip opp - For å flytte markøren forover, sveip ned For å skjule tastaturet, sveip ned med to fingre For å bytte til det andre tastaturet ditt, sveip ned med tre fingre For å fullføre veiledningen, sveip opp med tre fingre SLETT MELLOMROM - FLYTTET MARKØREN BAKOVER - FLYTTET MARKØREN FOROVER SKJUL TASTATURET NESTE TASTATUR Fra og med nå kan du ikke bruke vanlige TalkBack-bevegelser. TalkBack er ikke tilgjengelig når du bruker punktskrifttastaturet.\n\n%1$s Først snur du telefonen, slik at skjermen er vendt bort fra deg.\n\nDeretter roterer du den til liggende (vannrett) posisjon. Hendene dine skal holde kortsidene av telefonen. Høyre hånd skal holde enden med USB-porten. Hvil de tre midterste fingrene på skjermen, og bruk lillefingeren og tommelen til å støtte telefonen.\n\nNår du er klar, dobbelttrykker du på skjermen for å fortsette.\n\nFor å lukke punktskrifttastaturet, sveip ned mot bakken med tre fingre. Da bytter du tilbake til det opprinnelige tastaturet. Telefonen er i stående (loddrett) posisjon. For å fortsette, rotér telefonen til liggende posisjon, slik at langsiden er nederst. Deretter snur du skjermen, slik at den er vendt bort fra deg. Når du er klar, dobbelttrykker du på skjermen for å fortsette. - Hold skjermen vendt bort fra deg. Hold telefonen med begge hendene på kortsidene av telefonen, slik at de tre midterste fingrene på hver hånd kan berøre skjermen.\n\nVenstre pekefinger skal være på punkt 1. Trykk på punkt 1 for å skrive bokstaven «A». - Trykk på punkt 1 med venstre pekefinger for å skrive «A» + venstre pekefinger + høyre pekefinger + Hold skjermen vendt bort fra deg. Hold telefonen med begge hendene på kortsidene av telefonen, slik at de tre midterste fingrene på hver hånd kan berøre skjermen.\n\n%1$s skal være på punkt 1. Trykk på punkt 1 for å skrive bokstaven «A». + Trykk på punkt 1 med %1$s for å skrive «A» Trykk på %1$s for å skrive bokstaven %2$s For å slette en bokstav, sveip til venstre. Prøv nå. a er slettet. For å legge til et mellomrom, sveip til høyre. Prøv nå. - For å flytte markøren bakover, sveip opp. Prøv nå. - For å flytte markøren forover, sveip ned. Prøv nå. For å skjule tastaturet, sveip ned med to fingre. Prøv nå. Skjul tastaturet. Dette skjuler vanligvis tastaturet. Punktskrifttastaturet holdes åpent fordi du fremdeles er i veiledningen. For å bytte til det andre tastaturet, sveip ned med tre fingre. Prøv nå. @@ -114,6 +127,4 @@ Bokstaven er slettet Ordet er slettet La oss fortsette veiledningen. %1$s - En ekstern leselist er tilkoblet. Du kan bruke den til å skrive inn tekst på denne enheten.\nEller du kan bytte til punktskrifttastaturet på berøringsskjermen eller den neste inndatametoden. - Bytt til tastaturet på berøringsskjermen diff --git a/braille/brailleime/src/phone/res/values-or/strings.xml b/braille/brailleime/src/main/res/values-or/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-or/strings.xml rename to braille/brailleime/src/main/res/values-or/strings.xml index 4debafc4d..a5741cebc 100644 --- a/braille/brailleime/src/phone/res/values-or/strings.xml +++ b/braille/brailleime/src/main/res/values-or/strings.xml @@ -5,6 +5,9 @@ ଟେବୁଲଟପ୍ ମୋଡ୍। ଆପଣଙ୍କ ଡିଭାଇସକୁ ଚାର୍ଜିଂ ପୋର୍ଟର ବାମ ପଟେ ରଖନ୍ତୁ। ଡଟର ଅବସ୍ଥିତି ଅପଡେଟ୍ କରିବାକୁ, 6ଟି ଆଙ୍ଗୁଠିରେ ଦବାଇ ଧରନ୍ତୁ। ଏଠାରେ ଅନ୍ୟ କୌଣସି କୀବୋର୍ଡ ସକ୍ଷମ କରାଯାଇନାହିଁ, କୀବୋର୍ଡ ସେଟିସକୁ ଯାଆନ୍ତୁ ଅଧିକ ବିକଳ୍ପ ପାଇଁ 3 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ + କଣ୍ଟ୍ରାକ୍ଟେଡ୍ ବ୍ରେଲିକୁ ସ୍ୱିଚ୍ କରାଯାଇଛି + ଅନକଣ୍ଟ୍ରାକ୍ଟେଡ୍ ବ୍ରେଲିକୁ ସ୍ୱିଚ୍ କରାଯାଇଛି + UEB ଅନକଣ୍ଟ୍ରାକ୍ଟେଡ ମୋଡକୁ ସ୍ୱିଚ୍ କରାଯାଇଛି ବ୍ରେଲି କୀବୋର୍ଡ ବ୍ରେଲି କୀବୋର୍ଡ, %s TalkBack ବ୍ରେଲି କୀବୋର୍ଡ - ସାହାଯ୍ୟ ପାଇଁ g.co/help/brailleକୁ ଯାଆନ୍ତୁ @@ -17,7 +20,6 @@ ଡଟ୍ 1, 2 ଏବଂ 3 ପାଇଁ ଅପଡେଟ୍ କରାଯାଇଥିବା ଅବସ୍ଥିତିଗୁଡ଼ିକ। ତା’ପରେ, ଚାଲନ୍ତୁ ଆପଣଙ୍କ ଡାହାଣ ହାତରେ ଥିବା ଡଟଗୁଡ଼ିକୁ ରେକର୍ଡ କରିବା। ଆପଣଙ୍କ ଡାହାଣ ହାତର ମଝି 3ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନକୁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ। ଡଟ୍ 1, 2 ଏବଂ 3 ପାଇଁ ଅପଡେଟ୍ କରାଯାଇଥିବା ଅବସ୍ଥିତିଗୁଡ଼ିକ। ତା’ପରେ, ଚାଲନ୍ତୁ ଆପଣଙ୍କ ବାମ ହାତରେ ଥିବା ଡଟଗୁଡ଼ିକୁ ରେକର୍ଡ କରିବା। ଆପଣଙ୍କ ବାମ ହାତର ମଝି 3ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନକୁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ। ଡଟର ଅବସ୍ଥିତି ଅପଡେଟ୍ କରାଯାଇପାରିଲା ନାହିଁ। 6ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନକୁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ। ତା\'ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ। - %sକୁ ସ୍ୱିଚ କରାଯାଇଛି ବ୍ରେଲି କୀବୋର୍ଡ ବ୍ରେଲି କୀବୋର୍ଡ ସେଟ୍ ଅପ୍ କରନ୍ତୁ ବ୍ରେଲି କୀବୋର୍ଡ କିପରି ବ୍ୟବହାର କରିବେ @@ -27,37 +29,50 @@ <br><br>2. <b>ବ୍ରେଲି କୀବୋର୍ଡ ବ୍ୟବହାର କରନ୍ତୁ</b>: ଆପଣଙ୍କ ରେଗୁଲାର୍ କୀବୋର୍ଡ ଖୋଲନ୍ତୁ, ତାପରେ \'କୀବୋର୍ଡ ବାଛନ୍ତୁ\' ଆଇକନରେ %2$s ଟାପ୍ କରନ୍ତୁ (ସାଧାରଣତଃ ଡାହାଣ ପଟ ତଳ କୋଣରେ)। \"%1$s\"କୁ ବାଛନ୍ତୁ। <br><br>ଯଦି ଆପଣ କୀବୋର୍ଡ ସ୍ୱିଚ୍ କରିବାକୁ କୌଣସି ବିକଳ୍ପ ନଦେଖନ୍ତି, ତେବେ %3$s Google keyboard ଇନଷ୍ଟଲ୍ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ। ସେଟିଂସ୍ - ଟାଇପିଂ ଭାଷାଗୁଡ଼ିକ - ପସନ୍ଦର ଭାଷା - ଏହାକୁ ପୁଣି ଦେଖାନ୍ତୁ ନାହିଁ - ଟାଇପ କରିବା ସମୟରେ ଭାଷାକୁ ଶୀଘ୍ର ବଦଳାନ୍ତୁ - ବ୍ରେଲି କୀବୋର୍ଡ ବ୍ୟବହାର କରି ଟାଇପ କରିବା ସମୟରେ ଆପଣଙ୍କର ଭାଷା ବଦଳାଇବା ପାଇଁ, 3ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ତା\'ପରେ \"ପରବର୍ତ୍ତୀ ଭାଷାକୁ ସ୍ୱିଚ କରନ୍ତୁ\"କୁ ଚୟନ କରନ୍ତୁ। + ଟାଇପ୍ କରିବାର ଭାଷା + ୟୁନିଫାଏଡ୍ ଇଂରାଜୀ ବ୍ରେଲି + ସ୍ପେନୀୟ + ଆରବୀ + ଫରାସୀ + ପୋଲିଶ୍ ସବୁ ପ୍ରେସ୍ ହୋଇଥିବା ଡଟକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ ଅନ୍ୟ ଡଟଗୁଡ଼ିକ ପୂର୍ବରୁ ଡଟ୍ ରିଲିଜ୍ ହୋଇଥିବା ବେଳେ ମଧ୍ୟ ପ୍ରେସ୍ କରାଯାଇଥିବା ପ୍ରତ୍ୟେକ ଡଟ୍ ଇନପୁଟର ଅଂଶ ଅଟେ ରିଭର୍ସ ଡଟ୍ସ ଡଟ୍ ସ୍ଥିତିଗୁଡ଼ିକୁ ସ୍ୱାପ୍ କରନ୍ତୁ, ଫଳରେ 1 ଏବଂ 4 ଡଟର ସ୍ଥାନ ଅଦଳବଦଳ ହୋଇଯିବ, ଉଦାହରଣ ସ୍ୱରୂପ ବ୍ରେଲି କୀବୋର୍ଡ ବିକଳ୍ପଗୁଡ଼ିକ - ପରବର୍ତ୍ତୀ ଭାଷାକୁ ସ୍ୱିଚ କରନ୍ତୁ: %s - ବର୍ତ୍ତମାନ ବ୍ୟବହାର କରାଯାଉଛି: %s + ଟାଇପିଂ ଭାଷା ବଦଳାନ୍ତୁ + ବର୍ତ୍ତମାନ %s ବ୍ୟବହାର କରାଯାଉଛି + ଟାଇପିଂ ଭାଷା + %s ବ୍ରେଲିକୁ ସ୍ୱିଚ୍ କରନ୍ତୁ + କଣ୍ଟ୍ରାକ୍ଟେଡ୍ + ଅନକଣ୍ଟ୍ରାକ୍ଟେଡ୍ ସମସ୍ତ ଜେଶ୍ଚରର ସମୀକ୍ଷା କରନ୍ତୁ ଟ୍ୟୁଟୋରିଆଲ୍ ଖୋଲନ୍ତୁ ଟ୍ୟୁଟୋରିଆଲ୍ ସମାପ୍ତ କରନ୍ତୁ - ସେଟିଂସ + ସେଟିଂସ୍ ଲେଆଉଟ୍ ବ୍ରେଲି କୀବୋର୍ଡ ଜେଶ୍ଚର୍ ଏକ ସ୍ପେସ୍ ଦେବାକୁ, ଡାହାଣକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଡିଲିଟ୍ କରିବାକୁ, ବାମକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଏକ ନୂଆ ଲାଇନ୍ ପାଇଁ, 2 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ବାମକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଏକ ଶବ୍ଦ ଡିଲିଟ୍ କରିବାକୁ, 2 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ବାମକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ - କର୍ସର ପଛକୁ ମୁଭ କରିବା ପାଇଁ, ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ - କର୍ସର ଆଗକୁ ମୁଭ କରିବା ପାଇଁ, ତଳକୁ ସ୍ୱାଇପ କରନ୍ତୁ କୀବୋର୍ଡ ଲୁଚାଇବା ପାଇଁ 2 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ତଳକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ପରବର୍ତ୍ତୀ କୀବୋର୍ଡକୁ ସ୍ୱିଚ୍ କରିବାକୁ 3 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ତଳକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଟେକ୍ସଟ୍ ଦାଖଲ କରିବାକୁ, 2 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ସହାୟତା ଏବଂ ଅନ୍ୟ ବିକଳ୍ପ ପାଇଁ 3 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ହୋଇଗଲା + ସ୍କ୍ରିନ୍-ଆୱେ ମୋଡ୍ + ଡିଭାଇସର ସ୍କ୍ରିନକୁ ଆପଣଙ୍କ ଠାରୁ ଦୂରେଇ ଧରନ୍ତୁ (ସ୍କ୍ରିନ୍-ଆୱେ ମୋଡ୍) + ଟେବୁଲଟପ୍ ମୋଡ୍ + ଡିଭାଇସକୁ ଏକ ଟେବୁଲ୍ ଉପରେ ଫ୍ଲାଟ୍ ରଖନ୍ତୁ (ଟେବୁଲଟପ୍ ମୋଡ୍) + ଆପଣଙ୍କ ଡିଭାଇସକୁ ଧରିବାର ଉପାୟକୁ ଆଡପ୍ଟ କରନ୍ତୁ ଆପଣଙ୍କର ଡିଭାଇସ୍ ବ୍ରେଲି କୀବୋର୍ଡ ସମର୍ଥିତ ନୁହେଁ ଆପଣଙ୍କର ଡିଭାଇସ୍ ଯଥେଷ୍ଟ ସ୍ପର୍ଶ ପଏଣ୍ଟ ସମର୍ଥିତ ନୁହେଁ। ଅଧିକ ସୂଚନା ପାଇଁ ଆପଣଙ୍କ ଡିଭାଇସ୍ ନିର୍ମାତାଙ୍କୁ ଯୋଗାଯୋଗ କରନ୍ତୁ। + %s ଡିଲିଟ୍ କରାଯାଇଛି + + %sଟି ଡଟ୍ + %sଟି ଡଟ୍ସ + ବ୍ରେଲି କୀବୋର୍ଡ ବ୍ୟବହାର କରିବାକୁ TalkBack ଚାଲୁ କରନ୍ତୁ ଆକ୍ସେସିବିଲିଟୀ ସେଟିଂସରେ ଚାଲୁ କରନ୍ତୁ ବ୍ରେଲି କୀବୋର୍ଡ ବ୍ୟବହାର କରିବାକୁ TalkBack ପୁଣି ଆରମ୍ଭ କରନ୍ତୁ @@ -71,32 +86,30 @@ ବର୍ତ୍ତମାନ ଠାରୁ ଆପଣ ରେଗୁଲାର୍ TalkBack ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ। ବ୍ରେଲି କୀବୋର୍ଡ ବ୍ୟବହାର କରିବା ସମୟରେ TalkBack ଉପଲବ୍ଧ ହେବ ନାହିଁ। ଆରମ୍ଭ କରିବା ପାଇଁ, ଆପଣଙ୍କ ଫୋନର ସ୍କ୍ରିନକୁ ଆପଣଙ୍କ ମୁହଁ ଆଡ଼କୁ କରି ଦୂରେଇକି ଧରନ୍ତୁ। ଜାରି ରଖିବା ପାଇଁ ଯେ କୌଣସି ସ୍ଥାନରେ ଦୁଇଥର ଟାପ୍ କରନ୍ତୁ - \"A\" ଶବ୍ଦ ଟାଇପ୍ କରିବାକୁ ଆପଣଙ୍କ ବାମ ତର୍ଜନୀ ସାହାଯ୍ୟରେ ଡଟ୍ 1 ଟାପ୍ କରନ୍ତୁ + ବାମ ତର୍ଜନୀ + ଡାହାଣ ତର୍ଜନୀ + \"A\" ଶବ୍ଦ ଟାଇପ୍ କରିବାକୁ ଆପଣଙ୍କ %1$s ସାହାଯ୍ୟରେ ଡଟ୍ 1 ଟାପ୍ କରନ୍ତୁ ପରେ, B, C, ଏବଂ D ଶବ୍ଦ ଟାଇପ୍ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ କୌଣସି ଶବ୍ଦ ଡିଲିଟ୍ କରିବାକୁ, ବାମକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଏକ ସ୍ପେସ୍ ଦେବାକୁ, ଡାହାଣକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ - କର୍ସର ପଛକୁ ମୁଭ କରିବା ପାଇଁ, ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ - କର୍ସର ଆଗକୁ ମୁଭ କରିବା ପାଇଁ, ତଳକୁ ସ୍ୱାଇପ କରନ୍ତୁ କୀବୋର୍ଡ ଲୁଚାଇବା ପାଇଁ 2 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ତଳକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଆପଣଙ୍କର ଅନ୍ୟ କୀବୋର୍ଡକୁ ସ୍ୱିଚ୍ କରିବାକୁ, 3 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ତଳକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଟ୍ୟୁଟୋରିଆଲ୍ ଶେଷ କରିବାକୁ, 3 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଡିଲିଟ୍ କରନ୍ତୁ ସ୍ପେସ୍ ଦିଅନ୍ତୁ - କର୍ସର ପଛକୁ ମୁଭ କରାଯାଇଛି - କର୍ସର ଆଗକୁ ମୁଭ କରାଯାଇଛି କୀବୋର୍ଡ ଲୁଚାନ୍ତୁ ପରବର୍ତ୍ତୀ କୀବୋର୍ଡ ବର୍ତ୍ତମାନ ଠାରୁ ଆପଣ ରେଗୁଲାର୍ TalkBack ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରିପାରିବେ ନାହିଁ। ବ୍ରେଲି କୀବୋର୍ଡ ବ୍ୟବହାର କରିବା ସମୟରେ TalkBack ଉପଲବ୍ଧ ହେବ ନାହିଁ।\n\n%1$s ପ୍ରଥମେ, ଆପଣଙ୍କ ଫୋନକୁ ବୁଲାନ୍ତୁ, ଯେପରିକି ଏହାର ସ୍କ୍ରିନ୍ ଆପଣଙ୍କ ଆଡ଼କୁ ଦୂରେଇକି ରହିବ।\n\nଏହା ପରେ, ଲ୍ୟାଣ୍ଡସ୍କେପ୍ ସ୍ଥିତି ପାଇଁ ଫୋନକୁ ହରିଜୋଣ୍ଟାଲ୍ ଭାବେ ରୋଟେଟ୍ କରନ୍ତୁ। ଆପଣଙ୍କ ହାତ ସାହାଯ୍ୟରେ ଫୋନକୁ ଦୃଢ଼ ଭାବରେ ଧରି ରଖନ୍ତୁ। ଫୋନର ଶେଷ ଭାଗ USB ପୋର୍ଟ ପାଖରେ ଆପଣଙ୍କ ଡାହାଣ ହାତ ରହିବା ଉଚିତ। ବାକି 3 ମଝି ଆଙ୍ଗୁଠିକୁ ସ୍କ୍ରିନ୍ ଉପରେ ରଖନ୍ତୁ ଏବଂ ଆପଣଙ୍କ ଛୋଟ ଓ ବୁଢ଼ା ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଫୋନକୁ ଦୃଢ଼ ଭାବରେ ଧରି ରଖନ୍ତୁ।\n\nଆପଣ ପ୍ରସ୍ତୁତ ହେଲେ ଜାରି ରଖିବାକୁ ସ୍କ୍ରିନରେ ଦୁଇଥର ଟାପ୍ କରନ୍ତୁ।\n\nବ୍ରେଲି କୀବୋର୍ଡରୁ ପ୍ରସ୍ଥାନ କରିବାକୁ 3 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ତଲକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। ଏହା ଦ୍ୱାରା ଆପଣ ଆପଣଙ୍କ ମୂଳ କୀବୋର୍ଡକୁ ଫେରିଯିବେ। ଆପଣଙ୍କ ଫୋନ୍ ଏକ ଭର୍ଟିକାଲ୍ ସ୍ଥିତିରେ ଅଛି। ଜାରି ରଖିବା ପାଇଁ ଆପଣଙ୍କ ଫୋନକୁ ହରିଜୋଣ୍ଟାଲ ଭାବେ ରୋଟେଟ୍ କରନ୍ତୁ, ଫଳରେ ଲମ୍ବା ସାଇଡ୍ ତଳକୁ ରହିବ। ତା\'ପରେ ସ୍କ୍ରିନକୁ ଆପଣଙ୍କ ମୁହଁ ଆଡ଼କୁ ଦୂରେଇକି ବୁଲାନ୍ତୁ। ଆପଣ ପ୍ରସ୍ତୁତ ହେଲେ, ଜାରି ରଖିବା ପାଇଁ ସ୍କ୍ରିନରେ ଦୁଇ ଥର ଟାପ୍ କରନ୍ତୁ। - ସ୍କ୍ରିନକୁ ଆପଣଙ୍କ ମୁହଁ ଆଡ଼କୁ କରି ଦୂରେଇକି ରଖନ୍ତୁ। ଫୋନର ଛୋଟ ଧାରରୁ ଦୁଇ ହାତରେ ଫୋନକୁ ଧରନ୍ତୁ, ଫଳରେ ଦୁଇ ହାତର ମଝି 3 ଆଙ୍ଗୁଠି ସ୍କ୍ରିନକୁ ସ୍ପର୍ଶ କରିବ।\n\nଆପଣଙ୍କର ବାମ ତର୍ଜନୀ ଆଙ୍ଗୁଠି ଡଟ୍ 1 ଉପରେ ରହିବା ଉଚିତ୍। ବର୍ତ୍ତମାନ “A” ଶବ୍ଦ ଟାଇପ୍ କରିବାକୁ ଡଟ୍ 1ରେ ଟାପ୍ କରନ୍ତୁ। - \"A\" ଟାଇପ୍ କରିବାକୁ ଆପଣଙ୍କ ବାମ ତର୍ଜନୀ ସାହାଯ୍ୟରେ ଡଟ୍ 1 ଟାପ୍ କରନ୍ତୁ + ବାମ ତର୍ଜନୀ + ଡାହାଣ ତର୍ଜନୀ + ସ୍କ୍ରିନକୁ ଆପଣଙ୍କ ମୁହଁ ଆଡ଼କୁ କରି ଦୂରେଇକି ରଖନ୍ତୁ। ଫୋନର ଛୋଟ ଧାରରୁ ଦୁଇ ହାତରେ ଫୋନକୁ ଧରନ୍ତୁ, ଫଳରେ ଦୁଇ ହାତର ମଝି 3 ଆଙ୍ଗୁଠି ସ୍କ୍ରିନକୁ ସ୍ପର୍ଶ କରିବ।\n\nଆପଣଙ୍କ %1$s ଡଟ୍ 1 ଉପରେ ରହିବା ଉଚିତ। ବର୍ତ୍ତମାନ “A” ଶବ୍ଦ ଟାଇପ୍ କରିବାକୁ ଡଟ୍ 1ରେ ଟାପ୍ କରନ୍ତୁ। + \"A\" ଟାଇପ୍ କରିବାକୁ ଆପଣଙ୍କ %1$s ସାହାଯ୍ୟରେ ଡଟ୍ 1 ଟାପ୍ କରନ୍ତୁ %2$s ଶବ୍ଦ ଟାଇପ୍ କରିବା ପାଇଁ %1$s ଟାପ୍ କରନ୍ତୁ କୌଣସି ଶବ୍ଦ ଡିଲିଟ୍ କରିବାକୁ, ବାମକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। ଏବେ ଏହା ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। dଟିକୁ ଡିଲିଟ୍ କରାଯାଇଛି। ଏକ ସ୍ପେସ୍ ଦେବାକୁ, ଡାହାଣକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। ଏବେ ଏହା ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। - କର୍ସର ପଛକୁ ମୁଭ କରିବା ପାଇଁ, ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ବର୍ତ୍ତମାନ ଏହାକୁ ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। - କର୍ସର ଆଗକୁ ମୁଭ କରିବା ପାଇଁ, ତଳକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ବର୍ତ୍ତମାନ ଏହାକୁ ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। କୀବୋର୍ଡ ଲୁଚାଇବା ପାଇଁ 2 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ତଳକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। ଏବେ ଏହା ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। କୀବୋର୍ଡକୁ ଲୁଚାନ୍ତୁ। ସାଧାରଣତଃ, ଏହା କୀବୋର୍ଡକୁ ଲୁଚାଇବ। ଆପଣ ଏବେ ବି ଟ୍ୟୁଟୋରିଆଲର ବ୍ୟବହାର କରୁଥିବାରୁ ବ୍ରେଲୀ କୀବୋର୍ଡ ଖୋଲା ରହିବ। ଆପଣଙ୍କର ଅନ୍ୟ କୀବୋର୍ଡକୁ ସ୍ୱିଚ୍ କରିବାକୁ 3 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ତଳକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। ଏବେ ଏହା ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। @@ -114,6 +127,4 @@ ଅକ୍ଷର ଡିଲିଟ୍ କରାଯାଇଛି ଶବ୍ଦ ଡିଲିଟ୍ କରାଯାଇଛି ଆସନ୍ତୁ ଟ୍ୟୁଟୋରିଆଲ୍ ଜାରି ରଖିବା। %1$s - ଏକ ଏକ୍ସଟର୍ନଲ ବ୍ରେଲି ଡିସପ୍ଲେ ସଂଯୋଗ କରାଯାଇଛି ଯାହାକୁ ଆପଣ ଏହି ଡିଭାଇସରେ ଟେକ୍ସଟ ଟାଇପ କରିବା ପାଇଁ ବ୍ୟବହାର କରିପାରିବେ।\nକିମ୍ବା, ଆପଣ ଟଚ-ସ୍କ୍ରିନ ବ୍ରେଲି କୀବୋର୍ଡ ବା ପରବର୍ତ୍ତୀ ଇନପୁଟ ପଦ୍ଧତିକୁ ସ୍ୱିଚ କରିପାରିବେ। - ଟଚ-ସ୍କ୍ରିନ କୀବୋର୍ଡକୁ ସ୍ୱିଚ କରନ୍ତୁ diff --git a/braille/brailleime/src/phone/res/values-pa/strings.xml b/braille/brailleime/src/main/res/values-pa/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-pa/strings.xml rename to braille/brailleime/src/main/res/values-pa/strings.xml index a97d0746f..de36c4a23 100644 --- a/braille/brailleime/src/phone/res/values-pa/strings.xml +++ b/braille/brailleime/src/main/res/values-pa/strings.xml @@ -5,6 +5,9 @@ ਟੇਬਲਟੌਪ ਮੋਡ। ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਚਾਰਜ ਕਰਨ ਵਾਲੇ ਪੋਰਟ ਨੂੰ ਖੱਬੇ ਪਾਸੇ ਵੱਲ ਰੱਖੋ। ਬਿੰਦੂ ਦੀ ਸਥਿਤੀ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ, 6 ਉਂਗਲਾਂ ਨੂੰ ਸਕ੍ਰੀਨ \'ਤੇ ਰੱਖੋ। ਕੋਈ ਹੋਰ ਕੀ-ਬੋਰਡ ਚਾਲੂ ਨਹੀਂ ਹੈ, ਕੀ-ਬੋਰਡ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜਾਓ ਹੋਰ ਵਿਕਲਪਾਂ ਲਈ 3 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ + ਸੰਖੇਪ ਬਰੇਲ ਲਿਪੀ \'ਤੇ ਬਦਲਿਆ ਗਿਆ + ਵਿਸਤ੍ਰਿਤ ਬਰੇਲ ਲਿਪੀ \'ਤੇ ਬਦਲਿਆ ਗਿਆ + ਕੀ-ਬੋਰਡ ਨੂੰ UEB ਵਿਸਤ੍ਰਿਤ ਮੋਡ \'ਤੇ ਬਦਲਿਆ ਗਿਆ ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ, %s TalkBack ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ - ਮਦਦ ਲਈ, g.co/help/braille \'ਤੇ ਜਾਓ @@ -17,7 +20,6 @@ 1, 2, ਅਤੇ 3 ਬਿੰਦੂਆਂ ਲਈ ਅੱਪਡੇਟ ਕੀਤੀਆਂ ਸਥਿਤੀਆਂ। ਅੱਗੇ, ਚਲੋ ਤੁਹਾਡੇ ਸੱਜੇ ਹੱਥ ਦੇ ਬਿੰਦੂਆਂ ਨੂੰ ਰਿਕਾਰਡ ਕਰੀਏ। ਸਕ੍ਰੀਨ ਨੂੰ ਆਪਣੇ ਸੱਜੇ ਹੱਥ ਦੀਆਂ ਵਿਚਕਾਰਲੀਆਂ 3 ਉਂਗਲਾਂ ਨਾਲ ਸਪੱਰਸ਼ ਕਰਕੇ ਰੱਖੋ। 1, 2, ਅਤੇ 3 ਬਿੰਦੂਆਂ ਲਈ ਅੱਪਡੇਟ ਕੀਤੀਆਂ ਸਥਿਤੀਆਂ। ਅੱਗੇ, ਚਲੋ ਤੁਹਾਡੇ ਖੱਬੇ ਹੱਥ ਦੇ ਬਿੰਦੂਆਂ ਨੂੰ ਰਿਕਾਰਡ ਕਰੀਏ। ਸਕ੍ਰੀਨ ਨੂੰ ਆਪਣੇ ਖੱਬੇ ਹੱਥ ਦੀਆਂ ਵਿਚਕਾਰਲੀਆਂ 3 ਉਂਗਲਾਂ ਨਾਲ ਸਪੱਰਸ਼ ਕਰਕੇ ਰੱਖੋ। ਬਿੰਦੂ ਦੀ ਸਥਿਤੀ ਨੂੰ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਸਕ੍ਰੀਨ ਨੂੰ 6 ਉਂਗਲਾਂ ਨਾਲ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ। ਫਿਰ, ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। - %s \'ਤੇ ਸਵਿੱਚ ਕੀਤਾ ਗਿਆ ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਸੈੱਟਅੱਪ ਕਰੋ ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਨੂੰ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ @@ -27,18 +29,23 @@ <br><br>2. <b>ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਵਰਤੋ</b>: ਆਪਣਾ ਆਮ ਕੀ-ਬੋਰਡ ਖੋਲ੍ਹੋ, ਫਿਰ \'ਕੀ-ਬੋਰਡ ਚੁਣੋ\' ਪ੍ਰਤੀਕ \'ਤੇ ਟੈਪ ਕਰੋ %2$s (ਆਮ ਤੌਰ \'ਤੇ ਹੇਠਲੇ ਸੱਜੇ ਕੋਨੇ ਵਿੱਚ)। \"%1$s\" ਚੁਣੋ। <br><br>ਜੇ ਤੁਹਾਨੂੰ ਕੀ-ਬੋਰਡਾਂ ਦੀ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਦਾ ਵਿਕਲਪ ਨਹੀਂ ਮਿਲਦਾ, ਤਾਂ %3$s ਸਥਾਪਤ ਕਰਕੇ ਦੇਖੋ, ਜੋ ਕਿ Google ਕੀ-ਬੋਰਡ ਹੈ। ਸੈਟਿੰਗਾਂ - ਟਾਈਪ ਕਰਨ ਵਾਲੀਆਂ ਭਾਸ਼ਾਵਾਂ - ਤਰਜੀਹੀ ਭਾਸ਼ਾ - ਇਸਨੂੰ ਦੁਬਾਰਾ ਨਾ ਦਿਖਾਓ - ਟਾਈਪ ਕਰਨ ਵੇਲੇ ਤੇਜ਼ੀ ਨਾਲ ਭਾਸ਼ਾ ਬਦਲੋ - ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਨਾਲ ਟਾਈਪ ਕਰਦੇ ਸਮੇਂ ਭਾਸ਼ਾ ਬਦਲਣ ਵਾਸਤੇ, 3 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਫਿਰ \"ਅਗਲੀ ਭਾਸ਼ਾ \'ਤੇ ਸਵਿੱਚ ਕਰੋ\" ਨੂੰ ਚੁਣੋ। + ਟਾਈਪ ਕਰਨ ਵਾਲੀਆਂ ਭਾਸ਼ਾਵਾਂ + ਏਕੀਕ੍ਰਿਤ ਅੰਗਰੇਜ਼ੀ ਬਰੇਲ ਲਿਪੀ + ਸਪੈਨਿਸ਼ + ਅਰਬੀ + ਫ੍ਰੈਂਚ + ਪੋਲਿਸ਼ ਸਾਰੀਆਂ ਦੱਬੀਆਂ ਹੋਈਆਂ ਬਿੰਦੀਆਂ ਸ਼ਾਮਲ ਕਰੋ ਹਰ ਦੱਬੀ ਹੋਈ ਬਿੰਦੀ ਇਨਪੁੱਟ ਦਾ ਹਿੱਸਾ ਹੁੰਦੀ ਹੈ, ਭਾਵੇਂ ਬਿੰਦੀ ਨੂੰ ਹੋਰ ਬਿੰਦੀਆਂ ਤੋਂ ਪਹਿਲਾਂ ਰਿਲੀਜ਼ ਕੀਤਾ ਜਾਵੇ ਉਲਟ ਬਿੰਦੀਆਂ ਬਿੰਦੀ ਦੀਆਂ ਸਥਿਤੀਆਂ ਦੀ ਅਦਲਾ-ਬਦਲੀ ਕਰੋ, ਤਾਂ ਕਿ ਬਿੰਦੀਆਂ 1 ਤੇ 4 ਆਪਸ ਵਿੱਚ ਜਗ੍ਹਾ ਬਦਲ ਸਕਣ, ਉਦਾਹਰਨ ਦੇ ਤੌਰ \'ਤੇ ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਸੈਟਿੰਗਾਂ - ਅਗਲੀ ਭਾਸ਼ਾ \'ਤੇ ਸਵਿੱਚ ਕਰੋ: %s - ਫ਼ਿਲਹਾਲ ਇਸ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ: %s + ਟਾਈਪ ਕਰਨ ਵਾਲੀ ਭਾਸ਼ਾ ਬਦਲੋ + ਇਸ ਵੇਲੇ %s ਵਰਤੀ ਜਾ ਰਹੀ ਹੈ + ਟਾਈਪ ਕਰਨ ਵਾਲੀ ਭਾਸ਼ਾ + %s ਬਰੇਲ ਲਿਪੀ \'ਤੇ ਬਦਲੋ + ਸੰਕੁਚਿਤ + ਅਸੰਕੁਚਿਤ ਸਾਰੇ ਇਸ਼ਾਰਿਆਂ ਦੀ ਸਮੀਖਿਆ ਕਰੋ ਟਿਊਟੋਰੀਅਲ ਖੋਲ੍ਹੋ ਟਿਊਟੋਰੀਅਲ ਮੁਕੰਮਲ ਕਰੋ @@ -49,15 +56,23 @@ ਮਿਟਾਉਣ ਲਈ, ਖੱਬੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਨਵੀਂ ਲਾਈਨ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਸੱਜੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਸ਼ਬਦ ਮਿਟਾਉਣ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਖੱਬੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ - ਕਰਸਰ ਨੂੰ ਪਿੱਛੇ ਵੱਲ ਲਿਜਾਉਣ ਲਈ, ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ - ਕਰਸਰ ਨੂੰ ਅੱਗੇ ਵੱਲ ਲਿਜਾਉਣ ਲਈ, ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਕੀ-ਬੋਰਡ ਲੁਕਾਉਣ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਅਗਲੇ ਕੀ-ਬੋਰਡ \'ਤੇ ਜਾਣ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਲਿਖਤ ਸਪੁਰਦ ਕਰਨ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਮਦਦ ਅਤੇ ਹੋਰ ਵਿਕਲਪਾਂ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਹੋ ਗਿਆ + ਸਕ੍ਰੀਨ ਤੋਂ ਦੂਰ ਮੋਡ + ਸਕ੍ਰੀਨ ਨੂੰ ਆਪਣੇ ਆਪ ਤੋਂ ਦੂਰ ਰੱਖ ਕੇ ਡੀਵਾਈਸ ਫੜੋ (ਸਕ੍ਰੀਨ ਤੋਂ ਦੂਰ ਮੋਡ) + ਟੇਬਲਟੌਪ ਮੋਡ + ਡੀਵਾਈਸ ਨੂੰ ਮੇਜ਼ \'ਤੇ ਸਿੱਧਾ ਰੱਖੋ (ਟੇਬਲਟੌਪ ਮੋਡ) + ਡੀਵਾਈਸ ਨੂੰ ਫੜਨ ਦਾ ਤਰੀਕਾ ਅਨੁਕੂਲ ਕਰੋ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਲੋੜੀਂਦੇ ਸਪਰਸ਼ ਪੁਆਇੰਟਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ। ਜ਼ਿਆਦਾ ਜਾਣਕਾਰੀ ਲਈ, ਆਪਣੇ ਡੀਵਾਈਸ ਨਿਰਮਾਤਾ ਨਾਲ ਸੰਪਰਕ ਕਰੋ। + %s ਮਿਟਾਇਆ ਗਿਆ + + ਬਿੰਦੀ %s + ਬਿੰਦੀਆਂ %s + ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਨੂੰ ਵਰਤਣ ਲਈ TalkBack ਚਾਲੂ ਕਰੋ ਪਹੁੰਚਯੋਗਤਾ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਚਾਲੂ ਕਰੋ ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਨੂੰ ਵਰਤਣ ਲਈ TalkBack ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕਰੋ @@ -71,32 +86,30 @@ ਹੁਣ ਤੋਂ, ਤੁਸੀਂ ਆਮ TalkBack ਇਸ਼ਾਰਿਆਂ ਨੂੰ ਵਰਤ ਨਹੀਂ ਸਕੋਗੇ। ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਨੂੰ ਵਰਤਣ ਵੇਲੇ TalkBack ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦਾ। ਸ਼ੁਰੂ ਕਰਨ ਲਈ, ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਫੜੋ ਕਿ ਸਕ੍ਰੀਨ ਤੁਹਾਡੇ ਤੋਂ ਪਰ੍ਹਾਂ ਹੋਵੇ। ਜਾਰੀ ਰੱਖਣ ਲਈ ਕਿਤੇ ਵੀ ਡਬਲ ਟੈਪ ਕਰੋ - ਆਪਣੀ ਖੱਬੀ ਤਰਜਨੀ ਉਂਗਲ ਨਾਲ \"A\" ਅੱਖਰ ਟਾਈਪ ਕਰਨ ਲਈ ਬਿੰਦੂ 1 \'ਤੇ ਟੈਪ ਕਰੋ + ਖੱਬੀ ਤਰਜਨੀ ਉਂਗਲ + ਸੱਜੀ ਤਰਜਨੀ ਉਂਗਲ + “A” ਅੱਖਰ ਟਾਈਪ ਕਰਨ ਲਈ ਆਪਣੀ %1$s ਨਾਲ ਬਿੰਦੂ 1 \'ਤੇ ਟੈਪ ਕਰੋ ਇਸ ਤੋਂ ਬਾਅਦ, B, C, ਅਤੇ D ਅੱਖਰ ਟਾਈਪ ਕਰਕੇ ਦੇਖੋ ਕਿਸੇ ਅੱਖਰ ਨੂੰ ਮਿਟਾਉਣ ਲਈ, ਖੱਬੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਖਾਲੀ ਜਗ੍ਹਾ ਸ਼ਾਮਲ ਕਰਨ ਲਈ, ਸੱਜੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ - ਕਰਸਰ ਨੂੰ ਪਿੱਛੇ ਵੱਲ ਲਿਜਾਉਣ ਲਈ, ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ - ਕਰਸਰ ਨੂੰ ਅੱਗੇ ਵੱਲ ਲਿਜਾਉਣ ਲਈ, ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਕੀ-ਬੋਰਡ ਲੁਕਾਉਣ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਤੁਹਾਡੇ ਦੂਜੇ ਕੀ-ਬੋਰਡ \'ਤੇ ਜਾਣ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਟਿਊਟੋਰੀਅਲ ਮੁਕੰਮਲ ਕਰਨ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਮਿਟਾਓ ਖਾਲੀ ਜਗ੍ਹਾ - ਕਰਸਰ ਨੂੰ ਪਿੱਛੇ ਵੱਲ ਲਿਜਾਇਆ ਗਿਆ - ਕਰਸਰ ਨੂੰ ਅੱਗੇ ਵੱਲ ਲਿਜਾਇਆ ਗਿਆ ਕੀ-ਬੋਰਡ ਲੁਕਾਓ ਅਗਲਾ ਕੀ-ਬੋਰਡ ਹੁਣ ਤੋਂ, ਤੁਸੀਂ ਆਮ TalkBack ਇਸ਼ਾਰਿਆਂ ਨੂੰ ਵਰਤ ਨਹੀਂ ਸਕੋਗੇ। ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਨੂੰ ਵਰਤਣ ਵੇਲੇ TalkBack ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦਾ।\n\n%1$s ਪਹਿਲਾਂ, ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਘੁਮਾਓ ਕਿ ਸਕ੍ਰੀਨ ਤੁਹਾਡੇ ਤੋਂ ਪਰ੍ਹਾਂ ਹੋਵੇ।\n\nਇਸ ਤੋਂ ਬਾਅਦ, ਫ਼ੋਨ ਨੂੰ ਲੇਟਵੀਂ ਤੋਂ ਲੈਂਡਸਕੇਪ ਸਥਿਤੀ ਵਿੱਚ ਘੁਮਾਓ। ਫ਼ੋਨ ਨੂੰ ਆਪਣੀਆਂ ਉਂਗਲਾਂ ਨਾਲ ਕਿਨਾਰਿਆਂ ਤੋਂ ਫੜ ਕੇ ਰੱਖੋ। USB ਪੋਰਟ ਵਾਲੀ ਜਗ੍ਹਾ ਦੇ ਕਿਨਾਰੇ ਨੂੰ ਆਪਣੇ ਸੱਜੇ ਹੱਥ ਨਾਲ ਫੜ ਕੇ ਰੱਖੋ। ਬਾਕੀ ਦੀਆਂ 3 ਉਂਗਲਾਂ ਸਕ੍ਰੀਨ \'ਤੇ ਰੱਖੋ, ਅਤੇ ਆਪਣੀ ਛੋਟੀ ਉਂਗਲੀ ਅਤੇ ਅੰਗੂਠੇ ਨਾਲ ਫ਼ੋਨ ਨੂੰ ਫੜ ਕੇ ਰੱਖੋ।\n\nਜਦੋਂ ਤੁਸੀਂ ਤਿਆਰ ਹੋਵੋ, ਤਾਂ ਜਾਰੀ ਰੱਖਣ ਲਈ ਸਕ੍ਰੀਨ \'ਤੇ ਡਬਲ ਟੈਪ ਕਰੋ।\n\nਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਤੋਂ ਬਾਹਰ ਜਾਣ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਇੰਝ ਤੁਸੀਂ ਆਪਣੇ ਮੂਲ ਕੀ-ਬੋਰਡ \'ਤੇ ਵਾਪਸ ਆ ਜਾਵੋਗੇ। ਤੁਹਾਡਾ ਫ਼ੋਨ ਖੜ੍ਹਵੀਂ ਸਥਿਤੀ ਵਿੱਚ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਲਈ, ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਲੇਟਵੀਂ ਸਥਿਤੀ ਵਿੱਚ ਘੁਮਾਓ ਤਾਂ ਜੋ ਲੰਬਾ ਪਾਸਾ ਹੇਠਾਂ ਵੱਲ ਹੋਵੇ। ਫਿਰ ਫ਼ੋਨ ਨੂੰ ਘੁਮਾਓ ਕਿ ਸਕ੍ਰੀਨ ਤੁਹਾਡੇ ਤੋਂ ਪਰ੍ਹਾਂ ਹੋਵੇ। ਜਦੋਂ ਤੁਸੀਂ ਤਿਆਰ ਹੋਵੋ, ਤਾਂ ਜਾਰੀ ਰੱਖਣ ਲਈ ਸਕ੍ਰੀਨ \'ਤੇ ਡਬਲ ਟੈਪ ਕਰੋ। - ਸਕ੍ਰੀਨ ਨੂੰ ਖੁਦ ਤੋਂ ਪਰ੍ਹਾਂ ਰੱਖੋ। ਫ਼ੋਨ ਦੇ ਛੋਟੇ ਕਿਨਾਰਿਆਂ ਤੋਂ, ਫ਼ੋਨ ਨੂੰ ਦੋਵਾਂ ਹੱਥਾਂ ਵਿੱਚ ਫੜ ਕੇ ਰੱਖੋ, ਤਾਂ ਕਿ ਦੋਵਾਂ ਹੱਥਾਂ ਦੀਆਂ ਵਿਚਕਾਰਲੀਆਂ ਉਂਗਲਾਂ ਸਕ੍ਰੀਨ \'ਤੇ ਸਪਰਸ਼ ਕਰ ਸਕਣ\n\nਤੁਹਾਡੀ ਖੱਬੀ ਤਰਜਨੀ ਉਂਗਲ ਬਿੰਦੂ 1 \'ਤੇ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਹੁਣ, “A” ਅੱਖਰ ਟਾਈਪ ਕਰਨ ਲਈ ਬਿੰਦੂ 1 \'ਤੇ ਟੈਪ ਕਰੋ। - “A” ਟਾਈਪ ਕਰਨ ਲਈ ਆਪਣੀ ਖੱਬੀ ਤਰਜਨੀ ਉਂਗਲ ਨਾਲ ਬਿੰਦੂ 1 \'ਤੇ ਟੈਪ ਕਰੋ + ਖੱਬੀ ਤਰਜਨੀ ਉਂਗਲ + ਸੱਜੀ ਤਰਜਨੀ ਉਂਗਲ + ਸਕ੍ਰੀਨ ਨੂੰ ਖੁਦ ਤੋਂ ਪਰ੍ਹਾਂ ਰੱਖੋ। ਫ਼ੋਨ ਦੇ ਛੋਟੇ ਕਿਨਾਰਿਆਂ ਤੋਂ, ਫ਼ੋਨ ਨੂੰ ਦੋਵਾਂ ਹੱਥਾਂ ਵਿੱਚ ਫੜ ਕੇ ਰੱਖੋ, ਤਾਂ ਕਿ ਦੋਵਾਂ ਹੱਥਾਂ ਦੀਆਂ ਵਿਚਕਾਰਲੀਆਂ ਉਂਗਲਾਂ ਸਕ੍ਰੀਨ \'ਤੇ ਸਪਰਸ਼ ਕਰ ਸਕਣ\n\nਤੁਹਾਡੀ %1$s ਬਿੰਦੂ 1 \'ਤੇ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਹੁਣ, “A” ਅੱਖਰ ਟਾਈਪ ਕਰਨ ਲਈ ਬਿੰਦੂ 1 \'ਤੇ ਟੈਪ ਕਰੋ। + “A” ਟਾਈਪ ਕਰਨ ਲਈ ਆਪਣੀ %1$s ਨਾਲ ਬਿੰਦੂ 1 \'ਤੇ ਟੈਪ ਕਰੋ %2$s ਅੱਖਰ ਟਾਈਪ ਕਰਨ ਲਈ %1$s \'ਤੇ ਟੈਪ ਕਰੋ ਕਿਸੇ ਅੱਖਰ ਨੂੰ ਮਿਟਾਉਣ ਲਈ, ਖੱਬੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਹੁਣੇ ਵਰਤ ਕੇ ਦੇਖੋ। d ਨੂੰ ਮਿਟਾਇਆ ਗਿਆ। ਖਾਲੀ ਜਗ੍ਹਾ ਸ਼ਾਮਲ ਕਰਨ ਲਈ, ਸੱਜੇ ਪਾਸੇ ਸਵਾਈਪ ਕਰੋ। ਹੁਣੇ ਵਰਤ ਕੇ ਦੇਖੋ। - ਕਰਸਰ ਨੂੰ ਪਿੱਛੇ ਵੱਲ ਲਿਜਾਉਣ ਲਈ, ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਹੁਣੇ ਵਰਤ ਕੇ ਦੇਖੋ। - ਕਰਸਰ ਨੂੰ ਅੱਗੇ ਵੱਲ ਲਿਜਾਉਣ ਲਈ, ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਹੁਣੇ ਵਰਤ ਕੇ ਦੇਖੋ। ਕੀ-ਬੋਰਡ ਲੁਕਾਉਣ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਹੁਣੇ ਵਰਤ ਕੇ ਦੇਖੋ। ਕੀ-ਬੋਰਡ ਲੁਕਾਓ। ਆਮ ਤੌਰ \'ਤੇ, ਇੰਝ ਕਰਨ ਨਾਲ ਕੀ-ਬੋਰਡ ਲੁਕ ਜਾਵੇਗਾ। ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਖੁੱਲ੍ਹਾ ਰਹੇਗਾ ਕਿਉਂਕਿ ਤੁਸੀਂ ਹਾਲੇ ਵੀ ਟਿਊਟੋਰੀਅਲ ਵਿੱਚ ਹੋ। ਤੁਹਾਡੇ ਦੂਜੇ ਕੀ-ਬੋਰਡ \'ਤੇ ਜਾਣ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਹੁਣੇ ਵਰਤ ਕੇ ਦੇਖੋ। @@ -114,6 +127,4 @@ ਅੱਖਰ ਮਿਟਾਇਆ ਗਿਆ ਸ਼ਬਦ ਮਿਟਾਇਆ ਗਿਆ ਚਲੋ ਟਿਊਟੋਰੀਅਲ \'ਤੇ ਜਾਰੀ ਰੱਖੀਏ। %1$s - ਬਾਹਰੀ ਬਰੇਲ ਡਿਸਪਲੇ ਨੂੰ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਲਿਖਤ ਟਾਈਪ ਕਰਨ ਲਈ ਵਰਤ ਸਕਦੇ ਹੋ।\nਜਾਂ, ਤੁਸੀਂ ਟੱਚ-ਸਕ੍ਰੀਨ ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਜਾਂ ਕਿਸੇ ਹੋਰ ਇਨਪੁੱਟ ਵਿਧੀ \'ਤੇ ਸਵਿੱਚ ਕਰ ਸਕਦੇ ਹੋ। - ਟੱਚ-ਸਕ੍ਰੀਨ ਕੀ-ਬੋਰਡ \'ਤੇ ਸਵਿੱਚ ਕਰੋ diff --git a/braille/brailleime/src/phone/res/values-pl/strings.xml b/braille/brailleime/src/main/res/values-pl/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-pl/strings.xml rename to braille/brailleime/src/main/res/values-pl/strings.xml index e0c142af9..7b4c3acd7 100644 --- a/braille/brailleime/src/phone/res/values-pl/strings.xml +++ b/braille/brailleime/src/main/res/values-pl/strings.xml @@ -5,6 +5,9 @@ Tryb na stole. Połóż urządzenie tak, by port ładowania był po lewej stronie. Aby zmienić pozycję kropki, przytrzymaj ekran 6 palcami. Inne klawiatury nie są uruchomione, otwórz ustawienia klawiatury Przesuń 3 palcami w górę, by wyświetlić więcej opcji + Przełączono na brajla skrótowego + Przełączono na brajla integralnego + Przełączono na brajla integralnego klawiatura brajlowska klawiatura brajlowska, %s Klawiatura brajlowska TalkBack – aby uzyskać pomoc, kliknij g.co/help/braille @@ -17,7 +20,6 @@ Zmieniono pozycje kropek 1, 2 i 3. Teraz zarejestruj kropki w przypadku prawej ręki. Naciśnij i przytrzymaj ekran 3 środkowymi palcami prawej dłoni. Zmieniono pozycje kropek 1, 2 i 3. Następnie zarejestruj kropki w przypadku lewej ręki. Naciśnij i przytrzymaj ekran 3 środkowymi palcami lewej dłoni. Nie udało się zmienić pozycji kropki. Naciśnij i przytrzymaj ekran 6 palcami. Następnie spróbuj ponownie. - Przełączono na: %s Klawiatura brajlowska Skonfiguruj klawiaturę brajlowską Jak używać klawiatury brajlowskiej @@ -27,18 +29,23 @@ <br><br>2. <b>Używanie klawiatury brajlowskiej</b>: otwórz klawiaturę standardową, a następnie kliknij ikonę wyboru klawiatury %2$s (zazwyczaj w prawym dolnym rogu). Wybierz „%1$s”. <br><br>Jeśli nie widzisz opcji przełączania klawiatury, zainstaluj klawiaturę Google %3$s. Ustawienia - Języki wpisywania - Preferowany język - Nie pokazuj ponownie - Szybko zmieniaj język podczas pisania - Aby zmieniać język podczas pisania przy użyciu klawiatury brajlowskiej, otwórz menu opcji, przesuwając w górę 3 palcami. Następnie wybierz opcję „Przełącz na następny język”. + Języki wpisywania + Unified English Braille + Hiszpański + arabski + francuski + Polski Uwzględniaj wszystkie naciśnięte punkty Każdy naciśnięty punkt jest uwzględniany, nawet jeśli przestajesz go naciskać przed pozostałymi Odwróć punkty Zmień położenie punktów, np. zamień miejscami punkty 1 i 4 Opcje klawiatury brajlowskiej - Przełącz na następny język: %s - Teraz używasz języka: %s + Zmień język pisania + Teraz używasz języka %s + Język pisania + Przełącz na brajla: %s + skrótowego + integralnego Przejrzyj wszystkie gesty Otwórz samouczek Zakończ samouczek @@ -49,15 +56,25 @@ Aby usunąć, przesuń palcem w lewo Aby pisać od nowego wiersza, przesuń 2 palcami w prawo Aby usunąć słowo, przesuń 2 palcami w lewo - Aby przenieść kursor wstecz, przesuń palcem w górę - Aby przenieść kursor dalej, przesuń palcem w dół Aby ukryć klawiaturę, przesuń 2 palcami w dół. Aby przełączyć się na następną klawiaturę, przesuń 3 palcami w dół Aby przesłać tekst, przesuń 2 palcami w górę Aby wyświetlić pomoc i inne opcje, przesuń 3 palcami w górę OK + Tryb Ekran odsunięty + Trzymaj urządzenie tak, by ekran był od Ciebie odsunięty (tryb odsuniętego ekranu) + Tryb na stole + Połóż urządzenie płasko na stole (tryb na stole) + Dostosuj do swojego sposobu trzymania urządzenia Urządzenie nie obsługuje klawiatury brajlowskiej Urządzenie nie obsługuje dostatecznie wielu punktów kontaktu. Aby uzyskać więcej informacji, skontaktuj się z producentem urządzenia. + Usunięto tekst %s + + punkt %s + punkty %s + punkty %s + punkty %s + Włącz TalkBack, by używać klawiatury brajlowskiej Włącz w ustawieniach ułatwień dostępu Wznów TalkBack, by używać klawiatury brajlowskiej @@ -71,32 +88,30 @@ Od teraz nie możesz korzystać ze standardowych gestów TalkBack. Gdy używasz klawiatury brajlowskiej, usługa TalkBack jest niedostępna. Najpierw chwyć telefon w prezentowany sposób, odwracając ekran od siebie. Kliknij dwukrotnie w dowolnym miejscu, by kontynuować - Kliknij punkt 1 lewym palcem wskazującym, by napisać literę „A” + lewy palec wskazujący + prawy palec wskazujący + Kliknij punkt 1 (%1$s), by napisać literę „A”. Następnie napisz litery B, C oraz D Aby usunąć literę, przesuń palcem w lewo Aby dodać spację, przesuń palcem w prawo - Aby przenieść kursor wstecz, przesuń palcem w górę - Aby przenieść kursor dalej, przesuń palcem w dół Aby ukryć klawiaturę, przesuń 2 palcami w dół Aby przełączyć się na inną klawiaturę, przesuń 3 palcami w dół Aby zakończyć samouczek, przesuń 3 palcami w górę USUŃ SPACJA - PRZENIESIONO KURSOR WSTECZ - PRZENIESIONO KURSOR DALEJ UKRYJ KLAWIATURĘ NASTĘPNA KLAWIATURA Od teraz nie możesz korzystać ze standardowych gestów TalkBack. Gdy używasz klawiatury brajlowskiej, usługa TalkBack jest niedostępna.\n\n%1$s Najpierw odwróć telefon ekranem od siebie.\n\nNastępnie obróć telefon i ustaw go poziomo. Trzymaj telefon za krótsze krawędzie. Prawą ręką trzymaj część, w której znajduje się port USB. Połóż 3 środkowe palce na ekranie, a kciukiem i małym placem podpieraj telefon.\n\nGdy wszystko będzie gotowe, kliknij ekran dwukrotnie, by przejść dalej.\n\nAby zamknąć klawiaturę brajlowską, przesuń 3 palcami w dół. Spowoduje to przełączenie na pierwotną klawiaturę. Telefon jest ustawiony pionowo. Aby przejść dalej, obróć go w poziomie, tak by długa krawędź znalazła się na dole. Następnie odwróć ekran od siebie. Gdy wszystko będzie gotowe, kliknij ekran dwukrotnie, by przejść dalej. - Trzymaj telefon tak, by ekran był od Ciebie odwrócony. Przytrzymuj telefon obiema rękami za krótsze krawędzie, pilnując, by 3 środkowe palce każdej dłoni mogły dotknąć ekranu.\n\nLewy palec wskazujący powinien znajdować się na punkcie 1. Kliknij punkt 1, by napisać literę „A”. - Kliknij punkt 1 lewym palcem wskazującym, by napisać „A” + lewy palec wskazujący + prawy palec wskazujący + Trzymaj telefon tak, by ekran był od Ciebie odwrócony. Przytrzymuj telefon obiema rękami za krótsze krawędzie, pilnując, by 3 środkowe palce każdej dłoni mogły dotknąć ekranu.\n\nTwój %1$s powinien znajdować się na punkcie 1. Kliknij punkt 1, by napisać literę „A”. + Kliknij punkt 1 (%1$s), by napisać „A” Kliknij %1$s, by napisać literę %2$s Aby usunąć literę, przesuń palcem w lewo. Spróbuj to zrobić teraz. Usunięto d. Aby dodać spację, przesuń palcem w prawo. Spróbuj to zrobić teraz. - Aby przenieść kursor wstecz, przesuń palcem w górę. Spróbuj to zrobić teraz. - Aby przenieść kursor dalej, przesuń palcem w dół. Spróbuj to zrobić teraz. Aby ukryć klawiaturę, przesuń 2 palcami w dół. Spróbuj to zrobić teraz. Ukryj klawiaturę. Zwykle powoduje to ukrycie klawiatury. Klawiatura brajlowska pozostaje otwarta, ponieważ wciąż masz uruchomiony samouczek. Aby przełączyć się na inną klawiaturę, przesuń 3 palcami w dół. Spróbuj to zrobić teraz. @@ -114,6 +129,4 @@ Usunięto literę Usunięto słowo Kontynuujmy samouczek. %1$s - Podłączono zewnętrzny monitor brajlowski, którego możesz użyć do pisania na tym urządzeniu.\nMożesz też skorzystać z klawiatury brajlowskiej na ekranie dotykowym lub innej metody wprowadzania tekstu. - Przełącz się na klawiaturę na ekranie dotykowym diff --git a/braille/brailleime/src/phone/res/values-pt/strings.xml b/braille/brailleime/src/main/res/values-pt-rBR/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-pt/strings.xml rename to braille/brailleime/src/main/res/values-pt-rBR/strings.xml index ecb30c2e3..7b26cf0e1 100644 --- a/braille/brailleime/src/phone/res/values-pt/strings.xml +++ b/braille/brailleime/src/main/res/values-pt-rBR/strings.xml @@ -5,6 +5,9 @@ Modo de mesa Coloque o dispositivo com a porta de carregamento para a esquerda. Para atualizar a posição dos pontos, pressione com seis dedos. Não há outro teclado ativado. Acesse as configurações de teclado Para mais opções, deslize com três dedos para cima + Alternado para braille abreviado + Alternado para braille integral + Alternado para UEB integral teclado em braille teclado em braille, %s Teclado em braille do TalkBack: para receber ajuda, acesse g.co/help/braille @@ -17,7 +20,6 @@ Posições dos pontos 1, 2 e 3 atualizadas. Agora, vamos gravar os pontos da sua mão direita. Toque na tela com os três dedos do meio da mão direita e a mantenha pressionada. Posições dos pontos 1, 2 e 3 atualizadas. Agora, vamos gravar os pontos da sua mão esquerda. Toque na tela com os três dedos do meio da mão esquerda e a mantenha pressionada. Não foi possível atualizar a posição dos pontos. Toque com seis dedos na tela e a mantenha pressionada. Em seguida, tente novamente. - Mudou para %s Teclado em braille Configurar teclado em braille Como usar o teclado em braille @@ -27,18 +29,23 @@ <br><br>2. <b>Usar o teclado em braille</b>: abra o teclado normal e toque no ícone escolher teclado %2$s, geralmente no canto inferior direito. Selecione \"%1$s\". <br><br>Caso não veja a opção para trocar de teclado, tente instalar %3$s, o teclado do Google. Configurações - Idiomas de digitação - Idioma preferencial - Não mostrar novamente - Mudar o idioma rapidamente durante a digitação - Se quiser mudar o idioma durante a digitação com o teclado em braille, deslize para cima com três dedos. Em seguida, selecione \"Mudar para o próximo idioma\". + Idiomas de digitação + Unified English Braille + Espanhol + Árabe + Francês + Polonês Incluir todos os pontos pressionados Cada ponto pressionado faz parte da entrada, mesmo se ele for solto antes dos outros Pontos invertidos Mude a posição dos pontos para que os pontos 1 e 4 troquem de lugar, por exemplo Opções do teclado em braille - Mudar para o próximo idioma: %s - Em uso: %s + Mudar idioma de digitação + Em uso no momento: %s + Idioma de digitação + Alternar para braille %s + abreviado + integral Revisar todos os gestos Abrir o tutorial Concluir o tutorial @@ -49,15 +56,23 @@ Para excluir, deslize para a esquerda Para criar uma nova linha, deslize para a direita com dois dedos Para excluir uma palavra, deslize para a esquerda com dois dedos - Se quiser mover o cursor para trás, deslize para cima - Se quiser mover o cursor para frente, deslize para baixo Para ocultar o teclado, deslize para baixo com dois dedos Para alternar para o próximo teclado, deslize para baixo com três dedos Para enviar uma mensagem, deslize para cima com dois dedos Para receber ajuda e ter outras opções, deslize para cima com três dedos Concluído + Modo tela de costas + Segurar o dispositivo com a tela de costas para você (modo tela de costas) + Modo de mesa + Colocar o dispositivo com a tela para cima em uma mesa (modo de mesa) + Adaptar à forma como eu seguro o dispositivo Seu dispositivo não é compatível com o teclado em braille Seu dispositivo não é compatível com um número suficiente de pontos de toque. Para mais informações, entre em contato com o fabricante do dispositivo. + %s excluído + + ponto %s + pontos %s + Ative o TalkBack para usar o teclado em braille Ative-o nas configurações de acessibilidade Retomar o TalkBack para usar o teclado em braille @@ -71,32 +86,30 @@ A partir de agora, não será possível usar os gestos normais do TalkBack. O TalkBack não está disponível durante o uso do teclado em braille. Para começar, segure o smartphone desta forma, com a tela voltada para o lado oposto a você. Toque duas vezes em qualquer lugar para continuar - Toque no ponto 1 com o indicador esquerdo para digitar a letra \"A\" + indicador esquerdo + indicador direito + Toque no ponto 1 com o %1$s para digitar a letra \"A\" Agora, tente digitar as letras B, C e D Para excluir uma letra, deslize para a esquerda Para adicionar um espaço, deslize para a direita - Se quiser mover o cursor para trás, deslize para cima - Se quiser mover o cursor para frente, deslize para baixo Para ocultar o teclado, deslize para baixo com dois dedos Para alternar para outro teclado, deslize para baixo com três dedos Para terminar o tutorial, deslize para cima com três dedos EXCLUIR ESPAÇO - CURSOR MOVIDO PARA TRÁS - CURSOR MOVIDO PARA FRENTE OCULTAR TECLADO PRÓXIMO TECLADO A partir de agora, não será possível usar os gestos normais do TalkBack. Esse recurso não está disponível durante o uso do teclado em braille.\n\n%1$s Primeiro, vire a tela do smartphone para o lado oposto a você.\n\nEm seguida, gire o dispositivo horizontalmente para a posição paisagem. Suas mãos precisam estar segurando as extremidades menores do smartphone. Segure a extremidade da porta USB com a mão direita. Coloque os três dedos do meio na tela e use o dedo mínimo e o polegar para segurar o dispositivo.\n\nQuando estiver tudo pronto, toque duas vezes na tela para continuar.\n\nSe quiser sair do teclado em braille, deslize para baixo em direção ao chão com três dedos. Isso trará o teclado original de volta. O smartphone está na posição vertical. Para continuar, gire-o horizontalmente para que a extremidade maior fique para baixo. Em seguida, vire a tela para o lado oposto a você. Quando estiver tudo pronto, toque na tela duas vezes para continuar. - Mantenha a tela virada para o lado oposto a você. Segure o smartphone com as duas mãos pelas extremidades menores de forma que os três dedos do meio de cada mão toquem na tela.\n\nSeu indicador esquerdo estará no ponto 1. Agora, toque no ponto 1 para digitar a letra \"A\". - Toque no ponto 1 com o indicador esquerdo para digitar a letra \"A\" + indicador esquerdo + indicador direito + Mantenha a tela virada para o lado oposto a você. Segure o smartphone com as duas mãos pelas extremidades menores de forma que os três dedos do meio de cada mão toquem na tela.\n\nSeu %1$s estará no ponto 1. Agora, toque no ponto 1 para digitar a letra \"A\". + Toque no ponto 1 com o %1$s para digitar “A” Toque em %1$s para digitar a letra %2$s Para excluir uma letra, deslize para a esquerda. Faça um teste. a excluído. Para adicionar um espaço, deslize para a direita. Faça um teste. - Se quiser mover o cursor para trás, deslize para cima. Faça um teste. - Se quiser mover o cursor para frente, deslize para baixo. Faça um teste. Para ocultar o teclado, deslize para baixo com dois dedos. Faça um teste. Ocultar teclado. Normalmente, isso oculta o teclado. Agora, ele permanecerá aberto porque você ainda está fazendo o tutorial. Para alternar para outro teclado, deslize para baixo com três dedos. Faça um teste. @@ -114,6 +127,4 @@ Letra excluída Palavra excluída Vamos continuar o tutorial. %1$s - Uma linha braille externa, que você pode usar para digitar texto no dispositivo, está conectada.\nVocê também pode alternar para o teclado em braille touchscreen ou o para o próximo método de entrada. - Alternar para o teclado touchscreen diff --git a/braille/brailleime/src/phone/res/values-pt-rPT/strings.xml b/braille/brailleime/src/main/res/values-pt-rPT/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-pt-rPT/strings.xml rename to braille/brailleime/src/main/res/values-pt-rPT/strings.xml index 59e0a20e6..7ed7d3b1a 100644 --- a/braille/brailleime/src/phone/res/values-pt-rPT/strings.xml +++ b/braille/brailleime/src/main/res/values-pt-rPT/strings.xml @@ -5,6 +5,9 @@ Modo de mesa. Coloque o dispositivo com a porta de carregamento para a esquerda. Atualize a posição dos pontos ao manter premidos 6 dedos. Não existe outro teclado ativado, aceda às definições do teclado. Deslize rapidamente para cima com 3 dedos para obter mais opções. + Mudou para braille contraído. + Mudou para braille não contraído. + Mudou para UEB não contraído teclado de braille teclado de braille, %s Teclado de braille do TalkBack – para obter ajuda, visite g.co/help/braille. @@ -17,7 +20,6 @@ Foram atualizadas as posições dos pontos 1, 2 e 3. Em seguida, vamos gravar os pontos na sua mão direita. Toque sem soltar no ecrã com os 3 dedos do meio da sua mão direita. Foram atualizadas as posições dos pontos 1, 2 e 3. Em seguida, vamos gravar os pontos na sua mão esquerda. Toque sem soltar no ecrã com os 3 dedos do meio da sua mão esquerda. Não foi possível atualizar a posição dos pontos. Toque sem soltar no ecrã com 6 dedos. Em seguida, tente novamente. - Mudou para %s Teclado de braille Configure o teclado de braille Como utilizar o teclado de braille @@ -27,21 +29,26 @@ <br><br>2. <b>Utilizar o teclado de braille</b>: abra o teclado normal e, em seguida, toque no ícone escolher teclado %2$s (geralmente, no canto inferior direito). Selecione \"%1$s.\" <br><br>Se não vir uma opção para mudar de teclado, tente instalar %3$s, o Teclado Google. Definições - Idiomas de escrita - Idioma preferido - Não voltar a mostrar - Mude rapidamente de idioma enquanto escreve - Para mudar o seu idioma enquanto escreve com o teclado de braille, deslize rapidamente para cima com 3 dedos. Em seguida, selecione \"mudar para o idioma seguinte\". + Idiomas de escrita + Braille unificado em inglês + Espanhol + Árabe + Francês + Polaco Incluir todos os pontos premidos Cada ponto premido é parte da introdução, mesmo que seja solto antes de outros pontos. Pontos invertidos Alterne as posições dos pontos para que os pontos 1 e 4 troquem de posição, por exemplo. Opções do teclado de braille - Mude para o idioma seguinte: %s - A utilizar atualmente: %s + Alterar idioma de escrita + A utilizar atualmente %s + Idioma de escrita + Mudar para braille %s + contraído + não contraído Rever todos os gestos Abrir tutorial - Concluir tutorial + Concluir o tutorial Definições Esquema Gestos do teclado de braille @@ -49,15 +56,23 @@ Para eliminar, deslize rapidamente para a esquerda. Para uma nova linha, deslize rapidamente para a direita com 2 dedos. Para eliminar uma palavra, deslize rapidamente para a esquerda com 2 dedos. - Para mover o cursor para trás, deslize rapidamente para cima - Para mover o cursor para a frente, deslize rapidamente para baixo Para ocultar o teclado, deslize rapidamente para baixo com 2 dedos. Para mudar para o teclado seguinte, deslize rapidamente para baixo com 3 dedos. Para enviar texto, deslize rapidamente para cima com 2 dedos. Para obter ajuda e outras opções, deslize rapidamente para cima com 3 dedos. Concluído + Modo de ecrã afastado + Segure no dispositivo com o ecrã afastado de si (modo de ecrã afastado). + Modo de mesa + Coloque o dispositivo na horizontal numa mesa (modo de mesa). + Adaptar à forma como segura no dispositivo O seu dispositivo não suporta o teclado de braille O seu dispositivo não suporta pontos de toque suficientes. Para mais informações, contacte o fabricante do dispositivo. + %s eliminado. + + ponto %s + pontos %s + Ative o TalkBack para utilizar o teclado de braille Ativar nas definições de acessibilidade Retome o TalkBack para utilizar o teclado de braille @@ -71,32 +86,30 @@ A partir de agora, não poderá utilizar gestos normais do TalkBack. O TalkBack não está disponível enquanto utiliza o teclado de braille. Para começar, segure no telemóvel desta forma, com o ecrã virado para o lado oposto de si. Toque duas vezes em qualquer local para continuar. - Toque no ponto 1 com o dedo indicador esquerdo para escrever a letra \"A\". + dedo indicador esquerdo + dedo indicador direito + Toque no ponto 1 com o %1$s para escrever \"A\". Em seguida, tente escrever as letras B, C e D. Para eliminar uma letra, deslize rapidamente para a esquerda. Para adicionar um espaço, deslize rapidamente para a direita. - Para mover o cursor para trás, deslize rapidamente para cima - Para mover o cursor para a frente, deslize rapidamente para baixo Para ocultar o teclado, deslize rapidamente para baixo com 2 dedos. Para mudar para o outro teclado, deslize rapidamente para baixo com 3 dedos. Para concluir o tutorial, deslize rapidamente para cima com 3 dedos. ELIMINAR ESPAÇO - MOVEU O CURSOR PARA TRÁS - MOVEU O CURSOR PARA A FRENTE OCULTAR TECLADO TECLADO SEGUINTE A partir de agora, não poderá utilizar gestos normais do TalkBack. O TalkBack não está disponível enquanto utiliza o teclado de braille.\n\n%1$s Primeiro, vire o telemóvel de modo a que o ecrã fique virado para o lado oposto de si.\n\nEm seguida, rode o telemóvel horizontalmente para a posição de paisagem. As suas mãos devem segurar nos lados mais curtos do telemóvel. A sua mão direita deve segurar o lado que tem a porta USB. Pouse os 3 dedos do meio sobre o ecrã e utilize o dedo mindinho e o polegar para segurar no telemóvel.\n\nQuando tiver tudo pronto, toque duas vezes no ecrã para continuar.\n\nPara sair do teclado de braille, deslize rapidamente para baixo com 3 dedos na direção do solo. Isto permite regressar ao seu teclado original. O seu telemóvel está na posição vertical. Para continuar, rode o telemóvel horizontalmente de modo a que o lado mais longo fique na parte inferior. Em seguida, rode o ecrã para que fique virado para o lado oposto de si. Quando tiver tudo pronto, toque duas vezes no ecrã para continuar. - Mantenha o ecrã virado para o lado oposto de si. Segure no telemóvel com ambas as mãos, pelos lados mais curtos, de modo a que os 3 dedos do meio de cada mão consigam tocar no ecrã.\n\nO seu dedo indicador esquerdo deve estar sobre o ponto 1. Agora, toque no ponto 1 para escrever a letra \"A\". - Toque no ponto 1 com o dedo indicador esquerdo para escrever \"A\". + dedo indicador esquerdo + dedo indicador direito + Mantenha o ecrã virado para o lado oposto de si. Segure no telemóvel com ambas as mãos, pelos lados mais curtos, de modo a que os 3 dedos do meio de cada mão consigam tocar no ecrã.\n\nO seu %1$s deve estar sobre o ponto 1. Agora, toque no ponto 1 para escrever a letra \"A\". + Toque no ponto 1 com o %1$s para escrever \"A\". Toque em %1$s para escrever a letra %2$s. Para eliminar uma letra, deslize rapidamente para a esquerda. Experimente agora. d eliminado. Para adicionar um espaço, deslize rapidamente para a direita. Experimente agora. - Para mover o cursor para trás, deslize rapidamente para cima. Experimente agora. - Para mover o cursor para a frente, deslize rapidamente para baixo. Experimente agora. Para ocultar o teclado, deslize rapidamente para baixo com 2 dedos. Experimente agora. Oculte o teclado. Geralmente, esta ação oculta o teclado. O teclado de braille vai manter-se aberto porque ainda está no tutorial. Para mudar para o outro teclado, deslize rapidamente para baixo com 3 dedos. Experimente agora. @@ -114,6 +127,4 @@ Letra eliminada. Palavra eliminada. Vamos continuar com o tutorial. %1$s - Está ligado um ecrã em braille externo, que pode usar para introduzir texto neste dispositivo.\nEm alternativa, pode mudar para o teclado de braille do ecrã tátil ou o método de introdução seguinte. - Mudar para teclado do ecrã tátil diff --git a/braille/brailleime/src/phone/res/values-pt-rBR/strings.xml b/braille/brailleime/src/main/res/values-pt/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-pt-rBR/strings.xml rename to braille/brailleime/src/main/res/values-pt/strings.xml index ecb30c2e3..7b26cf0e1 100644 --- a/braille/brailleime/src/phone/res/values-pt-rBR/strings.xml +++ b/braille/brailleime/src/main/res/values-pt/strings.xml @@ -5,6 +5,9 @@ Modo de mesa Coloque o dispositivo com a porta de carregamento para a esquerda. Para atualizar a posição dos pontos, pressione com seis dedos. Não há outro teclado ativado. Acesse as configurações de teclado Para mais opções, deslize com três dedos para cima + Alternado para braille abreviado + Alternado para braille integral + Alternado para UEB integral teclado em braille teclado em braille, %s Teclado em braille do TalkBack: para receber ajuda, acesse g.co/help/braille @@ -17,7 +20,6 @@ Posições dos pontos 1, 2 e 3 atualizadas. Agora, vamos gravar os pontos da sua mão direita. Toque na tela com os três dedos do meio da mão direita e a mantenha pressionada. Posições dos pontos 1, 2 e 3 atualizadas. Agora, vamos gravar os pontos da sua mão esquerda. Toque na tela com os três dedos do meio da mão esquerda e a mantenha pressionada. Não foi possível atualizar a posição dos pontos. Toque com seis dedos na tela e a mantenha pressionada. Em seguida, tente novamente. - Mudou para %s Teclado em braille Configurar teclado em braille Como usar o teclado em braille @@ -27,18 +29,23 @@ <br><br>2. <b>Usar o teclado em braille</b>: abra o teclado normal e toque no ícone escolher teclado %2$s, geralmente no canto inferior direito. Selecione \"%1$s\". <br><br>Caso não veja a opção para trocar de teclado, tente instalar %3$s, o teclado do Google. Configurações - Idiomas de digitação - Idioma preferencial - Não mostrar novamente - Mudar o idioma rapidamente durante a digitação - Se quiser mudar o idioma durante a digitação com o teclado em braille, deslize para cima com três dedos. Em seguida, selecione \"Mudar para o próximo idioma\". + Idiomas de digitação + Unified English Braille + Espanhol + Árabe + Francês + Polonês Incluir todos os pontos pressionados Cada ponto pressionado faz parte da entrada, mesmo se ele for solto antes dos outros Pontos invertidos Mude a posição dos pontos para que os pontos 1 e 4 troquem de lugar, por exemplo Opções do teclado em braille - Mudar para o próximo idioma: %s - Em uso: %s + Mudar idioma de digitação + Em uso no momento: %s + Idioma de digitação + Alternar para braille %s + abreviado + integral Revisar todos os gestos Abrir o tutorial Concluir o tutorial @@ -49,15 +56,23 @@ Para excluir, deslize para a esquerda Para criar uma nova linha, deslize para a direita com dois dedos Para excluir uma palavra, deslize para a esquerda com dois dedos - Se quiser mover o cursor para trás, deslize para cima - Se quiser mover o cursor para frente, deslize para baixo Para ocultar o teclado, deslize para baixo com dois dedos Para alternar para o próximo teclado, deslize para baixo com três dedos Para enviar uma mensagem, deslize para cima com dois dedos Para receber ajuda e ter outras opções, deslize para cima com três dedos Concluído + Modo tela de costas + Segurar o dispositivo com a tela de costas para você (modo tela de costas) + Modo de mesa + Colocar o dispositivo com a tela para cima em uma mesa (modo de mesa) + Adaptar à forma como eu seguro o dispositivo Seu dispositivo não é compatível com o teclado em braille Seu dispositivo não é compatível com um número suficiente de pontos de toque. Para mais informações, entre em contato com o fabricante do dispositivo. + %s excluído + + ponto %s + pontos %s + Ative o TalkBack para usar o teclado em braille Ative-o nas configurações de acessibilidade Retomar o TalkBack para usar o teclado em braille @@ -71,32 +86,30 @@ A partir de agora, não será possível usar os gestos normais do TalkBack. O TalkBack não está disponível durante o uso do teclado em braille. Para começar, segure o smartphone desta forma, com a tela voltada para o lado oposto a você. Toque duas vezes em qualquer lugar para continuar - Toque no ponto 1 com o indicador esquerdo para digitar a letra \"A\" + indicador esquerdo + indicador direito + Toque no ponto 1 com o %1$s para digitar a letra \"A\" Agora, tente digitar as letras B, C e D Para excluir uma letra, deslize para a esquerda Para adicionar um espaço, deslize para a direita - Se quiser mover o cursor para trás, deslize para cima - Se quiser mover o cursor para frente, deslize para baixo Para ocultar o teclado, deslize para baixo com dois dedos Para alternar para outro teclado, deslize para baixo com três dedos Para terminar o tutorial, deslize para cima com três dedos EXCLUIR ESPAÇO - CURSOR MOVIDO PARA TRÁS - CURSOR MOVIDO PARA FRENTE OCULTAR TECLADO PRÓXIMO TECLADO A partir de agora, não será possível usar os gestos normais do TalkBack. Esse recurso não está disponível durante o uso do teclado em braille.\n\n%1$s Primeiro, vire a tela do smartphone para o lado oposto a você.\n\nEm seguida, gire o dispositivo horizontalmente para a posição paisagem. Suas mãos precisam estar segurando as extremidades menores do smartphone. Segure a extremidade da porta USB com a mão direita. Coloque os três dedos do meio na tela e use o dedo mínimo e o polegar para segurar o dispositivo.\n\nQuando estiver tudo pronto, toque duas vezes na tela para continuar.\n\nSe quiser sair do teclado em braille, deslize para baixo em direção ao chão com três dedos. Isso trará o teclado original de volta. O smartphone está na posição vertical. Para continuar, gire-o horizontalmente para que a extremidade maior fique para baixo. Em seguida, vire a tela para o lado oposto a você. Quando estiver tudo pronto, toque na tela duas vezes para continuar. - Mantenha a tela virada para o lado oposto a você. Segure o smartphone com as duas mãos pelas extremidades menores de forma que os três dedos do meio de cada mão toquem na tela.\n\nSeu indicador esquerdo estará no ponto 1. Agora, toque no ponto 1 para digitar a letra \"A\". - Toque no ponto 1 com o indicador esquerdo para digitar a letra \"A\" + indicador esquerdo + indicador direito + Mantenha a tela virada para o lado oposto a você. Segure o smartphone com as duas mãos pelas extremidades menores de forma que os três dedos do meio de cada mão toquem na tela.\n\nSeu %1$s estará no ponto 1. Agora, toque no ponto 1 para digitar a letra \"A\". + Toque no ponto 1 com o %1$s para digitar “A” Toque em %1$s para digitar a letra %2$s Para excluir uma letra, deslize para a esquerda. Faça um teste. a excluído. Para adicionar um espaço, deslize para a direita. Faça um teste. - Se quiser mover o cursor para trás, deslize para cima. Faça um teste. - Se quiser mover o cursor para frente, deslize para baixo. Faça um teste. Para ocultar o teclado, deslize para baixo com dois dedos. Faça um teste. Ocultar teclado. Normalmente, isso oculta o teclado. Agora, ele permanecerá aberto porque você ainda está fazendo o tutorial. Para alternar para outro teclado, deslize para baixo com três dedos. Faça um teste. @@ -114,6 +127,4 @@ Letra excluída Palavra excluída Vamos continuar o tutorial. %1$s - Uma linha braille externa, que você pode usar para digitar texto no dispositivo, está conectada.\nVocê também pode alternar para o teclado em braille touchscreen ou o para o próximo método de entrada. - Alternar para o teclado touchscreen diff --git a/braille/brailleime/src/phone/res/values-ro/strings.xml b/braille/brailleime/src/main/res/values-ro/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-ro/strings.xml rename to braille/brailleime/src/main/res/values-ro/strings.xml index 7f91dc73b..541fa7a7f 100644 --- a/braille/brailleime/src/phone/res/values-ro/strings.xml +++ b/braille/brailleime/src/main/res/values-ro/strings.xml @@ -5,6 +5,9 @@ Modul pe masă. Așezați dispozitivul cu portul de încărcare spre stânga. Ca să actualizați poziția punctului, apăsați cu șase degete. Nu există altă tastatură activată; accesați setările tastaturii Glisați în sus cu trei degete pentru mai multe opțiuni + S-a trecut la tastatura Braille contractată + S-a trecut la tastatura Braille necontractată + Ați comutat la UEB necontractat Tastatura Braille Tastatura Braille, %s Tastatura Braille TalkBack – pentru ajutor, accesați g.co/help/braille @@ -17,7 +20,6 @@ S-au actualizat pozițiile punctelor 1, 2 și 3. Să înregistrăm punctele de pe mâna dreaptă. Atingeți lung ecranul cu cele trei degete din mijloc de la mâna dreaptă. S-au actualizat pozițiile punctelor 1, 2 și 3. Să înregistrăm punctele de pe mâna stângă. Atingeți lung ecranul cu cele trei degete din mijloc de la mâna stângă. Nu s-a putut actualiza poziția punctelor. Atingeți lung cu șase degete pe ecran. Apoi, încercați din nou. - Ați trecut la %s Tastatura Braille Configurați tastatura braille Cum se folosește tastatura braille @@ -27,18 +29,23 @@ <br><br>2. <b>Folosiți tastatura Braille</b>: deschideți tastatura obișnuită, apoi atingeți pictograma Alegeți tastatura %2$s (de obicei în colțul din dreapta jos). Selectați „%1$s.” <br><br>Dacă nu vedeți opțiunea de schimbare a tastaturii, instalați %3$s, tastatura Google. Setări - Limbi în care se introduce textul - Limba preferată - Nu mai afișa acest mesaj - Schimbați rapid limba în timp ce introduceți text - Pentru a trece la tastatura braille în timp ce introduceți text, glisați în sus cu trei degete. Apoi selectați Comutați la următoarea limbă. + Limbi de introducere text + Unified English Braille + Spaniolă + Arabă + Franceză + Poloneză Includeți toate punctele apăsate Fiecare punct apăsat face parte din intrare, chiar dacă este eliberat înaintea altora Inversați punctele Inversați pozițiile punctelor, de exemplu, pentru ca punctele 1 și 4 să facă schimb de locuri Opțiuni pentru tastatura Braille - Comutați la următoarea limbă: %s - Acum folosiți: %s + Schimbați limba în care se introduce textul + Acum folosiți %s + Limba în care se introduce textul + Comutați la tastatura Braille %s + contractată + necontractată Examinați toate gesturile Deschideți tutorialul Finalizați tutorialul @@ -49,15 +56,24 @@ Ca să ștergeți, glisați spre stânga Pentru un rând nou, glisați spre dreapta cu două degete Ca să ștergeți un cuvânt, glisați spre stânga cu două degete - Glisați în sus pentru a muta cursorul înapoi - Glisați în jos pentru a muta cursorul înainte Ca să ascundeți tastatura, glisați în jos cu două degete Ca să treceți la tastatura următoare, glisați în jos cu trei degete Ca să trimiteți text, glisați în sus cu două degete Pentru ajutor și alte opțiuni, glisați în sus cu trei degete Gata + Modul ecran întors cu spatele + Țineți dispozitivul întors cu spatele (modul ecran întors cu spatele) + Modul Pe masă + Așezați dispozitivul pe o masă (modul pe masă). + Adaptați-vă la cum țineți dispozitivul Dispozitivul dvs. nu acceptă tastatura Braille Dispozitivul dvs. nu acceptă destule puncte tactile. Pentru mai multe informații, contactați producătorul dispozitivului. + S-a șters %s + + punct %s + puncte %s + puncte %s + Activați TalkBack ca să folosiți tastatura Braille Activați în setările de accesibilitate Reluați TalkBack ca să folosiți tastatura Braille @@ -71,32 +87,30 @@ Începând de acum, nu veți mai putea folosi gesturi TalkBack obișnuite. TalkBack nu este disponibil în timp ce folosiți tastatura Braille. Pentru început, țineți telefonul așa, cu ecranul în direcția opusă dvs. Atingeți de două ori oriunde ca să continuați - Atingeți punctul 1 cu arătătorul stâng ca să introduceți litera „A” + arătătorul stâng + arătătorul drept + Atingeți punctul 1 cu %1$s ca să introduceți litera „A” Apoi încercați să introduceți literele B, C și D Ca să ștergeți o literă, glisați spre stânga Ca să adăugați un spațiu, glisați spre dreapta - Glisați în sus pentru a muta cursorul înapoi - Glisați în jos pentru a muta cursorul înainte Ca să ascundeți tastatura, glisați în jos cu două degete Ca să treceți la cealaltă tastatură, glisați în jos cu trei degete Ca să terminați tutorialul, glisați în sus cu trei degete ȘTERGEȚI SPAȚIU - AȚI MUTAT CURSORUL ÎNAPOI - AȚI MUTAT CURSORUL ÎNAINTE ASCUNDEȚI TASTATURA URMĂTOAREA TASTATURĂ Începând de acum, nu veți mai putea folosi gesturi TalkBack obișnuite. TalkBack nu este disponibil în timp ce folosiți tastatura Braille.\n\n%1$s În primul rând, țineți telefonul cu ecranul în direcția opusă dvs.\n\nApoi rotiți-l orizontal, în poziția peisaj. Mâinile dvs. trebuie să țină laturile scurte ale telefonului. Trebuie să țineți capătul cu portul USB cu mâna dreaptă. Țineți cele trei degete din mijloc pe ecran și folosiți degetul mic și cel mare pentru a ține telefonul.\n\nCând sunteți gata, atingeți de două ori ecranul pentru a continua.\n\nCa să ieșiți din tastatura Braille, glisați în jos spre podea cu trei degete. Astfel, comutați înapoi la tastatura inițială. Telefonul dvs. este în poziție verticală. Ca să continuați, rotiți-l orizontal, astfel încât latura lungă să fie în partea de jos. Întoarceți ecranul în direcția opusă dvs. Când sunteți gata, atingeți de două ori ecranul pentru a continua. - Țineți ecranul în direcția opusă dvs. Țineți ecranul cu ambele mâini, de laturile scurte ale telefonului, astfel încât să puteți atinge ecranul cu cele trei degete din mijloc.\n\nArătătorul stâng trebuie să fie pe punctul 1. Atingeți punctul 1 ca să introduceți litera „A”. - Atingeți punctul 1 cu arătătorul stâng ca să introduceți „A” + arătătorul stâng + arătătorul drept + Țineți ecranul în direcția opusă dvs. Țineți telefonul cu ambele mâini, de laturile scurte, astfel încât să puteți atinge ecranul cu cele trei degete din mijloc.\n\n%1$s trebuie să fie pe punctul 1. Atingeți punctul 1 ca să introduceți litera „A”. + Atingeți punctul 1 cu %1$s ca să introduceți „A” Atingeți %1$s ca să introduceți litera %2$s Ca să ștergeți o literă, glisați spre stânga. Încercați acum. d s-a șters. Ca să adăugați un spațiu, glisați spre dreapta. Încercați acum. - Glisați în sus pentru a muta cursorul înapoi. Încercați acum. - Glisați în jos pentru a muta cursorul înainte. Încercați acum. Ca să ascundeți tastatura, glisați în jos cu două degete. Încercați acum. Ascundeți tastatura. De obicei, acest lucru va ascunde tastatura. Tastatura Braille va rămâne deschisă, deoarece sunteți încă în tutorial. Ca să treceți la cealaltă tastatură, glisați în jos cu trei degete. Încercați acum. @@ -114,6 +128,4 @@ S-a șters litera S-a șters cuvântul Să continuăm tutorialul. %1$s - S-a conectat un afișaj braille extern pe care-l puteți folosi ca să introduceți text pe dispozitiv.\nAlternativ, treceți la tastatura Braille pe ecran tactil sau următoarea metodă de introducere text. - Treceți la tastatura pe ecran tactil diff --git a/braille/brailleime/src/phone/res/values-ru/strings.xml b/braille/brailleime/src/main/res/values-ru/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-ru/strings.xml rename to braille/brailleime/src/main/res/values-ru/strings.xml index 5c9043c21..3a4f82471 100644 --- a/braille/brailleime/src/phone/res/values-ru/strings.xml +++ b/braille/brailleime/src/main/res/values-ru/strings.xml @@ -5,6 +5,9 @@ Режим \"Настольный\". Положите устройство так, чтобы зарядный порт был слева. Обновите положение точек, нажав на экран шестью пальцами. Другие клавиатуры не включены. Перейдите в настройки клавиатуры. Чтобы открыть меню параметров, проведите тремя пальцами снизу вверх + Клавиатура Брайля переведена в режим с сокращениями + Клавиатура Брайля переведена в режим без сокращений + Клавиатура Брайля переключена на объединенный английский шрифт, режим без сокращений Клавиатура Брайля Клавиатура Брайля, %s Узнать больше о клавиатуре Брайля TalkBack можно на странице g.co/help/braille. @@ -17,7 +20,6 @@ Положение точек 1, 2 и 3 обновлено. Теперь зафиксируйте точки для правой руки. Нажмите и удерживайте экран указательным, средним и безымянным пальцами правой руки. Положение точек 1, 2 и 3 обновлено. Теперь зафиксируйте точки для левой руки. Нажмите и удерживайте экран указательным, средним и безымянным пальцами левой руки. Не удалось обновить положение точек. Нажмите и удерживайте экран шестью пальцами, а затем повторите попытку. - Выбран этот язык: %s Клавиатура Брайля Настройка клавиатуры Брайля Как пользоваться клавиатурой Брайля @@ -27,18 +29,23 @@ <br><br>2. <b>Используйте ввод с помощью шрифта Брайля.</b> Откройте обычную клавиатуру и нажмите на значок клавиатуры %2$s (обычно он расположен в правом нижнем углу экрана). Выберите \"%1$s\". <br><br>Если такого варианта нет, установите %3$s – Google Клавиатуру. Настройки - Языки ввода - Язык - Больше не показывать - Изменение языка во время ввода - Чтобы изменить язык при наборе текста на клавиатуре Брайля, проведите тремя пальцами вверх по экрану и нажмите на параметр \"Выбрать следующий язык ввода\". + Языки ввода + Объединенный английский шрифт Брайля + Испанский + арабский + Французский + Польский Учитывать все нажатые точки При вводе учитывать каждую нажатую точку, даже если ее отпустили раньше других Обратный порядок точек Переставить точки, например поменять местами точки 1 и 4 Параметры клавиатуры Брайля - Выбрать следующий язык ввода: %s - Сейчас выбран: %s + Изменить язык ввода + Используется %s + Язык ввода + Переключиться на клавиатуру Брайля %s + с сокращениями + без сокращений Посмотреть все жесты Открыть руководство Закрыть руководство @@ -49,15 +56,25 @@ Чтобы удалить символ, проведите влево. Чтобы добавить новую строку, проведите двумя пальцами вправо. Чтобы удалить слово, проведите двумя пальцами влево. - Чтобы переместить курсор назад, проведите вверх. - Чтобы переместить курсор вперед, проведите вниз. Чтобы скрыть клавиатуру, проведите двумя пальцами сверху вниз. Чтобы переключиться на следующую клавиатуру, проведите тремя пальцами вниз. Чтобы отправить текст, проведите двумя пальцами вверх. Чтобы открыть меню со справкой и другими параметрами, проведите тремя пальцами вверх. Готово + Режим \"Экран от себя\" + Держите устройство экраном от себя (режим \"Экран от себя\"). + Режим \"Настольный\" + Положите устройство на стол (режим \"Настольный\"). + Адаптировать к положению устройства Устройство не поддерживает клавиатуру Брайля Недостаточно точек нажатий. За дополнительной информацией обратитесь к производителю устройства. + Текст \"%s\" удален + + точки %s + точки %s + точки %s + точки %s + Чтобы использовать клавиатуру Брайля, включите TalkBack Включить в настройках Чтобы использовать клавиатуру Брайля, возобновите работу TalkBack @@ -71,32 +88,30 @@ Теперь вы не сможете использовать обычные жесты TalkBack, поскольку эта функция недоступна во время работы с клавиатурой Брайля. Возьмите телефон двумя руками и держите его горизонтально экраном от себя. Чтобы продолжить, дважды нажмите на экран в любом месте. - Чтобы ввести букву \"A\", коснитесь точки 1 указательным пальцем левой руки. + указательным пальцем левой руки + указательным пальцем правой руки + Чтобы ввести английскую букву А, коснитесь точки 1 %1$s. Теперь попробуйте ввести буквы \"B\", \"C\" и \"D\". Чтобы удалить букву, проведите влево. Чтобы добавить пробел, проведите вправо. - Чтобы переместить курсор назад, проведите вверх. - Чтобы переместить курсор вперед, проведите вниз. Чтобы скрыть клавиатуру, проведите двумя пальцами сверху вниз. Чтобы переключиться на другую клавиатуру, проведите тремя пальцами сверху вниз. Чтобы закрыть руководство, проведите тремя пальцами снизу вверх. УДАЛИТЬ ПРОБЕЛ - КУРСОР ПЕРЕМЕЩЕН НАЗАД - КУРСОР ПЕРЕМЕЩЕН ВПЕРЕД СКРЫТЬ КЛАВИАТУРУ СЛЕДУЮЩАЯ КЛАВИАТУРА Теперь вы не сможете использовать обычные жесты TalkBack, поскольку эта функция недоступна во время работы с клавиатурой Брайля.\n\n%1$s Сначала поверните телефон экраном от себя.\n\nЗатем измените положение устройства на горизонтальное, взяв его за короткие стороны корпуса. Правой рукой возьмитесь за нижнюю часть телефона, где располагается USB-порт. Поместите указательные, средние и безымянные пальцы на экран, придерживая телефон с помощью мизинцев и больших пальцев.\n\nКогда вы будете готовы продолжить, дважды нажмите на экран.\n\nЧтобы закрыть клавиатуру Брайля, проведите тремя пальцами вниз (по направлению к полу). После этого вы переключитесь на обычную клавиатуру. Телефон находится в вертикальном положении. Чтобы продолжить, возьмите телефон так, чтобы длинная сторона корпуса оказалась внизу. Затем поверните устройство экраном от себя. Когда будете готовы, дважды нажмите на экран. - Держите телефон экраном от себя за короткие стороны корпуса так, чтобы указательными, средними и безымянными пальцами можно было касаться сенсорной поверхности.\n\nУказательный палец левой руки должен находиться на точке 1. Чтобы ввести букву \"A\", нажмите на точку 1. - Чтобы ввести букву \"A\", коснитесь точки 1 указательным пальцем левой руки + Указательный палец левой руки + Указательный палец правой руки + Держите телефон экраном от себя за короткие стороны корпуса так, чтобы указательными, средними и безымянными пальцами можно было касаться сенсорной поверхности.\n\n%1$s должен быть на точке 1. Чтобы ввести английскую букву A, нажмите на точку 1. + Чтобы ввести английскую букву А, коснитесь точки 1 %1$s. Чтобы ввести букву \"%2$s\", нажмите %1$s Чтобы удалить букву, проведите влево. Потренируйтесь. Буква \"d\" удалена. Чтобы добавить пробел, проведите вправо. Потренируйтесь. - Чтобы переместить курсор назад, проведите вверх. Потренируйтесь на этом экране. - Чтобы переместить курсор вперед, проведите вниз. Потренируйтесь на этом экране. Чтобы скрыть клавиатуру, проведите двумя пальцами сверху вниз. Потренируйтесь. Жест \"Закрыть клавиатуру\". Обычно таким образом можно скрыть клавиатуру. В этот раз клавиатура Брайля останется открытой, поскольку вы ещё не завершили обучение по руководству. Чтобы переключиться на другую клавиатуру, проведите тремя пальцами сверху вниз. Потренируйтесь. @@ -114,6 +129,4 @@ Буква удалена Слово удалено Вернитесь к обучению по руководству. %1$s - Подключен внешний дисплей Брайля: его можно использовать для ввода текста на этом устройстве.\nВы также можете переключиться на экранную клавиатуру Брайля или следующий способ ввода. - Переключиться на экранную клавиатуру diff --git a/braille/brailleime/src/phone/res/values-si/strings.xml b/braille/brailleime/src/main/res/values-si/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-si/strings.xml rename to braille/brailleime/src/main/res/values-si/strings.xml index 0bc0d2d6d..23d0d2b06 100644 --- a/braille/brailleime/src/phone/res/values-si/strings.xml +++ b/braille/brailleime/src/main/res/values-si/strings.xml @@ -5,6 +5,9 @@ ටේබල්ටොප් ප්‍රකාරය. ඔබගේ උපාංගය ආරෝපණ තොට වමට සිටින ලෙස තබන්න. තිත් පිහිටීම යාවත්කාලීන කිරීමට, ඇඟිලි 6කින් පහළට තද කරන්න. වෙනත් යතුරු පුවරු කිසිවක් සබල කර නැත, යතුරු පුවරු සැකසීම් වෙත යන්න තව විකල්ප සඳහා ඇඟිලි 3 කින් ඉහළට ස්වයිප් කරන්න + හකුළන ලද බ්රේල් වෙත මාරු කරන ලදී + නොහකුළන ලද බ්රේල් වෙත මාරු කරන ලදී + නොහකුළන ලද UEB වෙත මාරු විය බ්‍රේල් යතුරු පුවරුව බ්‍රේල් යතුරු පුවරුව, %s TalkBack බ්රේල් යතුරු පුවරුව - සහාය සඳහා, g.co/help/braille වෙත පිවිසෙන්න @@ -17,7 +20,6 @@ 1, 2 සහ 3 තිත් සඳහා පිහිටීම් යාවත්කාලීන කරන ලදි. ඊළඟට, ඔබගේ දකුණු අතෙහි තිත් සටහන් කරමු. ඔබේ දකුණු අතේ මැද ඇඟිලි 3 සමඟ තිරය ස්පර්ශ කර අල්ලාගෙන සිටින්න. 1, 2 සහ 3 තිත් සඳහා පිහිටීම් යාවත්කාලීන කරන ලදි. ඊළඟට, ඔබගේ වම් අතෙහි තිත් සටහන් කරමු. ඔබේ වම් අතේ මැද ඇඟිලි 3 සමඟ තිරය ස්පර්ශ කර අල්ලාගෙන සිටින්න. තිත පිහිටීම යාවත්කාලීන කළ නොහැකි විය. ඇඟිලි 6කින් තිරය ස්පර්ශ කර අල්ලාගෙන සිටින්න. අනතුරුව නැවත උත්සාහ කරන්න. - %s වෙත මාරු විය බ්රේල් යතුරු පුවරුව බ්රේල් යතුරු පුවරුව පිහිටුවන්න බ්රේල් යතුරු පුවරුව භාවිත කරන ආකාරය @@ -27,18 +29,23 @@ <br><br>2. <b>බ්රේල් යතුරු පුවරුව භාවිත කරන්න</b>: ඔබේ සාමාන්‍ය යතුරු පුවරුව විවෘත කර, අනතුරුව යතුරු පුවරුව තෝරා ගන්න අයිකනය විවෘත කරන්න %2$s (සාමාන්‍යයෙන් පහළ දකුණු කෙළවර). \"%1$s.\" තෝරන්න <br><br>ඔබ යතුරු පුවරු මාරු කිරීමට විකල්පයක් දකින්නේ නැති නම්, %3$s, Google යතුරු පුවරුව ස්ථාපනය කිරීමට උත්සාහ කරන්න. සැකසීම් - ටයිප් කිරීමේ භාෂා - වඩා කැමති භාෂාව - මෙය නැවත නොපෙන්වන්න - ටයිප් කරන අතරතුර භාෂාව ඉක්මනින් වෙනස් කරන්න - බ්‍රේල් යතුරුපුවරුව සමඟ ටයිප් කරන අතරතුර ඔබගේ භාෂාව වෙනස් කිරීමට, ඇඟිලි 3කින් ඉහළට ස්වයිප් කරන්න. ඉන්පසු \"ඊළඟ භාෂාවට මාරු වන්න\" තෝරන්න. + ටයිප් කරන භාෂා + ඒකීකෘත ඉංග්‍රීසි බ්රේල් + ස්පාඤ්ඤ + අරාබි + ප්‍රංශ + පෝලන්ත සියලු එබූ තිත් ඇතුළත්ය තිත අනෙක් තිත්වලට පෙර නිකුත් කර ඇති විට පවා, එක් එක් එබූ තිතක් ආදානයක කොටසකි ප්‍රතිවර්ත තිත් තිත් ස්ථාන මාරු කරන්න, තිත් 1 සහ 4 ස්ථාන මාරු වන ලෙස, උදාහරණ වශයෙන් බ්රේල් යතුරු පුවරු ස්ථාන - ඊළඟ භාෂාවට මාරු වන්න: %s - දැනට භාවිත කරන්නේ: %s + ටයිප් කිරීමේ භාෂාව වෙනස් කරන්න + දැනට %s භාවිත කරමින් + ටයිප් කිරීමේ භාෂාව + %s බ්රේල් වෙත මාරු කරන්න + හකුළන ලද + නොහකුළන ලද සියලු ඉංගිත සමාලෝචනය කරන්න නිබන්ධනය විවෘත කරන්න නිබන්ධනය අවසන් කරන්න @@ -49,15 +56,23 @@ මැකීමට, වමට ස්වයිප් කරන්න නව පේළියක් සඳහා, ඇඟිලි 2කින් දකුණට ස්වයිප් කරන්න වචනයක් මැකීමට, ඇඟිලි 2කින් වමට ස්වයිප් කරන්න - කර්සරය පසුපසට ගෙන යාමට, ඉහළට ස්වයිප් කරන්න - කර්සරය ඉදිරියට ගෙන යාමට, පහළට ස්වයිප් කරන්න යතුරු පුවරුව සැඟවීමට, ඇඟිලි 2කින් පහළට ස්වයිප් කරන්න. ඊළඟ යතුරු පුවරුව වෙත මාරු කිරීමට, ඇඟිලි 3ක් පහළට ස්වයිප් කරන්න පෙළ භාරදීමට, ඇඟිලි 2කින් ඉහළට ස්වයිප් කරන්න සහාය සහ වෙනත් විකල්ප සඳහා, ඇඟිලි 3කින් ඉහළට ස්වයිප් කරන්න නිමයි + තිරයෙන් බැහැර ප්‍රකාරය + තිරය ඔබෙන් ඉවතට සිටින ලෙස උපාංගය අල්ලාගෙන සිටින්න (තිරය-බැහැර ප්‍රකාරය) + ටේබල්ටොප් ප්‍රකාරය + උපාංගය මේසයක් මත සමතලව තබන්න (ටේබල්ටොප් ප්‍රකාරය) + ඔබ උපාංගය අල්ලන ආකාරයට අනුවර්තනය වන්න ඔබේ උපාංගය බ්රේල් යතුරු පුවරුවට සහාය නොදක්වයි ඔබේ උපාංගය ප්‍රමාණවත් ස්පර්ශ ලක්ෂ්‍යවලට සහාය නොදක්වයි. තව තොරතුරු සඳහා, ඔබේ උපාංග නිෂ්පාදක අමතන්න. + %s මකන ලදි + + තිත් %s + තිත් %s + බ්රේල් යතුරු පුවරුව භාවිත කිරීමට TalkBack ක්‍රියාත්මක කරන්න ප්‍රවේශ්‍යතා සැකසීම් හි ක්‍රියාත්මක කරන්න බ්රේල් යතුරු පුවරුව භාවිත කිරීමට TalkBack නැවත පටන් ගන්න @@ -71,32 +86,30 @@ දැන් පටන්, ඔබට සාමාන්‍ය TalkBack ඉංගිත භාවිත කිරීමට හැකියාව නොලැබෙනු ඇත. බ්රේල් යතුරු පුවරුව භාවිත කරන අතරතුර TalkBack ලබා ගත නොහැකිය. ආරම්භ කිරීමට, තිරය ඔබෙන් ඉවතට සිටින සේ, ඔබේ දුරකථනය මෙලෙස අල්ලාගෙන ‍සිටින්න. ඉදිරියට යාමට ඕනෑම තැනක දෙවරක් තට්ටු කරන්න - \"A\" අකුර ටයිප් කිරීමට ඔබේ වම් දබරැගිල්ලෙන් තිත් 1 තට්ටු කරන්න + වම් දබරැඟිල්ල + දකුණු දබරැඟිල්ල + “A” අකුර ටයිප් කිරීමට ඔබේ %1$s සමගින් තිත් 1 තට්ටු කරන්න ඊළඟට, B, C සහ D අකුරු ටයිප් කිරීමට උත්සාහ කරන්න අකුරක් මැකීමට, වමට ස්වයිප් කරන්න ඉඩක් එක් කිරීමට, දකුණට ස්වයිප් කරන්න - කර්සරය පසුපසට ගෙන යාමට, ඉහළට ස්වයිප් කරන්න - කර්සරය ඉදිරියට ගෙන යාමට, පහළට ස්වයිප් කරන්න යතුරු පුවරුව සැඟවීමට, ඇඟිලි 2කින් පහළට ස්වයිප් කරන්න ඔබේ අනෙක් යතුරු පුවරුව වෙත මාරු කිරීමට, ඇඟිලි 3කින් පහළට ස්වයිප් කරන්න නිබන්ධනය අවසන් කිරීමට, ඇඟිලි 3කින් ඉහළට ස්වයිප් කරන්න මකන්න ඉඩ - කර්සරය පසුපසට ගෙන යන ලදී - කර්සරය ඉදිරියට ගෙන යන ලදී යතුරු පුවරුව සඟවන්න ඊළඟ යතුරු පුවරුව දැන් පටන්, ඔබට සාමාන්‍ය TalkBack ඉංගිත භාවිත කිරීමට හැකියාව නොලැබෙනු ඇත. බ්රේල් යතුරු පුවරුව භාවිත කරන අතරතුර TalkBack ලබා ගත නොහැකිය.\n\n%1$s පළමුව, තිරය ඔබෙන් ඉවතට මුහුණලා සිටින සේ ඔබේ දුරකථනය හරවන්න.\n\nඊළඟට, තිරස් ස්ථානය වෙත දුරකථනය තිරස්ව කරකවන්න. ඔබේ අත්වලින් දුරකථනයේ කෙටි අන්ත දැඩිව ග්‍රහණය කළ යුතුය. ඔබේ දකුණු අත USB තොට සමග කෙළවර අල්ලා ගත යුතුය. ඔබේ මැද ඇඟිලි 3 තිරයේ හේත්තු කර දුරකථනයට සහාය දැක්වීමට ඔබේ සුළැඟිල්ල සහ මහපටැඟිල්ල භාවිත කරන්න.\n\nඔබ සුදානම් විට, ඉදිරියට යාමට තිරය දෙවරක් තට්ටු කරන්න.\n\nබ්රේල් යතුරු පුවරුවෙන් පිටවීමට, ඇඟිලි 3කින් පොළව දෙසට පහළට ස්වයිප් කරන්න. මෙය ඔබේ මුල් යතුරු පුවරුවට ආපසු හරවයි. ඔබේ දුරකථනය සිරස් ස්ථානයක තිබේ. ඉදිරියයට යාමට, දිගු පැත්ත පහළ සිටින සේ ඔබේ දුරකථනය තිරස්ව කරකවන්න. අනතුරුව ඔබෙන් ඉවතට මුහුණ ලෑමට තිරය හරවන්න. ඔබ සුදානම් විට, ඉදිරියට යාමට තිරය දෙවරක් තට්ටු කරන්න. - ඔබෙන් ඉවතට මුහුණ ලා තිරය තබා ගන්න. එක් එක් අත්වල මැද ඇඟිලි 3 තිරය ස්පර්ශ කළ හැකි වන සේ, දුරකථනයේ කෙටි දාර මත, ඔබේ දුරකථනය අත් දෙකින් අල්ලා ගන්න.\n\nඔබේ වම් දබරැඟිල්ල තිත් 1 තිබිය යුතුය. දැන්, “A” අකුර ටයිප් කිරීමට තිත් 1 තට්ටු කරන්න. - “A” ටයිප් කිරීමට ඔබේ වම් දබරැඟිල්ලෙන් තිත් 1 තට්ටු කරන්න + වම් දබරැඟිල්ල + දකුණු දබරැඟිල්ල + ඔබෙන් ඉවතට මුහුණ ලා තිරය තබා ගන්න. එක් එක් අත්වල මැද ඇඟිලි 3 තිරය ස්පර්ශ කළ හැකි වන සේ, දුරකථනයේ කෙටි දාර මත, ඔබේ දුරකථනය අත් දෙකින් අල්ලා ගන්න.\n\nඔබේ %1$s තිත් 1 තිබිය යුතුය. දැන්, “A” අකුර ටයිප් කිරීමට තිත් 1 තට්ටු කරන්න. + “A” ටයිප් කිරීමට ඔබේ %1$s සමගින් තිත් 1 තට්ටු කරන්න %2$s අකුර ටයිප් කිරීමට %1$s තට්ටු කරන්න අකුරක් මැකීමට, වමට ස්වයිප් කරන්න. දැන් එය උත්සාහ කරන්න. d මකන ලදී. ඉඩක් එක් කිරීමට, දකුණට ස්වයිප් කරන්න. දැන් එය උත්සාහ කරන්න. - කර්සරය පසුපසට ගෙන යාමට, ඉහළට ස්වයිප් කරන්න. දැන් එය උත්සාහ කරන්න. - කර්සරය ඉදිරියට ගෙන යාමට, පහළට ස්වයිප් කරන්න. දැන් එය උත්සාහ කරන්න. යතුරු පුවරුව සැඟවීමට, ඇඟිලි 2කින් පහළට ස්වයිප් කරන්න. දැන් එය උත්සාහ කරන්න. යතුරු පුවරුව සඟවන්න. සාමාන්‍යයෙන්, මෙය යතුරු පුවරුව සඟවනු ඇත. ඔබ තවමත් නිබන්ධනයෙහි සිටින නිසා බ්රේල් යතුරු පුවරුව විවෘතව පවතිනු ඇත. ඔබේ අනෙක් යතුරු පුවරුව වෙත මාරු කිරීමට, ඇඟිලි 3කින් පහළට ස්වයිප් කරන්න දැන් එය උත්සාහ කරන්න. @@ -114,6 +127,4 @@ අකුර මකන ලදී වචනය මකන ලදී අපි දිගටම නිබන්ධනය යමු. %1$s - බාහිර බ්‍රේල් සංදර්ශකයක් සම්බන්ධ කර ඇති අතර, ඔබට මෙම උපාංගයට පෙළ ටයිප් කිරීමට එය භාවිත කළ හැක.\nනැතහොත්, ඔබට ස්පර්ශ තිර බ්‍රේල් යතුරුපුවරුව හෝ ඊළඟ ආදාන ක්‍රමය වෙත මාරු විය හැකිය. - ස්පර්ශ තිර යතුරු පුවරුව වෙත මාරු වන්න diff --git a/braille/brailleime/src/phone/res/values-sk/strings.xml b/braille/brailleime/src/main/res/values-sk/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-sk/strings.xml rename to braille/brailleime/src/main/res/values-sk/strings.xml index 35e1ba85a..0965d7fc1 100644 --- a/braille/brailleime/src/phone/res/values-sk/strings.xml +++ b/braille/brailleime/src/main/res/values-sk/strings.xml @@ -5,6 +5,9 @@ Stolový režim. Umiestnite zariadenie tak, aby bol nabíjací port vľavo. Umiestnenie bodiek aktualizujete pridržaním šiestich prstov na obrazovke. Nie je aktivovaná žiadna iná klávesnica, prejdite do nastavení klávesnice Ďalšie možnosti zobrazíte potiahnutím troma prstami nahor + Braillova klávesnica bola prepnutá na skrátenú verziu + Braillova klávesnica bola prepnutá na úplnú verziu + Prepnuté na úplnú verziu UEB Braillova klávesnica Braillova klávesnica, %s Braillova klávesnica aplikácie TalkBack – pomoc získate na g.co/help/braille @@ -17,7 +20,6 @@ Aktualizovali ste umiestnenie bodiek 1, 2 a 3. Teraz zaznamenajme bodky pravej ruky. Pridržte obrazovku strednými troma prstami pravej ruky. Aktualizovali ste umiestnenie bodiek 1, 2 a 3. Teraz zaznamenajme bodky ľavej ruky. Pridržte obrazovku strednými troma prstami ľavej ruky. Umiestnenie bodiek sa nepodarilo aktualizovať. Pridržte obrazovku šiestimi prstami. Potom to skúste znova. - Prepnuté na jazyk %s Braillova klávesnica Nastavenie Braillovej klávesnice Ako používať Braillovu klávesnicu @@ -27,18 +29,23 @@ <br><br>2. <b>Používanie Braillovej klávesnice</b>: otvorte bežnú klávesnicu a potom klepnite na ikonu výberu klávesnice %2$s (zvyčajne v pravom dolnom rohu). Vyberte %1$s. <br><br>Ak nevidíte možnosť na prepnutie klávesníc, skúste si nainštalovať klávesnicu Google %3$s. Nastavenia - Jazyky zadávania - Preferovaný jazyk - Nabudúce nezobrazovať - Rýchla zmena jazyka počas zadávania - Ak chcete zmeniť jazyk počas písania na Braillovej klávesnici, potiahnite troma prstami nahor. Potom vyberte Prepnúť na ďalší jazyk. + Jazyky písania + Unified English Braille + Španielčina + Arabčina + Francúzština + Poľština Zahrnúť všetky stlačené body Každý stlačený bod je súčasťou vstupu, aj keď ho pred ostatnými bodmi uvoľníte Obrátené body Výmena pozícií bodov, takže 1. a 4. bod si napríklad vymenia miesta Možnosti Braillovej klávesnice - Prepnúť na ďalší jazyk: %s - Momentálne sa používa %s + Zmeniť jazyk zadávania + Momentálne sa používa jazyk %s + Jazyk zadávania + Prepnúť Braillovu klávesnicu na %s + skrátenú verziu + úplnú verziu Skontrolovať všetky gestá Otvoriť návod Dokončiť návod @@ -49,15 +56,25 @@ Ak chcete určitý znak odstrániť, potiahnite doľava Ak chcete prejsť na nový riadok, potiahnite dvoma prstami doprava Ak chcete odstrániť slovo, potiahnite dvoma prstami doľava - Ak chcete posunúť kurzor dozadu, potiahnite nahor - Ak chcete posunúť kurzor dopredu, potiahnite nadol Ak chcete klávesnicu skryť, potiahnite dvoma prstami nadol Ak chcete prepnúť na ďalšiu klávesnicu, potiahnite troma prstami nadol Ak chcete odoslať text, potiahnite dvoma prstami nahor Ak chcete zobraziť pomocníka a ďalšie možnosti, potiahnite troma prstami nahor Hotovo + Režim obrátenia obrazovky + Držte zariadenie obrazovkou od seba (režim obrátenia obrazovky) + Stolový režim + Položte zariadenie vodorovne na stôl (stolový režim) + Prispôsobiť tomu, ako držím zariadenie Vaše zariadenie nepodporuje Braillovu klávesnicu Vaše zariadenie nepodporuje dostatočné množstvo dotykových bodov. Viac sa dozviete od výrobcu svojho zariadenia. + Text %s bol odstránený + + bod %s + body %s + body %s + body %s + Ak chcete používať Braillovu klávesnicu, zapnite aplikáciu TalkBack Zapnúť v nastaveniach dostupnosti Ak chcete použiť Braillovu klávesnicu, obnovte aplikáciu TalkBack @@ -71,32 +88,30 @@ Odteraz už nebudete môcť používať bežné gestá aplikácie TalkBack. TalkBack nebude počas používania Braillovej klávesnice k dispozícii. Začnite uchopením telefónu týmto spôsobom, aby obrazovka smerovala od vás. Pokračujte dvojitým klepnutím na ľubovoľné miesto na obrazovke - Napíšte písmeno A klepnutím na 1. bod ľavým ukazovákom + ľavým ukazovákom + pravým ukazovákom + Napíšte písmeno A klepnutím na 1. bod %1$s Potom skúste napísať písmená B, C a D Ak chcete určité písmeno odstrániť, potiahnite doľava Ak chcete pridať medzeru, potiahnite doprava - Ak chcete posunúť kurzor dozadu, potiahnite nahor - Ak chcete posunúť kurzor dopredu, potiahnite nadol Ak chcete klávesnicu skryť, potiahnite dvoma prstami nadol Ak chcete prepnúť na inú klávesnicu, potiahnite troma prstami nadol Ak chcete návod dokončiť, potiahnite troma prstami nahor ODSTRÁNIŤ MEDZERA - KURZOR BOL POSUNUTÝ DOZADU - KURZOR BOL POSUNUTÝ DOPREDU SKRYŤ KLÁVESNICU ĎALŠIA KLÁVESNICA Odteraz už nebudete môcť používať bežné gestá aplikácie TalkBack. TalkBack nebude počas používania Braillovej klávesnice k dispozícii.\n\n%1$s Najprv obráťte telefón, aby obrazovka smerovala od vás.\n\nPotom ho vodorovne otočte na šírku. Rukami by ste mali držať krátke strany telefónu. Pravou rukou by ste mali držať stranu s portom USB. Položte tri prostredné prsty na obrazovku a malíčkom a palcom telefón podopierajte.\n\nPotom pokračujte dvojitým klepnutím na obrazovku.\n\nAk chcete Braillovu klávesnicu ukončiť, potiahnite troma prstami nadol smerom k zemi. Týmto prepnete na pôvodnú klávesnicu. Váš telefón je vo zvislej polohe. Ak chcete pokračovať, otočte ho vodorovne dlhým okrajom nadol. Potom obrazovku od seba odvráťte. Následne pokračujte dvojitým klepnutím na obrazovku. - Držte telefón tak, aby bola obrazovka od vás odvrátená. Uchopte ho dvoma rukami za krátke kraje, aby ste sa mohli troma prostrednými prstami každej ruky dotknúť obrazovky.\n\nĽavý ukazovák by mal byť na 1. bode. Klepnutím na 1. bod napíšte písmeno A. - Klepnite ľavým ukazovákom na 1. bod a napíšte tak písmeno A + Ľavý ukazovák + Pravý ukazovák + Držte telefón tak, aby bola obrazovka od vás odvrátená. Uchopte ho dvoma rukami za krátke kraje, aby ste sa mohli troma prostrednými prstami každej ruky dotknúť obrazovky.\n\n%1$s by mal byť na 1. bode. Klepnutím na 1. bod napíšte písmeno A. + Klepnite %1$s na 1. bod a napíšte tak písmeno A Klepnutím na %1$s napíšte písmeno %2$s Ak chcete určité písmeno odstrániť, potiahnite doľava. Vyskúšajte to. d bolo odstránené. Ak chcete pridať medzeru, potiahnite doprava. Vyskúšajte to. - Ak chcete posunúť kurzor dozadu, potiahnite nahor. Vyskúšajte to. - Ak chcete posunúť kurzor dopredu, potiahnite nadol. Vyskúšajte to. Ak chcete klávesnicu skryť, potiahnite dvoma prstami nadol. Vyskúšajte to. Skrytie klávesnice. Týmto postupom zvyčajne skryjete klávesnicu. Braillova klávesnica zostane otvorená, pretože máte stále otvorený návod. Ak chcete prepnúť na inú klávesnicu, potiahnite troma prstami nadol. Vyskúšajte to. @@ -114,6 +129,4 @@ Bolo odstránené písmeno Bolo odstránené slovo Pokračujme v návode. %1$s - Externý Braillov displej, pomocou ktorého môžete zadávať text v tomto zariadení, je pripojený.\nPrípadne môžete prepnúť na dotykovú obrazovku s Braillovou klávesnicou alebo ďalšiu metódu vstupu. - Prepnúť na klávesnicu na dotykovej obrazovke diff --git a/braille/brailleime/src/phone/res/values-sl/strings.xml b/braille/brailleime/src/main/res/values-sl/strings.xml similarity index 82% rename from braille/brailleime/src/phone/res/values-sl/strings.xml rename to braille/brailleime/src/main/res/values-sl/strings.xml index a3eccc473..6c4bd57e3 100644 --- a/braille/brailleime/src/phone/res/values-sl/strings.xml +++ b/braille/brailleime/src/main/res/values-sl/strings.xml @@ -5,6 +5,9 @@ Namizni način z zaslonom navzgor. Napravo položite tako, da bodo vrata za polnjenje na levi. Za posodobitev položaja pik pridržite 6 prstov. Ni drugih omogočenih tipkovnic. Pojdite na nastavitve tipkovnice. Za več možnosti povlecite navzgor s tremi prsti + Preklopljeno na skrčeno braillovo pisavo + Preklopljeno na neskrčeno braillovo pisavo + Preklopljeno na neskrčeno poenoteno angleško braillovo pisavo Braillova tipkovnica Braillova tipkovnica, %s Braillova tipkovnica TalkBack – za pomoč obiščite g.co/help/braille @@ -17,7 +20,6 @@ Položaji pik 1, 2 in 3 so posodobljeni. Zdaj zabeležite pike z desno roko. Na zaslonu pridržite srednje tri prste desne roke. Položaji pik 1, 2 in 3 so posodobljeni. Zdaj zabeležite pike z levo roko. Na zaslonu pridržite srednje tri prste leve roke. Položaja pik ni bilo mogoče posodobiti. Na zaslonu pridržite šest prstov. Nato poskusite znova. - Preklopljeno na: %s Braillova tipkovnica Nastavitev braillove tipkovnice Navodila za uporabo braillove tipkovnice @@ -27,18 +29,23 @@ <br><br>2. <b>Braillovo tipkovnico uporabljate tako</b>: Odprite običajno tipkovnico in se dotaknite ikone tipkovnice %2$s (običajno v spodnjem desnem kotu). Izberite »%1$s«. <br><br>Če možnost za preklop med tipkovnicami ni prikazana, namestite %3$s, Googlovo tipkovnico. Nastavitve - Jeziki za tipkanje - Želeni jezik - Tega ne prikazuj več - Hitra sprememba jezika med tipkanjem - Če želite spremeniti jezik med tipkanjem z braillovo tipkovnico, s tremi prsti povlecite navzgor. Nato izberite »Preklopi na naslednji jezik«. + Jeziki za tipkanje + Poenotena angleška braillova pisava + španščina + arabščina + francoščina + poljščina Vključitev vseh pritisnjenih pik Vsaka pritisnjena pika je del vnosa, tudi če piko spustite, preden spustite druge pike Obratne pike Zamenjava položajev pik, tako da se zamenjata na primer mesti pik 1 in 4 Možnosti braillove tipkovnice - Preklopi na naslednji jezik: %s - Trenutno uporabljate: %s + Sprememba jezika vnašanja + Trenutno uporabljate: %s + Jezik vnašanja + Preklopi na %s braillovo pisavo + skrčeno + neskrčeno Pregled vseh potez Odpri vadnico Dokončaj vadnico @@ -49,15 +56,25 @@ Če želite izbrisati, povlecite v levo Če želite dodati novo vrstico, povlecite v desno z dvema prstoma Če želite izbrisati besedo, povlecite v levo z dvema prstoma - Za premik kazalca nazaj povlecite navzgor. - Za premik kazalca naprej povlecite navzdol. Če želite skriti tipkovnico, povlecite navzdol z dvema prstoma. Če želite preklopiti na naslednjo tipkovnico, povlecite navzdol s tremi prsti Če želite poslati besedilo, povlecite navzgor z dvema prstoma Za pomoč in druge možnosti povlecite navzgor s tremi prsti Končano + Način s proč obrnjenim zaslonom + Zaslon naprave naj bo obrnjen stran od vas (način s proč obrnjenim zaslonom) + Namizni način + Napravo položite plosko na mizo (namizni način z zaslonom navzgor) + Prilagoditev vašemu načinu držanja naprave Naprava ne podpira braillove tipkovnice Naprava ne podpira dovolj točk na dotik. Če želite več informacij, se obrnite na proizvajalca naprave. + Besedilo »%s« je izbrisano + + pike %s + pike %s + pike %s + pike %s + Če želite uporabljati braillovo tipkovnico, vklopite TalkBack Vklopi v nastavitvah funkcij za ljudi s posebnimi potrebami Za uporabo braillove tipkovnice znova vklopite TalkBack @@ -71,32 +88,30 @@ Zdaj ne boste mogli uporabljati običajnih potez za TalkBack. Funkcija TalkBack ni na voljo med uporabo braillove tipkovnice. Če želite začeti, držite telefon tako, zaslon pa naj bo obrnjen stran od vas. Za nadaljevanje se dvakrat dotaknite kjer koli na zaslonu - Z levim kazalcem se dotaknite pike 1, da natipkate črko »A« + levim kazalcem + desnim kazalcem + Dotaknite se pike 1 z %1$s, da natipkate črko »A« Nato poskusite natipkati črke B, C in D Če želite izbrisati črko, povlecite v levo Če želite dodati presledek, povlecite v desno - Za premik kazalca nazaj povlecite navzgor. - Za premik kazalca naprej povlecite navzdol. Če želite skriti tipkovnico, povlecite navzdol z dvema prstoma Če želite preklopiti na drugo tipkovnico, povlecite navzdol s tremi prsti Če želite dokončati vadnico, povlecite navzgor s tremi prsti IZBRIŠI PRESLEDEK - KAZALEC PREMAKNJEN NAZAJ - KAZALEC PREMAKNJEN NAPREJ SKRIJ TIPKOVNICO NASLEDNJA TIPKOVNICA Zdaj ne boste mogli uporabljati običajnih potez za TalkBack. Funkcija TalkBack ni na voljo med uporabo braillove tipkovnice.\n\n%1$s Najprej obrnite telefon tako, da bo zaslon obrnjen stran od vas.\n\nNato telefon zasukajte v ležeči položaj. Z rokama morate držati krajša konca telefona. Z desno roko morate držati konec z vrati USB. Sredinske tri prste položite na zaslon, z mezincem in palcem pa podpirajte telefon.\n\nKo boste pripravljeni, se za nadaljevanje dvakrat dotaknite zaslona.\n\nČe želite zapreti braillovo tipkovnico, povlecite navzdol proti tlom s tremi prsti. S tem boste preklopili na prvotno tipkovnico. Telefon je v pokončnem položaju. Če želite nadaljevati, ga zasukajte v ležeči položaj, tako da bo daljša stran na dnu. Nato obrnite zaslon stran od sebe. Ko boste pripravljeni, se za nadaljevanje dvakrat dotaknite zaslona. - Zaslon naj bo obrnjen stran od vas. Krajša konca telefona držite z obema rokama, tako da se boste lahko s sredinskimi tremi prsti vsake roke dotikali zaslona.\n\nLevi kazalec mora biti na piki 1. Nato se dotaknite pike 1, da natipkate črko »A«. - Z levim kazalcem se dotaknite pike 1, da natipkate črko »A« + Levi kazalec + Desni kazalec + Zaslon naj bo obrnjen stran od vas. Krajša konca telefona držite z obema rokama, tako da se boste lahko s sredinskimi tremi prsti vsake roke dotikali zaslona.\n\n%1$s mora biti na piki 1. Nato se dotaknite pike 1, da natipkate črko »A«. + Dotaknite se pike 1 z %1$s, da natipkate črko »A« Dotaknite se pike %1$s, da natipkate črko %2$s Če želite izbrisati črko, povlecite v levo. Preizkusite. Črka »d« je izbrisana. Če želite dodati presledek, povlecite v desno. Preizkusite. - Za premik kazalca nazaj povlecite navzgor. Preizkusite. - Za premik kazalca naprej povlecite navzdol. Preizkusite. Če želite skriti tipkovnico, povlecite navzdol z dvema prstoma. Preizkusite. Skrivanje tipkovnice. S tem boste običajno skrili tipkovnico. Braillova tipkovnica bo ostala odprta, ker ste še vedno v vadnici. Če želite preklopiti na drugo tipkovnico, povlecite navzdol s tremi prsti. Preizkusite. @@ -114,6 +129,4 @@ Črka je izbrisana Beseda je izbrisana Nadaljujmo z vadnico. %1$s - Zunanji zaslon braille je povezan. Prek njega lahko vnašate besedilo v to napravo.\nLahko pa preklopite na braillovo tipkovnico na zaslonu na dotik ali na naslednji način vnosa. - Preklopi na tipkovnico na zaslonu na dotik diff --git a/braille/brailleime/src/phone/res/values-sq/strings.xml b/braille/brailleime/src/main/res/values-sq/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-sq/strings.xml rename to braille/brailleime/src/main/res/values-sq/strings.xml index b750de19e..19dc42531 100644 --- a/braille/brailleime/src/phone/res/values-sq/strings.xml +++ b/braille/brailleime/src/main/res/values-sq/strings.xml @@ -5,6 +5,9 @@ Modaliteti i \"Tavolinës\". Vendose pajisjen me portën e karikimit në të majtë. Për të përditësuar pozicionin e pikës, mbaj të shtypur 6 gishta. Nuk ka asnjë tastierë tjetër të aktivizuar. Shko te cilësimet e tastierës Rrëshqit shpejt lart me 3 gishta për më shumë opsione + Kalove te modaliteti i shkurtuar i gjuhës breil + Kalove te modaliteti i pashkurtuar i gjuhës breil + Kalove te modaliteti i pashkurtuar UEB tastiera breil tastiera breil, %s Tastiera breil e TalkBack - për ndihmë, vizito g.co/help/braille @@ -17,7 +20,6 @@ Pozicionet e përditësuara për pikat 1, 2 dhe 3. Më pas, le të regjistrojmë pikat në dorën tënde të djathtë. Prek dhe mbaj shtypur ekranin me 3 gishtat e mesit të dorës së djathtë. Pozicionet e përditësuara për pikat 1, 2 dhe 3. Më pas, le të regjistrojmë pikat në dorën tënde të majtë. Prek dhe mbaj shtypur ekranin me 3 gishtat e mesit të dorës së majtë. Pozicioni i pikës nuk mund të përditësohej. Prek dhe mbaj prekur ekranin me 6 gishta. Më pas provo sërish. - Kaloi te %s Tastiera breil Konfiguro tastierën breil Si të përdoret tastiera breil @@ -27,18 +29,23 @@ <br><br>2. <b>Përdor tastierën breil</b>: Hap tastierën e zakonshme dhe më pas trokit tek ikona e zgjedhjes së tastierës %2$s (zakonisht në këndin poshtë djathtas). Zgjidh \"%1$s.\" <br><br>Nëse nuk e shikon një opsion për ndërrimin e tastierave, provo të instalosh %3$s, tastierën e Google. Cilësimet - Gjuhët e shkrimit - Gjuha e preferuar - Mos e shfaq më këtë - Ndrysho shpejt gjuhën ndërkohë që shkruan - Për të ndryshuar gjuhën ndërkohë që shkruan me tastierën breil, rrëshqit shpejt lart me 3 gishta. Më pas zgjidh \"kalo te gjuha tjetër\". + Gjuhët e shkrimit + Unified English Braille + Spanjisht + Arabisht + Frëngjisht + Polonisht Përfshi të gjitha pikat e shtypura Çdo pikë e shtypur është pjesë e hyrjes, edhe nëse pika lëshohet përpara pikave të tjera Pikat në të kundërt Ndërro pozicionet e pikave në mënyrë që p.sh. pikat 1 dhe 4 të ndërrojnë vendet Opsionet e tastierës breil - Kalo te gjuha tjetër: %s - Aktualisht po përdor: %s + Ndrysho gjuhën e të shkruarit + Aktualisht po përdor %s + Gjuha e të shkruarit + Kalo te modaliteti %s i gjuhës breil + i shkurtuar + i pashkurtuar Rishiko të gjitha gjestet Hap udhëzuesin Përfundo udhëzuesin @@ -49,15 +56,23 @@ Për të fshirë, rrëshqit shpejt majtas Për një rresht të ri, rrëshqit shpejt djathtas me 2 gishta Për të fshirë një fjalë, rrëshqit shpejt majtas me 2 gishta - Për të lëvizur kursorin prapa, rrëshqit shpejt lart - Për të lëvizur kursorin para, rrëshqit shpejt poshtë Për të fshehur tastierën, rrëshqit shpejt poshtë me 2 gishta Për të kaluar te tastiera tjetër, rrëshqit shpejt poshtë me 3 gishta Për të dërguar tekstin, rrëshqit shpejt lart me 2 gishta Për ndihmë dhe opsione të tjera, rrëshqit shpejt lart me 3 gishta U krye + Modaliteti i \"Ekranit larg\" + Mbaje pajisjen me ekranin të drejtuar larg vetes (modaliteti i \"Ekranit larg\") + Modaliteti i \"Tavolinës\" + Vendose pajisjen rrafsh mbi tavolinë (modaliteti i \"Tavolinës\"). + Përshtate me mënyrën se si e mban pajisjen Pajisja jote nuk e mbështet tastierën breil Pajisja jote nuk mbështet pika të mjaftueshme të prekjes. Për më shumë informacione, kontakto me prodhuesin e pajisjes sate. + %s u fshi + + pika %s + pikat %s + Aktivizo TalkBack për të përdorur tastierën breil Aktivizo cilësimet e qasshmërisë Vazhdo TalkBack për të përdorur tastierën breil @@ -71,32 +86,30 @@ Duke filluar nga tani, nuk do të mund të përdorësh gjestet e zakonshme të TalkBack. TalkBack nuk ofrohet kur përdor tastierën breil. Për të filluar, mbaje telefonin në këtë mënyrë, me telefonin të drejtuar larg nga vetja jote. Trokit dy herë diku për të vazhduar - Trokit te pika 1 me gishtin tregues të dorës së majtë për të shkruar shkronjën \"A\" + gishtin tregues të dorës së majtë + gishtin tregues të dorës së djathtë + Trokit te pika 1 me %1$s për të shkruar shkronjën \"A\" Më pas provo të shkruash shkronjat B, C dhe D Për të fshirë një shkronjë, rrëshqit shpejt majtas Për të shtuar një hapësirë, rrëshqit shpejt djathtas - Për të lëvizur kursorin prapa, rrëshqit shpejt lart - Për të lëvizur kursorin para, rrëshqit shpejt poshtë Për të fshehur tastierën, rrëshqit shpejt poshtë me 2 gishta Për të kaluar te tastiera tjetër, rrëshqit shpejt poshtë me 3 gishta Për të përfunduar udhëzuesin, rrëshqit shpejt lart me 3 gishta FSHI HAPËSIRË - KURSORI U LËVIZ PRAPA - KURSORI U LËVIZ PARA FSHIH TASTIERËN TASTIERA TJETËR Duke filluar nga tani, nuk do të mund të përdorësh gjestet e zakonshme të TalkBack. TalkBack nuk ofrohet kur përdor tastierën breil.\n\n%1$s Në fillim ktheje telefonin në mënyrë të tillë që ekrani të jetë drejtuar larg vetes sate.\n\nMë pas rrotulloje telefonin horizontalisht në pozicionin e peizazhit. Duart e tua duhet të kapin anët e shkurtra të telefonit. Dora jote e djathtë duhet të mbajë fundin me portën USB. Vendos 3 gishtat e mesit në ekran dhe përdor gishtin e vogël dhe gishtin e madh për të mbështetur telefonin.\n\nKur të jesh gati, trokit dy herë në ekran për të vazhduar.\n\nPër të dalë nga tastiera breil, rrëshqit shpejt poshtë drejt dyshemesë me 3 gishta. Kjo të kthen përsëri te tastiera jote fillestare. Telefoni yt është në pozicionin vertikal. Për të vazhduar, rrotulloje telefonin horizontalisht në mënyrë që ana e gjatë të jetë poshtë. Më pas ktheje ekranin të drejtuar larg vetes sate. Kur të jesh gati, trokit dy herë në ekran për të vazhduar. - Mbaje ekranin të drejtuar larg vetes sate. Mbaje telefonin me të dyja duart, në anët e shkurtra të telefonit, në mënyrë që 3 gishtat e mesit të secilës dorë të mund të prekin ekranin.\n\nGishti tregues i dorës së majtë duhet të jetë në pikën 1. Tani trokit te pika 1 për të shkruar shkronjën “A”. - Trokit te pika 1 me gishtin tregues të dorës së majtë për të shkruar \"A\" + Gishti tregues i dorës së majtë + Gishti tregues i dorës së djathtë + Mbaje ekranin të drejtuar larg vetes sate. Mbaje telefonin me të dyja duart, në anët e shkurtra të telefonit, në mënyrë që 3 gishtat e mesit të secilës dorë të mund të prekin ekranin.\n\n%1$s duhet të jetë në pikën 1. Tani trokit te pika 1 për të shkruar shkronjën “A”. + Trokit te pika 1 me %1$s për të shkruar \"A\" Trokit te %1$s për të shkruar shkronjën %2$s Për të fshirë një shkronjë, rrëshqit shpejt majtas. Provoje tani. Shkronja \"d\" u fshi. Për të shtuar një hapësirë, rrëshqit shpejt djathtas. Provoje tani. - Për të lëvizur kursorin prapa, rrëshqit shpejt lart. Provoje tani. - Për të lëvizur kursorin para, rrëshqit shpejt poshtë. Provoje tani. Për të fshehur tastierën, rrëshqit shpejt poshtë me 2 gishta. Provoje tani. Fshih tastierën. Zakonisht kjo do ta fshehë tastierën. Tastiera breil do të qëndrojë e hapur pasi je ende brenda udhëzuesit. Për të kaluar te tastiera tjetër, rrëshqit shpejt poshtë me 3 gishta. Provoje tani. @@ -114,6 +127,4 @@ Shkronja u fshi Fjala u fshi Le të vazhdojmë me udhëzuesin. %1$s - Është lidhur një ekran i jashtëm breil, të cilin mund ta përdorësh për të shkruar tekst në këtë pajisje.\nNdryshe, mund të kalosh te tastiera breil e ekranit me prekje ose te metoda tjetër e hyrjes. - Kalo në tastierën e ekranit me prekje diff --git a/braille/brailleime/src/phone/res/values-sr/strings.xml b/braille/brailleime/src/main/res/values-sr/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-sr/strings.xml rename to braille/brailleime/src/main/res/values-sr/strings.xml index b392d1c1b..c4c8ef2f9 100644 --- a/braille/brailleime/src/phone/res/values-sr/strings.xml +++ b/braille/brailleime/src/main/res/values-sr/strings.xml @@ -5,6 +5,9 @@ Стони режим. Поставите уређај тако да порт за пуњење буде лево. Да бисте ажурирали положај тачака, притисните и држите са 6 прстију. Није омогућена ниједна друга тастатура, идите у подешавања тастатуре Превуците нагоре помоћу 3 прста да бисте пронашли још опција + Прешли сте у режим краткописне Брајеве азбуке + Прешли сте у режим пуне Брајеве азбуке + Прешли сте на UEB режим без скраћивања тастатура са Брајевом азбуком тастатура са Брајевом азбуком, %s Тастатура са Брајевом азбуком – да бисте пронашли помоћ, посетите g.co/help/braille @@ -17,7 +20,6 @@ Ажуриран је положај тачака 1, 2 и 3. Хајде да сада снимимо тачке десне руке. Додирните и задржите екран помоћу средња 3 прста десне руке. Ажуриран је положај тачака 1, 2 и 3. Хајде да сада снимимо тачке леве руке. Додирните и задржите екран помоћу средња 3 прста леве руке. Ажурирање положаја тачака није успело. Додирните и задржите екран помоћу 6 прстију. Затим пробајте поново. - Прешли сте на: %s Тастатура са Брајевом азбуком Подесите тастатуру са Брајевом азбуком Како да користите тастатуру са Брајевом азбуком @@ -27,18 +29,23 @@ <br><br>2. <b>Користите тастатуру са Брајевом азбуком</b>: Отворите уобичајену тастатуру, па додирните икону Одаберите тастатуру %2$s (обично је у доњем десном углу). Изаберите „%1$s.“ <br><br>Ако не видите опцију да пређете на другу тастатуру, пробајте да инсталирате %3$s, Google тастатуру. Подешавања - Језици за куцање - Жељени језик - Не приказуј ово поново - Брзо промените језик при куцању - Да бисте променили језик док куцате помоћу тастатуре са Брајевом азбуком, превуците нагоре помоћу 3 прста. Затим изаберите „пређи на следећи језик“. + Језици уноса + Јединствена Брајева азбука за енглески + шпански + арапски + француски + пољски Уврсти све притиснуте тачке Свака притиснута тачка је део уноса, чак и ако се тачка отпусти пре других тачака Обрни тачке Замените положаје тачака, на пример, тако да 1. и 4. тачка замене места Опције тастатуре са Брајевом азбуком - Пређите на следећи језик: %s - Тренутно користите: %s + Промените језик за куцање + Тренутно користите %s + Језик за куцање + Пређи у режим %s Брајеве азбуке + краткописна + пуна Прегледајте све покрете Отвори водич Доврши водич @@ -49,15 +56,24 @@ Да бисте избрисали, превуците улево Да бисте прешли у нови ред, превуците удесно помоћу 2 прста Да бисте избрисали реч, превуците улево помоћу 2 прста - Да бисте померили курсор уназад, превуците нагоре - Да бисте померили курсор унапред, превуците надоле Да бисте сакрили тастатуру, превуците надоле помоћу 2 прста Да бисте прешли на следећу тастатуру, превуците надоле помоћу 3 прста Да бисте послали текст, превуците нагоре помоћу 2 прста Да бисте пронашли помоћ и друге опције, превуците нагоре помоћу 3 прста Готово + Режим рада са екраном надоле + Држите уређај тако да екран буде окренут од вас (режим рада са екраном надоле) + Стони режим + Поставите уређај равно на сто (стони режим) + Прилагодите начину на који држите уређај Уређај не подржава тастатуру са Брајевом азбуком Уређај не подржава довољно додирних тачака. Више информација потражите од произвођача уређаја. + Избрисано: %s + + тачке %s + тачке %s + тачке %s + Укључите TalkBack да бисте користили тастатуру са Брајевом азбуком Укључи у подешавањима приступачности Наставите да користите TalkBack да бисте користили тастатуру са Брајевом азбуком @@ -71,32 +87,30 @@ Од сада више нећете моћи да користите уобичајене TalkBack покрете. TalkBack није доступан када користите тастатуруру са Брајевом азбуком. Да бисте започели, држите телефон овако, тако да је екран окренут од вас. Двапут додирните било где да бисте наставили - Додирните 1. тачку левим кажипрстом да бисте унели слово А + левим кажипрстом + десним кажипрстом + Додирните 1. тачку %1$s да бисте унели слово A Затим пробајте да унесете слова Б, В и Г Да бисте избрисали слово, превуците улево Да бисте додали размак, превуците удесно - Да бисте померили курсор уназад, превуците нагоре - Да бисте померили курсор унапред, превуците надоле Да бисте сакрили тастатуру, превуците надоле помоћу 2 прста Да бисте прешли на другу тастатуру, превуците надоле помоћу 3 прста Да бисте довршили водич, превуците нагоре помоћу 3 прста ИЗБРИШИ РАЗМАК - ПОМЕРИЛИ СТЕ КУРСОР УНАЗАД - ПОМЕРИЛИ СТЕ КУРСОР УНАПРЕД САКРИЈ ТАСТАТУРУ СЛЕДЕЋА ТАСТАТУРА Од сада више нећете моћи да користите уобичајене TalkBack покрете. TalkBack није доступан када користите тастатуру са Брајевом азбуком.\n\n%1$s Прво окрените телефон тако да је екран окренут од вас.\n\nЗатим ротирајте телефон хоризонтално у водораван положај. Руке би требало да обухватају кратке крајеве телефона. Десна рука би требало да држи крај са USB портом. Положите средња 3 прста на екран и придржавајте телефон помоћу малог прста и палца.\n\nКада будете спремни, двапут додирните екран да бисте наставили.\n\nДа бисте затворили тастатуру са Брајевом азбуком, превуците надоле према тлу помоћу 3 прста. Тиме се враћате на првобитну тастатуру. Телефон је у вертикалном положају. Да бисте наставили, ротирајте телефон хоризонтално тако да дужа страна буде на дну. Затим окрените екран тако да буде окренут од вас. Када будете спремни, двапут додирните екран да бисте наставили. - Нека екран остане окренут од вас. Држите телефон обема рукама за кратке ивице телефона тако да средња 3 прста сваке руке могу да додирну екран.\n\nЛеви кажипрст би требало да буде на 1. тачки. Сада додирните 1. тачку да бисте унели слово А. - Додирните 1. тачку левим кажипрстом да бисте унели слово А. + Леви кажипрст + Десни кажипрст + Нека екран остане окренут од вас. Држите телефон обема рукама за кратке ивице телефона тако да средња 3 прста сваке руке могу да додирну екран.\n\n%1$s би требало да буде на 1. тачки. Сада додирните 1. тачку да бисте унели слово А. + Додирните 1. тачку %1$s да бисте унели слово A Додирните %1$s да бисте унели слово %2$s Да бисте избрисали слово, превуците улево. Испробајте. Избрисали сте д. Да бисте додали размак, превуците удесно. Испробајте. - Да бисте померили курсор уназад, превуците нагоре. Испробајте. - Да бисте померили курсор унапред, превуците надоле. Испробајте. Да бисте сакрили тастатуру, превуците надоле помоћу 2 прста. Испробајте. Сакриј тастатуру. Ово ће обично сакрити тастатуру. Тастатура са Брајевом азбуком ће остати отворена зато што сте још увек у водичу. Да бисте прешли на другу тастатуру, превуците надоле помоћу 3 прста. Испробајте. @@ -114,6 +128,4 @@ Слово је избрисано Реч је избрисана Хајде да наставимо са водичем. %1$s - Спољни брајев екран је повезан и може да се користи за унос текста на овом уређају.\nМожете и да пређете на тастатуру са Брајевом азбуком на додирном екрану или на следећи метод уноса. - Пређи на тастатуру на додирном екрану diff --git a/braille/brailleime/src/phone/res/values-sv/strings.xml b/braille/brailleime/src/main/res/values-sv/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-sv/strings.xml rename to braille/brailleime/src/main/res/values-sv/strings.xml index 33e2654a2..61c7fb812 100644 --- a/braille/brailleime/src/phone/res/values-sv/strings.xml +++ b/braille/brailleime/src/main/res/values-sv/strings.xml @@ -5,6 +5,9 @@ Bordsläge. Placera enheten med laddningsporten till vänster. Håll ned sex fingrar för att uppdatera punktpositionerna. Det finns inget annat aktiverat tangentbord. Öppna tangentbordsinställningarna. Svep uppåt med tre fingrar för fler alternativ + Du har bytt till sammandragen punktskrift + Du har bytt till icke-sammandragen punktskrift + Du har bytt till icke-sammandragen UEB punktskriftstangentbord punktskriftstangentbord för %s Punktskriftstangentbord för TalkBack – besök g.co/help/braille om du behöver hjälp @@ -17,7 +20,6 @@ Positionen för punkt 1, 2 och 3 har uppdaterats. Sedan registrerar du punkterna på höger hand. Tryck länge på skärmen med de mellersta tre fingrarna på höger hand. Positionen för punkt 1, 2 och 3 har uppdaterats. Sedan registrerar du punkterna på vänster hand. Tryck länge på skärmen med de mellersta tre fingrarna på vänster hand. Det gick inte att uppdatera punktpositionerna. Tryck länge med sex fingrar på skärmen. Försök sedan igen. - Du har bytt till %s Punktskriftstangentbord Konfigurera punktskriftstangentbord Hur punktskriftstangentbordet ska användas @@ -27,18 +29,23 @@ <br><br>2. <b>Använda punktskriftstangentbordet</b>: Öppna det vanliga tangentbordet och tryck sedan på ikonen för att välja tangentbord %2$s (sitter vanligtvis nere till höger). Välj %1$s. <br><br>Om du inte ser alternativet för att byta tangentbord testar du att installera %3$s, Googles tangentbord. Inställningar - Språk för inmatning - Önskat språk - Visa inte det här igen - Byt snabbt språk medan du skriver - Du kan byta språk när du skriver på punktskriftstangentbordet genom att svepa uppåt med tre fingrar. Välj sedan Byt till nästa språk. + Skriftspråk + Unified English Braille + spanska + arabiska + franska + polska Inkludera alla nedtryckta punkter Alla nedtryckta punkter är en del av inmatningen, även om punkten släpps upp före andra punkter Omvända punkter Byt plats på punkterna så att exempelvis punkt 1 och punkt 4 byter plats med varandra Alternativ för punktskriftstangentbordet - Byt till nästa språk: %s - Du använder nu %s + Byt språk för inmatning + Du använder nu %s + Språk för inmatning + Byt till %s punktskrift + sammandragen + icke-sammandragen Granska alla rörelser Öppna självstudier Avsluta självstudierna @@ -49,15 +56,23 @@ Svep åt vänster för att radera Svep åt höger med två fingrar för ny rad Svep åt vänster med två fingrar för att radera ett ord - Svep uppåt för att flytta markören bakåt - Svep nedåt för att flytta markören framåt Svep nedåt med två fingrar för att dölja tangentbordet. Svep nedåt med tre fingrar för att byta till nästa tangentbord Svep uppåt med två fingrar för att skicka text Svep uppåt med tre fingrar för hjälp och andra alternativ Klar + Bortvänt läge + Håll enheten med skärmen vänd bort från dig (bortvänt läge) + Bordsläge + Lägg enheten på ett bord (bordsläge) + Anpassa efter hur jag håller enheten Enheten har inte stöd för punktskriftstangentbord Enheten har inte stöd för tryckpunkter. Kontakta enhetens tillverkare om du vill veta mer. + %s har raderats + + punkt %s + punkterna %s + Aktivera TalkBack för att använda punktskriftstangentbordet Aktivera tillgänglighetsinställningarna Återuppta TalkBack om du vill använda punktskriftstangentbordet @@ -71,32 +86,30 @@ Från och med nu kan du inte längre använda de vanliga TalkBack-rörelserna. TalkBack är inte tillgängligt när du använder punktskriftstangentbordet. Börja genom att hålla telefonen så här, med skärmen vänd bort från dig. Tryck snabbt två gånger var som helst för att fortsätta - Tryck på punkt 1 med vänster pekfinger för att skriva bokstaven A + vänster pekfinger + höger pekfinger + Skriv bokstaven A genom att trycka på punkt 1 med %1$s Testa sedan att skriva bokstäverna B, C och D Svep åt vänster för att radera en bokstav Svep åt höger för att lägga till ett blanksteg - Svep uppåt för att flytta markören bakåt - Svep nedåt för att flytta markören framåt Svep nedåt med två fingrar för att dölja tangentbordet Svep nedåt med tre fingrar om du vill byta till ditt andra tangentbord Svep uppåt med tre fingrar för att avsluta självstudierna RADERA BLANKSTEG - MARKÖREN FLYTTADES BAKÅT - MARKÖREN FLYTTADES FRAMÅT DÖLJ TANGENTBORDET NÄSTA TANGENTBORD Från och med nu kan du inte längre använda de vanliga TalkBack-rörelserna. TalkBack är inte tillgängligt när punktskriftstangentbordet används.\n\n%1$s Först vänder du på telefonen så att skärmen är vänd bort från dig.\n\nSedan roterar du telefonen från stående till liggande läge. Du ska hålla händerna på telefonens kortändar. Håll änden där USB-porten sitter i höger hand. Ha de tre mellersta fingrarna på skärmen och använd lillfingret och tummen som stöd för telefonen.\n\nNär du är redo trycker du snabbt två gånger på skärmen för att fortsätta.\n\nOm du vill stänga punktskriftstangentbordet sveper du ned mot marken med tre fingrar. På så sätt får du tillbaka det ursprungliga tangentbordet. Telefonen är i stående läge. Om du vill fortsätta roterar du telefonen till liggande läge, så att den långa sidan är vänd nedåt. Vänd sedan skärmen bort från dig. När du är redo trycker du snabbt två gånger på skärmen för att fortsätta. - Håll skärmen bortvänd. Håll i telefonen med båda händerna på kortsidorna, så att de mellersta tre fingrarna på varje hand kan trycka på skärmen.\n\nVänster pekfinger ska vara på punkt 1. Nu trycker du på punkt 1 för att skriva bokstaven A. - Tryck på punkt 1 med vänster pekfinger för att skriva A + Vänster pekfinger + Höger pekfinger + Håll skärmen bortvänd. Håll i telefonen med båda händerna på kortsidorna, så att de mellersta tre fingrarna på varje hand kan trycka på skärmen.\n\n%1$s ska vara på punkt 1. Nu trycker du på punkt 1 för att skriva bokstaven A. + Skriv bokstaven A genom att trycka på punkt 1 med %1$s Tryck på %1$s för att skriva bokstaven %2$s Svep åt vänster om du vill radera en bokstav. Testa nu. d har raderats. Svep åt höger för att skriva ett blanksteg. Testa nu. - Svep uppåt för att flytta markören bakåt. Testa nu. - Svep nedåt för att flytta markören framåt. Testa nu. Svep nedåt med två fingrar för att dölja tangentbordet. Testa nu. Dölj tangentbordet. Detta döljer vanligtvis tangentbordet. Punktskriftstangentbordet fortsätter dock att vara öppet eftersom självstudiematerialet används. Svep nedåt med tre fingrar om du vill byta till ditt andra tangentbord Testa nu. @@ -114,6 +127,4 @@ Bokstav raderad Ord raderat Vi fortsätter med självstudierna. %1$s - En extern punktskriftsskärm som du kan använda för att skriva text på enheten har anslutits.\nDu kan även byta till punktskriftstangentbord på pekskärm eller nästa inmatningsmetod. - Byt till tangentbord på pekskärm diff --git a/braille/brailleime/src/phone/res/values-sw/strings.xml b/braille/brailleime/src/main/res/values-sw/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-sw/strings.xml rename to braille/brailleime/src/main/res/values-sw/strings.xml index 48e0a4690..f8cac800e 100644 --- a/braille/brailleime/src/phone/res/values-sw/strings.xml +++ b/braille/brailleime/src/main/res/values-sw/strings.xml @@ -5,6 +5,9 @@ Hali ya juu ya meza. Weka kifaa chako na uelekeze mlango wa kuchaji upande wa kushoto. Ili usasishe nafasi za nukta nundu, shikilia kwa vidole sita. Hujawasha kibodi nyingine, nenda kwenye mipangilio ya kibodi Telezesha vidole vitatu juu ili upate chaguo zaidi + Inatumia nukta nundu ya gredi ya pili + Inatumia nukta nundu ya gredi ya kwanza + Inatumia UEB ya gredi ya kwanza kibodi ya nukta nundu kibodi ya nukta nundu, %s Kibodi ya TalkBack ya nukta nundu - kwa usaidizi, tembelea g.co/help/braille @@ -17,7 +20,6 @@ Umesasisha nafasi za nukta nundu ya kwanza, ya pili na ya tatu. Kisha, turekodi nukta nundu za mkono wako wa kulia. Gusa na ushikilie skrini kwa vidole vitatu vya kati vya mkono wako wa kulia. Umesasisha nafasi za nukta nundu ya kwanza, ya pili na ya tatu. Kisha, turekodi nukta nundu za mkono wako wa kushoto. Gusa na ushikilie skrini ukitumia vidole vitatu vya kati vya mkono wako wa kushoto. Imeshindwa kusasisha nafasi ya nukta nundu. Gusa na ushikilie skrini kwa vidole sita. Kisha ujaribu tena. - Sasa unatumia %s Kibodi ya nukta nundu Weka mipangilio ya kibodi ya nukta nundu Jinsi ya kutumia kibodi ya nukta nundu @@ -27,18 +29,23 @@ <br><br>2. <b>Tumia kibodi ya nukta nundu</b>: Fungua kibodi yako ya kawaida, kisha uguse aikoni ya kuchagua kibodi %2$s (kwa kawaida kwenye pembe ya chini upande wa kulia). Chagua \"%1$s.\" <br><br>Ikiwa huoni chaguo la kubadilisha kibodi, jaribu kusakinisha, %3$s, kibodi ya Google. Mipangilio - Lugha za kuandika - Lugha inayopendelewa - Usionyeshe hii tena - Badilisha lugha kwa haraka huku ukiandika - Ili ubadilishe lugha huku ukiandika kwa kutumia kibodi ya nukta nundu, telezesha juu ukitumia vidole vitatu. Kisha uchague \"badilisha utumie lugha inayofuata\". + Lugha za kuandika + Unified English Braille + Kihispania + Kiarabu + Kifaransa + Kipolandi Jumuisha nukta nundu zote ulizobonyeza Kila nukta nundu uliyobonyeza ni sehemu ya uingizaji, hata ikiachiliwa kabla ya nukta nundu nyingine Geuza nukta nundu Badilisha nafasi za nukta nundu ili nukta nundu ya kwanza na ya nne zibadilishane nafasi, kwa mfano Chaguo za kibodi ya nukta nundu - Badilisha utumie lugha inayofuata: %s - Kwa sasa unatumia: %s + Badilisha lugha ya kuandika + Kwa sasa unatumia %s + Lugha ya kuandika + Badili utumie nukta nundu ya %s + nukta nundu ya gredi ya pili + nukta nundu ya gredi ya kwanza Kagua ishara zote Anzisha mafunzo Kamilisha mafunzo @@ -49,15 +56,23 @@ Ili ufute, telezesha kidole kushoto Kuweka mstari mpya, telezesha vidole viwili kulia Ili ufute neno, telezesha vidole viwili kushoto - Ili usogeze nyuma kiteuzi cha maandishi, telezesha kidole juu - Ili usogeze mbele kiteuzi cha maandishi, telezesha kidole chini Ili ufiche kibodi, telezesha vidole viwili chini Kubadilisha ili utumie kibodi inayofuata, telezesha vidole vitatu chini Ili utume maandishi, telezesha vidole viwili juu Kwa usaidizi na chaguo zingine, telezesha vidole vitatu juu Nimemaliza + Hali ya skrini kuangalia mbele + Shikilia kifaa skrini ikiwa imeangalia kinyume na ulipo (hali ya skrini kuangalia mbele) + Hali ya juu ya meza + Laza kifaa chako mezani (hali ya juu ya meza) + Tambua jinsi unavyoshika kifaa Kifaa chako hakitumii kibodi ya nukta nundu Kifaa chako hakitumii njia za kutosha za kugusa. Kwa maelezo zaidi, wasiliana na mtengenezaji wa kifaa. + Umefuta %s + + nukta nundu ya %s + nukta nundu za %s + Washa TalkBack ili utumie kibodi ya nukta nundu Washa katika mipangilio ya ufikivu Endelea kutumia TalkBack ili utumie kibodi ya nukta nundu @@ -71,32 +86,30 @@ Kuanzia sasa, hutaweza kutumia ishara za kawaida za TalkBack. Kipengele cha TalkBack hakipatikani unapotumia kibodi ya nukta nundu. Ili uanze, shika simu yako hivi, skrini ikiwa imeangalia kinyume na ulipo. Gusa mara mbili mahali popote ili uendelee - Gusa nukta nundu ya kwanza ukitumia kidole cha shahada cha kushoto ili uandike herufi \"A\" + kidole cha shahada cha mkono wa kushoto + kidole cha shahada cha mkono wa kulia + Gusa nukta nundu ya kwanza ukitumia %1$s chako ili uandike herufi \"A\" Kisha, jaribu kuandika herufi B, C na D Ili ufute herufi, telezesha kidole kushoto Ili uweke nafasi, telezesha kidole kulia - Ili usogeze nyuma kiteuzi cha maandishi, telezesha kidole juu - Ili usogeze mbele kiteuzi cha maandishi, telezesha kidole chini Ili ufiche kibodi, telezesha vidole viwili chini Kubadilisha ili utumie kibodi yako nyingine, telezesha vidole vitatu chini Ili ukamilishe mafunzo, telezesha vidole vitatu juu FUTA NAFASI - UMESOGEZA NYUMA KITEUZI CHA MAANDISHI - UMESOGEZA MBELE KITEUZI CHA MAANDISHI FICHA KIBODI KIBODI INAYOFUATA Kuanzia sasa, hutaweza kutumia ishara za kawaida za TalkBack. Kipengele cha TalkBack hakipatikani unapotumia kibodi ya nukta nundu.\n\n%1$s Kwanza, geuza simu yako ili skrini iangalie kinyume na ulipo.\n\nKisha, zungusha simu ikae katika mkao wa mlalo. Mikono yako inafaa kushikilia kingo fupi za simu. Mkono wako wa kulia unafaa kushikilia ukingo wenye mlango wa USB. Weka vidole vyako vitatu vya kati kwenye skrini na utumie kidole cha mwisho na cha gumba kushikilia simu.\n\nUkiwa tayari, gusa skrini mara mbili ili uendelee.\n\nIli ufunge kibodi ya nukta nundu, telezesha vidole vitatu chini ukielekeza sakafuni. Hatua hii hukurejesha kwenye kibodi yako halisi. Simu yako iko katika mkao wima. Ili uendelee, zungusha simu yako kwa njia ya mlalo ili upande mrefu uwe chini. Kisha uigeuze skrini iangalie kinyume na ulipo. Ukiwa tayari, gusa skrini mara mbili ili uendelee. - Weka skrini iangalie kinyume na ulipo. Shikilia simu kwa mikono yote miwili, kwenye kingo fupi za simu, ili vidole vitatu vya kati vya kila mkono viweze kugusa skrini.\n\nKidole chako cha shahada cha mkono wa kushoto kinafaa kuwa kwenye nukta nundu ya kwanza. Sasa, gusa nukta nundu ya kwanza ili uandike herufi \"A\". - Gusa nukta nundu ya kwanza ukitumia kidole cha shahada cha kushoto ili uandike herufi “A” + kidole cha shahada cha mkono wa kushoto + kidole cha shahada cha mkono wa kulia + Weka skrini iangalie kinyume na ulipo. Shikilia simu kwa mikono yote miwili, kwenye kingo fupi za simu, ili vidole vitatu vya kati vya kila mkono viweze kugusa skrini.\n\n%1$s chako kinafaa kuwa kwenye nukta nundu ya kwanza. Sasa, gusa nukta nundu ya kwanza ili uandike herufi \"A\". + Gusa nukta nundu ya kwanza ukitumia %1$s chako ili uandike herufi “A” Gusa %1$s ili uandike herufi %2$s Ili ufute herufi, telezesha kidole kushoto. Ijaribu sasa. d imefutwa. Ili uweke nafasi, telezesha kidole kulia. Ijaribu sasa. - Ili usogeze nyuma kiteuzi cha maandishi, telezesha kidole juu. Ijaribu sasa. - Ili usogeze mbele kiteuzi cha maandishi, telezesha kidole chini. Ijaribu sasa. Ili ufiche kibodi, telezesha vidole viwili chini. Ijaribu sasa. Ficha kibodi. Kwa kawaida hatua hii itaficha kibodi. Kibodi ya nukta nundu haitafungwa kwa sababu ungali kwenye mafunzo. Kubadilisha ili utumie kibodi yako nyingine, telezesha chini vidole vitatu. Ijaribu sasa. @@ -114,6 +127,4 @@ Umefuta herufi Umefuta neno Tuendelee na mafunzo. %1$s - Onyesho la nje la braille limeunganishwa, unaloweza kutumia kuandika katika kifaa hiki.\nAu, unaweza kubadilisha utumie Kibodi ya Nukta nundu ya skrini ya kugusa au mbinu inayofuata ya kuingiza data. - Badilisha utumie kibodi ya skrini ya kugusa diff --git a/braille/brailleime/src/phone/res/values-ta/strings.xml b/braille/brailleime/src/main/res/values-ta/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-ta/strings.xml rename to braille/brailleime/src/main/res/values-ta/strings.xml index 5b3f00a93..98084caef 100644 --- a/braille/brailleime/src/phone/res/values-ta/strings.xml +++ b/braille/brailleime/src/main/res/values-ta/strings.xml @@ -5,6 +5,9 @@ டேபிள்டாப் பயன்முறை. சார்ஜிங் போர்ட் இடதுபுறத்தில் இருக்குமாறு மொபைலை வைக்கவும். புள்ளிகளின் நிலையைப் புதுப்பிக்க 6 விரல்களால் அழுத்தவும். வேறு எந்தக் கீபோர்டும் இயக்கப்படவில்லை, கீபோர்டு அமைப்புகளுக்குச் செல்லவும் மேலும் விருப்பங்களுக்கு மூன்று விரல்களால் மேல்நோக்கி ஸ்வைப் செய்யவும் + சுருக்க வடிவ பிரெய்லுக்கு மாற்றப்பட்டது + வழக்கமான பிரெய்லுக்கு மாற்றப்பட்டது + UEB விரிவான பயன்முறைக்கு மாற்றப்பட்டது பிரெய்ல் கீபோர்டு பிரெய்ல் கீபோர்டு: %s TalkBack பிரெய்ல் கீபோர்டு - உதவிக்கு g.co/help/braille என்ற தளத்திற்குச் செல்லவும் @@ -17,7 +20,6 @@ புள்ளிகள் 1, 2, 3 ஆகியவற்றுக்கான நிலைகள் புதுப்பிக்கப்பட்டன. அடுத்து உங்கள் வலது கையிலுள்ள புள்ளிகளைப் பதிவு செய்வோம். வலது கையில் நடுவிலுள்ள 3 விரல்களால் திரையைத் தொட்டுப் பிடித்திருக்கவும். புள்ளிகள் 1, 2, 3 ஆகியவற்றுக்கான நிலைகள் புதுப்பிக்கப்பட்டன. அடுத்து உங்கள் இடது கையிலுள்ள புள்ளிகளைப் பதிவு செய்வோம். இடது கையில் நடுவிலுள்ள 3 விரல்களால் திரையைத் தொட்டுப் பிடித்திருக்கவும். புள்ளியின் நிலையைப் புதுப்பிக்க முடியவில்லை. 6 விரல்களால் திரையைத் தொட்டுப் பிடித்திருக்கவும். பிறகு, மீண்டும் முயலவும். - %s மொழிக்கு மாற்றப்பட்டது பிரெய்ல் கீபோர்டு பிரெய்ல் கீபோர்டை அமைத்தல் பிரெய்ல் கீபோர்டை எப்படிப் பயன்படுத்துவது? @@ -27,18 +29,23 @@ <br><br>2. <b>பிரெய்ல் கீபோர்டைப் பயன்படுத்துதல்</b>: உங்கள் வழக்கமான கீபோர்டைத் திறந்து \'கீபோர்டைத் தேர்ந்தெடு\' ஐகானை %2$s தட்டவும் (வழக்கமாகக் கீழே வலது ஓரத்தில் இருக்கும்). \"%1$s\" என்பதைத் தேர்ந்தெடுக்கவும். <br><br>கீபோர்டை மாற்றுவதற்கான விருப்பம் தெரியவில்லை எனில் Google கீபோர்டை %3$s நிறுவ முயலவும். அமைப்புகள் - உள்ளிடும் மொழிகள் - விருப்பமான மொழி - இதை மீண்டும் காட்ட வேண்டாம் - உள்ளிடும்போது விரைவாக மொழியை மாற்றுங்கள் - பிரெய்ல் கீபோர்டு மூலம் டைப் செய்யும்போதே உங்களுக்கான மொழியை மாற்ற, 3 விரல்களால் மேல்நோக்கி ஸ்வைப் செய்யவும். அதன் பிறகு \"அடுத்த மொழிக்கு மாற்று\" என்பதைத் தேர்ந்தெடுக்கவும். + உள்ளிடும் மொழிகள் + ஒருங்கிணைக்கப்பட்ட ஆங்கில பிரெய்ல் + ஸ்பானிஷ் + அரபிக் + ஃபிரெஞ்சு + போலிஷ் அழுத்தப்பட்ட எல்லாப் புள்ளிகளையும் சேர்த்தல் மற்றவற்றிற்கு முன் விடுவிக்கப்பட்டாலும் அழுத்தப்பட்ட ஒவ்வொரு புள்ளியும் உள்ளீட்டின் ஒரு பகுதியாகும் ரிவர்ஸ் புள்ளிகள் புள்ளிகளின் இடங்களை மாற்றும், உதாரணமாக 4ன் இடத்தில் 1 ஐயும், 1ன் இடத்தில் 4 ஐயும் இடமாற்றும் பிரெய்ல் கீபோர்டு விருப்பங்கள் - அடுத்த மொழிக்கு மாற்று: %s - தற்போது பயன்படுத்துவது: %s + உள்ளிடும் மொழியை மாற்று + தற்போது பயன்படுத்துவது: %s + உள்ளிடும் மொழி + %s பிரெய்லுக்கு மாற்று + சுருக்க வடிவம் + வழக்கமான வடிவம் சைகைகள் அனைத்தையும் மதிப்பாய்வு செய்க பயிற்சியைத் திற பயிற்சியை முடி @@ -49,15 +56,23 @@ நீக்க, இடதுபுறம் ஸ்வைப் செய்யவும் புதிய வரிக்கு, 2 விரல்கள் மூலம் வலதுபுறம் ஸ்வைப் செய்யவும் வார்த்தையை நீக்க, 2 விரல்கள் மூலம் இடதுபுறம் ஸ்வைப் செய்யவும் - கர்சரைப் பின்னோக்கி நகர்த்த, மேல்நோக்கி ஸ்வைப் செய்யவும் - கர்சரை முன்னோக்கி நகர்த்த, கீழ்நோக்கி ஸ்வைப் செய்யவும் கீபோர்டை மறைக்க 2 விரல்கள் மூலம் கீழ்நோக்கி ஸ்வைப் செய்யவும் அடுத்த கீபோர்டுக்கு மாற்ற, 3 விரல்கள் மூலம் கீழே ஸ்வைப் செய்யவும் உரையை சமர்ப்பிக்க, 2 விரல்கள் மூலம் மேலே ஸ்வைப் செய்யவும் உதவி மற்றும் பிற விருப்பங்களுக்கு, 3 விரல்கள் மூலம் மேலே ஸ்வைப் செய்யவும் முடிந்தது + திரை எதிர்ப்பக்கம் பார்த்திருத்தல் பயன்முறை + திரை எதிர்ப்பக்கம் பார்த்திருக்குமாறு பிடிக்கவும் (திரை எதிர்ப்பக்கம் பார்த்திருத்தல் பயன்முறை) + டேபிள்டாப் பயன்முறை + சாதனத்தை டேபிளின் மீது கிடைமட்டமாக வைக்கவும் (டேபிள்டாப் பயன்முறை) + சாதனத்தை வைத்திருப்பதற்கேற்ப மாற்று பிரெய்ல் கீபோர்டை உங்கள் சாதனம் ஆதரிக்கவில்லை போதுமான தொடு புள்ளிகளை உங்கள் சாதனம் ஆதரிக்கவில்லை. மேலும் விவரங்களுக்கு உங்கள் சாதனத்தின் உற்பத்தியாளரைத் தொடர்புகொள்ளவும். + %s நீக்கப்பட்டது + + %s புள்ளி + %s புள்ளிகள் + பிரெய்ல் கீபோர்டைப் பயன்படுத்த TalkBackகை இயக்குங்கள் அணுகல்தன்மை அமைப்புகளை ஆன் செய் பிரெய்ல் கீபோர்டைப் பயன்படுத்த TalkBackகை மீண்டும் இயக்குங்கள் @@ -71,32 +86,30 @@ இனி நீங்கள் வழக்கமான TalkBack சைகைகளைப் பயன்படுத்த முடியாது. பிரெய்ல் கீபோர்டைப் பயன்படுத்தும்போது TalkBackகைப் பயன்படுத்த முடியாது. தொடங்குவதற்கு மொபைலின் பின் பகுதியை நீங்கள் பார்க்கும் வகையில் இது போன்று பிடித்திருக்கவும். தொடர்வதற்கு எங்கே வேண்டுமானாலும் இருமுறை தட்டவும் - \"A\" என்ற எழுத்தை உள்ளிடுவதற்கு உங்களது இடதுகை ஆள்காட்டி விரல் மூலம் 1ம் புள்ளியைத் தட்டவும் + இடது ஆள்காட்டி விரல் + வலது ஆள்காட்டி விரல் + “A” என்பதை உள்ளிட, உங்கள் %1$s மூலம் 1ம் புள்ளியைத் தட்டவும் அடுத்ததாக B, C, D ஆகிய எழுத்துகளை உள்ளிட முயலவும் எழுத்தை நீக்க இடதுபுறமாக ஸ்வைப் செய்யவும் இடைவெளியைச் சேர்க்க வலதுபுறம் ஸ்வைப் செய்யவும் - கர்சரைப் பின்னோக்கி நகர்த்த, மேல்நோக்கி ஸ்வைப் செய்யவும் - கர்சரை முன்னோக்கி நகர்த்த, கீழ்நோக்கி ஸ்வைப் செய்யவும் கீபோர்டை மறைக்க 2 விரல்கள் மூலம் கீழ்நோக்கி ஸ்வைப் செய்யவும் வேறு கீபோர்டுக்கு மாற்ற 3 விரல்கள் மூலம் கீழ்நோக்கி ஸ்வைப் செய்யவும் பயிற்சியை நிறைவு செய்ய 3 விரல்கள் மூலம் மேல்நோக்கி ஸ்வைப் செய்யவும் நீக்கு இடைவெளியைச் சேர் - கர்சர் பின்னோக்கி நகர்த்தப்பட்டது - கர்சர் முன்னோக்கி நகர்த்தப்பட்டது கீபோர்டை மறை அடுத்த கீபோர்டு இனி நீங்கள் வழக்கமான TalkBack சைகைகளைப் பயன்படுத்த முடியாது. பிரெய்ல் கீபோர்டைப் பயன்படுத்தும்போது TalkBackகைப் பயன்படுத்த முடியாது.\n\n%1$s முதலில் மொபைலின் பின் பகுதியை நீங்கள் பார்க்கும் வகையில் அதைத் திருப்பவும்.\n\nமொபைலைக் கிடைமட்டமாக சுழற்றி லேண்ட்ஸ்கேப் நிலையில் பிடிக்கவும். மொபைலின் இரு குறுகிய பக்கங்களையும் உங்கள் கைகள் பிடித்திருக்க வேண்டும். உங்கள் வலது கை USB போர்ட்டுடன் நுனியைப் பிடித்திருக்க வேண்டும். உங்கள் 3 நடு விரல்களையும் திரையின் மீது வைத்து சுண்டு விரலையும் கட்டை விரலையும் பயன்படுத்தி மொபைலைத் தாங்கிப் பிடிக்கவும்.\n\nதயாரான பிறகு, தொடர திரையின் மீது இருமுறை தட்டவும்.\n\nபிரெய்ல் கீபோர்டில் இருந்து வெளியேற 3 விரல்கள் மூலம் கீழே தரையை நோக்கி ஸ்வைப் செய்யவும். இதனால் உங்களின் வழக்கமான கீபோர்டு தோன்றும். உங்கள் மொபைல் செங்குத்தாக உள்ளது. தொடர்வதற்கு மொபைலின் நீளமான பக்கம் அடியில் இருக்குமாறு உங்கள் மொபைலைக் கிடைமட்டமாக சுழற்றவும். மொபைலின் பின் பகுதியை நீங்கள் பார்க்கும் வகையில் அதைத் திருப்பவும். தயாரான பிறகு, தொடர திரையை இருமுறை தட்டவும். - மொபைலின் பின் பகுதியை நீங்கள் பார்க்கும் வகையில் அதைத் திருப்பவும். உங்கள் இரு கைகளின் 3 நடு விரல்களும் திரையைத் தொடும்வகையில் மொபைலின் இரு குறுகிய பக்கங்களையும் கைகளால் பிடித்திருக்கவும்.\n\nஉங்கள் இடது ஆள்காட்டி விரல் 1ம் புள்ளியில் இருக்க வேண்டும். இப்போது “A” என்ற எழுத்தை உள்ளிட 1ம் புள்ளியைத் தட்டவும். - “A” என்பதை உள்ளிட உங்கள் இடதுகை ஆள்காட்டி விரலால் 1ம் புள்ளியைத் தட்டவும் + இடது ஆள்காட்டி விரல் + வலது ஆள்காட்டி விரல் + மொபைலின் பின் பகுதியை நீங்கள் பார்க்கும் வகையில் அதைத் திருப்பவும். உங்கள் இரு கைகளின் 3 நடு விரல்களும் திரையைத் தொடும்வகையில் மொபைலின் இரு குறுகிய பக்கங்களையும் கைகளால் பிடித்திருக்கவும்.\n\nஉங்கள் %1$s 1ம் புள்ளியில் இருக்க வேண்டும். இப்போது “A” என்ற எழுத்தை உள்ளிட 1ம் புள்ளியைத் தட்டவும். + “A” என்பதை உள்ளிட உங்கள் %1$s மூலம் 1ம் புள்ளியைத் தட்டவும் %1$s என்ற எழுத்தை உள்ளிட %2$s ஐத் தட்டவும் எழுத்தை நீக்க இடதுபுறம் ஸ்வைப் செய்யவும். இப்போதே முயல்க. d நீக்கப்பட்டது. இடைவெளியைச் சேர்க்க வலதுபுறம் ஸ்வைப் செய்யவும். இப்போதே முயல்க. - கர்சரைப் பின்னோக்கி நகர்த்த, மேல்நோக்கி ஸ்வைப் செய்யவும். இப்போதே முயன்று பாருங்கள். - கர்சரை முன்னோக்கி நகர்த்த, கீழ்நோக்கி ஸ்வைப் செய்யவும். இப்போதே முயன்று பாருங்கள். கீபோர்டை மறைக்க 2 விரல்கள் மூலம் கீழ்நோக்கி ஸ்வைப் செய்யவும். இப்போதே முயல்க. கீபோர்டை மறைக்கும். வழக்கமாக இது கீபோர்டை மறைக்கும். நீங்கள் இன்னும் பயிற்சியில் இருப்பதால் பிரெய்ல் கீபோர்டு திறந்தே இருக்கும். வேறு கீபோர்டுக்கு மாற்ற 3 விரல்கள் மூலம் கீழ்நோக்கி ஸ்வைப் செய்யவும். இப்போதே முயல்க. @@ -114,6 +127,4 @@ எழுத்து நீக்கப்பட்டது வார்த்தை நீக்கப்பட்டது பயிற்சியைத் தொடரலாம். %1$s - வெளிப்புற பிரெய்ல் காட்சி இணைக்கப்பட்டுள்ளது. இந்தச் சாதனத்தில் வார்த்தைகளை டைப் செய்ய இதைப் பயன்படுத்தலாம்.\nஅல்லது, தொடுதிரை பிரெய்ல் கீபோர்டுக்கோ அடுத்த உள்ளீட்டு முறைக்கோ மாறலாம். - தொடுதிரைக் கீபோர்டுக்கு மாறு diff --git a/braille/brailleime/src/phone/res/values-te/strings.xml b/braille/brailleime/src/main/res/values-te/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-te/strings.xml rename to braille/brailleime/src/main/res/values-te/strings.xml index 7198c572f..9b692c303 100644 --- a/braille/brailleime/src/phone/res/values-te/strings.xml +++ b/braille/brailleime/src/main/res/values-te/strings.xml @@ -5,6 +5,9 @@ టేబుల్‌టాప్ సెట్టింగ్ మోడ్. మీ పరికరాన్ని ఛార్జింగ్ పోర్ట్‌తో ఎడమవైపు ఉంచండి. డాట్ స్థానాన్ని అప్‌డేట్ చేయడానికి 6 వేళ్లను కిందకి ఉంచండి. వేరే కీబోర్డ్ ఏదీ ఎనేబుల్ చేయబడి లేదు, కీబోర్డ్ సెట్టింగ్‌లకు వెళ్ళండి మరిన్ని ఆప్షన్‌ల కోసం 3 వేళ్ళతో పైకి స్వైప్ చేయండి + సంక్షిప్త బ్రెయిలీకి మారింది + సంక్షిప్తం కాని బ్రెయిలీకి మారింది + సంక్షిప్తం కాని UEBకి స్విచ్ చేయబడింది బ్రెయిలీ కీబోర్డ్ బ్రెయిలీ కీబోర్డ్, %s TalkBack బ్రెయిలీ కీబోర్డ్ - సహాయం కోసం, g.co/help/brailleను సందర్శించండి @@ -17,7 +20,6 @@ 1, 2, 3 డాట్‌ల కోసం అప్‌డేట్ చేయబడిన స్థానాలు. తర్వాత, మీ కుడి చేతి వైపు ఉన్న డాట్‌లను రికార్డ్ చేద్దాము. మీ కుడి చేతి మధ్య 3 వేళ్లతో స్క్రీన్‌ను నొక్కి, పట్టుకోండి. 1, 2, 3 డాట్‌ల కోసం అప్‌డేట్ చేయబడిన స్థానాలు. తర్వాత, మీ ఎడమ చేతి వైపు ఉన్న డాట్‌లను రికార్డ్ చేద్దాము. మీ ఎడమ చేతి మధ్య 3 వేళ్లతో స్క్రీన్‌ను నొక్కి, పట్టుకోండి. డాట్ స్థానాన్ని అప్‌డేట్ చేయడం సాధ్యపడలేదు. 6 వేళ్లతో స్క్రీన్‌ను నొక్కి, పట్టుకోండి. ఆపై మళ్లీ ట్రై చేయండి. - %sకు మార్చబడింది బ్రెయిలీ కీబోర్డ్ బ్రెయిలీ కీబోర్డ్‌ను సెటప్ చేయండి బ్రెయిలీ కీబోర్డ్‌ను ఎలా ఉపయోగించాలి @@ -27,18 +29,23 @@ <br><br>2. <b>బ్రెయిలీ కీబోర్డ్‌ను ఉపయోగించండి</b>: మీ సాధారణ కీబోర్డ్‌ను తెరిచి, కీబోర్డ్ ఎంపిక చిహ్నం %2$sను ట్యాప్ చేయండి (సాధారణంగా దిగువున కుడివైపు మూలలో ఉంటుంది). \"%1$s\"ను ఎంచుకోండి. <br><br>కీబోర్డ్‌లను మార్చే ఆప్షన్ లేకపోతే, Google కీబోర్డ్ అయిన %3$sను ఇన్‌స్టాల్ చేయడానికి ట్రై చేయండి. సెట్టింగ్‌లు - టైపింగ్ భాషలు - ప్రాధాన్యతనిచ్చే భాష - దీన్ని మళ్లీ చూపవద్దు - టైప్ చేస్తున్నప్పుడు త్వరగా భాషను మార్చండి - బ్రెయిలీ కీబోర్డ్‌తో టైప్ చేస్తున్నప్పుడు మీ భాషను మార్చడానికి, 3 వేళ్లతో పైకి స్వైప్ చేయండి. తర్వాత \"తర్వాత భాషకు స్విచ్ అవ్వండి\" ఆప్షన్‌ను ఎంచుకోండి. + టైపింగ్ భాషలు + యూనిఫైడ్ ఇంగ్లీష్ బ్రెయిలీ + స్పానిష్ + అరబిక్ + ఫ్రెంచ్ + పోలిష్ నొక్కిన చుక్కలన్నిటినీ చేర్చండి చుక్కను మిగిలిన చుక్కల కంటే ముందే రిలీజ్ చేసినా, నొక్కిన ప్రతి చుక్కా ఇన్‌పుట్ లో భాగమే రివర్స్ చుక్కలు చుక్కల స్థానాలను స్వాప్ చేయండి, ఉదాహరణకు 1వ చుక్క, 4వ చుక్క స్థానాలు ఒక దానిలోకి మరొకటి మారేటట్లుగా బ్రెయిలీ కీబోర్డ్ ఆప్షన్‌లు - తర్వాత భాషకు స్విచ్ అవ్వండి: %s - ప్రస్తుతం ఉపయోగిస్తున్న భాష: %s + టైప్ చేసే భాషను మార్చండి + ప్రస్తుతం %sని ఉపయోగిస్తున్నారు + టైప్ చేసే భాష + %s బ్రెయిలీకి మార్చు + సంక్షిప్తం చేసినది + సంక్షిప్తం కానిది అన్ని సంజ్ఞలను రివ్యూ చేయండి ఓపెన్ ట్యుటోరియల్ ట్యుటోరియల్‌ను ముగించండి @@ -49,15 +56,23 @@ బ్రెయిలీ అక్షరాన్ని తొలగించడానికి, ఎడమ వైపునకు స్వైప్ చేయండి కొత్త లైన్ కోసం, 2 వేళ్ళతో కుడి వైపునకు స్వైప్ చేయండి పదాన్ని తొలగించడానికి, 2 వేళ్ళతో ఎడమ వైపునకు స్వైప్ చేయండి - కర్సర్‌ను వెనుకకు తరలించడానికి, పైకి స్వైప్ చేయండి - కర్సర్‌ను ముందుకు తరలించడానికి, కిందికి స్వైప్ చేయండి కీబోర్డ్‌ను దాచడానికి, 2 వేళ్ళతో కిందికి స్వైప్ చేయండి తర్వాతి కీబోర్డ్‌కు మారడానికి, 3 వేళ్ళతో కిందికి స్వైప్ చేయండి వచనాన్ని సబ్మిట్ చేయడానికి, 2 వేళ్ళతో పైకి స్వైప్ చేయండి సహాయం, ఇతర ఆప్షన్‌ల కోసం, 3 వేళ్ళతో పైకి స్వైప్ చేయండి పూర్తయింది + స్క్రీన్‌కు దూరంగా ఉన్నట్లు సూచించే మోడ్ + మీ నుండి స్క్రీన్‌ను దూరంగా ఉండేలా పరికరాన్ని పట్టుకోండి (స్క్రీన్‌కు దూరంగా ఉన్నట్లు సూచించే మోడ్) + టేబుల్‌టాప్ సెట్టింగ్ మోడ్ + పరికరాన్ని టేబుల్‌లో ఫ్లాట్‌గా ఉంచండి (టేబుల్‌టాప్ సెట్టింగ్ మోడ్) + మీరు పరికరాన్ని పట్టుకున్న ప్రకారం మార్పులు మీ పరికరం బ్రెయిలీ కీబోర్డ్‌కు సపోర్ట్ చేయదు మీ పరికరం, తాకడానికి సరిపడినన్ని పాయింట్‌లకు సపోర్ట్ చేయదు. మరింత సమాచాచారం కోసం మీ పరికరాన్ని తయారు చేసిన కంపెనీని సంప్రదించండి. + %s తొలగించబడింది + + %s చుక్క + %s చుక్కలు + బ్రెయిలీ కీబోర్డ్‌ను ఉపయోగించడానికి TalkBackను ఆన్ చేయండి యాక్సెసిబిలిటీ సెట్టింగ్‌లను ఆన్ చేయండి బ్రెయిలీ కీబోర్డ్‌ను ఉపయోగించడానికి TalkBackను తిరిగి ఆన్ చేయండి @@ -71,32 +86,30 @@ ఇప్పటి నుండి, మీరు సాధారణ TalkBack సంజ్ఞలను ఉపయోగించలేరు. బ్రెయిలీ కీబోర్డ్‌ను ఉపయోగిస్తున్నప్పుడు TalkBack అందుబాటులో ఉండదు. ప్రారంభించడానికి, స్క్రీన్ మీ వైపు లేకుండా ఉండేలా, ఫోన్‌ను ఈ విధంగా పట్టుకోండి. కొనసాగించడానికి ఎక్కడైనా రెండుసార్లు ట్యాప్ చేయండి - \"A\" అక్షరాన్ని టైప్ చేయడానికి 1వ చుక్కను మీ ఎడమ చూపుడువేలితో ట్యాప్ చేయండి + ఎడమ చూపుడు వేలు + కుడి చూపుడు వేలు + \"A\" అక్షరాన్ని టైప్ చేయడానికి మీ %1$sతో 1వ చుక్కపై ట్యాప్ చేయండి తర్వాత, B, C, D అక్షరాలను టైప్ చేయడానికి ట్రై చేయండి అక్షరాన్ని తొలగించడానికి, ఎడమ వైపునకు స్వైప్ చేయండి స్పేస్‌ను జోడించడానికి కుడి వైపునకు స్వైప్ చేయండి - కర్సర్‌ను వెనుకకు తరలించడానికి, పైకి స్వైప్ చేయండి - కర్సర్‌ను ముందుకు తరలించడానికి, కిందికి స్వైప్ చేయండి కీబోర్డ్‌ను దాచడానికి, 2 వేళ్ళతో కిందికి స్వైప్ చేయండి మీకున్న వేరొక కీబోర్డ్‌కు మారడానికి, 3 వేళ్ళతో కిందికి స్వైప్ చేయండి ట్యుటోరియల్‌ను ముగించడానికి 3 వేళ్ళతో పైకి స్వైప్ చేయండి తొలగించండి స్పేస్ - కర్సర్ వెనుకకు తరలించబడింది - కర్సర్ ముందుకు తరలించబడింది కీబోర్డ్‌ను దాచడం తర్వాతి కీబోర్డ్ ఇప్పటి నుండి, మీరు సాధారణ TalkBack సంజ్ఞలను ఉపయోగించలేరు. బ్రెయిలీ కీబోర్డ్‌ను ఉపయోగిస్తున్నప్పుడు TalkBack అందుబాటులో ఉండదు.\n\n%1$s మొదట, స్క్రీన్ మీ వైపు లేకుండా ఫోన్‌ను తిప్పి పట్టుకోండి.\n\nతర్వాత, ఫోన్‌ను ల్యాండ్‌స్కేప్ స్థితిలోకి సమతలంగా ఉండేలా తిప్పండి. ఫోన్‌ను, వెడల్పు తక్కువ ఉన్న వైపు, మీ చేతులతో గట్టిగా పట్టుకోండి. మీ కుడి చేయి USB పోర్ట్ ఉన్న వైపు పట్టుకుని ఉండాలి. చేతిలోని మధ్య 3 వేళ్ళను స్క్రీన్‌పై తాకేలా ఉంచి, చిటికెన వేలును, బొటనవేలును ఫోన్‌ను పట్టుకోవడానికి ఉపయోగించండి.\n\n మీరు సిద్ధంగా ఉన్నప్పుడు, కొనసాగించడానికి స్క్రీన్‌పై రెండుసార్లు ట్యాప్ చేయండి.\n\nబ్రెయిలీ కీబోర్డ్ నుండి బయటికి రావడానికి నేల వైపుగా 3 వేళ్ళతో కిందికి స్వైప్ చేయండి. దీనితో మీ అసలు కీబోర్డ్‌కు తిరిగి మారతారు. మీ ఫోన్ నిలువు స్థితిలో వుంది. కొనసాగించడానికి, మీ ఫోన్‌ను సమతలంగా తిప్పండి. దానివల్ల పొడవుగా ఉండే భాగం కింది వైపునకు వస్తుంది. తర్వాత స్క్రీన్‌ను మీ వైపునకు ఉంచకుండా తిప్పి పట్టుకోండి. మీరు సిద్ధంగా ఉన్నప్పుడు, కొనసాగించడానికి రెండుసార్లు ట్యాప్ చేయండి. - స్క్రీన్‌ను మీ వైపునకు ఉంచకుండా తిప్పి పట్టుకోండి. మీ ఫోన్‌ను చేతిలోని మధ్య 3 వేళ్లు స్క్రీన్‌ను తాకి ఉండేలా, వెడల్పు తక్కువ ఉన్న వైపు, మీ రెండు చేతులతో గట్టిగా పట్టుకోండి.\n\nYour మీ ఎడమ చూపుడు వేలు 1వ చుక్కపై ఉండాలి. ఇప్పుడు, “A” అక్షరాన్ని టైప్ చేయడానికి 1వ చుక్కను ట్యాప్ చేయండి. - “A” అక్షరాన్ని టైప్ చేయడానికి ఎడమ చూపుడు వేలితో 1వ చుక్కను ట్యాప్ చేయండి + ఎడమ చూపుడు వేలు + కుడి చూపుడు వేలు + స్క్రీన్‌ను మీ వైపు లేకుండా తిప్పి పట్టుకోండి. మీ ఫోన్‌ను చేతిలోని మధ్య 3 వేళ్లు స్క్రీన్‌ను తాకి ఉండేలా, వెడల్పు తక్కువ ఉన్న వైపు, మీ రెండు చేతులతో గట్టిగా పట్టుకోండి.\n\nమీ %1$s 1వ చుక్కపై ఉండాలి. ఇప్పుడు, “A” అక్షరాన్ని టైప్ చేయడానికి 1వ చుక్కపై ట్యాప్ చేయండి. + “A” టైప్ చేయడానికి మీ %1$sతో 1వ చుక్కపై ట్యాప్ చేయండి %2$s అక్షరాన్ని టైప్ చేయడానికి %1$sను ట్యాప్ చేయండి అక్షరాన్ని తొలగించాలంటే, ఎడమ వైపునకు స్వైప్ చేయండి. దీన్ని ఇప్పుడే ట్రై చేయండి. d తొలగించబడింది. స్పేస్‌ను జోడించడానికి కుడి వైపునకు స్వైప్ చేయండి. దీన్ని ఇప్పుడే ట్రై చేయండి. - కర్సర్‌ను వెనుకకు తరలించడానికి, పైకి స్వైప్ చేయండి. దీన్ని ఇప్పుడే ట్రై చేయండి. - కర్సర్‌ను ముందుకు తరలించడానికి, కిందికి స్వైప్ చేయండి. దీన్ని ఇప్పుడే ట్రై చేయండి. కీబోర్డ్‌ను దాచడానికి, 2 వేళ్ళతో కిందికి స్వైప్ చేయండి. దీన్ని ఇప్పుడే ట్రై చేయండి. కీబోర్డ్ దాచబడింది. సాధారణంగా, ఇది కీ బోర్డ్‌ను దాస్తుంది. బ్రెయిలీ కీబోర్డ్ ఇంకా తెరిచే ఉంటుంది, ఎందుకంటే మీరింకా ట్యుటోరియల్‌లో ఉన్నారు. మీకున్న వేరొక కీబోర్డ్‌కు మారడానికి, 3 వేళ్ళతో కిందికి స్వైప్ చేయండి. దీన్ని ఇప్పుడే ట్రై చేయండి. @@ -114,6 +127,4 @@ అక్షరం తొలగించబడింది పదం తొలగించబడింది ట్యుటోరియల్‌ను కొనసాగిద్దాం. %1$s - బయటి బ్రెయిలీ డిస్‌ప్లే కనెక్ట్ చేయబడింది, దానిని మీరు ఈ పరికరంలో టెక్స్ట్ టైప్ చేయడానికి ఉపయోగించవచ్చు.\nలేదా, మీరు టచ్-స్క్రీన్ బ్రెయిలీ కీబోర్డ్ లేదా తదుపరి ఇన్‌పుట్ విధానానికి మారవచ్చు. - టచ్-స్క్రీన్ కీబోర్డ్‌కు మారండి diff --git a/braille/brailleime/src/phone/res/values-th/strings.xml b/braille/brailleime/src/main/res/values-th/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-th/strings.xml rename to braille/brailleime/src/main/res/values-th/strings.xml index d6beb2b8b..045a0844b 100644 --- a/braille/brailleime/src/phone/res/values-th/strings.xml +++ b/braille/brailleime/src/main/res/values-th/strings.xml @@ -5,6 +5,9 @@ โหมดบนโต๊ะ วางอุปกรณ์โดยหันพอร์ตชาร์จไปทางซ้าย ใช้ 6 นิ้วกดหน้าจอไว้เพื่ออัปเดตตำแหน่งของจุด ไม่ได้เปิดใช้แป้นพิมพ์อื่นไว้ ไปที่การตั้งค่าแป้นพิมพ์ ใช้ 3 นิ้วเลื่อนขึ้นเพื่อดูตัวเลือกเพิ่มเติม + เปลี่ยนไปใช้อักษรเบรลล์แบบย่อแล้ว + เปลี่ยนไปใช้อักษรเบรลล์แบบไม่ย่อแล้ว + เปลี่ยนไปใช้ UEB แบบไม่ย่อแล้ว แป้นพิมพ์อักษรเบรลล์ แป้นพิมพ์อักษรเบรลล์ %s แป้นพิมพ์อักษรเบรลล์ของ TalkBack ดูความช่วยเหลือได้ที่ g.co/help/braille @@ -17,7 +20,6 @@ อัปเดตตำแหน่งของจุด 1, 2 และ 3 แล้ว จากนั้นให้บันทึกจุดของมือขวา ใช้นิ้วชี้ นิ้วกลาง และนิ้วนางของมือขวาแตะหน้าจอค้างไว้ อัปเดตตำแหน่งของจุด 1, 2 และ 3 แล้ว จากนั้นให้บันทึกจุดของมือซ้าย ใช้นิ้วชี้ นิ้วกลาง และนิ้วนางของมือซ้ายแตะหน้าจอค้างไว้ อัปเดตตำแหน่งของจุดไม่ได้ ใช้ 6 นิ้วแตะหน้าจอค้างไว้ จากนั้นลองอีกครั้ง - เปลี่ยนไปใช้ %s แล้ว แป้นพิมพ์อักษรเบรลล์ ตั้งค่าแป้นพิมพ์อักษรเบรลล์ วิธีใช้แป้นพิมพ์อักษรเบรลล์ @@ -27,18 +29,23 @@ <br><br>2. <b>ใช้แป้นพิมพ์อักษรเบรลล์</b>: เปิดแป้นพิมพ์ปกติ แล้วแตะไอคอน \"เลือกแป้นพิมพ์\" %2$s (โดยปกติจะอยู่ที่มุมขวาล่าง) เลือก \"%1$s\" <br><br>หากไม่เห็นตัวเลือกเพื่อเปลี่ยนแป้นพิมพ์ ให้ลองติดตั้ง %3$s แป้นพิมพ์ของ Google การตั้งค่า - ภาษาที่พิมพ์ - ภาษาที่ต้องการ - ไม่ต้องแสดงข้อความนี้อีก - เปลี่ยนภาษาอย่างรวดเร็วขณะพิมพ์ - หากต้องการเปลี่ยนภาษาขณะพิมพ์ด้วยแป้นพิมพ์อักษรเบรลล์ ให้ใช้ 3 นิ้วปัดขึ้น แล้วเลือก \"เปลี่ยนเป็นภาษาถัดไป\" + ภาษาที่ใช้พิมพ์ + Unified English Braille + ภาษาสเปน + อาหรับ + ฝรั่งเศส + ภาษาโปแลนด์ รวมจุดที่กดไว้ทั้งหมด แต่ละจุดที่กดเป็นส่วนหนึ่งของอินพุต แม้ว่าจะปล่อยจุดนั้นก่อนจุดอื่นๆ จุดแบบย้อนกลับ สลับตำแหน่งจุด เช่น เพื่อให้จุด 1 และจุด 4 สลับที่กัน ตัวเลือกแป้นพิมพ์อักษรเบรลล์ - เปลี่ยนเป็นภาษาถัดไป: %s - ปัจจุบันใช้ภาษา %s + เปลี่ยนแปลงภาษาที่พิมพ์ + ปัจจุบันใช้ %s + ภาษาที่พิมพ์ + เปลี่ยนเป็นอักษรเบรลล์แบบ%s + ย่อ + ไม่ย่อ ดูท่าทางสัมผัสทั้งหมด เปิดบทแนะนำ จบบทแนะนำ @@ -49,15 +56,23 @@ หากต้องการลบ ให้เลื่อนไปทางซ้าย หากต้องการขึ้นบรรทัดใหม่ ให้ใช้ 2 นิ้วเลื่อนไปทางขวา หากต้องการลบคำ ให้ใช้ 2 นิ้วเลื่อนไปทางซ้าย - หากต้องการย้ายเคอร์เซอร์ไปข้างหลัง ให้ปัดขึ้น - หากต้องการย้ายเคอร์เซอร์ไปข้างหน้า ให้ปัดลง หากต้องการซ่อนแป้นพิมพ์ ให้ใช้ 2 นิ้วเลื่อนลง หากต้องการเปลี่ยนไปใช้แป้นพิมพ์ถัดไป ให้ใช้ 3 นิ้วเลื่อนลง หากต้องการส่งข้อความ ให้ใช้ 2 นิ้วเลื่อนขึ้น หากต้องการดูความช่วยเหลือและตัวเลือกอื่นๆ ให้ใช้ 3 นิ้วเลื่อนขึ้น เสร็จสิ้น + โหมดหันหน้าจอออก + ถืออุปกรณ์โดยให้หันหน้าจอออกจากตัว (โหมดหันหน้าจอออก) + โหมดบนโต๊ะ + วางอุปกรณ์ราบลงบนโต๊ะ (โหมดบนโต๊ะ) + ปรับให้เข้ากับวิธีที่คุณถืออุปกรณ์ อุปกรณ์ของคุณไม่รองรับแป้นพิมพ์อักษรเบรลล์ อุปกรณ์ของคุณไม่รองรับจุดที่สัมผัสจำนวนมากพอ โปรดติดต่อผู้ผลิตอุปกรณ์เพื่อสอบถามข้อมูลเพิ่มเติม + ลบ %s แล้ว + + จุด %s + จุด %s + เปิด TalkBack เพื่อใช้แป้นพิมพ์อักษรเบรลล์ เปิดในการตั้งค่าการช่วยเหลือพิเศษ ใช้ TalkBack ต่อเพื่อใช้งานแป้นพิมพ์อักษรเบรลล์ @@ -71,32 +86,30 @@ เริ่มแล้ว คุณจะใช้ท่าทางสัมผัส TalkBack ตามปกติไม่ได้ TalkBack จะใช้ไม่ได้ขณะใช้แป้นพิมพ์อักษรเบรลล์ ในการเริ่มต้น ให้ถือโทรศัพท์แบบนี้โดยหันหน้าจอออกจากตัวคุณ แตะสองครั้งที่ใดก็ได้เพื่อดำเนินการต่อ - ใช้นิ้วชี้ซ้ายแตะจุด 1 เพื่อพิมพ์ตัวอักษร \"A\" + นิ้วชี้ซ้าย + นิ้วชี้ขวา + ใช้%1$sแตะจุด 1 เพื่อพิมพ์ตัวอักษร “A” ต่อไป ลองพิมพ์ตัวอักษร B, C และ D หากต้องการลบตัวอักษร ให้เลื่อนไปทางซ้าย หากต้องการเว้นวรรค ให้เลื่อนไปทางขวา - หากต้องการย้ายเคอร์เซอร์ไปข้างหลัง ให้ปัดขึ้น - หากต้องการย้ายเคอร์เซอร์ไปข้างหน้า ให้ปัดลง หากต้องการซ่อนแป้นพิมพ์ ให้ใช้ 2 นิ้วเลื่อนลง หากต้องการเปลี่ยนไปใช้แป้นพิมพ์อื่น ให้ใช้ 3 นิ้วเลื่อนลง หากต้องการจบบทแนะนำ ให้ใช้ 3 นิ้วเลื่อนขึ้น ลบ เว้นวรรค - ย้ายเคอร์เซอร์ไปข้างหลังแล้ว - ย้ายเคอร์เซอร์ไปข้างหน้าแล้ว ซ่อนแป้นพิมพ์ แป้นพิมพ์ถัดไป เริ่มแล้ว คุณจะใช้ท่าทางสัมผัส TalkBack ตามปกติไม่ได้ TalkBack จะใช้ไม่ได้ขณะใช้แป้นพิมพ์อักษรเบรลล์\n\n%1$s ก่อนอื่น ให้ถือโทรศัพท์โดยหันหน้าจอออกจากตัว\n\nแล้วเอียงโทรศัพท์ให้อยู่ในแนวนอน ควรใช้ทั้งสองมือจับปลายด้านซ้ายและขวาของโทรศัพท์ให้มั่นคง ควรใช้มือขวาจับปลายด้านที่มีพอร์ต USB วางนิ้วชี้ นิ้วกลาง และนิ้วนางทั้ง 3 นิ้วบนหน้าจอและใช้นิ้วก้อยและนิ้วโป้งประคองโทรศัพท์ไว้\n\nเมื่อพร้อมแล้ว ให้แตะหน้าจอสองครั้งเพื่อดำเนินการต่อ\n\nหากต้องการออกจากแป้นพิมพ์อักษรเบรลล์ ให้ใช้ 3 นิ้วเลื่อนลงไปทางพื้นด้านล่าง วิธีนี้เป็นการเปลี่ยนกลับไปใช้แป้นพิมพ์เดิมของคุณ โทรศัพท์อยู่ในแนวตั้ง ดำเนินการต่อด้วยการเอียงโทรศัพท์ให้อยู่ในแนวนอนโดยที่ด้านยาวอยู่ด้านล่าง แล้วหันหน้าจอออกจากตัวคุณ เมื่อพร้อมแล้ว ให้แตะหน้าจอสองครั้งเพื่อดำเนินการต่อ - ให้หน้าจอหันออกจากตัว ใช้มือทั้งสองจับปลายด้านซ้ายและขวาของโทรศัพท์โดยให้นิ้วชี้ นิ้วกลาง และนิ้วนางของมือแต่ละข้างแตะหน้าจอได้\n\nนิ้วชี้ซ้ายควรอยู่ที่จุด 1 ตอนนี้ให้แตะจุด 1 เพื่อพิมพ์ตัวอักษร “A” - ใช้นิ้วชี้ซ้ายแตะจุด 1 เพื่อพิมพ์ตัวอักษร “A” + นิ้วชี้ซ้าย + นิ้วชี้ขวา + ให้หน้าจอหันออกจากตัว ใช้มือทั้งสองจับปลายด้านซ้ายและขวาของโทรศัพท์โดยให้นิ้วชี้ นิ้วกลาง และนิ้วนางของมือแต่ละข้างแตะหน้าจอได้\n\n%1$sควรอยู่ที่จุด 1 ตอนนี้ให้แตะจุด 1 เพื่อพิมพ์ตัวอักษร “A” + ใช้%1$sแตะจุด 1 เพื่อพิมพ์ตัวอักษร “A” แตะ %1$s เพื่อพิมพ์ตัวอักษร %2$s หากต้องการลบตัวอักษร ให้เลื่อนไปทางซ้าย ลองเลย ลบ D แล้ว หากต้องการเว้นวรรค ให้เลื่อนไปทางขวา ลองเลย - หากต้องการย้ายเคอร์เซอร์ไปข้างหลัง ให้ปัดขึ้น ลองเลย - หากต้องการย้ายเคอร์เซอร์ไปข้างหน้า ให้ปัดลง ลองเลย หากต้องการซ่อนแป้นพิมพ์ ให้ใช้ 2 นิ้วเลื่อนลง ลองเลย ซ่อนแป้นพิมพ์ โดยปกติวิธีนี้จะเป็นการซ่อนแป้นพิมพ์ แป้นพิมพ์อักษรเบรลล์จะเปิดอยู่ตามเดิมเพราะคุณยังอยู่ในบทแนะนำ หากต้องการเปลี่ยนไปใช้แป้นพิมพ์อื่น ให้ใช้ 3 นิ้วเลื่อนลง ลองเลย @@ -114,6 +127,4 @@ ลบตัวอักษรแล้ว ลบคำแล้ว มาดูบทแนะนำต่อเลย %1$s - เชื่อมต่อจอแสดงผลอักษรเบรลล์ภายนอกอยู่ ซึ่งคุณสามารถใช้เพื่อพิมพ์ข้อความลงในอุปกรณ์เครื่องนี้\nหรือจะเปลี่ยนไปใช้แป้นพิมพ์อักษรเบรลล์บนหน้าจอสัมผัสหรือวิธีการป้อนข้อมูลถัดไปก็ได้ - เปลี่ยนไปใช้แป้นพิมพ์บนหน้าจอสัมผัส diff --git a/braille/brailleime/src/phone/res/values-fil/strings.xml b/braille/brailleime/src/main/res/values-tl/strings.xml similarity index 85% rename from braille/brailleime/src/phone/res/values-fil/strings.xml rename to braille/brailleime/src/main/res/values-tl/strings.xml index 925d59e8e..2090abf08 100644 --- a/braille/brailleime/src/phone/res/values-fil/strings.xml +++ b/braille/brailleime/src/main/res/values-tl/strings.xml @@ -5,6 +5,9 @@ Tabletop mode. Ilagay ang iyong device nang nasa kaliwa ang charging port. Para i-update ang posisyon ng dot, i-hold gamit ang 6 na daliri. Kung walang iba pang naka-enable na keyboard, pumunta sa mga setting ng keyboard Mag-swipe pataas gamit ang 3 daliri para sa higit pang opsyon + Lumipat sa contracted braille + Lumipat sa uncontracted braille + Lumipat sa UEB uncontracted braille keyboard braille keyboard, %s Braille keyboard ng TalkBack - para sa tulong, bisitahin ang g.co/help/braille @@ -17,7 +20,6 @@ Na-update ang mga posisyon para sa dot 1, 2, at 3. Pagkatapos, i-record natin ang mga dot sa iyong kanang kamay. Pindutin nang matagal ang screen gamit ang gitnang 3 daliri ng iyong kanang kamay. Na-update ang mga posisyon para sa dot 1, 2, at 3. Pagkatapos, i-record natin ang mga dot sa iyong kaliwang kamay. Pindutin nang matagal ang screen gamit ang gitnang 3 daliri ng iyong kaliwang kamay. Hindi ma-update ang posisyon ng dot. Pindutin nang matagal ang screen gamit ang 6 na daliri. Pagkatapos ay subukan ulit. - Nalipat sa %s Braille keyboard Mag-set up ng braille keyboard Paano gumamit ng braille keyboard @@ -27,18 +29,23 @@ <br><br>2. <b>Gamitin ang braille keyboard</b>: Buksan ang iyong regular na keyboard, pagkatapos ay i-tap ang icon ng pumili ng keyboard %2$s (karaniwang nasa kanang sulok sa ibaba). Piliin ang \"%1$s.\" <br><br>Kung wala kang nakikitang opsyon para lumipat ng keyboard, subukang i-install ang %3$s, ang keyboard ng Google. Mga Setting - Mga wika sa pag-type - Gustong wika - Huwag na itong ipakita ulit - Mabilis na palitan ang wika habang nagta-type - Para palitan ang iyong wika habang nagta-type gamit ang braille keyboard, mag-swipe pataas gamit ang 3 daliri. Pagkatapos ay piliin ang \"lumipat sa susunod na wika.\" + Mga wika sa pag-type + Unified English Braille + Spanish + Arabic + French + Polish Isama ang lahat ng pressed dot Bahagi ng input ang lahat ng pressed dot, kahit na binitawan ang dot bago ang iba pang dot Mga reverse dot Pagpalitin ang mga posisyon ng dot, halimbawa, para magpalitan ng pwesto ang dot 1 at dot 4 Mga opsyon ng braille keyboard - Lumipat sa susunod na wika: %s - Kasalukuyang ginagamit: %s + Palitan ang wika sa pag-type + Kasalukuyang %s ang ginagamit + Wika sa pag-type + Lumipat sa %s braille + contracted + uncontracted Suriin ang lahat ng galaw Buksan ang tutorial Tapusin ang tutorial @@ -49,15 +56,23 @@ Para mag-delete, mag-swipe pakaliwa Para sa bagong linya, mag-swipe pakanan gamit ang 2 daliri Para mag-delete ng salita, mag-swipe pakaliwa gamit ang 2 daliri - Para iurong ang cursor, mag-swipe pataas - Para isulong ang cursor, mag-swipe pababa Para itago ang keyboard, mag-swipe pababa gamit ang 2 daliri Para lumipat sa susunod na keyboard, mag-swipe pakaliwa gamit ang 3 daliri Para magsumite ng text, mag-swipe pataas gamit ang 2 daliri Para sa tulong at iba pang opsyon, mag-swipe pataas gamit ang 3 daliri Tapos na + Screen-away mode + Hawakan ang device nang nakatalikod sa iyo ang screen (screen-away mode) + Tabletop mode + Ilapag ang device nang naka-flat sa mesa (tabletop mode) + Umangkop sa paghawak mo sa device Hindi sinusuportahan ng iyong device ang braille keyboard Kulang ang mga sinusuportahang touch point ng iyong device. Para sa higit pang impormasyon, makipag-ugnayan sa manufacturer ng iyong device. + %s ang na-delete + + dot %s + dot %s + I-on ang TalkBack para magamit ang braille keyboard I-on sa mga setting ng accessibility Magpatuloy sa TalkBack para magamit ang braille keyboard @@ -71,32 +86,30 @@ Simula ngayon, hindi ka na makakagamit ng mga regular na galaw sa TalkBack. Hindi available ang TalkBack kapag ginagamit ang braille keyboard. Para magsimula, hawakan ang iyong telepono tulad ng nasa larawan, nang nakatalikod sa iyo ang screen. Mag-double tap kahit saan para magpatuloy - I-tap ang dot 1 gamit ang iyong kaliwang hintuturo para i-type ang titik \"A\" + kaliwang hintuturo + kanang hintuturo + I-tap ang dot 1 gamit ang iyong %1$s para i-type ang titik \"A\" Pagkatapos, subukang i-type ang mga titik B, C, at D Para mag-delete ng titik, mag-swipe pakaliwa Para magdagdag ng space, mag-swipe pakanan - Para iurong ang cursor, mag-swipe pataas - Para isulong ang cursor, mag-swipe pababa Para itago ang keyboard, mag-swipe pababa gamit ang 2 daliri Para lumipat sa isa mo pang keyboard, mag-swipe pababa gamit ang 3 daliri Para tapusin ang tutorial, mag-swipe pataas gamit ang 3 daliri I-DELETE SPACE - INURONG ANG CURSOR - ISINULONG ANG CURSOR ITAGO ANG KEYBOARD SUSUNOD NA KEYBOARD Simula ngayon, hindi ka na makakagamit ng mga regular na galaw sa TalkBack. Hindi available ang TalkBack habang ginagamit ang braille keyboard.\n\n%1$s Una, i-flip ang iyong telepono nang sa gayon ay nakatalikod sa iyo ang screen mo.\n\nPagkatapos, i-rotate pahalang ang telepono papunta sa landscape na posisyon. Ang maiikling gilid ng telepono dapat ang hawak ng iyong mga kamay. Ang dulong may USB port dapat ang hawak ng iyong kanang kamay. Idikit ang iyong 3 gitnang daliri sa screen, at gamitin ang hinliliit at hinlalaki mo para hindi malaglag ang telepono.\n\nKapag handa ka na, i-double tap ang screen para magpatuloy.\n\nPara lumabas sa braille keyboard, mag-swipe pababa sa lupa gamit ang 3 daliri. Ibabalik nito ang orihinal mong keyboard. Nakapatayo ang iyong telepono. Para magpatuloy, i-rotate pahalang ang iyong telepono nang sa gayon ay nasa ibaba ang mahabang gilid. Pagkatapos ay italikod sa iyo ang screen. Kapag handa ka na, i-double tap ang screen para magpatuloy. - Panatilihing nakatalikod sa iyo ang screen. Hawakan ang iyong telepono gamit ang dalawang kamay sa maiikling gilid ng telepono nang sa gayon ay napipindot ng gitnang 3 daliri ng bawat kamay ang screen.\n\nDapat nasa dot 1 ang iyong hintuturo sa kaliwang kamay. I-tap na ang dot 1 para i-type ang titik “A”. - I-tap ang dot 1 gamit ang iyong kaliwang hintuturo para i-type ang \"A\" + kaliwang hintuturo + kanang hintuturo + Panatilihing nakatalikod sa iyo ang screen. Hawakan ang iyong telepono gamit ang dalawang kamay sa maiikling gilid ng telepono nang sa gayon ay napipindot ng gitnang 3 daliri ng bawat kamay ang screen.\n\nDapat nasa dot 1 ang iyong %1$s. I-tap na ang dot 1 para i-type ang titik “A”. + I-tap ang dot 1 gamit ang iyong %1$s para i-type ang “A” I-tap ang %1$s para i-type ang titik %2$s Para mag-delete ng titik, mag-swipe pakaliwa. Subukan ito ngayon. na-delete ang d. Para magdagdag ng space, mag-swipe pakanan. Subukan ito ngayon. - Para iurong ang cursor, mag-swipe pataas. Subukan ito ngayon. - Para isulong ang cursor, mag-swipe pababa. Subukan ito ngayon. Para itago ang keyboard, mag-swipe pababa gamit ang 2 daliri. Subukan ito ngayon. Itago ang keyboard. Karaniwan nitong itatago ang keyboard. Mananatiling bukas ang braille keyboard dahil nasa tutorial ka pa. Para lumipat sa isa mo pang keyboard, mag-swipe pababa gamit ang 3 daliri. Subukan ito ngayon. @@ -114,6 +127,4 @@ Na-delete ang titik Na-delete ang salita Ipagpatuloy natin ang tutorial. %1$s - May nakakonektang external na braille display, na magagamit mo sa pag-type ng text sa device na ito.\nO, lumipat sa touch-screen na Braille Keyboard o sa susunod na pamamaraan ng pag-input. - Lumipat sa touch-screen na keyboard diff --git a/braille/brailleime/src/phone/res/values-tr/strings.xml b/braille/brailleime/src/main/res/values-tr/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-tr/strings.xml rename to braille/brailleime/src/main/res/values-tr/strings.xml index 4d73b8f4f..aca8fc96e 100644 --- a/braille/brailleime/src/phone/res/values-tr/strings.xml +++ b/braille/brailleime/src/main/res/values-tr/strings.xml @@ -5,6 +5,9 @@ Masa üstünde modu. Cihazınızı, şarj noktası sol tarafa gelecek şekilde koyun. Nokta konumunu güncellemek için 6 parmağınızla ekranı basılı tutun. Başka etkin klavye yok, klavye ayarlarına gidin Diğer seçenekler için 3 parmağınızla ekranı yukarı doğru kaydırın + Kısaltılmış braille moduna geçildi + Kısaltılmamış braille moduna geçildi + Kısaltılmamış UEB moduna geçildi braille klavye braille klavye, %s TalkBack braille klavye; yardım için g.co/help/braille adresini ziyaret edin @@ -17,7 +20,6 @@ Nokta 1, 2 ve 3 için güncellenen konumlar. Şimdi, sağ elinizle dokunacağınız noktaları kaydedelim. Sağ elinizin ortadaki 3 parmağıyla ekrana dokunup basılı tutun. Nokta 1, 2 ve 3 için güncellenen konumlar. Şimdi, sol elinizle dokunacağınız noktaları kaydedelim. Sol elinizin ortadaki 3 parmağıyla ekrana dokunup basılı tutun. Nokta konumu güncellenemedi. 6 parmağınızla ekrana dokunup basılı tutun. Daha sonra tekrar deneyin. - %s diline geçildi Braille klavye Braille klavyesini kurun Braille klavyesinin kullanımı @@ -27,18 +29,23 @@ <br><br>2. <b>Braille klavyeyi kullanma</b>: Normal klavyenizi açın, ardından klavye seçme simgesine %2$s (genellikle sağ alt köşededir) dokunun. \"%1$s\" öğesini seçin. <br><br>Klavye değiştirme seçeneği görmüyorsanız %3$s, yani Google klavyeyi yüklemeyi deneyin. Ayarlar - Yazma dilleri - Tercih edilen dil - Bunu bir daha gösterme - Yazarken dili hızlıca değiştirme - Braille klavye ile yazarken dilinizi değiştirmek için 3 parmağınızla yukarı kaydırın. Ardından \"bir sonraki dile geç\"i seçin. + Yazma dilleri + Unified English Braille + İspanyolca + Arapça + Fransızca + Lehçe Tüm sıkıştırılmış noktaları dahil etme Bir nokta diğer noktalardan önce yayınlansa bile sıkıştırılmış her nokta, girişin bir parçasıdır Noktaların yerini ters çevirme Nokta konumlarını, örneğin 1 ve 4. noktayı birbirlerinin yerine geçecek şekilde değiştirebilirsiniz Braille klavye seçenekleri - Bir sonraki dile geç: %s - Şu anda kullanılan: %s + Yazma dilini değiştir + Şu anda %s kullanılıyor + Yazma dili + %s braille moduna geç + Kısaltılmış + Kısaltılmamış Tüm hareketleri incele Eğitimi aç Eğitimi bitir @@ -49,15 +56,23 @@ Silmek için ekranı sola kaydırın Yeni satır eklemek için 2 parmağınızla ekranı sağa kaydırın Kelime silmek için 2 parmağınızla ekranı sola kaydırın - İmleci geri taşımak için yukarı kaydırın - Metinde imleci ileri taşımak için aşağı kaydırın Klavyeyi gizlemek için 2 parmağınızla ekranı aşağı kaydırın. Sonraki klavyeye geçmek için 3 parmağınızla ekranı aşağı kaydırın Metni göndermek için 2 parmağınızla ekranı yukarı kaydırın Yardım ve diğer seçenekler için 3 parmağınızla ekranı yukarı kaydırın Bitti + Ekran karşıda modu + Cihazı, ekranı size dönük olmayacak şekilde tutun (ekran karşıda modu) + Masa üstünde modu + Cihazı, düz bir şekilde masanın üzerine koyun (masa üstünde modu) + Cihazı tutuş şeklime göre belirle Cihazınız braille klavyeyi desteklemiyor Cihazınız yeterince temas noktası desteklemiyor. Daha fazla bilgi için cihazınızın üreticisiyle iletişime geçin. + %s silindi + + %s nokta + %s nokta + Braille klavye kullanmak için TalkBack\'i açma Erişilebilirlik ayarlarında aç Braille klavyesini kullanmak için TalkBack\'i devam ettirin @@ -71,32 +86,30 @@ Şu andan itibaren normal TalkBack hareketlerini kullanamayacaksınız. Braille klavye kullanılırken TalkBack kullanılamaz. Başlamak için telefonunuzu ekranı size dönük olmayacak şekilde, gösterildiği gibi tutun. Devam etmek için herhangi bir yere iki kez dokunun - \"A\" harfini yazmak için sol işaret parmağınızla 1. noktaya dokunun + sol işaret parmağınız + sağ işaret parmağınız + \"A\" harfini yazmak için %1$s ile nokta 1\'e dokunun Sonra B, C ve D harflerini yazmayı deneyin Bir harfi silmek için ekranı sola kaydırın Boşluk eklemek için ekranı sağa kaydırın - İmleci geri taşımak için yukarı kaydırın - Metinde imleci ileri taşımak için aşağı kaydırın Klavyeyi gizlemek için 2 parmağınızla ekranı aşağı kaydırın Diğer klavyenize geçmek için 3 parmağınızla ekranı aşağı kaydırın Eğitimi bitirmek için 3 parmağınızla ekranı yukarı kaydırın SİL BOŞLUK - İMLEÇ GERİ TAŞINDI - İMLEÇ İLERİ TAŞINDI KLAVYEYİ GİZLE SONRAKİ KLAVYE Şu andan itibaren normal TalkBack hareketlerini kullanamayacaksınız. Braille klavye kullanılırken TalkBack kullanılamaz.\n\n%1$s Önce telefonunuzu ekranı size dönük olmayacak şekilde çevirin.\n\nSonra telefonu döndürerek yatay konuma getirin. Ellerinizle telefonu kısa kenarlarından tutuyor olmanız gerekir. Sağ eliniz USB bağlan noktasının olduğu ucu tutuyor olmalıdır. Küçük parmağınız ve başparmağınızla telefonu tutarken ortadaki üç parmağınızı ekrana koyun.\n\nHazır olduğunuzda devam etmek için ekrana iki kez dokunun.\n\nBraille klavyeden çıkmak için 3 parmağınızla ekranı yere doğru, aşağı yönde kaydırın. Bu hareket sizi orijinal klavyenize döndürür. Telefonunuz dikey konumda. Devam etmek için telefonunuzu uzun kenarı aşağı gelecek şekilde yatay yönde döndürün. Ardından ekranı size dönük olmayacak şekilde çevirin. Hazır olduğunuzda devam etmek için ekrana iki kez dokunun. - Ekranı size dönük olmayacak şekilde tutun. İki elinizle telefonunuzun kısa kenarlarından tutun. Her iki elinizin ortadaki üç parmağı da ekrana dokunabilecek konumda olsun.\n\nSol işaret parmağınız 1 noktanın üzerinde olmalıdır. Şimdi \"A\" harfini yazmak için 1 noktaya dokunun. - \"A\" yazmak için sol işaret parmağınızla 1 noktaya dokunun + sol işaret parmağınız + sağ işaret parmağınız + Ekranı size dönük olmayacak şekilde tutun. İki elinizle telefonunuzun kısa kenarlarından tutun. Her iki elinizin ortadaki üç parmağı da ekrana dokunabilecek konumda olsun.\n\n%1$s nokta 1\'in üzerinde olmalıdır. Şimdi \"A\" harfini yazmak için nokta 1\'e dokunun. + \"A\" yazmak için %1$s ile nokta 1\'e dokunun %2$s harfini yazmak için %1$s noktaya dokunun Bir harfi silmek için ekranı sola kaydırın. Şimdi deneyin. d silindi. Boşluk eklemek için ekranı sağa kaydırın. Şimdi deneyin. - İmleci geri taşımak için yukarı kaydırın. Şimdi deneyin. - Metinde imleci ileri taşımak için aşağı kaydırın. Şimdi deneyin. Klavyeyi gizlemek için 2 parmağınızla ekranı aşağı kaydırın. Şimdi deneyin. Klavyeyi gizle. Genellikle bu işlem, klavyenin gizlenmesini sağlar. Hâlâ eğitimde olduğunuz için braille klavye açık kalmaya devam ediyor. Diğer klavyenize geçmek için 3 parmağınızla ekranı aşağı kaydırın. Şimdi deneyin. @@ -114,6 +127,4 @@ Harf silindi Kelime silindi Eğitime devam edelim. %1$s - Harici bir braille ekran bağlı. Bu ekranı kullanarak bu cihaza metin yazabilirsiniz.\nBunun yerine dokunmatik ekranlı braille klavyeye veya sonraki giriş yöntemine de geçebilirsiniz. - Dokunmatik ekranlı klavyeye geç diff --git a/braille/brailleime/src/phone/res/values-uk/strings.xml b/braille/brailleime/src/main/res/values-uk/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-uk/strings.xml rename to braille/brailleime/src/main/res/values-uk/strings.xml index fd8a2f2b4..65d6c3308 100644 --- a/braille/brailleime/src/phone/res/values-uk/strings.xml +++ b/braille/brailleime/src/main/res/values-uk/strings.xml @@ -5,6 +5,9 @@ Настільний режим. Поверніть пристрій зарядним портом ліворуч. Щоб оновити положення крапок, утримуйте екран шістьма пальцями. Інших клавіатур не ввімкнено, буде відкрито налаштування клавіатури. Проведіть трьома пальцями вгору, щоб відкрити інші параметри + Ви перейшли на скорочену брайлівську розкладку клавіатури + Ви перейшли на розширену брайлівську розкладку клавіатури + Ви перейшли на розширену брайлівську розкладку клавіатури брайлівська клавіатура брайлівська клавіатура, %s Брайлівська клавіатура TalkBack. Щоб дізнатися більше, відвідайте сторінку g.co/help/braille @@ -17,7 +20,6 @@ Оновлено положення крапок 1, 2 та 3. Тепер запишімо крапки праворуч. Натисніть і втримуйте екран безіменним, середнім та вказівним пальцями правої руки. Оновлено положення крапок 1, 2 та 3. Тепер запишімо крапки ліворуч. Натисніть і втримуйте екран безіменним, середнім та вказівним пальцями лівої руки. Не вдалось оновити положення крапок. Натисніть і утримуйте екран 6 пальцями, а потім повторіть спробу. - Ви вибрали таку мову: %s Брайлівська клавіатура Налаштування брайлівської клавіатури Як користуватися брайлівською клавіатурою @@ -27,18 +29,23 @@ <br><br>2. <b>Щоб використовувати брайлівську клавіатуру</b>, відкрийте звичайну клавіатуру, а тоді натисніть значок %2$s (зазвичай його розташовано в правому нижньому куті). Виберіть \"%1$s\". <br><br>Якщо у вас немає варіанту вибору клавіатури, спробуйте встановити %3$s – клавіатуру Google. Налаштування - Мови введення тексту - Вибрана мова - Більше не показувати - Швидко змінити мову під час введення - Щоб змінити мову під час введення тексту на брайлівській клавіатурі, проведіть угору по екрану 3 пальцями. Потім виберіть наступну мову. + Мови введення тексту + Об\'єднаний англійський шрифт Брайля + Іспанська + Арабська + Французька + Польська Включати всі натиснуті крапки Кожна натиснута крапка є частиною вводу, навіть якщо її відпустили перед іншими крапками Зворотній порядок крапок Змінити положення крапок, наприклад, поміняти крапки 1 і 4 місцями Параметри брайлівської клавіатури - Вибрати наступну мову: %s - Зараз використовується: %s + Змінити мову введення + Зараз використовується %s + Мова введення + Змінити режим брайлівської розкладки на \"%s\" + скорочену + нескорочену Переглянути всі жести Відкрити навчальний посібник Закрити навчальний посібник @@ -49,15 +56,25 @@ Щоб видалити символ, проведіть пальцем ліворуч Щоб додати новий рядок, проведіть двома пальцями праворуч Щоб видалити слово, проведіть двома пальцями ліворуч - Проведіть пальцем по екрану вгору, щоб перемістити курсор назад - Проведіть пальцем по екрану вниз, щоб перемістити курсор уперед Щоб сховати клавіатуру, проведіть двома пальцями вниз Щоб перейти до наступної клавіатури, проведіть трьома пальцями вниз Щоб надіслати текст, проведіть двома пальцями вгору Щоб відкрити довідку й інші параметри, проведіть трьома пальцями вгору Готово + Режим \"Екран від себе\" + Утримуйте пристрій екраном від себе (режим \"Екран від себе\") + Настільний режим + Покладіть пристрій на стіл (настільний режим) + Пристосовувати до поточної орієнтації Ваш пристрій не підтримує брайлівську клавіатуру Ваш пристрій підтримує недостатню кількість точок взаємодії. Щоб дізнатися більше, зв\'яжіться з виробником вашого пристрою. + Видалено: %s + + крапка %s + крапка %s + крапка %s + крапка %s + Увімкніть TalkBack, щоб використовувати брайлівську клавіатуру Увімкнути в налаштуваннях спеціальних можливостей Активувати TalkBack для використання брайлівської клавіатури @@ -71,32 +88,30 @@ Ви більше не зможете використовувати звичайні жести TalkBack. Функція TalkBack недоступна, коли використовується брайлівська клавіатура. Щоб розпочати, тримайте телефон екраном від себе. Двічі торкніться екрана, щоб продовжити - Натисніть крапку 1 лівим вказівним пальцем, щоб ввести букву \"A\" + лівим вказівним пальцем + правим вказівним пальцем + Натисніть крапку 1 %1$s, щоб ввести букву \"A\" Потім спробуйте ввести букви \"B\", \"C\" та \"D\" Щоб видалити букву, проведіть пальцем ліворуч Щоб додати пробіл, проведіть пальцем праворуч - Проведіть пальцем по екрану вгору, щоб перемістити курсор назад - Проведіть пальцем по екрану вниз, щоб перемістити курсор уперед Щоб приховати клавіатуру, проведіть двома пальцями вниз Щоб перейти до іншої клавіатури, проведіть трьома пальцями вниз Щоб закрити навчальний посібник, проведіть трьома пальцями вгору ВИДАЛИТИ ПРОБІЛ - КУРСОР ПЕРЕМІЩЕНО НАЗАД - КУРСОР ПЕРЕМІЩЕНО ВПЕРЕД СХОВАТИ КЛАВІАТУРУ НАСТУПНА КЛАВІАТУРА Ви більше не зможете використовувати звичайні жести TalkBack. Функція TalkBack недоступна, коли використовується брайлівська клавіатура.\n\n%1$s Щоб розпочати, візьміть телефон екраном від себе.\n\nТепер поверніть його в горизонтальне положення та візьміть за коротші сторони корпусу. Сторона з USB-портом має бути в правій руці. Покладіть вказівний, середній і безіменний пальці кожної руки на екран. Підтримуйте телефон мізинцями й великими пальцями.\n\nКоли будете готові, двічі торкніться екрана, щоб продовжити.\n\nЩоб закрити брайлівську клавіатуру, проведіть трьома пальцями вниз. Ви перейдете до звичайної клавіатури. Ваш телефон у вертикальному положенні. Поверніть його в горизонтальне положення, довшим ребром донизу. Потім поверніть телефон екраном від себе. Коли будете готові, двічі торкніться екрана, щоб продовжити. - Поверніть екран від себе. Тримайте телефон обома руками за торці, щоб вказівний, середній і безіменний пальці кожної руки могли торкатися екрана.\n\nЛівий вказівний палець має лежати на крапці 1. Тепер натисніть крапку 1, щоб ввести букву \"A\" - Натисніть крапку 1 лівим вказівним пальцем, щоб ввести букву \"A\". + Лівий вказівний палець + Правий вказівний палець + Поверніть екран від себе. Тримайте телефон обома руками за торці, щоб вказівний, середній і безіменний пальці кожної руки могли торкатися екрана.\n\n%1$s має лежати на крапці 1. Тепер натисніть крапку 1, щоб ввести букву \"A\". + Натисніть крапку 1 %1$s, щоб ввести букву \"A\" Натисніть точку %1$s, щоб ввести букву \"%2$s\" Щоб видалити букву, проведіть пальцем ліворуч. Спробуйте зараз. d видалено. Щоб додати пробіл, проведіть пальцем праворуч. Спробуйте зараз. - Проведіть пальцем по екрану вгору, щоб перемістити курсор назад. Спробуйте зараз. - Проведіть пальцем по екрану вниз, щоб перемістити курсор уперед. Спробуйте зараз. Щоб приховати клавіатуру, проведіть двома пальцями вниз. Спробуйте зараз. Сховати клавіатуру. Зазвичай ця команда ховає клавіатуру, але зараз брайлівська клавіатура залишиться відкритою, оскільки ви ще не завершили навчання. Щоб перейти до іншої клавіатури, проведіть трьома пальцями вниз. Спробуйте зараз. @@ -114,6 +129,4 @@ Букву видалено Слово видалено Продовжмо навчання. %1$s - Підключено зовнішній брайлівський дисплей, за допомогою якого можна вводити текст на пристрої.\nКрім того, ви можете почати використовувати сенсорну брайлівську клавіатуру або інший метод введення. - Використовувати сенсорну клавіатуру diff --git a/braille/brailleime/src/phone/res/values-ur/strings.xml b/braille/brailleime/src/main/res/values-ur/strings.xml similarity index 84% rename from braille/brailleime/src/phone/res/values-ur/strings.xml rename to braille/brailleime/src/main/res/values-ur/strings.xml index 28e6bf437..6978e63c1 100644 --- a/braille/brailleime/src/phone/res/values-ur/strings.xml +++ b/braille/brailleime/src/main/res/values-ur/strings.xml @@ -5,6 +5,9 @@ ٹیبل ٹاپ وضع۔ بائیں جانب چارجنگ پورٹ کے ساتھ اپنا آلہ رکھیں۔ ڈاٹ پوزیشن کو اپ ڈیٹ کرنے کیلئے، 6 انگلیوں سے دبائے رکھیں۔ کوئی اور کی بورڈ فعال نہیں ہے، کی بورڈ کی ترتیبات پر جائیں مزید اختیارات کے لیے 3 انگلیوں سے سوائپ کریں + معاہدہ کردہ بریل پر سوئچ کر دیا گیا + غیر معاہدہ کردہ بریل پر سوئچ کر دیا گیا + ‏غیر معاہدہ کردہ UEB پر سوئچ کر دیا گیا بریل کی بورڈ بریل کی بورڈ، %s ‏TalkBack بریل کی بورڈ - مدد کے لیے ملاحظہ کریں g.co/help/braille @@ -17,7 +20,6 @@ ڈاٹس 1، 2، اور 3 کیلئے پوزیشنز اپ ڈيٹ ہو گئیں۔ اس کے بعد، اپنے دائیں ہاتھ پر ڈاٹس کو ریکارڈ کریں۔ اپنے دائیں ہاتھ کی درمیانی 3 انگلیوں سے اسکرین ٹچ کریں اور دبائے رکھیں۔ ڈاٹس 1، 2، اور 3 کیلئے پوزیشنز اپ ڈيٹ ہو گئیں۔ اس کے بعد، اپنے بائیں ہاتھ پر ڈاٹس کو ریکارڈ کریں۔ اپنے بائیں ہاتھ کی درمیانی 3 انگلیوں سے اسکرین ٹچ کریں اور دبائے رکھیں۔ ڈاٹ پوزیشن اپ ڈیٹ نہیں ہو سکی۔ 6 انگلیوں سے اسکرین ٹچ کریں اور دبائے رکھیں۔ پھر دوبارہ کوشش کریں۔ - %s پر سوئچ کیا گیا بریل کی بورڈ بریل کی بورڈ سیٹ اپ کریں بریل کی بورڈ استعمال کرنے کا طریقہ @@ -27,18 +29,23 @@ <br><br>2. <b>بریل کی بورڈ استعمال کریں</b>: اپنا ریگولر کی بورڈ کھولیں,پھر کی بورڈ منتخب کریں آئیکن %2$s پر تھپتھپائیں (عام طور پر نیچلے دائیں کونے میں)۔ منتخب کریں \"%1$s.\" <br><br>اگر آپ کو کی بورڈز کو سوئچ کرنے کا اختیار نظر نہیں آتا ہے تو Google کے %3$s کی بورڈ کو انسٹال کرنے کی کوشش کریں۔ ترتیبات - ٹائپنگ کی زبان - ترجیحی زبان - اسے دوبارہ نہ دکھائیں - ٹائپ کرتے وقت زبان تیزی سے تبدیل کریں - بریل کی بورڈ سے ٹائپ کرتے وقت اپنی زبان تبدیل کرنے کے لیے، 3 انگلیوں سے اوپر کی طرف سوائپ کریں۔ پھر \"اگلی زبان پر سوئچ کریں\" کو منتخب کریں۔ + ٹائپنگ کی زبان + یونیفائیڈ انگریزی بریل + ہسپانوی + عربی + فرانسيسی + پولش تمام دبائے ہوئے نقطے شامل کریں ہر دبایا ہوا نقطہ ان پٹ کا ایک حصہ ہوتا ہے، اگرچہ نقطہ دیگر نقطوں سے پہلے ہی ریلیز کیا جاتا ہو معکوس نقطے ڈاٹ پوزیشنوں کو تبدیل کریں، تاکہ ڈاٹس 1 اور 4 ایک دوسرے کی جگہ لے لیں، مثال کے طور پر بریل کی بورڈ اختیارات - اگلی زبان پر سوئچ کریں: %s - فی الحال اس کا استعمال کیا جا رہا ہے: %s + ٹائپنگ کی زبان تبدیل کریں + فی الحال %s استعمال کیا جا رہا ہے + ٹائپنگ کی زبان + %s بریل پر سوئچ کریں + معاہدہ کردہ + غیر معاہدہ کردہ سبھی اشاروں کا جائزہ لیں ٹیوٹوریل کھولیں ٹیوٹوریل مکمل کریں @@ -49,15 +56,23 @@ حذف کرنے لیے، بائیں سوائپ کریں نئی لائن کے لیے، دو انگلیوں سے دائیں جانب سوائپ کریں لفظ حذف کرنے کے لیے، دو انگلیوں کے ساتھ بائیں سوائپ کریں - کرسر کو پیچھے کی طرف منتقل کرنے کے لیے اوپر سوائپ کریں - کرسر کو آگے کی طرف منتقل کرنے کے لیے نیچے سوائپ کریں کی بورڈ چھپانے کے لیے، دو انگلیوں سے نیچے سوائپ کریں اگلے کی بورڈ پر سوئچ کرنے کے لیے، تین انگلیوں سے نیچے سوائپ کریں متن جمع کرانے کے لیے، دو انگلیوں سے اوپر سوائپ کریں امداد اور دیگر اختیارات کے لیے، تین انگلیوں سے اوپر سوائپ کریں ہو گیا + اسکرین سے دور کی وضع + آلے کو اس طرح پکڑیں کہ اس کی سکرین آپ سے دور ہو (اسکرین سے دور کی وضع) + ٹیبل ٹاپ وضع + آلے کو ایک ٹیبل پر سیدھا رکھیں (ٹیبل ٹاپ وضع) + اپنا آلہ پکڑنے کے طریقے کو موافق بنائیں آپ کا آلہ بریل کی بورڈ کو سپورٹ نہیں کرتا ہے آپ کا آلہ کافی ٹچ پوائنٹس کو سپورٹ نہیں کرتا ہے۔ مزید معلومات کے لیے، اپنے آلہ کے مینوفیکچرر سے رابطہ کریں۔ + %s حذف ہو گیا + + %s ڈاٹ + %s نقطے + ‏بریل کی بورڈ استعمال کرنے کے لیے TalkBack کو آن کریں ایکسیسبیلٹی ترتیبات میں آن کریں ‏بریل کی بورڈ استعمال کرنے کے لیے TalkBack دوبارہ شروع کریں @@ -71,32 +86,30 @@ ‏اب سے، آپ ریگولر TalkBack اشاروں کو استعمال نہیں کرسکیں گے۔ بریل کی بورڈ استعمال کرتے وقت TalkBack دستیاب نہیں ہوتا۔ شروع کرنے کے لئے، اپنے فون کو اس طرح تھامیں، اسکرین کا رخ آپ کے مخالف سمت میں ہو۔ جاری رکھنے کے لیے کہیں پر بھی دوبار تھپتھپائیں - ‏“A” حرف ٹائپ کرنے کیلئے اپنی بائیں شہادت کی انگلی سے نقطہ 1 پر تھپتھپائیں + بائیں شہادت کی انگلی + دائیں شہادت کی انگلی + ‏\"A\"حرف ٹائپ کرنے کے لیے اپنی %1$s سے نقطہ 1 پر تھپتھپائیں ‏پھر، حروف B، ‏ C اور D کو ٹائپ کرنے کی کوشش کریں حرف کو حذف کرنے کے لیے بائیں سوائپ کریں اسپیس شامل کرنے کے لیے، دائیں سوائپ کریں - کرسر کو پیچھے کی طرف منتقل کرنے کے لیے اوپر سوائپ کریں - کرسر کو آگے کی طرف منتقل کرنے کے لیے نیچے سوائپ کریں کی بورڈ چھپانے کے لیے، دو انگلیوں کے ساتھ نیچے سوائپ کریں اپنے دوسرے کی بورڈ پر سوئچ کرنے کے لیے، 3 انگلیوں کے ساتھ نیچے سوائپ کریں ٹیوٹوریل کو مکمل کرنے کے لیے، تین انگلیوں سے اوپر سوائپ کریں حذف کریں اسپیس - کرسر کو پیچھے کی طرف منتقل کریں - کرسر کو آگے کی طرف منتقل کریں کی بورڈ چھپائیں اگلا کی بورڈ ‏اب سے، آپ ریگولر TalkBack اشاروں کو استعمال نہیں کرسکیں گے۔ بریل کی بورڈ استعمال کرنے کے دوران TalkBack دستیاب نہں ہوتا ہے۔n\n\%1$s ‏پہلے اپنے فون کا رخ موڑیں تاکہ اسکرین کا رخ آپ کے مخالف سمت میں ہو۔n\n\پھر، فون کو افقی طور پر لینڈ اسکیپ پوزیشن پر گھمائیں۔ آپ کے ہاتھ فون کے چھوٹے سروں کو گرفت میں رکھنے چاہیے۔ آپ کا دایا ہاتھ USB پورٹ کے اختتام پر پکڑے ہوئے ہونا چاہیے۔ اپنی 3 درمیانی انگلیاں اسکرین پر رکھیں، اور فون کو سپورٹ کرنے کیلئے اپنی چھوٹی انگلی اور انگوٹھے کا استعمال کریں۔n\n\جب آپ تیار ہو تو جاری رکھنے کے لیے اسکرین پر دوبار تھپتھپائیں۔n\n\بریل کی بورڈ سے باہر نکلنے کے لیے، 3 انگلیوں سے زمین کی طرف نیچے سوائپ کریں۔ یہ آپ کے اصل کی بورڈ پر واپس سوئچ کرتا ہے۔ آپ کا فون عمودی پوزیشن میں ہے۔ جاری رکھنے کے لیے، اپنے فون کو افقی طور پر گھمائیں تاکہ لمبی سائیڈ نیچے کی طرف ہو۔ پھر اسکرین کو اپنے مخالف سمت میں رکھیں۔ جب آپ تیار ہو تو جاری رکھنے کے لیے اسکرین پر دوبار تھپتھپائیں۔ - ‏اسکرین کو اپنے مخالف سمت میں رکھیں۔ فون کے دونوں چھوٹے کناروں پر اپنے فون کو دونوں ہاتھوں میں پکڑے رکھیں، تاکہ ہر ہاتھ کی درمیانی 3 انگلیاں اسکرین کو چھو سکیں۔n\n\آپ کی بائیں شہادت کی انگلی نقطہ 1 پر ہونی چاہیے۔ اب حرف “A” ٹائپ کرنے کے لیے نقطہ 1 پر تھپتھپائیں۔ - ‏“A” ٹائپ کرنے کیلئے اپنی بائیں شہادت کی انگلی سے نقطہ 1 پر تھپتھپائیں + بائیں شہادت کی انگلی + دائیں شہادت کی انگلی + ‏اسکرین کو اپنے مخالف سمت میں رکھیں۔ فون کے دونوں چھوٹے کناروں پر اپنے فون کو دونوں ہاتھوں میں پکڑے رکھیں، تاکہ ہر ہاتھ کی درمیانی 3 انگلیاں اسکرین کو چھو سکیں۔n\n\آپ کی %1$s نقطہ 1 پر ہونی چاہیے۔ اب حرف “A” ٹائپ کرنے کے لیے نقطہ 1 پر تھپتھپائیں۔ + ‏“A” ٹائپ کرنے کے لیے اپنی %1$s سے نقطہ 1 پر تھپتھپائیں %2$s حرف ٹائپ کرنے کے لیے %1$s پر تھپتھپائیں حرف کو حذف کرنے کے لیے بائیں سوائپ کریں۔ اسے ابھی آزمائیں۔ ‏d حذف کر دیا گیا۔ اسپیس شامل کرنے کے لیے، دائیں سوائپ کریں۔ اسے ابھی آزمائیں۔ - کرسر کو پیچھے کی طرف منتقل کرنے کے لیے اوپر سوائپ کریں۔ اسے ابھی آزمائیں۔ - کرسر کو آگے کی طرف منتقل کرنے کے لیے نیچے سوائپ کریں۔ اسے ابھی آزمائیں۔ کی بورڈ چھپانے کے لیے، دو انگلیوں کے ساتھ نیچے سوائپ کریں اسے ابھی آزمائیں۔ کی بورڈ چھپائیں۔ عموماً، یہ کی بورڈ کو چھپائے گا۔ بریل کی بورڈ کھلا رہے گا کیونکہ آپ ابھی بھی ٹیوٹوریل میں ہیں۔ اپنے دوسرے کی بورڈ پر سوئچ کرنے کے لیے، 3 انگلیوں کے ساتھ نیچے سوائپ کریں۔ اسے ابھی آزمائیں۔ @@ -114,6 +127,4 @@ حرف حذف کیا گیا لفظ حذف کیا گیا آئیے ٹیوٹوریل کو جاری رکھیں۔ %1$s - ‏ایک اضافی بریل ڈسپلے منسلک ہے جسے آپ اس آلے میں ٹیکسٹ ٹائپ کرنے کے لیے استعمال کر سکتے ہیں۔\nیا آپ ٹچ اسکرین کے بریل کی بورڈ یا اگلے اندراج کے طریقے پر سوئچ کر سکتے ہیں۔ - ٹچ اسکرین کی بورڈ پر سوئچ کریں diff --git a/braille/brailleime/src/phone/res/values-uz/strings.xml b/braille/brailleime/src/main/res/values-uz/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-uz/strings.xml rename to braille/brailleime/src/main/res/values-uz/strings.xml index 243257b2a..8d41fe9e7 100644 --- a/braille/brailleime/src/phone/res/values-uz/strings.xml +++ b/braille/brailleime/src/main/res/values-uz/strings.xml @@ -5,6 +5,9 @@ Stol usti rejimi. Qurilmani quvvatlash porti chapga qaragan holda joylang. Nuqta holatini yangilash uchun 6 ta barmoq bilan bosib turing. Boshqa klaviatura yoqilmagan, klaviatura sozlamalarini oching. Boshqa parametrlar uchun 3 barmoq bilan tepaga suring + Qisqartirilgan Brayl klaviaturasiga almashtirildi + Qisqartirilmagan Brayl klaviaturasiga almashtirildi + Qisqartirilgan UEB rejimiga oʻtdingiz brayl klaviaturasi brayl klaviaturasi, %s TalkBack brayl klaviaturasi – batafsil: g.co/help/braille @@ -17,7 +20,6 @@ 1, 2 va 3 nuqtalar uchun holatlar yangilandi. Keyin oʻng qoʻlingizda nuqtalarni yozib olishingiz mumkin. Oʻng qoʻlingizning oʻrta 3 ta barmogʻi bilan ekranni bosib turing. 1, 2 va 3 nuqtalar uchun holatlar yangilandi. Keyin nuqtalarni chap qoʻlingizda yozib oling. Chap qoʻlingizning oʻrta 3 ta barmogʻi bilan ekranni bosib turing. Nuqta holati yangilanmadi. 6 ta barmoq bilan ekranga bosib turing. Keyin qaytadan urining. - Bunga almashdi: %s Brayl klaviaturasi Brayl klaviaturasini sozlash Brayl klaviaturasi qanday ishlatiladi @@ -27,18 +29,23 @@ <br><br>2. <b>Brayl klaviaturasidan foydalanish uchun</b>: odatiy klaviaturani ochib, %2$s belgisini bosing (pastki oʻng burchakdagi). “%1$s.” xizmatini tanlang <br><br>Klaviaturani almashtirib boʻlmasa, %3$s – Google klaviaturasini oʻrnating. Sozlamalar - Matn kiritish tillari - Tanlangan til - Boshqa chiqmasin - Yozayotganda tilni tez oʻzgartirish - Brayl klaviaturasida yozayotganda tilni oʻzgartirish uchun 3 ta barmogʻingiz bilan tepaga suring. Keyin esa “keyingi tilga oʻtish” bandini tanlang. + Matn kiritish tillari + Birlashtirilgan Ingliz brayl + Ispan + Arab + Fransuz + Polyak Barcha bosilgan nuqtalar bilan Barcha bosilgan nuqtalar kiritish qismi hisoblanadi, hatto boshqa nuqtalardan oldin boʻshatilsa ham Teskari nuqtalar Nuqtalar joyini almashtiring, masalan 1 va 4-nuqtalarning Brayl klaviaturasi sozlamalari - Keyingi tilga oʻtish: %s - Hozir foydalanilmoqda: %s + Yozuv tilini oʻzgartirish + Hozir foydalanilmoqda: %s + Yozuv tili + %s Brayl klaviaturasiga almashtirish + qisqartirilgan + qisqartirilmagan Barcha ishoralarni tekshiring Saboqlarni ochish Tugatish @@ -49,15 +56,23 @@ Oʻchirish uchun chapga suring Yangi qator uchun ikki barmoq bilan oʻngga suring Soʻzni oʻchirish uchun ikki barmoq bilan chapga suring - Kursorni orqaga surish uchun tepaga suring - Kursorni oldinga surish uchun pastga suring Klaviaturani yopish uchun 2 barmoq bilan pastga suring Keyingi klaviaturaga almashtirish uchun 3 barmoq bilan pastga suring Matn kiritish uchun 2 barmoq bilan tepaga suring Yordam va boshqa parametrlar uchun 3 barmoq bilan tepaga suring OK + Ekran qarshisida rejimi + Qurilma ekranini oʻzingizga teskari tuting (ekran qarshisida rejimi) + Stol usti rejimi + Qurilmangizni stol ustiga tekis yotqizing (stol ustida rejimi) + Qurilmani ushlash holatini aniqlash Qurilmangizda brayl klaviaturasi ishlamaydi Qurilmangizda ishlaydigan sensor nuqtalar soni yetarli emas. Batafsil axborot uchun qurilma ishlab chiqaruvchisiga murojaat qiling. + %s oʻchirib tashlandi + + %s-nuqta + %s-nuqta + Brayl klaviaturasidan foydalanish uchun TalkBack xizmatini yoqing Maxsus imkoniyatlar sozlamalaridan yoqing Brayl klaviaturasidan foydalanish uchun TalkBack xizmatini qayta yoqing @@ -71,32 +86,30 @@ Endi odatiy TalkBack ishoralarini ishlata olmaysiz. TalkBack funksiyasi brayl klaviaturasi yoniqligida ishlamaydi. Boshlash uchun telefonni ekrani sizga teskari holatda tuting. Davom etish uchun ekranni ikki marta bosing - “A” harfini kiritish uchun koʻrsatkich barmoq bilan 1-nuqta ustiga bosing + chap koʻrsatkich barmoq + oʻng koʻrsatkich barmoq + “A” harfini kiritish uchun %1$s bilan 1-nuqtani bosing Keyin, B, C va D harflarini kiritishga urining Harfni oʻchirish uchun chapga suring Probel kiritish uchun oʻngga suring - Kursorni orqaga surish uchun tepaga suring - Kursorni oldinga surish uchun pastga suring Klaviaturani yopish uchun ikki barmoq bilan pastga suring Boshqa klaviaturaga almashtirish uchun 3 barmoq bilan pastga suring Darslikni yopish uchun 3 barmoq bilan tepaga suring OʻCHIRISH PROBEL - KURSORNI ORQAGA SURISH - KURSORNI OLDINGA SURISH KLAVIATURANI YOPISH KEYINGI KLAVIATURA Endi odatiy TalkBack ishoralarini ishlata olmaysiz. TalkBack funksiyasi brayl klaviaturasi yoniqligida ishlamaydi.\n\n%1$s Avval telefonni ekrani sizga teskari holatda tuting.\n\nKeyin telefonni gorizontal holatga buring. Qoʻllaringiz bilan telefonning yon chekkalarini ushlang. Oʻng qoʻlingiz USB porti bor chekkani ushlashi kerak. 3-barmoqni ekranga joylang, chimchaloq va bosh barmoqlar telefonni tutib tursin.\n\nTayyor boʻlsangiz, ekranni ikki marta bosing.\n\nBrayl klaviaturasidan chiqish uchun 3 barmoq bilan pastga suring. Bu oddiy klaviaturani qaytaradi. Telefoningiz tik holatda. Davom etish uchun telefonni gorizontal holatga buring. Keyin ekranini sizga teskari holatda tuting. Tayyor boʻlsangiz, ekranni ikki marta bosing. - Ekran sizga teskari boʻlishi kerak. Qoʻllaringiz bilan telefonning yon chekkalarini ushlang va yon tomonlardan ekranni 3 barmoq bilan tutish kerak\n\nChap koʻrsatkich barmoq 1-nuqtada joylanishi kerak. Endi “A” harfini kiritish uchun 1-nuqta ustiga bosing. - “A” harfini kiritish uchun chap koʻrsatkich barmoq bilan 1-nuqtani bosing + chap koʻrsatkich barmoq + oʻng koʻrsatkich barmoq + Ekran sizga teskari boʻlishi kerak. Qoʻllaringiz bilan telefonning yon chekkalarini ushlang va yon tomonlardan ekranni 3 barmoq bilan tutish kerak\n\nEndi %1$s 1-nuqtada joylanishi kerak. Endi “A” harfini kiritish uchun 1-nuqta ustiga bosing. + “A” harfini kiritish uchun %1$s bilan 1-nuqtani bosing %2$s harfini kiritish uchun %1$s ustiga bosing Harfni oʻchirish uchun chapga suring. Endi urinib koʻring. d oʻchirib tashlandi. Probel kiritish uchun oʻngga suring. Endi urinib koʻring. - Kursorni orqaga surish uchun tepaga suring. Hoziroq sinang. - Kursorni oldinga surish uchun pastga suring. Hoziroq sinang. Klaviaturani yopish uchun 2 barmoq bilan pastga suring. Endi urinib koʻring. Klaviaturani yopish. Odatda bu klaviaturani berkitadi. Darslik yopilmagani uchun brayl klaviaturasi hali ham ochiq. Boshqa klaviaturaga almashtirish uchun 3 barmoq bilan pastga suring. Endi urinib koʻring. @@ -114,6 +127,4 @@ Harf oʻchirildi Soʻz oʻchirildi Darslikni davom ettirish. %1$s - Tashqi brayl ekrani ulangan, bunda ushbu qurilmaga matn kiritishingiz mumkin.\nSensorli ekran brayl klaviaturasiga yoki keyingi matn kiritish usuliga almashtirishingiz mumkin. - Sensorli ekran klaviaturasiga almashtirish diff --git a/braille/brailleime/src/phone/res/values-vi/strings.xml b/braille/brailleime/src/main/res/values-vi/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-vi/strings.xml rename to braille/brailleime/src/main/res/values-vi/strings.xml index 221660c25..df37a52ad 100644 --- a/braille/brailleime/src/phone/res/values-vi/strings.xml +++ b/braille/brailleime/src/main/res/values-vi/strings.xml @@ -5,6 +5,9 @@ Chế độ trên mặt bàn. Đặt thiết bị sao cho cổng sạc ở bên trái. Nhấn và giữ bằng 6 ngón tay để cập nhật vị trí dấu chấm. Bạn chưa bật bàn phím nào khác, hãy chuyển đến phần cài đặt bàn phím Vuốt lên bằng 3 ngón tay để xem thêm tùy chọn + Đã chuyển sang chế độ chữ nổi rút gọn + Đã chuyển sang chế độ chữ nổi không bị rút gọn + Đã chuyển sang chế độ Chữ nổi tiếng Anh hợp nhất (UEB) không bị rút gọn bàn phím chữ nổi bàn phím chữ nổi, %s Bàn phím chữ nổi TalkBack – để được trợ giúp, hãy truy cập vào g.co/help/braille @@ -17,7 +20,6 @@ Đã cập nhật vị trí của dấu chấm 1, 2 và 3. Tiếp theo, hãy ghi lại các dấu chấm trên tay phải. Chạm và giữ màn hình bằng 3 ngón giữa của tay phải. Đã cập nhật vị trí của dấu chấm 1, 2 và 3. Tiếp theo, hãy ghi lại các dấu chấm trên tay trái. Chạm và giữ màn hình bằng 3 ngón giữa của tay trái. Không thể cập nhật vị trí dấu chấm. Hãy chạm và giữ màn hình bằng 6 ngón tay. Sau đó thử lại. - Đã chuyển sang %s Bàn phím chữ nổi Thiết lập bàn phím chữ nổi Cách sử dụng bàn phím chữ nổi @@ -27,18 +29,23 @@ <br><br>2. <b>Dùng bàn phím chữ nổi</b>: Mở bàn phím thông thường của bạn rồi nhấn vào biểu tượng chọn bàn phím %2$s (thường nằm ở góc dưới cùng bên phải). Chọn \"%1$s\". <br><br>Nếu bạn không thấy tùy chọn để chuyển đổi bàn phím, hãy thử cài đặt bàn phím Google %3$s. Cài đặt - Ngôn ngữ nhập - Ngôn ngữ ưu tiên - Không hiện lại nữa - Thay đổi nhanh ngôn ngữ trong khi nhập - Để thay đổi ngôn ngữ khi nhập bằng bàn phím chữ nổi, hãy vuốt lên bằng 3 ngón tay. Sau đó, chọn \"chuyển sang ngôn ngữ tiếp theo\". + Ngôn ngữ nhập + Chữ nổi tiếng Anh hợp nhất + Tiếng Tây Ban Nha + Tiếng Ả Rập + Tiếng Pháp + Tiếng Ba Lan Bao gồm tất cả các dấu chấm được nhấn Mỗi dấu chấm bạn nhấn sẽ cấu thành nội dung nhập, cả khi bạn nhả dấu chấm đó trước các dấu chấm khác Dấu chấm ngược Hoán đổi vị trí dấu chấm, chẳng hạn như đổi vị trí của dấu chấm 1 cho dấu chấm 4 Các tùy chọn trên bàn phím chữ nổi - Chuyển sang ngôn ngữ tiếp theo: %s - Hiện đang sử dụng: %s + Thay đổi ngôn ngữ nhập + Hiện đang sử dụng %s + Ngôn ngữ nhập + Chuyển sang chế độ chữ nổi %s + thu gọn + không bị thu gọn Xem tất cả cử chỉ Mở hướng dẫn Hoàn tất hướng dẫn @@ -49,15 +56,23 @@ Để xóa, hãy vuốt sang trái Để xuống một dòng mới, hãy vuốt sang phải bằng 2 ngón tay Để xóa một từ, hãy vuốt sang trái bằng 2 ngón tay - Vuốt lên để di chuyển con trỏ về phía sau - Vuốt xuống để di chuyển con trỏ về phía trước Để ẩn bàn phím, hãy vuốt xuống bằng 2 ngón tay Để chuyển sang bàn phím tiếp theo, hãy vuốt xuống bằng 3 ngón tay Để gửi nội dung, hãy vuốt lên bằng 2 ngón tay Để được trợ giúp và xem các tùy chọn khác, hãy vuốt lên bằng 3 ngón tay Xong + Chế độ màn hình hướng ra ngoài + Cầm thiết bị sao cho màn hình hướng ra phía ngoài (chế độ màn hình hướng ra ngoài) + Chế độ trên mặt bàn + Đặt thiết bị nằm trên bàn (chế độ trên mặt bàn) + Thích ứng với cách bạn cầm thiết bị Thiết bị của bạn không hỗ trợ bàn phím chữ nổi Thiết bị của bạn không hỗ trợ đầy đủ điểm cảm ứng. Để biết thêm thông tin, hãy liên hệ với nhà sản xuất thiết bị của bạn. + Đã xóa %s + + dấu chấm %s + dấu chấm %s + Bật TalkBack để dùng bàn phím chữ nổi Bật trong phần cài đặt hỗ trợ tiếp cận Tiếp tục TalkBack để dùng bàn phím chữ nổi @@ -71,32 +86,30 @@ Kể từ giờ, bạn sẽ không thể dùng các cử chỉ TalkBack thông thường nữa. TalkBack không hoạt động khi bạn dùng bàn phím chữ nổi. Để bắt đầu, hãy cầm điện thoại như mô tả, với màn hình hướng ra phía ngoài. Nhấn đúp vào vị trí bất kỳ để tiếp tục - Dùng ngón tay trỏ trái nhấn vào dấu chấm 1 để nhập chữ \"A\" + ngón trỏ trái + ngón trỏ phải + Dùng %1$s nhấn vào dấu chấm 1 để nhập chữ \"A\" Tiếp đến, hãy thử nhập chữ cái B, C và D Để xóa một chữ cái, hãy vuốt sang trái Để thêm một dấu cách, hãy vuốt sang phải - Vuốt lên để di chuyển con trỏ về phía sau - Vuốt xuống để di chuyển con trỏ về phía trước Để ẩn bàn phím, hãy vuốt xuống bằng 2 ngón tay Để chuyển sang bàn phím khác, hãy vuốt xuống bằng 3 ngón tay Để hoàn tất hướng dẫn, hãy vuốt lên bằng 3 ngón tay XÓA DẤU CÁCH - ĐÃ DI CHUYỂN CON TRỎ VỀ PHÍA SAU - ĐÃ DI CHUYỂN CON TRỎ VỀ PHÍA TRƯỚC ẨN BÀN PHÍM BÀN PHÍM TIẾP THEO Kể từ giờ, bạn sẽ không thể dùng các cử chỉ TalkBack thông thường nữa. TalkBack không hoạt động khi bạn dùng bàn phím chữ nổi.\n\n%1$s Trước tiên, hãy xoay điện thoại sao cho màn hình hướng ra phía ngoài.\n\nTiếp đến, hãy xoay điện thoại sao cho điện thoại nằm ngang. Hai tay bạn cầm vào hai cạnh ngắn của điện thoại. Tay phải bạn cầm vào cạnh có cổng USB. Đặt 3 ngón tay giữa trên màn hình, dùng ngón cái và ngón út để đỡ điện thoại.\n\nKhi đã sẵn sàng, hãy nhấn đúp vào màn hình để tiếp tục.\n\nĐể thoát khỏi bàn phím chữ nổi, hãy vuốt xuống dưới bằng 3 ngón tay. Thao tác này sẽ chuyển lại về bàn phím ban đầu. Bạn đang cầm điện thoại theo chiều dọc. Để tiếp tục, hãy xoay ngang điện thoại sao cho cạnh dài ở phía dưới cùng. Sau đó, xoay màn hình hướng ra phía ngoài. Khi bạn đã sẵn sàng, hãy nhấn đúp vào màn hình để tiếp tục. - Giữ sao cho màn hình hướng ra phía ngoài. Cầm vào phần cạnh ngắn của điện thoại bằng cả 2 tay sao cho 3 ngón giữa của mỗi bàn tay có thể chạm vào màn hình.\n\nNgón trỏ trái nên đặt ở vị trí dấu chấm 1. Giờ đây, hãy nhấn vào dấu chấm 1 để nhập chữ “A”. - Nhấn vào dấu chấm 1 bằng ngón trỏ trái để nhập chữ “A” + ngón trỏ trái + ngón trỏ phải + Giữ sao cho màn hình hướng ra phía ngoài. Cầm vào phần cạnh ngắn của điện thoại bằng cả 2 tay sao cho 3 ngón giữa của mỗi bàn tay có thể chạm vào màn hình.\n\n%1$s nên đặt ở vị trí dấu chấm 1. Giờ đây, hãy nhấn vào dấu chấm 1 để nhập chữ “A”. + Dùng %1$s nhấn vào dấu chấm 1 để nhập chữ “A” Nhấn vào %1$s để nhập chữ %2$s Để xóa một chữ cái, hãy vuốt sang trái. Thử ngay. Đã xóa chữ d. Để thêm một dấu cách, hãy vuốt sang phải. Thử ngay. - Vuốt lên để di chuyển con trỏ về phía sau. Hãy thử ngay. - Vuốt xuống để di chuyển con trỏ về phía trước. Hãy thử ngay. Để ẩn bàn phím, hãy vuốt xuống bằng 2 ngón tay. Thử ngay. Ẩn bàn phím. Thông thường, thao tác này sẽ giúp ẩn bàn phím. Bàn phím chữ nổi sẽ vẫn ở trạng thái mở vì bạn vẫn đang ở chế độ hướng dẫn. Để chuyển sang bàn phím khác, hãy vuốt xuống bằng 3 ngón tay. Thử ngay. @@ -114,6 +127,4 @@ Đã xóa chữ cái Đã xóa từ Hãy tiếp tục xem hướng dẫn. %1$s - Đã kết nối màn hình chữ nổi bên ngoài. Bạn có thể dùng màn hình này để nhập văn bản vào thiết bị.\nHoặc bạn có thể chuyển sang Bàn phím chữ nổi trên màn hình cảm ứng hoặc phương thức nhập tiếp theo. - Chuyển sang bàn phím trên màn hình cảm ứng diff --git a/braille/brailleime/src/phone/res/values-zh-rCN/strings.xml b/braille/brailleime/src/main/res/values-zh-rCN/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-zh-rCN/strings.xml rename to braille/brailleime/src/main/res/values-zh-rCN/strings.xml index 015d007bd..d11d7b26a 100644 --- a/braille/brailleime/src/phone/res/values-zh-rCN/strings.xml +++ b/braille/brailleime/src/main/res/values-zh-rCN/strings.xml @@ -5,6 +5,9 @@ 桌面模式。请将设备放在桌面上,保持充电端口朝左。如需更新圆点位置,请用 6 根手指按住屏幕。 未启用任何其他键盘,请转至键盘设置 如需了解更多选项,请用三根手指向上滑动 + 盲文键盘已切换至简写模式 + 盲文键盘已切换至非简写模式 + 键盘已切换至通用英语盲文 (UEB) 非简写模式 盲文键盘 盲文键盘,%s TalkBack 盲文键盘 - 如需帮助,请访问 g.co/help/braille @@ -17,7 +20,6 @@ 圆点 1、2 和 3 的位置已更新。接下来,记录右手的圆点位置。请用右手中间的 3 根手指轻触并按住屏幕。 圆点 1、2 和 3 的位置已更新。接下来,记录左手的圆点位置。请用左手中间的 3 根手指轻触并按住屏幕。 无法更新圆点位置。请用 6 根手指轻触并按住屏幕,然后重试。 - 已切换到%s 盲文键盘 设置盲文键盘 如何使用盲文键盘 @@ -27,18 +29,23 @@ <br><br>2. <b>使用盲文键盘</b>:打开常规键盘,然后点按“选择键盘”图标 %2$s(通常位于右下角)。选择“%1$s”。 <br><br>如果您没有看到用于切换键盘的选项,请尝试安装 %3$s(Google 键盘)。 设置 - 输入语言 - 首选语言 - 不要再显示 - 在输入内容时快速更改语言 - 若要在使用盲文键盘输入内容时更改语言,请用 3 根手指向上滑动。然后,选择“切换到下一种语言”。 + 输入语言 + 通用英语盲文 + 西班牙语 + 阿拉伯语 + 法语 + 波兰语 包含所有按下的点 每个按下的点都会包含在输入中,即使你先松开其中的一个点,也不影响拼写 互换点的位置 互换点的位置,比如将 1 点和 4 点互换位置 盲文键盘选项 - 切换到下一种语言:%s - 当前使用的语言:%s + 更改输入语言 + 当前使用的是%s + 输入语言 + 切换至%s盲文 + 简写 + 非简写 查看所有手势 打开教程 完成教程 @@ -49,15 +56,23 @@ 删除盲文字符,请向左滑动 要添加新行,请用两根手指向右滑动 删除字词,请用两根手指向左滑动 - 如需向后移动光标,请向上滑动 - 如需向前移动光标,请向下滑动 隐藏键盘,请用两根手指向下滑动 要切换至下一个键盘,请用三根手指向下滑动 提交文本,请用两根手指向上滑动 如需获取帮助并了解其他选项,请用三根手指向上滑动 完成 + 屏幕朝外模式 + 拿握设备,让屏幕背对着您(屏幕朝外模式) + 桌面模式 + 将设备平放在桌子上(桌面模式) + 适应您拿握设备的方式 您的设备不支持盲文键盘 您的设备支持的接触点不够多。如需了解详情,请与您的设备制造商联系。 + 已删除%s + + %s 点 + %s 点 + 开启 TalkBack 即可使用盲文键盘 在无障碍设置中开启 恢复启用 TalkBack 以使用盲文键盘 @@ -71,32 +86,30 @@ 从现在开始,您将无法使用常规的 TalkBack 手势。使用盲文键盘时,TalkBack 不可用。 首先,按这种方式握持手机并将屏幕背对着您。 在任意位置点按两次即可继续 - 用左手食指点按点 1 即可输入字母“A” + 左手食指 + 右手食指 + 用%1$s轻按 1 点即可输入字母“A” 接下来,试着输入字母 B、C 和 D 要删除字母,请向左滑动 要添加空格,请向右滑动 - 如需向后移动光标,请向上滑动 - 如需向前移动光标,请向下滑动 要隐藏键盘,请用两根手指向下滑动 要切换至其他键盘,请用三根手指向下滑动 要完成教程,请用三根手指向上滑动 删除 空格 - 已向后移动光标 - 已向前移动光标 隐藏键盘 下一个键盘 从现在开始,您将无法使用常规的 TalkBack 手势。使用盲文键盘时,TalkBack 不可用。\n\n%1$s 首先,翻转手机,让屏幕背对着您。\n\n接下来,将手机旋转至水平方向,使其处于横屏模式。您的双手应握紧手机的两个短边。您的右手应握持有 USB 端口的一边。将中间的三根手指放在屏幕上,并使用小指和拇指支撑手机。\n\n当您准备就绪后,点按两次屏幕以继续操作。\n\n要退出盲文键盘,请用三根手指向下滑动。此操作会切换回您原来的键盘。 您的手机处于竖屏模式。要继续操作,请将手机旋转至水平方向,使长边位于底部。接下来,翻转手机,让屏幕背对着您。当您准备就绪后,点按两次屏幕以继续操作。 - 让手机屏幕背对着您。用双手握持手机的两个短边,让每只手中间的三根手指能触摸到屏幕。\n\n左手食指应放在点 1 上。现在,点按点 1 即可输入字母“A”。 - 用左手食指点按点 1 即可输入“A” + 左手食指 + 右手食指 + 让手机屏幕背对着您。用双手握持手机的两个短边,让每只手中间的三根手指能触摸到屏幕。\n\n%1$s应放在 1 点上。现在,点按 1 点即可输入字母“A”。 + 用%1$s轻按 1 点即可输入字母“A” 点按%1$s 即可输入字母 %2$s 要删除字母,请向左滑动。立即尝试。 已删除 d。 要添加空格,请向右滑动。立即尝试。 - 如需向后移动光标,请向上滑动。现在就试试看吧。 - 如需向前移动光标,请向下滑动。现在就试试看吧。 要隐藏键盘,请用两根手指向下滑动。立即尝试。 隐藏键盘。通常,此操作将会隐藏键盘。盲文键盘将保持打开状态,因为您仍在教程中。 要切换至其他键盘,请用三根手指向下滑动。立即尝试。 @@ -114,6 +127,4 @@ 已删除字符 已删除字词 我们继续学习教程吧。%1$s - 连接了一个外部盲文显示屏,您可以借助该显示屏在该设备中输入文本。\n或者,您也可以切换到触摸屏盲文键盘或其他输入法。 - 切换到触摸屏键盘 diff --git a/braille/brailleime/src/phone/res/values-zh-rHK/strings.xml b/braille/brailleime/src/main/res/values-zh-rHK/strings.xml similarity index 82% rename from braille/brailleime/src/phone/res/values-zh-rHK/strings.xml rename to braille/brailleime/src/main/res/values-zh-rHK/strings.xml index 0e2b53135..27712c968 100644 --- a/braille/brailleime/src/phone/res/values-zh-rHK/strings.xml +++ b/braille/brailleime/src/main/res/values-zh-rHK/strings.xml @@ -5,6 +5,9 @@ 桌面模式。將裝置放喺枱面嘅時候,請將充電連接埠向左放。用 6 隻手指㩒住螢幕就可以更新圓點位置。 您未啟用其他鍵盤,請前往鍵盤設定 用 3 隻手指向上掃就可以睇到多啲選項 + 轉咗去二級點字 + 轉咗去一級點字 + 轉咗做一級 UEB 點字鍵盤 點字鍵盤,%s TalkBack 點字鍵盤 - 請前往 g.co/help/braille 尋求協助 @@ -17,7 +20,6 @@ 更新咗點 1、點 2 同點 3 嘅位置。跟住,記錄右手嘅圓點。請用右手中間 3 隻手指㩒住螢幕。 更新咗點 1、點 2 同點 3 嘅位置。跟住,記錄左手嘅圓點。請用左手中間 3 隻手指㩒住螢幕。 更新唔到圓點位置。請用 6 隻手指㩒住螢幕,然後再試一次。 - 轉咗做%s 點字鍵盤 設定點字鍵盤 如何使用點字鍵盤 @@ -27,18 +29,23 @@ <br><br>2. <b>使用點字鍵盤</b>:請開啟標準鍵盤,然後輕觸「選擇鍵盤」圖示 %2$s (通常位於右下角),並選取 [%1$s]。 <br><br>如果您找不到切換鍵盤的選項,請嘗試安裝 %3$s (即 Google 鍵盤)。 設定 - 輸入語言 - 偏好語言 - 不要再顯示此選框 - 輸入內容時快速變更語言 - 如要在使用點字鍵盤輸入內容時變更語言,請用 3 隻手指向上滑動,然後選取 [切換至下一個輸入語言]。 + 輸入語言 + 統一英文點字 + 西班牙文 + 阿拉伯文 + 法文 + 波蘭文 包括所有已按下的點 即使您先放開其中某個點,每個您按下的點都是輸入內容的一部分,並不影響拼字 反轉點 你可以將點嘅位置對掉,例如 1 點同 4 點對掉位置 點字鍵盤選項 - 切換至下一個輸入語言:%s - 目前使用的語言是:%s + 變更輸入語言 + 目前使用的是 %s + 輸入語言 + 切換至%s點字 + 二級 + 一級 查看所有手勢 開啟教學課程 完成教學課程 @@ -49,15 +56,23 @@ 如要刪除點字,請向左滑動 如要插入新行,請以 2 隻手指向右滑動 如要刪除某個字詞,請以 2 隻手指向左滑動 - 如要將游標向後移,請向上滑動 - 如要將游標向前移,請向下滑動 如果要隱藏鍵盤,請用 2 隻手指向下掃 如要切換至下一個鍵盤,請以 3 隻手指向下滑動 如要提交文字,請以 2 隻手指向上滑動 如需說明和其他選項,請以 3 隻手指向上滑動 完成 + 螢幕向外模式 + 握住裝置,並將螢幕 (螢幕向外模式) + 桌面模式 + 將裝置平放在桌面上 (桌面模式) + 配合您手持裝置的方式 您的裝置不支援點字鍵盤 您裝置支援的接觸點不足。如需瞭解詳情,請聯絡您的裝置製造商。 + 刪除咗%s + + %s 點 + %s 點 + 開啟 TalkBack 才能使用點字鍵盤 在無障礙功能設定中開啟 恢復 TalkBack 才能使用點字鍵盤 @@ -71,32 +86,30 @@ 由宜家開始,你用唔到標準嘅 TalkBack 手勢,TalkBack 功能無法與點字鍵盤配搭使用。 如要開始使用,請以螢幕向外的方式握住手機,如下圖所示。 在任何位置輕按兩下即可繼續 - 以左手食指輕按點 1,即可輸入字母「A」 + 左手食指 + 右手食指 + 用%1$s㩒一下 1 點,就可以輸入字母「A」喇 接下來,請嘗試輸入字母 B、C 和 D 如要刪除某個字母,請向左滑動 如要新增空格,請向右滑動 - 如要將游標向後移,請向上滑動 - 如要將游標向前移,請向下滑動 如要隱藏鍵盤,請以 2 隻手指向下滑動 如要切換至其他鍵盤,請以 3 隻手指向下滑動 如要結束教學課程,請以 3 隻手指向上滑動 刪除 空白 - 將游標向後移 - 將游標向前移 隱藏鍵盤 下一個鍵盤 由宜家開始,你用唔到標準嘅 TalkBack 手勢,TalkBack 功能唔可以同點字鍵盤一齊用。\n\n%1$s 首先轉一轉手機方向,令到螢幕向外。\n\n然後水平旋轉打橫部手機,你對手應該拎住手機較短嗰兩邊,右手應該拎住有 USB 連接埠嗰邊。將中間 3 隻手指放喺螢幕上面,然後用手指尾同手指公固定手機。\n\n準備好之後,喺螢幕上面㩒兩下就可以去下一個步驟。\n\n用 3 隻手指向下掃就可以離開點字鍵盤,咁樣就會轉返去原本用嘅鍵盤。 手機宜家係垂直,如果要繼續操作,請水平旋轉部手機,長嗰邊喺底,然後轉一轉手機方向,令到螢幕向外,準備好之後,喺螢幕上面㩒兩下就可以去下一個步驟。 - 將手機螢幕向外,用雙手拎住手機較短嗰兩邊,令到中間 3 隻手指可以掂到螢幕。\n\n左手食指嘅位置應該喺點 1 上面,現在,㩒一下點 1 就可以輸入字母「A」。 - 用左手食指㩒一下點 1 就可以輸入「A」。 + 左手食指 + 右手食指 + 將手機螢幕向外,用雙手拎住手機較短嗰兩邊,等中間嗰 3 隻手指可以掂到螢幕。\n\n%1$s應該放喺 1 點上面。宜家㩒一下 1 點,就可以輸入字母「A」喇 + 用%1$s㩒一下 1 點,就可以輸入字母「A」喇 㩒一下點 %1$s 就可以輸入 %2$s 如果要刪除某個字母,請向左掃,宜家試下啦。 刪除咗「d」。 如果要新增空格,請向右掃,宜家試下啦。 - 如要將游標向後移,請向上滑動。立即試試吧。 - 如要將游標向前移,請向下滑動。立即試試吧。 如果要隱藏鍵盤,請用 2 隻手指向下掃,宜家試下啦。 隱藏鍵盤,咁樣通常就可以隱藏鍵盤,不過你宜家仲係上緊教學課程,所以點字鍵盤會繼續開住。 如果要轉去其他鍵盤,請用 3 隻手指向下掃,宜家試下啦。 @@ -114,6 +127,4 @@ 刪除咗字母 刪除咗文字 宜家繼續教學課程。%1$s - 已連接外部點字顯示器,您可以使用這個點字顯示器在此裝置上輸入文字。\n您亦可以切換為觸控螢幕的點字鍵盤或下一種輸入法。 - 切換至觸控螢幕鍵盤 diff --git a/braille/brailleime/src/phone/res/values-zh-rTW/strings.xml b/braille/brailleime/src/main/res/values-zh-rTW/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-zh-rTW/strings.xml rename to braille/brailleime/src/main/res/values-zh-rTW/strings.xml index 71ee7608b..9dd56596b 100644 --- a/braille/brailleime/src/phone/res/values-zh-rTW/strings.xml +++ b/braille/brailleime/src/main/res/values-zh-rTW/strings.xml @@ -5,6 +5,9 @@ 桌面模式。請將手機充電埠朝左放置。如要更新圓點位置,請用 6 指按住螢幕。 你未啟用其他鍵盤,請前往鍵盤設定 以 3 指向上滑動即可查看更多選項 + 已切換為二級點字 + 已切換為一級點字 + 已切換到 UEB 一級點字 點字鍵盤 點字鍵盤,%s TalkBack 點字鍵盤 - 如需協助,請前往 g.co/help/braille @@ -17,7 +20,6 @@ 1 點、2 點和 3 點的位置已更新。接下來記錄右手的圓點。請用右手的中間 3 指按住螢幕。 1 點、2 點和 3 點的位置已更新。接下來記錄左手的圓點。請用左手的中間 3 指按住螢幕。 無法更新圓點位置。請使用 6 隻手指按住螢幕,然後再試一次。 - 已切換到%s 點字鍵盤 設定點字鍵盤 如何使用點字鍵盤 @@ -27,18 +29,23 @@ <br><br>2. <b>使用點字鍵盤</b>:請開啟標準鍵盤,然後輕觸「選擇鍵盤」圖示 %2$s (通常位於右下角) 並選取 [%1$s]。 <br><br>如果你找不到切換鍵盤的選項,請試著安裝 %3$s (即 Google 鍵盤)。 設定 - 輸入語言 - 偏好語言 - 不要再顯示 - 輸入內容時快速變更語言 - 如要在使用點字鍵盤輸入內容時變更語言,請用 3 指向上滑動,然後選取「切換到下一個輸入語言」。 + 輸入語言 + 統一英文點字 + 西班牙文 + 阿拉伯文 + 法文 + 波蘭語 包括所有已按下的點 每個你按下的點都是輸入內容的一部分,即使你先放開其中某個點,也不影響拼字 調換點的位置 舉例來說,你可以交換點的位置,讓 1 點和 4 點交換位置 點字鍵盤選項 - 切換到下一個輸入語言:%s - 目前使用的語言:%s + 變更輸入語言 + 目前使用的是%s + 輸入語言 + 切換為%s點字 + 二級 + 一級 查看所有手勢 開啟教學課程 完成教學課程 @@ -49,15 +56,23 @@ 如要刪除點字,請向左滑動 如要換行,請以 2 指向右滑動 如要刪除某個字詞,請以 2 指向左滑動 - 如要將游標向後移,請向上滑動 - 如要將游標向前移,請向下滑動 如要隱藏鍵盤,請以 2 指向下滑動 如要切換到下一個鍵盤,請以 3 指向下滑動 如要送出文字,請以 2 指向上滑動 如需說明和其他選項,請以 3 指向上滑動 完成 + 螢幕朝外模式 + 握住裝置,並將螢幕朝外 (螢幕朝外模式) + 桌面模式 + 將裝置平放在桌上 (桌面模式) + 配合你手持裝置的方式 你的裝置不支援點字鍵盤 你的裝置觸控點不足。如需更多資訊,請與你的裝置製造商聯絡。 + 已刪除%s + + %s 點 + %s 點 + 必須開啟 TalkBack 才能使用點字鍵盤 在無障礙設定中開啟 必須重新啟用 TalkBack,才能使用點字鍵盤 @@ -71,32 +86,30 @@ 從現在起,你將無法使用標準的 TalkBack 手勢。TalkBack 功能無法與點字鍵盤搭配使用。 如要開始使用,請以螢幕朝外的方式握住手機,如下圖所示。 在任何位置輕觸兩下即可繼續 - 以左手食指輕觸 1 點,即可輸入字母「A」 + 左手食指 + 右手食指 + 以%1$s輕觸 1 點,即可輸入字母「A」 接下來,請試著輸入字母 B、C 和 D 如要刪除某個字母,請向左滑動 如要新增空格,請向右滑動 - 如要將游標向後移,請向上滑動 - 如要將游標向前移,請向下滑動 如要隱藏鍵盤,請以 2 指向下滑動 如要切換到其他鍵盤,請以 3 指向下滑動 如要結束教學課程,請以 3 指向上滑動 刪除 空格 - 已將游標向後移 - 已將游標向前移 隱藏鍵盤 下一個鍵盤 從現在起,你將無法使用標準的 TalkBack 手勢。TalkBack 功能無法與點字鍵盤搭配使用。\n\n%1$s 首先,請將手機轉向,讓螢幕朝外。\n\n接下來,請將手機由直向轉為橫向。你的雙手應該握著手機較短的兩個邊。右手必須握著有 USB 連接埠的那一邊。請將中間 3 隻手指放在螢幕上,並以拇指和小指固定手機。\n\n準備好之後,在螢幕上輕觸兩下,即可繼續進行下一個步驟。\n\n如要退出點字鍵盤,請以 3 指朝地面向下滑動,這樣就會切換回原本使用的鍵盤。 你的手機目前為直向。如要繼續操作,請將手機轉為橫向,讓長邊在底部。接著,請將手機轉向,讓螢幕朝外。準備好之後,在螢幕上輕觸兩下,即可繼續進行下一個步驟。 - 請將手機螢幕朝外,並以雙手握住手機較短的兩個邊,讓中間 3 隻手指可以觸控螢幕。\n\n左手食指的位置應該在 1 點上。現在,輕觸 1 點即可輸入字母「A」。 - 以左手食指輕觸 1 點,即可輸入「A」 + 左手食指 + 右手食指 + 請將手機螢幕朝外,並以雙手握住手機較短的兩個邊,讓中間 3 隻手指可以觸控螢幕。\n\n%1$s的位置應該在 1 點上。現在,輕觸 1 點即可輸入字母「A」。 + 以%1$s輕觸 1 點,即可輸入「A」 輕觸 %1$s 即可輸入字母 %2$s 如要刪除某個字母,請向左滑動。現在就試試看吧! 已刪除 d。 如要新增空格,請向右滑動。現在就試試看吧! - 如要將游標向後移,請向上滑動。現在就試試看吧! - 如要將游標向前移,請向下滑動。現在就試試看吧! 如要隱藏鍵盤,請以 2 指向下滑動。現在就試試看吧! 隱藏鍵盤。這樣做通常就能隱藏鍵盤,不過目前仍在進行教學課程,所以點字鍵盤會繼續保持開啟狀態。 如要切換到其他鍵盤,請以 3 指向下滑動。現在就試試看吧! @@ -114,6 +127,4 @@ 已刪除字母 已刪除整個字詞 我們將繼續進行後面的教學課程。%1$s - 已接上外部點字顯示器,你可以使用這個點字顯示器在這部裝置上輸入文字。\n你也可以切換為觸控螢幕的點字鍵盤或下一種輸入法。 - 切換為觸控螢幕鍵盤 diff --git a/braille/brailleime/src/phone/res/values-zu/strings.xml b/braille/brailleime/src/main/res/values-zu/strings.xml similarity index 83% rename from braille/brailleime/src/phone/res/values-zu/strings.xml rename to braille/brailleime/src/main/res/values-zu/strings.xml index 84f01f557..6e59f8b6f 100644 --- a/braille/brailleime/src/phone/res/values-zu/strings.xml +++ b/braille/brailleime/src/main/res/values-zu/strings.xml @@ -4,7 +4,10 @@ Imodi yokuba kude nesikrini Imodi ye-tabletop. Beka idivayisi yakho nembobo yokushaja ngakwesokunxele. Ukuze ubuyekeze ukuma kwechashazi, cindezela iminwe eyi-6. Ayikho enye ikhibhodi enikwe amandla, iya kuzilungiselelo zekhibhodi - Swayipha phezulu ngeminwe engu-3 ukuthola okunye okungakhethwa + Swayipha phezulu ngeminwe engu-3 ukuthola izinketho ezengeziwe + Ishintshele ku-braille enenkontileka + Ishintshele ku-braille engenayo inkontileka + Ishintshele kwi-UEB engenayo inkontileka ikhibhodi ye-braille ikhibhodi ye-braille, %s Ikhobhodi ye-TalkBack - ukuthola usizo, vakashela ku-g.co/help/braille @@ -17,7 +20,6 @@ Ukuma okubuyekeziwe kwamachashazi 1, 2, no-3. Okulandelayo, asirekhode amachashazi asesandleni sakho esingakwesokudla. Thinta uphinde ubambe isikrini ngeminwe engaphakathi emi-3 yesandla sakho esingakwesokudla. Ukuma okubuyekeziwe kwamachashazi 1, 2, no-3. Okulandelayo, asirekhode amachashazi asesandleni sakho esingakwesokunxele. Thinta uphinde ubambe isikrini ngeminwe engaphakathi emi-3 yesandla sakho esingakwesokunxele. Ayikwazanga ukubuyekeza ukuma kwechashazi. Thinta uphinde ubambe isikrini ngeminwe eyisi-6. Bese uzame futhi. - Ishintshelwe ku-%s Ikhibhodi ye-braille Setha ikhibhodi ye-braille Indlela yokusebenzisa ikhibhodi ye-braille @@ -27,18 +29,23 @@ <br><br>2. <b>Sebenzisa ikhibhodi ye-braille</b>: Vula ikhibhodi yakho evamile, bese uthepha isithonjana esithi khetha ikhibhodi %2$s (ngokuvamile siba kwikhona elingezansi ngakwesokudla). Khetha i-\"%1$s.\" <br><br>Uma ungayiboni inketho yokushintsha amakhibhodi, zama ukufaka %3$s, ikhibhodi ye-Google. Izilungiselelo - Izilimi zokuthayipha - Ulimi oluncanyelwayo - Ungaphinde ubonise lokhu - Shintsha ulimi ngokushesha ngenkathi uthayipha - Ukuze ushintshe ulimi lwakho ngenkathi uthayipha ngekhibhodi ye-braille, swayiphela phezulu ngeminwe emi-3. Bese ukhetha okuthi \"shintshela olimini olulandelayo\". + Izilimi zokuthayipha + I-Braille Ehlanganisiwe ye-English + Isi-Spanish + Isi-Arabic + Isi-French + Isi-Polish Faka phakathi wonke amachashazi acindezelwe Ichashazi ngalinye elicindezelwe liyingxenye yokokufaka, ngisho noma ichashazi likhishwe ngaphambi kwamanye amachashazi Buyisela emuva amachashazi Ngokwesibonelo, shintsha izindawo zechashazi, ukuze amachashazi 1 no-4 ashintshe izindawo Izinketho zekhibhodi ye-braille - Shintshela olimini olulandelayo: %s - Okwamanje isebenzisa: %s + Shintsha ulimi lokuthayipha + Okwamanje isebenzisa i-%s + Ulimi lokuthayipha + Shintshela ku-braille ye-%s + okwenkontilakhi + akukhona okwenkontilakhi Buyekeza konke ukuthinta Vula okokufundisa Qeda okokufundisa @@ -49,15 +56,23 @@ Ukuze ususe, swayiphela ngakwesokunxele Ukuthola ulayini omusha, swayiphela ngakwesokudla ngeminwe engu-2 Ukuze ususe igama, swayiphela ngakwesokunxele ngeminwe engu-2 - Ukuze uhambise i-cursor yombhalo emuva, swayiphela phezulu - Ukuze uhambise i-cursor yombhalo phambili, swayiphela phansi Ukuze ufihle ikhibhodi, swayiphela phansi ngeminwe engu-2 Ukushintshela kwikhibhodi elandelayo, swayiphela ngenzansi ngeminwe engu-3 Ukuthumela umbhalo, swayiphela ngeminwe engu-2 Ukuthola usizo nezinye izinketho, swayiphela phezulu ngeminwe engu-3 Kwenziwe + Imodi yokuba kude nesikrini + Bamba idivayisi ukude nesikrini (imodi yokuba kude nesikrini) + Imodi ye-tabletop + Beka phansi idivayisi (imodi ye-tabletop) + Jwayelana nendlela obamba ngayo idivayisi Idivayisi yakho ayisekeli ikhibhodi ye-braille Idivayisi yakho ayisekeli amaphoyinti wokuthinta anele. Ukuthola ulwazi olwengeziwe, xhumana nomkhiqizi wedivayisi yakho + %s kususiwe + + amachashazi %s + amachashazi %s + Vula i-TalkBack ukusebenzisa ikhibhodi ye-braille Vula izilungiselelo zokufinyeleleka Qhubeka ne-TalkBack ukuze usebenzise ikhibhothi ye-braille @@ -71,38 +86,36 @@ Kusuka manje, ngeke ukwazi ukusebenzisa ukuthinta okuvamile kwe-TalkBack. I-TalkBack ayitholakali lapho usebenzisa ikhibhodi ye-braille. Ukuqala, bamba ifoni yakho ngale ndlela, isikrini sibheke kude nawe. Thepha kabili noma yikuphi ukuqhubeka - Thepha ichashazi 1 ngomunwe wakho wenkomba ongakwesokunxele ukuthayipha uhlamvu \"A\" + inkomba yomunwe wesobunxele + inkomba yomunwe wesokudla + Thepha ichashazi 1 nge-%1$s yakho bese uthayipha uhlamvu \"A\" Okulandelayo, zama ukuthayipha amaletha athi B, C, no-D Ukususa iletha, swayipha ngakwesokunxele Ukwengeza isikhala, swayipha ngakwesokudla - Ukuze uhambise i-cursor yombhalo emuva, swayiphela phezulu - Ukuze uhambise i-cursor yombhalo phambili, swayiphela phansi Ukufihla ikhibhodi, swayipha ngenzansi ngeminwe engu-2 Ukushintshela kwenye ikhibhodi yakho, swayipha ngenzansi ngeminwe engu-3 Ukuqeda okokufundisa, swayipha phezulu ngeminwe engu-3 SUSA ISIKHALA - I-CURSOR IHANJISWE EMUVA - I-CURSOR IHANJISWE PHAMBILI FIHLA IKHIBHODI IKHIBHODI ELANDELAYO Kusukela manje, ngeke ukwazi ukusebenzisa ukuthinta okuvamile kwe-TalkBack. I-TalkBack ayitholakali uma usebenzisa ikhibhodi ye-braille.\n\n%1$s Okokuqala, jikisa ifoni yakho ukuze isikrini sibheke kude nawe.\n\Okulandelayo, zungezisa ifoni ngokuvundlile ukuze ibe ukuma okundlaleke ngobubanzi. Izandla zakho kufanele zibambe amaphethelo amafushane wefoni. Isandla sakho sokudla kufanele sibambe ekugcineni ngembobo ye-USB. Phumuza iminwe yakho engaphakathi engu-3 kusikrini, futhi usebenzise ucikicane nesithupha sakho ukusekela ifoni.\n\nLapho usukulungele, thepha kabili kusikrini ukuze uqhubeke.\n\nUkuphuma kukhibhodi ye-braille, swayipha ngenzansi kuya phansi ngeminwe engu-3. Lokhu kushintshela kwikhibhodi yakho evamile. Ifoni yakho iqondile. Ukuze uqhubeke, zungezisa ifoni yakho ivundle ukuze uhlangothi olude lube ngenzansi. Lokhu kujikisa isikrini ukuze singabheki ngakuwe. Lapho usukulungele, thepha kabili isikrini ukuze uqhubeke. - Gcina isikrini sibheke kude nawe. Bamba ifoni yakho ngazo zombili izandla, kunqenqema olufushane lwefoni, ukuze iminwe engu-3 emaphakathi yesandla ngasinye ikwazi ukuthinta isikrini.\n\nUmunwe wakho oyinkomba ongakwesokunxele kufanele ube echashazini 1. Manje, thepha ichashazi 1 ukuthayipha iletha “A”. - Thepha ichashazi 1 ngomunwe wakho oyinkomba ongakwesokunxele ukuthayipha “A” + inkomba yomunwe wesobunxele + inkomba yomunwe wesokudla + Gcina isikrini sibheke kude nawe. Bamba ifoni yakho ngazo zombili izandla, kunqenqema olufushane lwefoni, ukuze iminwe engu-3 emaphakathi yesandla ngasinye ikwazi ukuthinta isikrini.\n\nI-%1$s yakho eyinkomba engakwesobunxele kufanele ibe sechashazini 1. Manje, thepha ichashazi 1 ukuthayipha uhlamvu “A”. + Thepha ichashazi 1 nge-%1$s yakho ukuze uthayiphe “A” Thepha %1$s ukuthayipha iletha %2$s Ukususa iletha, swayipha ngakwesokunxele. Izame manje. d isusiwe. Ukwengeza isikhala, swayipha ngakwesokudla Izame manje. - Ukuze uhambise i-cursor yombhalo emuva, swayiphela phezulu Izame manje. - Ukuze uhambise i-cursor yombhalo phambili, swayiphela phansi Izame manje. Ukufihla ikhibhodi, swayipha ngenzansi ngeminwe engu-2. Izame manje. Fihla ikhibhodi. Ngokuvamile, lokhu kufihla ikhibhodi. Ikhibhodi ye-braille izohlala ivuliwe ngoba usephakathi nokokufundisa. Ukushintshela kwenye ikhibhodi yakho, swayipha ngenzansi ngeminwe engu-3. Izame manje. Ikhibhodi elandelayo. Ngokuvamile, lokhu kushintshela kwibhodi elandelayo. Manje, uzohlala kukhibhodi ye-braille ngoba usephakathi nokokufundisa. Ungase futhi uthayiphe kumodi ye-tabletop ngokubeka ifoni yakho phansi etafuleni. Ukuze uqedele okokufundisa, swayipha phezulu ngeminwe emi-3, bese uthola inketho yokokufundisa yokuqedela - Imenyu yezinketho ivuliwe. Jikisa ifoni yakho ibeke ngakuwe bese uyibamba ngendlela evamile. Manje usungakwazi ukusebenzisa ukuthinta kwe-TalkBack ukuzulazula. Swayiphela ngakwesokudla ukuze ubone okunye okungakhethwa. + Imenyu yezinketho ivuliwe. Jikisa ifoni yakho ibeke ngakuwe bese uyibamba ngendlela evamile. Manje usungakwazi ukusebenzisa ukuthinta kwe-TalkBack ukuzulazula. Swayiphela ngakwesokudla ukuze ubone izinketho ezengeziwe. %s\nBeka phansi idivayisi yakho etafuleni. Bese, uthinta uphinde ubambe isikrini ngeminwe emi-3 engaphakathi yesandla ngasinye ngokuma okhululeke ukuthayipha ngakho. Beka phansi idivayisi yakho etafuleni. Bese, uthinta uphinde ubambe isikrini ngeminwe emi-3 engaphakathi yesandla ngasinye ngokuma okhululeke ukuthayipha ngakho. Ibonisa ikhibhodi ye-braille. Jikisa ifoni yakho ukuze isikrini sibheke kude nawe. Zungezisa ifoni ngokuvundlile ngokuma kokwakheka kwezwe. Bese uqala ukuthayipha. @@ -114,6 +127,4 @@ Iletha isusiwe Igama lisusiwe Asiqhubeke nokokufundisa. %1$s - Isibonisi se-braille sangaphandle sixhunyiwe, ongasisebenzisa ukuthayipha umbhalo kule divayisi.\nNoma, ungashintshela kukhibhodi ye-Braille yesikrini sokuthinta noma indlela yokufaka elandelay. - Shintshela kukhibhodi yesikrini esithintwayo diff --git a/braille/brailleime/src/phone/AndroidManifest.xml b/braille/brailleime/src/phone/AndroidManifest.xml index 12fbd69bc..f16e398df 100644 --- a/braille/brailleime/src/phone/AndroidManifest.xml +++ b/braille/brailleime/src/phone/AndroidManifest.xml @@ -4,14 +4,13 @@ package="com.google.android.accessibility.brailleime"> - + Return {@code true} if the keyboard should remain showing. */ - private void performEnterAction(InputConnection inputConnection) { + private void performEditorAction(InputConnection inputConnection) { EditorInfo editorInfo = getCurrentInputEditorInfo(); int editorAction = editorInfo.imeOptions & EditorInfo.IME_MASK_ACTION; BrailleImeLog.logD(TAG, "performEnterAction editorAction = " + editorAction); @@ -630,6 +642,17 @@ private void startAnalyticsPossibly() { } } + private void updateNavigationBarColor() { + getWindow() + .getWindow() + .setNavigationBarColor( + ContextCompat.getColor( + this, + brailleDisplayConnectedAndNotSuspended + ? R.color.braille_keyboard_background + : R.color.google_transparent)); + } + private final LayoutOrientatorCallback layoutOrientatorCallback = new LayoutOrientatorCallback() { @Override @@ -889,7 +912,7 @@ public void onSwipeProduced(Swipe swipe) { if (direction == Direction.UP && touchCount == 2) { editBuffer.commit(imeConnection); hideSelf(); // Restore EBT so a11y focus could jump to next field. - performEnterAction(getCurrentInputConnection()); + performEditorAction(getCurrentInputConnection()); BrailleImeVibrator.getInstance(BrailleIme.this).vibrate(VibrationType.OTHER_GESTURES); brailleImeAnalytics.logGestureActionSubmitText(); brailleImeAnalytics.collectSessionEvents(); @@ -922,6 +945,7 @@ public void onSwipeProduced(Swipe swipe) { } BrailleImeVibrator.getInstance(BrailleIme.this) .vibrate(VibrationType.SPACE_DELETE_OR_MOVE_CURSOR); + brailleImeAnalytics.logGestureActionMoveCursorBackward(); } else if (direction == Direction.DOWN && touchCount == 1) { if (talkBackForBrailleIme.shouldUseCharacterGranularity()) { editBuffer.moveCursorForward(imeConnection); @@ -931,13 +955,17 @@ public void onSwipeProduced(Swipe swipe) { } BrailleImeVibrator.getInstance(BrailleIme.this) .vibrate(VibrationType.SPACE_DELETE_OR_MOVE_CURSOR); + brailleImeAnalytics.logGestureActionMoveCursorForward(); } else { valid = false; BrailleImeLog.logD(TAG, "unknown swipe"); } } - if (valid && !brailleDisplayConnectedAndNotSuspended) { - escapeReminder.restartTimer(); + if (valid) { + showOnBrailleDisplay(); + if (!brailleDisplayConnectedAndNotSuspended) { + escapeReminder.restartTimer(); + } } } @@ -962,6 +990,7 @@ public String onBrailleProduced(BrailleCharacter brailleChar) { String result = editBuffer.appendBraille(getImeConnection(), brailleChar); if (!TextUtils.isEmpty(result)) { escapeReminder.restartTimer(); + showOnBrailleDisplay(); } BrailleImeVibrator.getInstance(BrailleIme.this).vibrate(VibrationType.BRAILLE_COMMISSION); return result; @@ -1020,6 +1049,9 @@ private void showContextMenu() { public void onViewAdded() { activateBrailleIme(); layoutOrientator.startIfNeeded(); + if (!keyboardView.isTutorialShown()) { + showOnBrailleDisplay(); + } } @Override @@ -1047,18 +1079,25 @@ public void onAnnounce(String announcement, int delayMs) { private final BrailleDisplayImeStripView.CallBack brailleDisplayKeyboardCallback = new BrailleDisplayImeStripView.CallBack() { @Override - public void onClicked() { + public void onSwitchToOnscreenKeyboard() { BrailleImeLog.logD(TAG, "onStripClicked"); brailleDisplayConnectedAndNotSuspended = false; updateInputView(); + talkBackForBrailleImeInternal.speakInterrupt( + getString(R.string.switch_on_screen_keyboard_announcement)); keyboardView.setTableMode(isCurrentTableTopMode()); - activateBrailleIme(); brailleDisplayForBrailleIme.suspendInFavorOfBrailleKeyboard(); + updateNavigationBarColor(); + } + + @Override + public void onSwitchToNextKeyboard() { + switchToNextInputMethod(); } }; private void showOnBrailleDisplay() { - if (brailleDisplayForBrailleIme == null || editBuffer == null) { + if (brailleDisplayForBrailleIme == null || editBuffer == null || !isInputViewShown()) { return; } handler.post( @@ -1067,12 +1106,14 @@ private void showOnBrailleDisplay() { ResultForDisplay.builder() .setHoldingsInfo(editBuffer.getHoldingsInfo(getImeConnection())) .setOnScreenText(EditBufferUtils.getTextFieldText(getCurrentInputConnection())) - .setTextSelectionRange( - BrailleCommonUtils.getTextSelectionRange(getCurrentInputConnection())) + .setTextSelection( + BrailleCommonUtils.getTextSelection(getCurrentInputConnection())) .setIsMultiLine( EditBufferUtils.isMultiLineField(getCurrentInputEditorInfo().inputType)) .setAction(Utils.getActionLabel(this, getCurrentInputEditorInfo()).toString()) - .setHint(Utils.getHint(getCurrentInputEditorInfo()).toString()) + .setHint(Utils.getHint(getImeConnection()).toString()) + .setShowPassword( + BrailleCommonUtils.isVisiblePasswordField(getCurrentInputEditorInfo())) .build(); brailleDisplayForBrailleIme.showOnDisplay(result); }); @@ -1109,16 +1150,6 @@ private ImeConnection getImeConnection() { getCurrentInputConnection(), getCurrentInputEditorInfo(), announceType); } - private Result mapToResult(boolean returnValue) { - if (returnValue) { - return Result.SUCCESS; - } - if (EditBufferUtils.isCursorAtEdge(getCurrentInputConnection())) { - return Result.REACH_EDGE; - } - return Result.INVALID_INPUT_CONNECTION; - } - private final OnSharedPreferenceChangeListener onSharedPreferenceChangeListener = new OnSharedPreferenceChangeListener() { @Override @@ -1126,14 +1157,17 @@ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Strin if (key.equals(getString(R.string.pref_brailleime_translator_code))) { Code newCode = BrailleUserPreferences.readCurrentActiveInputCodeAndCorrect(BrailleIme.this); - talkBackForBrailleImeInternal.speakInterrupt( - getString( - R.string.switch_to_language_announcement, - newCode.getUserFacingName(getResources()))); + if (!brailleDisplayConnectedAndNotSuspended) { + talkBackForBrailleImeInternal.speakInterrupt( + getString( + R.string.switch_to_language_announcement, + newCode.getUserFacingName(getResources()))); + } if (editBuffer != null) { editBuffer.commit(getImeConnection()); } createEditBuffer(); + showOnBrailleDisplay(); } } }; @@ -1145,6 +1179,7 @@ public void onDialogHidden() { activateBrailleIme(); startAnalyticsPossibly(); layoutOrientator.startIfNeeded(); + showOnBrailleDisplay(); } @Override @@ -1322,6 +1357,7 @@ public void onBrailleDisplayConnected() { brailleDisplayConnectedAndNotSuspended = true; updateInputView(); activateBrailleIme(); + updateNavigationBarColor(); } @Override @@ -1339,14 +1375,13 @@ public boolean sendBrailleDots(BrailleCharacter brailleCharacter) { } keyboardView.getStripView().animateInput(brailleCharacter.toDotNumbers()); boolean result; - if (brailleCharacter.toInt() == BrailleDots.EMPTY_CELL) { + if (brailleCharacter.isEmpty()) { editBuffer.appendSpace(getImeConnection()); result = true; - } else if (brailleCharacter.toInt() == BrailleDots.DOT7) { + } else if (brailleCharacter.equals(BrailleCharacter.DOT7)) { result = deleteBackward(); - } else if (brailleCharacter.toInt() == BrailleDots.DOT8) { - editBuffer.commit(getImeConnection()); - result = performEnterKeyAction(); + } else if (brailleCharacter.equals(BrailleCharacter.DOT8)) { + result = commitHoldingsAndPerformEnterKeyAction(); } else { editBuffer.appendBraille(getImeConnection(), brailleCharacter); result = true; @@ -1356,21 +1391,39 @@ public boolean sendBrailleDots(BrailleCharacter brailleCharacter) { } @Override - public Result moveCursorForward() { + public boolean moveCursorForward() { boolean result = editBuffer.moveCursorForward(getImeConnection()); if (result) { showOnBrailleDisplay(); } - return mapToResult(result); + return result; } @Override - public Result moveCursorBackward() { + public boolean moveCursorBackward() { boolean result = editBuffer.moveCursorBackward(getImeConnection()); if (result) { showOnBrailleDisplay(); } - return mapToResult(result); + return result; + } + + @Override + public boolean moveCursorBackwardByWord() { + boolean result = editBuffer.moveCursorBackwardByWord(getImeConnection()); + if (result) { + showOnBrailleDisplay(); + } + return result; + } + + @Override + public boolean moveCursorForwardByWord() { + boolean result = editBuffer.moveCursorForwardByWord(getImeConnection()); + if (result) { + showOnBrailleDisplay(); + } + return result; } @Override @@ -1415,6 +1468,16 @@ public boolean moveHoldingsCursor(int toIndex) { return result; } + @Override + public boolean moveCursorToBeginning() { + return editBuffer.moveCursorToBeginning(getImeConnection()); + } + + @Override + public boolean moveCursorToEnd() { + return editBuffer.moveCursorToEnd(getImeConnection()); + } + @Override public boolean deleteBackward() { editBuffer.deleteCharacterBackward(getImeConnection()); @@ -1423,22 +1486,29 @@ public boolean deleteBackward() { } @Override - public boolean deleteForward() { - editBuffer.deleteCharacterForward(getImeConnection()); + public boolean deleteWordBackward() { + editBuffer.deleteWord(getImeConnection()); showOnBrailleDisplay(); return true; } @Override - public boolean submit() { - editBuffer.commit(getImeConnection()); - showOnBrailleDisplay(); - performEnterAction(getCurrentInputConnection()); + public void commitHoldings() { + if (editBuffer != null) { + editBuffer.commit(getImeConnection()); + } + } + + @Override + public boolean commitHoldingsAndPerformEditorAction() { + commitHoldings(); + performEditorAction(getImeConnection().inputConnection); return true; } @Override - public boolean performEnterKeyAction() { + public boolean commitHoldingsAndPerformEnterKeyAction() { + commitHoldings(); if (getCurrentInputConnection() .sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER))) { return getCurrentInputConnection() diff --git a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/Utils.java b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/Utils.java index 3c55e0b73..65d19efd8 100644 --- a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/Utils.java +++ b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/Utils.java @@ -47,9 +47,12 @@ import android.view.View; import android.view.WindowManager; import android.view.inputmethod.EditorInfo; +import android.view.inputmethod.ExtractedText; +import android.view.inputmethod.ExtractedTextRequest; import androidx.annotation.ColorInt; import androidx.core.content.ContextCompat; import com.google.android.accessibility.braille.common.BrailleUserPreferences; +import com.google.android.accessibility.braille.common.ImeConnection; import java.util.Locale; import java.util.Optional; @@ -383,8 +386,18 @@ public static CharSequence getActionLabel( } /** Returns hint of the edit field. */ - public static CharSequence getHint(EditorInfo editorInfo) { - CharSequence hint = editorInfo.hintText; - return hint == null ? "" : hint; + public static CharSequence getHint(ImeConnection imeConnection) { + CharSequence hint = imeConnection.editorInfo.hintText; + if (!TextUtils.isEmpty(hint)) { + return hint; + } + ExtractedText extractedText = + imeConnection.inputConnection.getExtractedText(new ExtractedTextRequest(), 0); + if (extractedText != null + && Build.VERSION.SDK_INT >= Build.VERSION_CODES.P + && !TextUtils.isEmpty(extractedText.hint)) { + return extractedText.hint; + } + return ""; } } diff --git a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TalkBackOffDialog.java b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TalkBackOffDialog.java index 2712e5d20..97a9ecf4c 100644 --- a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TalkBackOffDialog.java +++ b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TalkBackOffDialog.java @@ -21,8 +21,8 @@ import androidx.appcompat.app.AlertDialog; import com.google.android.accessibility.brailleime.BrailleIme; import com.google.android.accessibility.brailleime.R; +import com.google.android.accessibility.utils.KeyboardUtils; import com.google.android.accessibility.utils.MaterialComponentUtils; -import com.google.android.accessibility.utils.keyboard.KeyboardUtils; /** An error dialog which shows when the keyboard is raised while TalkBack is off. */ public class TalkBackOffDialog extends ViewAttachedDialog { diff --git a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TalkBackSuspendDialog.java b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TalkBackSuspendDialog.java index a3bcf40ce..e3c855798 100644 --- a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TalkBackSuspendDialog.java +++ b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TalkBackSuspendDialog.java @@ -20,8 +20,8 @@ import android.content.Context; import androidx.appcompat.app.AlertDialog; import com.google.android.accessibility.brailleime.R; +import com.google.android.accessibility.utils.KeyboardUtils; import com.google.android.accessibility.utils.MaterialComponentUtils; -import com.google.android.accessibility.utils.keyboard.KeyboardUtils; /** * An error dialog which shows when the keyboard is raised while TalkBack is off. diff --git a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TooFewTouchPointsDialog.java b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TooFewTouchPointsDialog.java index 8692c1b9f..0769ea6b9 100644 --- a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TooFewTouchPointsDialog.java +++ b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/dialog/TooFewTouchPointsDialog.java @@ -20,8 +20,8 @@ import android.content.Context; import androidx.appcompat.app.AlertDialog; import com.google.android.accessibility.brailleime.R; +import com.google.android.accessibility.utils.KeyboardUtils; import com.google.android.accessibility.utils.MaterialComponentUtils; -import com.google.android.accessibility.utils.keyboard.KeyboardUtils; /** An error dialog which shows when the device supports too few touch points. */ public class TooFewTouchPointsDialog extends ViewAttachedDialog { diff --git a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/input/BrailleDisplayImeStripView.java b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/input/BrailleDisplayImeStripView.java index f6889bcd9..b30fa8126 100644 --- a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/input/BrailleDisplayImeStripView.java +++ b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/input/BrailleDisplayImeStripView.java @@ -5,16 +5,21 @@ import android.graphics.drawable.LayerDrawable; import android.graphics.drawable.TransitionDrawable; import android.util.AttributeSet; +import android.util.Size; +import android.view.ContextThemeWrapper; import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; +import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; +import com.google.android.accessibility.brailleime.BrailleIme.OrientationSensitive; import com.google.android.accessibility.brailleime.R; import com.google.common.collect.ImmutableMap; import java.util.List; /** A strip which shows when braille display is connected. */ -public class BrailleDisplayImeStripView extends RelativeLayout { +public class BrailleDisplayImeStripView extends RelativeLayout implements OrientationSensitive { + private static final int DURATION_MILLISECONDS = 150; private final ImmutableMap dotsResMap = ImmutableMap.builder() .put(1, R.drawable.dots_tapped_1) @@ -26,12 +31,16 @@ public class BrailleDisplayImeStripView extends RelativeLayout { .put(7, R.drawable.dots_tapped_7) .put(8, R.drawable.dots_tapped_8) .buildOrThrow(); - private final ImageView dotsBackground; - private final View switchToTouchScreenKeyboard; + private CallBack callBack; + private ImageView dotsBackground; + private View switchToTouchScreenKeyboard; + private View switchToNextKeyboard; /** Callback when BrailleDisplayImeStripView is clicked. */ public interface CallBack { - void onClicked(); + void onSwitchToOnscreenKeyboard(); + + void onSwitchToNextKeyboard(); } public BrailleDisplayImeStripView(Context context) { @@ -44,13 +53,34 @@ public BrailleDisplayImeStripView(Context context, AttributeSet attrs) { public BrailleDisplayImeStripView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); - View container = View.inflate(context, R.layout.brailledisplay_ime, this); + addView(); + } + + private void addView() { + View container = + View.inflate( + new ContextThemeWrapper(getContext(), R.style.BrailleDisplayKeyboardTheme), + R.layout.brailledisplay_ime, + this); switchToTouchScreenKeyboard = container.findViewById(R.id.switch_to_touch_screen_keyboard); + switchToNextKeyboard = container.findViewById(R.id.switch_to_next_keyboard); dotsBackground = container.findViewById(R.id.dots_background); + setCallBack(callBack); + } + + @Override + public void onOrientationChanged(int orientation, Size screenSize) { + removeAllViews(); + addView(); } - public void setCallBack(CallBack callBack) { - switchToTouchScreenKeyboard.setOnClickListener(view -> callBack.onClicked()); + /** Sets callback for strip view. If null, remove callback for listeners. */ + public void setCallBack(@Nullable CallBack callBack) { + this.callBack = callBack; + switchToTouchScreenKeyboard.setOnClickListener( + callBack == null ? null : view -> callBack.onSwitchToOnscreenKeyboard()); + switchToNextKeyboard.setOnClickListener( + callBack == null ? null : view -> callBack.onSwitchToNextKeyboard()); } /** Animates tapped dots. */ @@ -67,6 +97,6 @@ public void animateInput(List dotNumbers) { }); dotsBackground.setImageDrawable(transitionDrawable); transitionDrawable.setCrossFadeEnabled(true); - transitionDrawable.startTransition(500); + transitionDrawable.startTransition(DURATION_MILLISECONDS); } } diff --git a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/keyboardview/KeyboardView.java b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/keyboardview/KeyboardView.java index 08bfce689..4674e0957 100644 --- a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/keyboardview/KeyboardView.java +++ b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/keyboardview/KeyboardView.java @@ -1,7 +1,6 @@ package com.google.android.accessibility.brailleime.keyboardview; import android.content.Context; -import android.content.res.Configuration; import android.graphics.Region; import android.hardware.display.DisplayManager; import android.inputmethodservice.InputMethodService; @@ -112,7 +111,6 @@ public ViewContainer createViewContainer() { init(); viewContainer = createViewContainerInternal(); updateViewContainerInternal(); - viewContainer.setViewContainerCallback(viewContainerCallback); return viewContainer; } @@ -275,22 +273,22 @@ public void onGlobalLayout() { protected abstract void tearDownInternal(); - private final ViewContainer.Callback viewContainerCallback = - new ViewContainer.Callback() { - @Override - public void onOrientationChanged(int orientation) { - BrailleImeLog.logD(TAG, "onOrientationChanged"); - if (brailleInputView != null) { - brailleInputView.onOrientationChanged(orientation, getScreenSize()); - } - if (tutorialView != null) { - tutorialView.onOrientationChanged(orientation, getScreenSize()); - } - if (viewContainer != null) { - updateViewContainerInternal(); - } - } - }; + /** Signals that a orientation change has occurred. */ + public void onOrientationChanged(int orientation) { + BrailleImeLog.logD(TAG, "onOrientationChanged"); + if (brailleInputView != null) { + brailleInputView.onOrientationChanged(orientation, getScreenSize()); + } + if (stripView != null) { + stripView.onOrientationChanged(orientation, getScreenSize()); + } + if (tutorialView != null) { + tutorialView.onOrientationChanged(orientation, getScreenSize()); + } + if (viewContainer != null) { + updateViewContainerInternal(); + } + } private final DisplayManager.DisplayListener displayListener = new DisplayManager.DisplayListener() { @@ -322,11 +320,6 @@ public BrailleInputView testing_getBrailleInputView() { return brailleInputView; } - @VisibleForTesting - public ViewContainer.Callback testing_getViewContainerCallback() { - return viewContainerCallback; - } - @VisibleForTesting public TutorialView testing_getTutorialView() { return tutorialView; @@ -341,45 +334,13 @@ public TutorialView testing_getTutorialView() { */ public static class ViewContainer extends FrameLayout { - /** A callback for receiving onConfigurationChanged from ViewContainer. */ - public interface Callback { - - /** - * Signals that a orientation change has occurred. - * - *

Since some components (such as InputMethodService instances) are not always informed of - * orientation changes, this method allows a View (which is always informed) to signal such a - * change to such a component. - */ - void onOrientationChanged(int orientation); - } - /** A callback for notify clients view status changed. */ public interface ViewStatusCallback { void onViewAdded(); } - private Callback callback; - private int orientation; - public ViewContainer(Context context) { super(context); - this.orientation = getResources().getConfiguration().orientation; - } - - public void setViewContainerCallback(Callback callback) { - this.callback = callback; - } - - @Override - protected void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - if (orientation != newConfig.orientation) { - orientation = newConfig.orientation; - if (callback != null) { - callback.onOrientationChanged(newConfig.orientation); - } - } } @Override diff --git a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/settings/BrailleImePreferencesActivity.java b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/settings/BrailleImePreferencesActivity.java index 8af108103..c90498af7 100644 --- a/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/settings/BrailleImePreferencesActivity.java +++ b/braille/brailleime/src/phone/java/com/google/android/accessibility/brailleime/settings/BrailleImePreferencesActivity.java @@ -31,7 +31,6 @@ import android.text.method.LinkMovementMethod; import android.view.MenuItem; import android.view.View; -import android.widget.CheckBox; import android.widget.TextView; import androidx.annotation.VisibleForTesting; import androidx.core.text.HtmlCompat; @@ -44,15 +43,18 @@ import com.google.android.accessibility.braille.common.BrailleUserPreferences; import com.google.android.accessibility.braille.common.BrailleUtils; import com.google.android.accessibility.braille.common.TouchDots; +import com.google.android.accessibility.braille.interfaces.TalkBackForBrailleIme; +import com.google.android.accessibility.braille.interfaces.TalkBackForBrailleIme.ServiceStatus; import com.google.android.accessibility.brailleime.BrailleIme; import com.google.android.accessibility.brailleime.R; import com.google.android.accessibility.brailleime.Utils; import com.google.android.accessibility.brailleime.dialog.SeeAllActionsAlertDialog; import com.google.android.accessibility.utils.AccessibilityServiceCompatUtils.Constants; +import com.google.android.accessibility.utils.FeatureSupport; +import com.google.android.accessibility.utils.KeyboardUtils; import com.google.android.accessibility.utils.MaterialComponentUtils; import com.google.android.accessibility.utils.PreferenceSettingsUtils; import com.google.android.accessibility.utils.PreferencesActivity; -import com.google.android.accessibility.utils.keyboard.KeyboardUtils; import java.util.Arrays; /** Activity used to set BrailleIme's user options. */ @@ -64,6 +66,13 @@ public class BrailleImePreferencesActivity extends PreferencesActivity { private static final String KEYBOARD_ICON_TOKEN = "KEYBOARD_ICON"; private PreferenceFragmentCompat preferenceFragmentCompat; + private static TalkBackForBrailleIme talkBackForBrailleIme; + + /** TalkBack invokes this to provide us with the TalkBackForBrailleIme instance. */ + public static void initialize(TalkBackForBrailleIme talkBackForBrailleIme) { + BrailleImePreferencesActivity.talkBackForBrailleIme = talkBackForBrailleIme; + } + @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { @@ -160,7 +169,8 @@ private void configurePrefs() { BrailleUserPreferences::readCurrentActiveInputCodeAndCorrect, BrailleUserPreferences::writeCurrentActiveInputCode, (preference, newValue) -> { - if (BrailleUserPreferences.readShowSwitchInputCodeGestureTip(getContext())) { + if (BrailleUserPreferences.readShowSwitchBrailleKeyboardInputCodeGestureTip( + getContext())) { showSwitchInputCodeGestureTipDialog(); } return false; @@ -238,19 +248,12 @@ private void configurePrefs() { } private void showSwitchInputCodeGestureTipDialog() { - AlertDialog.Builder builder = MaterialComponentUtils.alertDialogBuilder(getContext()); - View view = getLayoutInflater().inflate(R.layout.dialog_dont_show_again_checkbox, null); - CheckBox dontShowAgainCheckBox = view.findViewById(R.id.dont_show_again); - builder - .setTitle(R.string.switch_input_code_gesture_tip_dialog_title) - .setMessage(R.string.switch_input_code_gesture_tip_dialog_message) - .setView(view) - .setPositiveButton( - R.string.done, - (dialog, which) -> - BrailleUserPreferences.writeShowSwitchInputCodeGestureTip( - getContext(), !dontShowAgainCheckBox.isChecked())); - builder.create().show(); + BraillePreferenceUtils.createTipAlertDialog( + getContext(), + getString(R.string.switch_input_code_gesture_tip_dialog_title), + getString(R.string.switch_input_code_gesture_tip_dialog_message), + BrailleUserPreferences::writeShowSwitchBrailleKeyboardInputCodeGestureTip) + .show(); } } @@ -268,14 +271,31 @@ private void showTurnOnKeyboardDialog() { builder .setMessage(getDialogMessageForImeDisabled()) .setPositiveButton( - R.string.use_brailleime_pref_button_case_ime_disabled, - (dialogInterface, i) -> - startActivityForResult( - new Intent(ACTION_INPUT_METHOD_SETTINGS), REQUEST_CODE_IME_SETTINGS)) + getString( + supportEnableIme() + ? R.string.use_brailleime_pref_button_case_ime_disabled_turn_on + : R.string.use_brailleime_pref_button_case_ime_disabled_settings), + (dialogInterface, i) -> { + if (supportEnableIme() && talkBackForBrailleIme.setInputMethodEnabled()) { + return; + } + startActivityForResult( + new Intent(ACTION_INPUT_METHOD_SETTINGS), REQUEST_CODE_IME_SETTINGS); + }) .setNegativeButton( android.R.string.cancel, (dialogInterface, i) -> dialogInterface.dismiss()); } AlertDialog dialog = builder.create(); + if (supportEnableIme()) { + dialog.setOnShowListener( + dialogInterface -> + dialog + .getButton(AlertDialog.BUTTON_POSITIVE) + .setContentDescription( + getString( + R.string + .use_brailleime_pref_button_case_ime_disabled_turn_on_announcement))); + } dialog.show(); // Set movement method to url link. @@ -285,6 +305,12 @@ private void showTurnOnKeyboardDialog() { } } + private boolean supportEnableIme() { + return FeatureSupport.supportEnableDisableIme() + && talkBackForBrailleIme != null + && talkBackForBrailleIme.getServiceStatus() != ServiceStatus.OFF; + } + private boolean isImeEnabled() { return KeyboardUtils.isImeEnabled(this, new ComponentName(this, BrailleIme.class.getName())); } @@ -312,7 +338,9 @@ Spanned getDialogMessageForImeDisabled() { String gboardName = getString(R.string.gboard_name); String message = this.getString( - R.string.use_brailleime_pref_dialog_case_ime_disabled, + /* resId= */ supportEnableIme() + ? R.string.use_brailleime_pref_dialog_case_ime_disabled_turn_on + : R.string.use_brailleime_pref_dialog_case_ime_disabled_settings, getString(R.string.braille_ime_service_name), KEYBOARD_ICON_TOKEN, gboardName); diff --git a/braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_1.png b/braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_1.png deleted file mode 100644 index f302d31f651741b062217fc8517f7bad07ac6b5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2486 zcmV;n2}$;eP)#7w8a9mU|=zu}zWg}0Q?w}jG`s^Ka+TD~v2OV|^EWxTe zpc3L#FHZ7@gH6CmrLU^bD0z9oKj8Q{aP3cAam5u^Tyez}S6p$$6<7QZ$261sW+X{O z^vz6)h$wz9lc8T@`Bo--Gp*wDL6pR~m~W=^d6GTd)#=yo5q86TAJz}@0pQX>P*mXwm*d6Rg|yuPIY`8Tfz z^SuS~CrshdNV<3MSDQI8c|>`Ue2nzGo-jSWW9}yFZ$mzuoBB3JkMGGxD%f{Sn)2E( z59g+(l(izsqa=@p@(Hq&$;d|HRkx+TkL{TOGJ z#!Y%Di>Hi8^|5pcdH(1JMZRZp$glDK+52RffGI;tjD=wrKD7?Fg;D~HS+kTF4U1O& ztxf-E%Z;UYC~C0vSxSt?4{maJJNj!i%OC47{3lK5nsIpBAE-wYy>I%7%-T$kq1Hpi z0O?1YWP1zUNW{{F{8C};S3UBFnf$ORlqSrj95X%pHZzkMHvN{HzD}A#IakDf?~jCD z%a_QnDUP>;lO(Zq(MT9>iceEIY4RU8g>xokjrQf2)ws!*rU@;aHLc7PJAdo~!b}q5 z_I1vr)-oAod`&7>x!QfkWF6*e*rbTa9h(%!Z5}c$PXjllk%b{MsSlbYOjGJx7-~GO%lVp-@|I6hfS943K>?4HH;RWSdKSR zC~#9knS%+P2z4u4q&<@_$IarLSX+bs$}}&$6FkM^Hdf1#Nt7nV@^7buj+y3Tli@qe z&#jj!OOZdYQfye-Y80s)F&=hw}V%Ie9cF?T%4`Zjv(&6OEt;btaU(Ar3eAWq%4MFy~ zCaRV#!nm?+BVgj=oi$#s4p-y0&xC*HFk#mu3lrvbT1%69n*82s z945Qq18!W|IH4uY0r(*zSfn&}z+rf^{LY>~r(I#s4v zn&b-;2CmaYFyX`eimY-IUP@n10d<)c?1i*UNSq;)IyNmkCS<8*1FS34l$pH9Ql?>& zJErN_G{qeg+SI;b(wRwCCJ{2jm?;#MO0A_OIrSO^S-t#p^+nI-WaOZWwcu%uJy&#ZHrP%;ZK)k`>=6 zRHjs)vl!5io5GGMwoG^_bZz=sED>PZs-EsLDQ;p((KMNC(ks&}#!X1#X~4u+q@4QW z&}6zzGH#H<^aayenW$;9u*3A6OVe!%FdeFWZlk7m|W32`8ktA#xzV*zF3WX!-|{I z3)70%SWMv)4U=n`s5a?P)Gi!pifz-BnW$-+@235tMD@;rPQ?gMp)k$;CgYgNvxJu2 zChU&5O@gdwnb;0^aTw{#N=KqLtu2!zkKPofm6?`?2@98}Mg~@$^KDGsGGWt)&;WXy zo5ZonF8N`!!?0v|G__1@<1-eRRP>hmO{z43U_xzDp=mNy)Tp{mPWuk9X3_O>1RmCNWd|bMq#k^^^%U)Q_7C&d*b(DT?+$ ziE)!cXHJ=9Xx}6Cs5J;*nH*kXR9k)BHBp~Q$iIl!Cha&+w;v`{;e`q2Mzl?yn}nfe zYrCcy=3$dNOb?jaA>#{^f6v6Wg}O{rYMXSIX(Gh(Ns~%DCiA{YhPtG;gPHhujT<%9 z9}b&lm?9fvv@&2y^@s7(Ceam5QxXHMfesVPq93EC*fPzXCf79m95scV4@aL8KoV;- zr`JIf_IlP4&m6v zWoekm^|rQPL#cX*m&B+^Aoy9VXc;t_{2QA7h1PmvZkY(bczXf^S~f@Iakt$-F-VPW z+t}Tj#|^CrO9`i6M`+q2Ho8q~w`nbJXvH!9hHBGW4C=#TkN9`}t?7W9N2_BjVlc_w zens8>4>9(@?ljZ#)*sQaEz`DBl?ETSwnXp!Q7qFKSWWbI%xl-EM?93sI_^jRXi91& z+dykX|2FlQpc0G>R5++!+&lUN*~yTNM$G5|G)Dcc(2etS^Z?icd>a*xKZ;@~a1wu? zz*CRkC=8MKe~c@xxZ;W{uDIfgE3UZWiYu=84bN~PV07*qoM6N<$f|!-f AD*ylh diff --git a/braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_2.png b/braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_2.png deleted file mode 100644 index 0575d51ea882f00210be12ace222e975f88a3ee3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2475 zcmV;c2~_rpP)46JRalx} zN#pqY;jAiZwC%^ERzDI_)nICqv1J}MDG+0<{6pIEJ{eaw-YU)5WTGU(?L(EC2KXYS z!J;#LAs^g~C+~x~MnDvp5`%0^P%IwMHc6m{T?Hnt@f*|C?i#n}!F7fzgfmQzi2>3> zAz*8w7}m@QZN)~yRSG~8s+4=GPFuR|vcR;kDHNs&kc2Y8qjB1CpRLfK+~e3h4Vm(& zPO0_B5yhNiTF9hG9%`|CI+n}`P1AQ5p9K`j*-8lGS1KVeg;&(rw9Mg09@3!)hsX~C z)9+iRIQm*`{RvC6{VEev^BR*uB;0wXzn58L5}HAyG71TQl5S+=jwyg6jlSyXPsbF8 znbL=tGG}wgQ@jCFXN`N# zrmd^05{pdJd8V~v$^(zx5}{)ClnMk_k7p?=@{Q zmr#{BZPKH=7W2qx3StMO@`vH)4@ol&^4hGXJd+wx)37Y zl*oQ>!a~$@-!4D25+_aet!rAy^gOe%G5OYnWJ_sH;mfguO!R-7Fkf#-Q8ja_mt)GL zp2<4`At|fmsAJr|GKnN40Z`5_efeT4^nDSO6Bl))xH_wGNmC{Sj8B|+MuwhDp<~h+ zbM33uxSum209@{xG)&cbRb(=G!wG6v<1l%;zX)W)IH1z{e@GYQu?ew|h=lB*%N>*7 zngyPfgH|%MG7R~x|6>!DH9ivwXTXw4zc4w8bhaqseQP>f6Xq6IUanSc>6!M9iSLHl zRJtZDDCN2M@1~SJ4)sj2G5M1og(0Ffcpa& zMy8OcJDh`UO^QvK8lE=g7p8+3IRvz4V=5gJroP66ftxf5OgMPGBAeEf$&}FWjcLcE zF)|@=mQ03Bg-$z}5T!QNCQByV4p53yodc8Zm=sKbOsaHDsM8(;lf9U9W7;mJ#HNbu z*_5l9%A{Ir*o12~IzW@UZcL_Q(sjeHOvjuFKbbYzgG|R`>}JNvEt_)3gx@ItmnpHy zz@)FHyl6si@%=^kAw1Yr9X7c!l}VF}WQr>$O_Q(6jp?j^gJbK1O}S$#Bh!g`Y-{?t z4j3}oIAbzwqM#U>9O_YxDQxQ|1hHB%@rsnFpT?$r#-tynLZ;6!rN$&flZTy6`?k4h z({?fCp^39F7gJ$V8JjGdj(Yw*$>fJ7)EgpC5oonFQD%`%H0FU#J6&;2SvDy)o#^bE zN$0w=t~Gg7<~ycX^-h173GwGgCUsq`7EW08OrN%y7~im%!VwEo9GRpw*^IfXHkGkS zT};w7QN)=3q$F+Tz@F6ztJ?H=(uCtM9Td=d+Jx*#BvWoOW+EezGY492O=)04 zW-IJuN@UsxCM;Z@8l7o&zNRtl$b_ViY-D=W{1d;E#3p#rjExwUOB|_N6B3`L>P>CR z^CnZ9KybM=nLIQ(sphMIOYnP5Zm-k1$FfPwU+B$yP4RjI<*G%hl4%nnUu3`J27T9r zX#u6MiSz+4YPP0ACX6T^2N*fX^pL6*(@DSS@S-MW?ACPlOio0;6N&iWdrW9jomF)B z=Rho&boJog;&R6sGb$&WBHF_o@Qs}FCQQrK(^bQ!n>-yV!wbIGG=Gqc>)yP{UZ3-+ z>!n4ddlQ~$9h8oHi&Hr$!HY5EdU2`1GwW(HNMtH^CZ8y!C`TX6G(FzDZ)Xjw2Jp!Ovbc8&a=tG5aAf{CXa z6s%g-Oj^=23{cg6W7=*_m^Du_>DIK@t*OUnl)%Kr-kHvA98if(sj-u33sQa=z66w3 zO?2{(b(6#7yKKT&doWPjy2+q3>n08lE?y)v#2k$&l1cF}Q88VUj7>QD>vnHyb5j=6 zQP-4jOlfY95CpBM%_}+?*48xzm{(0MHYPrJTU)s?9V>gzxLNL&pE9X)Y_d}(busN9 zX)dM3G9P@F=VM1Kh=w(e0@crc7$mWMN9} zv|uJp9{IpQ$gZ1wYF{_AY0|XMnDk^1P3k>lkqGfhRPqNXwVqZ@;cCigYpE6=JEqLI z=^F!y?M6@^7i$Tf57_6yITNyCx-top$4i&;un$ZUXH7fa_G~us%0vwaK>7fGi;e7y zCU^aWm4DXuTZe>EZ%l$a-nsJZVf6`-W9g4n_)K|_PPcuTuI<1Jt+b(E&2NjeCtow$ zZcCarrTT?dbD-9h%wq6d|@)dp;L)Ypq0d{5UJKo0N&Q2F(tvQ`&1gnb~Dr>^`zP;3AI002ovPDHLkV1f)Rukru@ diff --git a/braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_3.png b/braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_3.png deleted file mode 100644 index c98f7b51571987b97f31577ea50c0a88e86e0ada..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2480 zcmV;h2~YNkP)aj{b3|Q zMD)W<^1~E=mPyk`tUt=MY$pE=H4~-jT$s(2zNfS2x;oPqUqAKK`8<_3lmDKaINzOb zn0bP>aA&987Coss-dBGv#dAWTvT)Av_6Pibt5KXAe!7R-BhSv3fHd9yzohfi4x>Du z8gg_7qir|ZdO8)+MM+znt;yyzO`i|i(1$;R<8R9P)>m+{>n4x#wf1mQ#fZr)+l#; zv3%JyqlU94&rBUTAVMpj1TymdoJnpbKt$~MoRhx6gq2Z-VUxu5PR%5-nwTNenho5P z`u37L)OShX9-Azh88%^En|n<##E0`v6(&XDCDTNmbKiEG1ctTV!{Ut|HZ5qr zZd&nFJYj8|e*|tySmt0tC&Hssl*CLq%QQEcP1_puXC|}OI)T{Es223RG)+g7WcgR= zpk*dgHKDasnCxd=uEVrqUfRaxs^g}WnJii-mI=5NT<~rz%(P7C)C#kIc4BD`eL;?6 ziN^~Zt0v-HuWI^LnA|k;@y1*C(N3(GrmD$QJE;AwFm{@jgmXX^w}Uf^*c@Tln;bf^ z^$_nX%C|;9&tZ>s>wNh?mrE2X(F7AdXr{_X21%P=qYU}BHL})CZ#zG(JeOhu<3UBX z)1*GTCWx8x@Yp`nX0IP}n|qmKCib)P$dlStKjmWAWt!>!w9<5Q&g70ct{$0)e0kN6 zA=P&iA+~M@Jog=&I*zyyB3I!%Oh_1h#3^DHW zB*TO^sJt47X<1PKBTN_vRLXy%&}Bj{pa5F}x?Px-skp#X(lXzg#WZApLGJYvdsWf42(XlXj>{k`jS~20%aNQKECb2U`oRHOyTo)A8OtvsB zX~MA?0<%YVnb4FdOy*FenMuPWBY*o3CNpe$eDz^+5y8+h8DDeogHeDBSPJvNUbiukQF3q%PBnMWbax;tZK2GsS(wr3qQ8 z*Z`}-H1AAk1&P{gnqe}`gd%R5H2Z)(?kegF@>p;muMO3A^lM+xe0qVI=~in z(Pa|*h98?;p9zn2n;bK_&DAkZde{`|CVFO)ubDhINtndm6b4QB5%U*sEz+YjiJd7F zrr2w;%w$JQA{YQaMQ|mTp3?Cy>G5T6IMYCu`W#uDqC8nfGqhE zlSRffO!NL?^{FZ0)b2@+Pq>&uiLwB+OjMdwHu+;qb8MUDor#(zb2HT!B`Qx2U~wmW9>%(OO4xNylD5!mW1 zcCD+XY04&4fZqO@oo*H;c+rfq7?xcg&21AN#X_Dih0xp3Z<0q72s)G|85$-m29fPV z(w;J5wInQ0V;lfY7dZf!Nggx4YxH(9iY zHQ+at`b}7tG3|Eu`3jht=X9uSe}gZM`3(i^d;KPb6vsV{GGI?@nJ`CFSZI~ImXpQWW(MRpP3fVj&v6K*GJ801}0HA?W@=1cfdd9PIa3c)@vN;D6BDE zCe+A7Qp(8y6H*IJ>`llch32qj;aS*^2Tb#p0h-n!6TUU__kf47J#?AgTQ_XRKM_r% zCP5x)kgHmsn5L&Dtf7gSL}^-&t<97^{(*^ydS*&bz6{{G$rpBJnheFiG;ad(r%YHw z-MC3(@f|Z^YPSb!8aGLF=9Ec<_B~R8L!>KAmYL@EFio;*qP7X8f1RG2%Cjkj<)~^3 zZ4+8++B^iMsXSNI)U2&)GBA&tv@J|!VLL>8Vsc%zghsOxrlrd?r?yFTndY5o{YsNe z6_Xw{Erm(&!lzL+;kDY1n#RC9c6HHr^z-=Z_`*-;$1}0=(hxr#0u3ZKW0J}&Ayc$arFBEdS?pgc2}4#)7)uNF!^#> zke#LlCuEJ39XBn$yxmOs!I{!DiOwEMU;8BsS%`fVoB?u zN$+2w=-;TVCyd9a7be0d-oD5^JiOv|Gku>4$D1NGy1m5i+8l0ZMJ$vs{W?M=zGs%* zCf{xH#~WI4CiIViKP(~XZ>X$3h`;NvO$FRMijeqyPiI;ZQk{pU{EU$=?9PVPm;Q*( z@-fcpk!d@rN<&|^-UzS#Q7lcAe$NLMiSSRH4t9-tWM4|eK)KOBmw`%n|Hf(~`j0Nh zWMn145m~608SWkZ2HD9FjY{-r0}7-5QmDo}9c%z+fUl#%3$q*m diff --git a/braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_4.png b/braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_4.png deleted file mode 100644 index 1e8d10e3b53df2c9046e6e70f3e8f7ebacec3fc3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2487 zcmV;o2}t&dP)^u<%@E8ka=>>bdyJMOsSjyvwS$GOP^ogVjeMHI_=`~!O~qVC?A%pqEIDE*Bn28!O!%_sIN``vokrGSLD?) zQ1xKOj1+e{rttx z1OLoG^955{la%KGA2xeo@rddsxz4nY7fkCh_GxmDfoXX=Fz<7;9;eq*a9=SQs(XVM z*QTRVWzjUFB}-$RSKL#vBpt|P5FW;tW9AtspsTV6rXidRnumj=ds95 zX4*DSol)wta!Pgmn6g^GW(ue;`S{#(v24PUp(JEs*$3Yk#ktT*fU&VE328WFo!@iL zYpx(G@wDl|Zmvo~8b7!x;HB_twXPo*F#Q)z7@7@u*&pafioS08iOO0`>r|U4Gp)zb zB3WKSCyBf@p}xi>yQ)Y1Fw-nHrL75Tsb!{*v3X{)V$-j=>FuH^ZP$vBR#XG18vKa* zQdyn{CrM%VMUt@0g!)qDqG^7)DP1$6YRrs-v8wW1FezlXYKqL1J1=$tVJ3}vd%I>D zwJE&Dn-`fTtOGL@$&Dd1jW0B5m{jSzF`QwVmf$=4B=$bKQsA>4}zC?Ugl~#GYwnQ$m;K4fPtC(p$UU1J5zY% zLW%sAwPMT4*5G|N0WZzmG%-_PTbwXfw}K9<@q?LM^?JfN5nDT!%;ctRjk~}Om|2>P zeZBYiWn+R7rg>0ozFBSN1JiJ5@)*Sa(!^8lG`WI(Ko+_-z10S0nyW#~*brpDH$=E? z!3836f0VzAOS1WN>4;!Lo>Gq$^_Q{H#p_KGO^2rXwZomK!`KjRHHA)-S%#*GnLbuF z>`d;+wAc@~x&3OInTfqN5ra6o>tBhE<}Q<>_5JrIs!hH!oSBH?{;nTWYFATc=S#xt zH+-mLiwmJ?jo4*E!MMmbp0PvEO#Z;66MF3zO(+1H4ow=S&AO^sn{d;iXg=!VFgbR8 z;h72ZfTaA@dLpH^3AGSUTLGm5lN)w7cxD~fn2+xaeOkufHsQ9$C2q23CVgVE6xeF9 zig$Zc*_+T?Y(6*TBhz$X;#b4mln+h1GUa-QY%HfOlgg1P>`bl<*fv8{*SuXOyp`UW z{KjON$-*>dzWf`L7n^YRac&|QS|%T>u7jZI+@xT_uRJbH`c3J?gu;QT2AZ-nWtcuv zqxJ1fBsCFCp>DnSkF^Ou>Up~arOPy-X|zlz9Fb{crVPS#ZVGGXgURensxr+;qe{c1 z4@?Rs&rIsbgq&t>m`r8TJJXPA12@%V*EWrnDI*a~*g?ktSX0+K(|BOgl_{K?<~|et zrPpL;W||il=IM2&bZjCt#$(g?HB;oK5hh)mlFWpcIDe4<5%(rtnbOXbJ54q)Q;?W6 zYrZP&Or`!GytZC$N(ZLgG8N=8d(+RlU^WO7(D{TWRuoN>g-Pv9ezVG$F4K zyhY$$_a^Mx^_V<2P3#kQ%wm(`rZ)^$X3}XpSi3hlBy$I*uo<0xnF;mhS|(NBtY*Gp z#Z86n+I?a|ZXGcO0M1ObH<`5QT`;NKHYuv2Y4T6gaZ{rG&VebI;dKRJdh0jYz)UkM zXx(iZ3DdbsP!(*)tZABY;e}3zcioy|%cN<>Xf~$EOw+juH!jfV#JaO49Bf)9Z2Axq zV6=Z^yPGXj#2H#m3+hOkOD1$n!pS2w zY5IFL8gzXtF@^d9%5H8_6?L0X`9u@;2JtcN1K)9FacXkgwnX8;l$nWLA~;I;iYPXT z9#SPS74|qTZ>9y@)SZij!W7akWydQeN zuc-8!!ZtZJ^B1g!skKiB(||Ad*4zA^55_?KeO$)rA`T-doxUh z=j9(2jtKMWGpeCB<1g=x~~*dj2W)oBa9r ze#%-5Frl;%j+sox#Sgmb@db(|kx9M3gQZDi!c!xEO+XM)5}4jvk2>T(5Dik3rpO7CzcOP?gRXyoD%>KRCb$P1qIF8xvuN zQ1nsmr@=A7SX9vgeU~T(Y%IeYsFZ+as2>cikqJ z&Yv$*vi5`)ptnajDmeW*!j#7IYO+>3#a zK0Z-4qJP=LIdQUwM;jmfo_j@4kX;YmNMfaLVA!l*4bwPJg>Qg8z^|jy`LD7p7e2DT zN8qW)Zx)tlxZ{pH?zrQQJMOsSjyvwSgECN^MnI$9P^?_) z)cynhfAkhTryf1$`JPN@pXyu@}6E)P4F-7ekqwdL}u)x^l z)0_Jsm;#dE>7Yop0!w=c&BF;x1WYyyp7_sNt=x1Tc@<~Bnk=KRX`ZNgy&D2{sdWH7 zC0@zGYDqL_E?`MdQtKFU&ulM6@Wi>8x~ItwA6Z%@9FB$O?5nT>_SegEE{wVqCl20H z>GeHNk@-^U+h828Et`c)bN#jWeAcuAjKa;{nFLRpBO#pyTDE_fxnmsZO)w0=CMcpv zL6JU`xkR+&2Dwg(Ut=F5WsX9TB4v)i5m1zZNC=`|*3N5Q7#4P>2-SEk;|Kg1?9cX! z#R0g~ChO~vSSoL9a#&oPf3E|Sb?E+2n$R@ku(*2Ko#lDc7ev-+dhco-o-yrbHPEe; zRGScADlQFkFdby_%cfYHa4hAEOlH~iEt_snn;d2+j0!77hx#YtOQfZG$ds`ru9^&+ z(%qClY4R^O#m||{)l_Y))=j=P3DodeQy^2Cyx0YVOcMQed&UHaOf!R9zM9-?OctiN zY*KX!g-r_mw!g@f7j6vMq+V!}Fo`@jFL{^_GQns+X-ep)Ig>7Rrpk~>Hzr-;Q>Lv< zo*!=7B+;$?79u1*YqFFTGBnL-7%duc3@+p%n=*zun9zvW)`IOCldt>DVrOC0=^vT) zgB!sip3c5H9+|ePjZF5keBhi2HS2CV-sQlD=;OX*^S9= z%?+L|p6+Dmu6K`T`^P5S*4RiS905IPGR4u+qKLPxDYqt!Ehas@Th*y&Iyxr48fH`K zn&iclkRj`(TrF1hOs+B6Opn6Og0sg=nb2I>nD%OwA(MegB|iL>X0qu&qguNkrQ5v?)F?`D%1-fjT#)RGVb1hQ7vxj+-3klIY22+kq0K(F$tJMLW8<&OsZp&)s7#U{G17YnKfxoCV#pY)W(%kV&)2*W)jn?9haIcgI5n_S%{#v&bgu^PNox&A2Kpn*^I~ zr|YvOG}g2x>-cA7a@AZRUuHu5*^xQIYc?xJbZBhl@c}g%}bH)sXv+}jc*CSoo zT2mO9klES~G6gan1JltyIG3>+o$EBF9+{BzDX0MF)vuJ@d|z7Tk{B^d5Mt!qla{RIpZc;^=HX-uQ zc9lTW^zJz0N+k_V7?z6bm=c+=Z#)iA#Z!_9PrO!58DkK#*ch?Nlv~p|uzX*Nqa5L? zNx)P^hrM^if=QyoFU=CU$(T{ek4))027FWUya~hdr6L?e3DYo7hsxM=rup|0G4IWr z^z}KPC;?}N2y-S=J(=>C(O6+|+dWK~>ZPfoerCPx3DIyhrH@P&L*{$6e_I4ab>%Jl zruvzDxB!1X8?|Ec*Gc%Op8ke;6KbTQNuOmU-PD-$L>><&wOfg;P2>3q&=%CTm` z6H1vRgk3`Wdl6He_xM{VmS#oe@Ml5zZwRAh+qjmeQoa5qs=T~nDeZSuG6 zV^f=((&LW_Rs6sd=Drbvpf$C5MN@{gbxk|Wt0vvo;m$_PUdlXU1>Q@2?VjX#yn>XE%l^caeTK)FHTuc$oo+|s4 zNlcnFOraeX)TGHGLpBK6b(0P4>t;GknvNNhoNS>Ay@xEtLA(-`v;n8q!>Vb&nj-eK zREu>TQzYE{g+aMgw`c5Psg}L7flg~*St2VYD^o#+aDFQ14cJuNtm){y?P-gf`fPy$ zkT#&RSe0YZWUgE2@(*g8DSJS#H>QFs-nnvbVYS71uVd#-NN>tKXtqt$wRybIiegK~ z={Hey<~g%%b_vs_P`}WMoX{T&|5!qm-%(k=6Th3UO-H;u+I(tpEPNh~Q0HRKb#vi_ z2o!rcp86*`_G>@u2c|Pql@~s2_9x-Fe~M*F$v<+(A`t#Wa%Za76Fy3$j`FMDZ0A8% zXr;DN{x#h`vFjg?#{RmUz4Kp?JyqnO60^Dkjb4AM=)rlqxC7(>pGU>VtI}FsNb3JT z3ch;$pB3|8dvHJi002M$$p6y}QMCa80DwmW#)_u@dd1bM00000NkvXXu0mjf4Ti1J diff --git a/braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_6.png b/braille/brailleime/src/phone/res/drawable-xhdpi/dots_tapped_6.png deleted file mode 100644 index 90452a50bbbb63e65a39426d64db53c711cdd8d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2483 zcmV;k2~75hP)W+P zdNhv05nQq$_KZS(lpTd8x{?Kz*K~D(xQ8Jr5s`;6>5VBqi^<6L&5vTTJJWK5vdBvA zoOY)5o?^LDhi#w8^`kfPKGl+ZzTD#puAGosAMc155l@ZXl83L~nsw{w*_m8&mAHdg z;5c4C$DtG2P&t{bctEl?7>>p0%(PNM&{&ExcjToQw2lm86@d~?1+u1guql`v&-5h` z1-eb%cismRm^{H0Ad)+8Ha0^v51uY7)&&ZCOlGov@54&W{=XFVsZJ(n9UT{Kd$~4?hf@aI9;V-#$(3c> zYc(^iHIwULvO9!vW!W@#9&r6kui~u4G{gK$8x!^=rm2T1R!kO49hzVDh!ilfmvA^U zm0qegrij0(o9Vk|dXr26f7anyz+S>|4StKihREp{FwvK=shQ%3X(gHb2@Y{em#ut8m2#H?ij~*6AA;c5rvBs6zM~m zO+=6EAlpgtbny<-rp!*_B1Ot9!Ao$F!jTXs8lmz0{sG^^)hLRqnejDz0LE~xnXuv= zIB1%2WUWo}N4>=%({dJ?O?hNtNT&G{O?Jd&X=rr|nLdo+HIqrB_2j6DJ((Pua8moa zNpt~KS=A=XPb@BB)zHJHK+hmgL$O=P_lJmi)d}DHrA=Gdidm5@dn<5mUUFlCv z3m1aBcq(Lf_D#Ok=j~ex2D-?1G!%R4whr>;qj+Uw(?X_|LY&kS zTrQpJY>h8u3e)wL^wj@a5lb?KuF26P4_9CFN2C5grZ1Ign+()9HQif2sbQL$rpN`v zsY#TiG=*Hsw>F30?Tn>8z_gNSgFx#V1fu~`*ZnkxV|wFFJ$sP(_C&A zpE>aSE?$}@{5^cEJOh^v{^(>?nq2wO3YpH9T`N;y69ijYqd|N>w~=YXbqn;LAktd( z%XxZJnT)*WUz?;jjcnIG?s_JX9asH4pY`viME47{(E}#sPL}R!Ty~8KI!xFp@C*@p zGR20;9x&E+R^vfsf)3!1rpbZ{+tut>(|k08@4^j&_GTDyF%Sx?9JwDW?%qCnS`P5ylx}-Jn zYL-o@X|iBS7$K`et^rP|Od-=(Vda21uf_yf*~%0zr#zWFm=ZVt#T184{pdlQu-JZm zYKl7-rvR6}$&kq$l(E`$bW9sBatP>hWlCTwN#kP-O%&o#nq;fG;`NC?TjXhpko1WP`8z7ZkQ})+&67H6J(_{xs6O)aXqgmKWsW`6MQ0dP4g$4 zX2Gt@KkH5KtEaXDuG`5(L9wGUC8f!)WLif|mIhx_n=*ca`_`wMj!{#dut0433LU1H zFw*H(jcIO}CauXsqgSRly=+R*;U%DoWEV7B}JoZgnF{NRXVbi0y z)Fv7QeaFNP&(JWfm(tn)+GKFCnyA~)Y|0e1>-X{LTui|k$FakXNotcjaO{GdOu9E2 zFp0|49+aex9JqYBC(Us&J@h8Oc1=ZV)uvgXI*SB)#n(wQr<-EQ274M#R;Jptw@nn; ziVK-`GA%bISh&28yOzHz!!V}nm?-EYFub3o{TWOXo6w8dxV33AeG~sRqzfirN_*%{ zGnovBFbvm7-{j>oUPYWfjhkQ?rr~MCWaY0C;i6IBkC;}RK>2ChL_NRUtFqH$I+E!z z(UI6h`iR35n-ZC5iV)<0S46`BYjHDT%JfMO!xN6!WXfbZul@EcjZZI{N|qQ>=dWG| zOct*^gYzbH#EeauO)KWdFWM_iI4om4=4?burbe8O5|b4|t}s9yJX6w`9DXNaWQVs- zc9p5zqj95f9Nczrf}Y0)O$+>t-_gcYpgWn;GgH_pq!Ws%HS@M@6DIFv2jGvTP$QG8L#AV*Baq1zwfo49zPR^bk|9(1p4H1TYMM(0{eDb1${Yix z$K6(k^pnUmYO=EP<_hem9n+*T`7)}I$=0UjnwxpM#t4|`aL-KnetW0vY}zY3nWiY| zm)nAo{jI-sikjiB8 zy~(Le229Imn&#Xv`B77-OqNeRJ;=n@`gPPa2IhmiPU1S|R5YeXeKLKvX>?OZZgmfB zYD5PU_M$JNn_tqMDJo6tt?8>SmCUV(hv;_+a3^*L4|96cgQIfo?vY0K2Y4_YP;AW+ zRVJe}xewD`4-2!>6gcwCUG_y&z$wBqwr4CX8k1F)aNb*AvdBteU9aQ|IJCZxnj)GG z%1fI{SR1B;aQcaXKyoot7TQ!|;{un|yDTXxW-lh82%+v#&KHnLR;_8lfD&!u6-5fr z0qFv|i)UE|O&+gs^7q(&ouD>_gW@2KVuz$oZ989R7Y}!HpK3GU7~m(Mj{d1MmKJXa`#&7K x>+yeac#-Mf_TWGO0000$kiYdHR{#J2a1_Rqu1^(91u7+p*Qh#@eaHl2UmyQfm4Uxi3uHg2`m9Q z!V;pac{8O)RWl4Q=St`4bwy`>n*NHeW*Tny6<1tw#T8dvam5u^Tyez}zv7S{!WSbc z0Dv!M(l=B2S|$s(IKGt0!7Y;b`~aw8FFf3${+ML$+|-2OT_B z!BSr>r`*<$L5h0M6tKQ_@^g=aWiuW!S`sT^*$c=Kp5=-F(hL1nD8L_Rf zR^pkA!7kF0Sc-4l6v)ekt5s4zE|BiuGhu2rke9QeAR_L4(|3Vk?=BF9p#nF{{pnaM7je$P!Go2E>U6|n35l`x6?+0>UT zJMG{}QrWy{B`h};fu_1?il1)E%O+MeCen@dx+zkV%mQQAl$fc^UhHBRW>QIDeC(NY zqQ$7nYZ9I1n((%Xjf^@kn>1ZQ;U*mghF>xr0u9_$7bb?>q(94qoilr`D7M&P4rU4h z!)=(bi{y&Q09~oF%w$d`19{Jc0dotg5T;Dnv2m2)=|C@=99tE#Y$!GdGuda0!noX# zxv7$2j+zX9pS40(R4p5-EH`KijTK~G7GUw^S;=}9i6#$8|=#3v@q<0oeN zb}~gFNq>_=cWbe9OrmS@-2^R~%B0CvTnFTV3upJHK8S&uVw1!z!_0>QjMKD5*g)I1 z0;m5H`)aFp>Y#=?S7egI-XnerhzbNGWXOJJTrxp$@NTk zdv}@J<7bhX*lUxpL4e+@9{?jxnIz!;&!&e{LZmfro|&+^eH@z#J72OO*L1RCw;xYu z1^Chm`DNGJZ*woE{U3S#vEgRHjXC8t}p!AqyhiP zv>jlBW*(SGEs*{utAjRoOir98cm`r`CS$lszA{DZ43Zl;0*0B?6O)C|n>F~6sdh{j zO}0Fpt(wv^9UT+D8s?_bHL1o_aQy2pxjORE$rMf|SJ4D?C|EF&^wr7a$w!u%Fc~Z# za`@q`esa%eA6~R+qhVn3iKH{rPm-BrW;>oXd927No6wholI3=Oqw9F zQe;CWH{qWu(nCTQX^8DrCphL@u}u>tJ&-Ni@+VPB}8Ej!71Nnvp|I zOf)$Y2PP9o{UkCmP!l0LZpvh&(ury{F_GVFOkl#KJ0?YU{LB>ROk`J6CKH({-dr>N zWS32unK1aZ3ODKZOo^K`(9+#Ak(ZVnJHj=Io5;sHpG;-aWCJsW6_d);B=gBs$u}_c z4>IMBsfJS4@JL*jVt5n+U=jGbU9K z(wII-xiJ$AO^(>ngvZiOn?z&EV-s72X-tKi3L9aW$#7GotMZkZ+|YCg49`ut*RBbd zR>meQSHqyup_rIATN#B7);G1DEjQV!P6xs_YOD3rj)=lER8ViYLB|I~I2o{B#nBJ2cHJPb&O_BU_fQHBxiEdK4 zVyf($mfff+;g~jA0Qe(dHnwb;nqA6D&MgP{tp$_9OJPh4TjncfEGjpJc7Heq{0{28 zDbRQEOL!0!F%8z~&?M*$zPQZqA+z7TDU)eSUP5Z_I!O~IJV$+G%W?NQ#RGyLU?29b z3yvnu_N6aa4b)U#nOtH^Iu8EpuqfEgeyVR0O;|_`@GqFuyeZ-c*DmQ89COx9EHqRs z24c#Bg`*~{BSUxBzd%v2V8VZAwQww&@Trl1WioZk3#K}H)S>(pK&+Y+Bvu9j>vUie zQzna_6O%fd4!Spa+eQwa)-n4gjipIV>11an;i3F}coR_CG~u`6y2;|;yK5?9+)-lP zq%oOYQy$+Vl{rMmlPNHhe3k2#2}Auuyf&TJrVJ|yZptrANsNP=%-IyVNmv-R);0Nk zlMN>m`EVjsd0~o6&z$ky@@1hZldNx>*t-1jnI>I7!{kmTMLwJfZsO}tVb!z-?uKXA zncQ?Nnm*1Smd`e=KGac1<>40Y3FamX7NmCe_ikOPZjv@(IeM-QF&T|uH z#YCz|rcrs6)#n3j&y>Yf_$iZ|G@000r_-w@$5)(#v|Iwz2u@rbw z@|6Ogdi+vh0mKzoTyez}S6p$$6<1tw#T8fl7UTbs)3T!yL=k`h00006(QI}eIZu*|?U}!{h`iNgXXE^Azj>2bo4sA}KO9$Fam5u^Tyez}S6p$08pVGz zk`@v9W~Sk8O5e+5tmd`GCHS}m>M$0`z&YdyKzz;peSf>XiqJ#J7O=^#;LtcL9`%SmU%$v_NknrO5 zVEk%9LWe0n8p&TByxVNYNzh=`%rzx)IO6Y#SCCp48 zkzXoxw1bl*({oWvST-e?a;GW0-4r`akf7+Q%(L3w7ECH)yVo?6DOKL=A`F@IjO~v; z(=e}-QKy>woLrjxdrZ#56q`+hi1=gE5U@QqnI;(6lv^GQ$uzvtgu$sfS2Qhln2Agt z+pgV&x~5u8M%F7;mP}@2G7`H?2&r386<=e*z=pFPZYH|fl}BUb_mo= z!n)oPe;^Z#FopZL=7XubA1CdYZo8(DJ6PVDjFKu%E@K^Vr~C%2rG1d0G=(z%ILYz7 z5y4{%!uoaF7LWgm$GdFA3QR>infi+S<0MDEDI^-1%58@y&zs}E6+blMD@{hef=rlM zzcINzlT0Wf9OL7=KqlHY^SWMhA_%??RVF2m<8Mu0P9MdX4;i;_%!Y+O&X@SYtk^S=T*&X(-3c%puMMY zm>k_-j9b&NZyF*m7sXRkkqa}M4DukdX-P(Yz%wwV{U^gQF8zOE!efmq`v%I=D4Fzu z$+C&px!l&2*;LjRn+~5=P1-X}C#HO0O1maqm=YfTcb8mU`PJ6s$%OL6MYFi)tux_J zdSe<_Us*C)&kw>!rm@*{{PZ#6D}mwEGzy|Db}}8C6q!_{16P}3lWD|;$s1FG2~8KJ zZ)3{%RA~}~__FlkrlK4P;6@?PNlh8X923CS305BCPU>N$;3c z;%P^yv}Zz_CRCdA#&nCNflVdZu_>-9)iAHM!^Wfw(@d9O@W?dmm~?sIV^jF0OeT;i z++8)}WSdQK-z0pm!lvOh)6Ayfz!V!z*u=?=D7a?cnsi}`8&j$@Sx+Y4V$xK6Rjf3j zGjBG<9aB0pOmw<&B&`j0&m5N4_| z>2!yX>4RsdG|8#S71uAAFqgL4bSq4;#pDW8VpF2CfJ}x>VO@VSncS&qDle8?KJ9d9 zqLoE9(U^~HLc=EXniQKp7FWAT$8~4zj;UDj-ZA-A@AUgj9!EVhsq$ep@q!hbGS14Q z97o_`3g47{aQ@6BTa$^XU1$$;d1g|DNls1UjwzJ;^2&k9s}WXlW%{T$Sx=@wcc{9? zM5`kn5@ZFhm?3yoepUN)K&8V`*)*S-u(CByWSYq|otP$!3p6_73}`iB(MQlg(c3@M z>L#1uMP)=L=}dS2>Zu7$xU|CLRc~XxX&{r5a!rU$@zi8xRj)>ve4h!`5{Vj`O)1&7VSBi9Ga#WW5jwz9eZV}uaJxHK6!n;(p zm@@sQ#UE;(nlhQNr1x7?dz(5<3dhc?>~I)}29w5J7P_^x%qwOTnN1#7t)d3}N^-r) z<74?tm_!ZJlXW^Yw)z8KEc1^Nu|tE<oO*T>RC^{M>|dbPTkPyX2{aJyYg(`BLG^ z8^19j8&;_hcIBMlVlq`GRhXu?n(~gxwwm0=r0L7&!6w?*`c_jL zn1gTX5|1%jX)t|kzfA8owZ7Dmx2Ak+Y|W90vgk+a%P;B7G`_|3v#yoQvsi|-z9nD< z5vj~Im_GJa<+h`fUNJ@L_OlqPOsdjk_ST<<-1vTnCD3_l7w+Pg@UwHNe+V@%XFM))uPMHwwJ< y_?^Ov-2NZqiYu^0000%0*Ma5F@}A_a@|VVO&OSmp+~PKt+>Zjd%*ZW0zLQsxLe z0uiKO074V2ZO@MWl(ih~K461rD*Ne)`jH&b(%9O|8E2ev#u;avamE>EoN>ngaF~hG zHzQdhqHkt$Z>ILWOo85F{#K@VHI>WP2hnnH&*^GfeokkPb=AD>NA&florTB*eft?p3{gIG+LimsH=LS^sXI9QQ@UjpCDB+t=J@dozr3ZWJvRLJl_~Nl zPe;?h$j-Ri>$n_h=+Q>umJba%bjIHX-W^$tZF^Aa19y#sNzEA$Zb@k=9XDMbGw-iy zK>3rO2h+U;$_GsK(a3V|;F~QRm^`{h<9GLF%K_74pKv$Dd>wLiZu;vOJ@&JYREVE3 zd6H|xq|VJqi)h7C<|SDjEuL>-S*CV1%69G+)P0K-3{&G{*nlNj8UhnMmro1+p_ZE(t3Yb330nA+w zCR_OZ>oJon>twWTu=p?@XTRArl9U6;vsWn0R3GUJtv8R+}PJg#s+aeg;#( zqA(OvsG?~R%N&|KQQd4sR#XElRRK+t=)(4(e`K0w>;$HGyN%WS%mi2J4)SlKg9%L2 zb5py_C^3gDJ_A9x{P%1>^f{ynrc+_cKoqmA#53nBu(7 z@t9zT49zsI>)qlPFuio9d@*9YVd~zF(>6?(P1Cg5!BFlS+n^~fTnEIkM44-8uV9d- zEIN_7Ac)&N5#P3OgtTru@a@0B@s^DQ5+-hES@o6kuZcnzo(6TJ6@J3(7_{luH|kjc>F_`T`wG?dpl?w^^6 zN_W>UhBQ1(4bB%aN3Y^T-P8Q^Zk)=Pi4!IkEIf0C9!=AR$yQ!#pWcnfK@%rHsGBA$ zOmbdLS({wFhzY{Gabb#ZeKCPai~~2y@1R^%_e?Su3Yt9ULESLLOLv3kDZ`x%+!;>w z*8h)8kKu_GO*{i0O!kQ>P=eWljE}u(L6cltLVJ3*>KmH)J(%!n7)@={WQD283Rz!r zjdD|ON}VY#@~bcoam_ns;zQZaG_5uTFok!MYdHNY)1)>%zx$YY6R}~}G!^I$)?j;+ z0h6hC;89b3V#;`v13GX2)bVOs3(q%c(|_?3~X#CNE63GhM1Qph=P=n(At$ za%HV`(gYQB?f@+6wlld6la&X4ZpvdOd8jdy&tS?|*T6UhwW)5K2(MMpBrnqaG<%cCM5n+C6g32PAV9X~p&G3oqn%ZR0 z^m=pYO}4H(8+ubr_;O`RtKQkKGbKLip2^6Y)rJKtG%fP1+|BWexS8TDJ_*2%iF%W- za_tgFGHu^vgo$=d)7`YaC{bTI@XKn1OP!u_2?POako6Bj0IjELu@zB;-8RYQ0~G=M19xiJl;2l4OS2q*D&r<@5yR2K$skSj0ufgx z&LjVRIQZf|2osH)_KdE3X3FhTf_Ow0b`om9|NIy;yy6SY6@{s^cXGw~Xl^`^j!?=h3XU2&i; zdXwYM95F$9U__#d5SKes0+WGZ!f=}=8Z%w&UoIb;`r4G=f0)qK4@_n786g(*roOHi zXty;q!9wY@rjR-lZXA1pZO4>V&z#|5u`D!XGRwZn51EWG&0lG9%Z4dvO|dgs-1uRD z3HJ?2Ytn%+Fm)P^F}I>Hz4ja1SDUmCbu4@7vELff*#ueiqJ8+K?U|-QQ`$BC7;9z0 zS(HJFrvxC0eT8LCVR~g#*-MY6eLf%vQbOxZWt!5+G@^(6}>7OS!ncEHkl(V8Y{s(dV6D=}@DD&mGO3@G&vg2tq5W!l)m z^Tt7wA?$WaFq z@fGi2a1U2|5M|XLsfZQoARFC|ZMe0}KWK#q`uX%52*2QGX5Vcp!=@sC&?;+ke^>lr z2}gewjcpF%Z^m2mRsMJs9<`Vif1X67Iz%A;ADRbt%|!F3{)kR|8)yH-bgNV?%7?8Z z(dYgsRv=n_F9sG8;UB6$#bT)OLy0(0S^Gy*mYu4QrZuAfgv~LDx`#*c5hoE7dbLlG z9SpnENYEa@EoN>k({{@VRu>;MG!X*Fz002ovPDHLkV1n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/braille/brailleime/src/phone/res/drawable/dots_tapped_2.xml b/braille/brailleime/src/phone/res/drawable/dots_tapped_2.xml new file mode 100644 index 000000000..48a360e5e --- /dev/null +++ b/braille/brailleime/src/phone/res/drawable/dots_tapped_2.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/braille/brailleime/src/phone/res/drawable/dots_tapped_3.xml b/braille/brailleime/src/phone/res/drawable/dots_tapped_3.xml new file mode 100644 index 000000000..bac1e0b6d --- /dev/null +++ b/braille/brailleime/src/phone/res/drawable/dots_tapped_3.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/braille/brailleime/src/phone/res/drawable/dots_tapped_4.xml b/braille/brailleime/src/phone/res/drawable/dots_tapped_4.xml new file mode 100644 index 000000000..dd6b32246 --- /dev/null +++ b/braille/brailleime/src/phone/res/drawable/dots_tapped_4.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/braille/brailleime/src/phone/res/drawable/dots_tapped_5.xml b/braille/brailleime/src/phone/res/drawable/dots_tapped_5.xml new file mode 100644 index 000000000..8c53a11dc --- /dev/null +++ b/braille/brailleime/src/phone/res/drawable/dots_tapped_5.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/braille/brailleime/src/phone/res/drawable/dots_tapped_6.xml b/braille/brailleime/src/phone/res/drawable/dots_tapped_6.xml new file mode 100644 index 000000000..362627c16 --- /dev/null +++ b/braille/brailleime/src/phone/res/drawable/dots_tapped_6.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/braille/brailleime/src/phone/res/drawable/dots_tapped_7.xml b/braille/brailleime/src/phone/res/drawable/dots_tapped_7.xml new file mode 100644 index 000000000..ad5adca1d --- /dev/null +++ b/braille/brailleime/src/phone/res/drawable/dots_tapped_7.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/braille/brailleime/src/phone/res/drawable/dots_tapped_8.xml b/braille/brailleime/src/phone/res/drawable/dots_tapped_8.xml new file mode 100644 index 000000000..253a44b6f --- /dev/null +++ b/braille/brailleime/src/phone/res/drawable/dots_tapped_8.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/braille/brailleime/src/phone/res/drawable/dots_untapped.xml b/braille/brailleime/src/phone/res/drawable/dots_untapped.xml new file mode 100644 index 000000000..9bc843c89 --- /dev/null +++ b/braille/brailleime/src/phone/res/drawable/dots_untapped.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/braille/brailleime/src/phone/res/layout-land/brailledisplay_ime.xml b/braille/brailleime/src/phone/res/layout-land/brailledisplay_ime.xml new file mode 100644 index 000000000..a4fc1e973 --- /dev/null +++ b/braille/brailleime/src/phone/res/layout-land/brailledisplay_ime.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + diff --git a/braille/brailleime/src/phone/res/layout/brailledisplay_ime.xml b/braille/brailleime/src/phone/res/layout/brailledisplay_ime.xml index cd42f9d85..4ad82a0f7 100644 --- a/braille/brailleime/src/phone/res/layout/brailledisplay_ime.xml +++ b/braille/brailleime/src/phone/res/layout/brailledisplay_ime.xml @@ -1,43 +1,53 @@ - + android:text="@string/braille_ime_bd_mode_name" + android:textSize="25sp" + android:textColor="?android:attr/textColorPrimaryInverse"/> - + - + android:gravity="end" + android:layout_marginVertical="10dp" + android:layout_marginEnd="20dp" + android:orientation="vertical"> + + + + diff --git a/braille/brailleime/src/phone/res/values/colors.xml b/braille/brailleime/src/phone/res/values/colors.xml index 46ed7d06f..c9e024223 100644 --- a/braille/brailleime/src/phone/res/values/colors.xml +++ b/braille/brailleime/src/phone/res/values/colors.xml @@ -37,5 +37,5 @@ @color/google_grey700 - #cc000000 + #191C18 diff --git a/braille/brailleime/src/phone/res/values/dimens.xml b/braille/brailleime/src/phone/res/values/dimens.xml index 8ffd52506..6dffdb259 100644 --- a/braille/brailleime/src/phone/res/values/dimens.xml +++ b/braille/brailleime/src/phone/res/values/dimens.xml @@ -68,9 +68,6 @@ 51dp 60dp - - 16dp - 4dp diff --git a/braille/brailleime/src/phone/res/values/strings.xml b/braille/brailleime/src/phone/res/values/strings.xml index 59913b919..b72d90bf8 100644 --- a/braille/brailleime/src/phone/res/values/strings.xml +++ b/braille/brailleime/src/phone/res/values/strings.xml @@ -2,6 +2,8 @@ TalkBack braille keyboard + + Braille display input Screen-away mode @@ -47,22 +49,30 @@ To use the braille keyboard, open your regular keyboard, then tap the choose keyboard icon %1$s (usually in the bottom right corner). Select \"%2$s.\" <br><br>If you don’t see an option to switch keyboards, try installing %3$s, the Google keyboard. - - 1. <b>Turn on braille keyboard</b>: Tap Settings below. On the next screen, turn on \"%1$s.\" - <br><br>2. <b>Use braille keyboard</b>: Open your regular keyboard, then tap the choose keyboard icon %2$s (usually in the bottom right corner). Select \"%1$s.\" + + 1. Tap \"Settings\" below. On the next screen, turn on \"%1$s\"<br><br> + 2. Open your regular keyboard, then tap switch input method %2$s (usually in the bottom right corner).<br><br> + 3. Select \"%1$s.\" <br><br>If you don’t see an option to switch keyboards, try installing %3$s, the Google keyboard. + + 1. Turn on braille keyboard below.<br><br> + 2. Open your regular keyboard, then tap switch input method %2$s (usually in the bottom right corner).<br><br> + 3. Select \"%1$s\". + <br><br>If you can\'t switch keyboards, try installing %3$s, the Google keyboard. + Gboard - Settings + Settings + + Turn on + Turn on braille keyboard Typing languages Preferred language - - Don’t show this again Quickly change language while typing @@ -117,8 +127,6 @@ To submit text, swipe up with 2 fingers For help and other options, swipe up with 3 fingers - - Done @@ -244,9 +252,13 @@ Word deleted Let’s continue the tutorial. %1$s + + Switching to braille touchscreen - An external braille display is connected, which you can use to type text into this device.\nOr, you can switch to the touch-screen Braille Keyboard or the next input method. - - Switch to touch-screen keyboard + An external braille display is connected, which you can use to type text into your phone.\n\nYou can also switch to the touchscreen braille keyboard or the next input method. + + Switch to braille touchscreen + + Switch to next input method diff --git a/braille/brailleime/src/phone/res/values/styles.xml b/braille/brailleime/src/phone/res/values/styles.xml index 59f593bea..98d113c4c 100644 --- a/braille/brailleime/src/phone/res/values/styles.xml +++ b/braille/brailleime/src/phone/res/values/styles.xml @@ -1,12 +1,8 @@ - - - @@ -15,4 +11,18 @@ @color/colorAccent false + + + + diff --git a/braille/brailleimeanalytics/src/phone/java/com/google/android/accessibility/brailleime/analytics/BrailleImeAnalytics.java b/braille/brailleimeanalytics/src/phone/java/com/google/android/accessibility/brailleime/analytics/BrailleImeAnalytics.java index 2f78e11cc..7cc7197f1 100644 --- a/braille/brailleimeanalytics/src/phone/java/com/google/android/accessibility/brailleime/analytics/BrailleImeAnalytics.java +++ b/braille/brailleimeanalytics/src/phone/java/com/google/android/accessibility/brailleime/analytics/BrailleImeAnalytics.java @@ -72,6 +72,12 @@ public void logGestureActionSwitchKeyboard() {} /** Stub implementation does nothing. */ public void logGestureActionOpenOptionsMenu() {} + /** Stub implementation does nothing. */ + public void logGestureActionMoveCursorForward() {} + + /** Stub implementation does nothing. */ + public void logGestureActionMoveCursorBackward() {} + /** Stub implementation does nothing. */ public void logContractedToggle(boolean contractedModeOn) {} diff --git a/braille/common/src/phone/AndroidManifest.xml b/braille/common/src/phone/AndroidManifest.xml index 5c892dec3..882f7f7ee 100644 --- a/braille/common/src/phone/AndroidManifest.xml +++ b/braille/common/src/phone/AndroidManifest.xml @@ -4,6 +4,6 @@ android:versionCode="1" android:versionName="1.0"> diff --git a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BrailleCommonUtils.java b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BrailleCommonUtils.java index 67bfeddb5..e9356e9d1 100644 --- a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BrailleCommonUtils.java +++ b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BrailleCommonUtils.java @@ -1,15 +1,12 @@ package com.google.android.accessibility.braille.common; -import static java.lang.Math.max; -import static java.lang.Math.min; - import android.text.InputType; import android.text.TextUtils; -import android.util.Range; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.ExtractedText; import android.view.inputmethod.ExtractedTextRequest; import android.view.inputmethod.InputConnection; +import com.google.android.accessibility.braille.interfaces.SelectionRange; /** Provides the utilities for common braille usages. */ public class BrailleCommonUtils { @@ -135,18 +132,16 @@ public static boolean isPasswordField(EditorInfo editorInfo) { || isTextPasswordField(editorInfo.inputType)); } - /** Returns the range of selected text. */ - public static Range getTextSelectionRange(InputConnection inputConnection) { - ExtractedText extractedText = - inputConnection.getExtractedText( - new ExtractedTextRequest(), InputConnection.GET_EXTRACTED_TEXT_MONITOR); + /** Returns the start and the end of selected text. */ + public static SelectionRange getTextSelection(InputConnection inputConnection) { + ExtractedText extractedText = inputConnection.getExtractedText(new ExtractedTextRequest(), 0); int selectionStart = 0; int selectionEnd = 0; if (extractedText != null) { - selectionStart = min(extractedText.selectionStart, extractedText.selectionEnd); - selectionEnd = max(extractedText.selectionStart, extractedText.selectionEnd); + selectionStart = extractedText.selectionStart; + selectionEnd = extractedText.selectionEnd; } - return new Range<>(selectionStart, selectionEnd); + return new SelectionRange(selectionStart, selectionEnd); } /** @@ -176,6 +171,13 @@ private static boolean isTextPasswordField(int inputType) { || variation == InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD); } + /** Returns {@code true} if {@code editorInfo}'s input type is visible password. */ + public static boolean isVisiblePasswordField(EditorInfo editorInfo) { + final int variation = editorInfo.inputType & InputType.TYPE_MASK_VARIATION; + return isPasswordField(editorInfo) + && variation == InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; + } + private static int getInputTypeClass(int inputType) { int typeClass = inputType & InputType.TYPE_MASK_CLASS; return (typeClass == 0 && (inputType & InputType.TYPE_MASK_VARIATION) != 0) diff --git a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BraillePreferenceUtils.java b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BraillePreferenceUtils.java index 39da1715c..0f668623e 100644 --- a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BraillePreferenceUtils.java +++ b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BraillePreferenceUtils.java @@ -3,13 +3,18 @@ import static com.google.android.accessibility.braille.common.BrailleUserPreferences.BRAILLE_SHARED_PREFS_FILENAME; import android.content.Context; +import androidx.appcompat.app.AlertDialog; import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.CheckBox; import androidx.annotation.Nullable; import androidx.preference.ListPreference; import androidx.preference.MultiSelectListPreference; import androidx.preference.Preference.OnPreferenceChangeListener; import com.google.android.accessibility.braille.common.translate.BrailleLanguages; import com.google.android.accessibility.braille.common.translate.BrailleLanguages.Code; +import com.google.android.accessibility.utils.MaterialComponentUtils; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import java.util.List; @@ -105,6 +110,27 @@ public static void setupLanguageListPreference( }); } + /** Creates the tip dialog. */ + public static AlertDialog createTipAlertDialog( + Context context, + String title, + String message, + BiConsumer checkboxConsumer) { + AlertDialog.Builder builder = MaterialComponentUtils.alertDialogBuilder(context); + View view = + LayoutInflater.from(context).inflate(R.layout.dialog_dont_show_again_checkbox, null); + CheckBox dontShowAgainCheckBox = view.findViewById(R.id.dont_show_again); + builder + .setTitle(title) + .setMessage(message) + .setView(view) + .setPositiveButton( + R.string.done, + (dialog, which) -> + checkboxConsumer.accept(context, !dontShowAgainCheckBox.isChecked())); + return builder.create(); + } + private static void setDefaultCodesAsPreferredCodes( Context context, MultiSelectListPreference preferredCodesPreference) { List defaultSelectedCodes = BrailleUserPreferences.getDefaultPreferredCodes(context); diff --git a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BrailleUserPreferences.java b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BrailleUserPreferences.java index 632a5cd1b..c5d546147 100644 --- a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BrailleUserPreferences.java +++ b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/BrailleUserPreferences.java @@ -58,7 +58,7 @@ public class BrailleUserPreferences { private static final int EXIT_KEYBOARD_DEFAULT = 0; private static final int SHOW_OPTION_DIALOG_DEFAULT = 0; // Braille display constants. - private static final boolean WORD_WRAP_DEFAULT = false; + private static final boolean WORD_WRAP_DEFAULT = true; private static final boolean SHOW_OVERLAY_DEFAULT = false; private BrailleUserPreferences() {} @@ -179,16 +179,17 @@ private static List readPreferredCodes(Context context) { // Prefs that are BK-specific - /** Reads should notify changing input code preference. */ - public static boolean readShowSwitchInputCodeGestureTip(Context context) { + /** Reads should notify changing braille keyboard input code preference. */ + public static boolean readShowSwitchBrailleKeyboardInputCodeGestureTip(Context context) { return getSharedPreferences(context, BRAILLE_SHARED_PREFS_FILENAME) .getBoolean( context.getString(R.string.pref_show_switch_input_code_gesture_tip), SHOW_SWITCH_INPUT_CODE_GESTURE_TIP); } - /** Writes should notify changing input code preference. */ - public static void writeShowSwitchInputCodeGestureTip(Context context, boolean showTip) { + /** Writes should notify changing braille keyboard input code preference. */ + public static void writeShowSwitchBrailleKeyboardInputCodeGestureTip( + Context context, boolean showTip) { getSharedPreferences(context, BRAILLE_SHARED_PREFS_FILENAME) .edit() .putBoolean(context.getString(R.string.pref_show_switch_input_code_gesture_tip), showTip) @@ -534,6 +535,41 @@ public static void writeSearchTutorialNeverShow(Context context, boolean neverSh .apply(); } + /** Reads should notify changing braille display input code preference. */ + public static boolean readShowBrailleDisplaySwitchInputCodeGestureTip(Context context) { + return getSharedPreferences(context, BRAILLE_SHARED_PREFS_FILENAME) + .getBoolean( + context.getString(R.string.pref_bd_show_switch_input_code_gesture_tip), + SHOW_SWITCH_INPUT_CODE_GESTURE_TIP); + } + + /** Writes should notify changing braille display input code preference. */ + public static void writeShowSwitchBrailleDisplayInputCodeGestureTip( + Context context, boolean showTip) { + getSharedPreferences(context, BRAILLE_SHARED_PREFS_FILENAME) + .edit() + .putBoolean(context.getString(R.string.pref_bd_show_switch_input_code_gesture_tip), showTip) + .apply(); + } + + /** Reads should notify changing braille display input code preference. */ + public static boolean readShowBrailleDisplaySwitchOutputCodeGestureTip(Context context) { + return getSharedPreferences(context, BRAILLE_SHARED_PREFS_FILENAME) + .getBoolean( + context.getString(R.string.pref_bd_show_switch_output_code_gesture_tip), + SHOW_SWITCH_INPUT_CODE_GESTURE_TIP); + } + + /** Writes should notify changing braille display output code preference. */ + public static void writeShowSwitchBrailleDisplayOutputCodeGestureTip( + Context context, boolean showTip) { + getSharedPreferences(context, BRAILLE_SHARED_PREFS_FILENAME) + .edit() + .putBoolean( + context.getString(R.string.pref_bd_show_switch_output_code_gesture_tip), showTip) + .apply(); + } + @VisibleForTesting static void testing_resetCurrentVersion(Context context) { currentVersion = -1; diff --git a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/BrailleLanguages.java b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/BrailleLanguages.java index 2182dcc8e..784f02682 100644 --- a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/BrailleLanguages.java +++ b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/BrailleLanguages.java @@ -18,6 +18,7 @@ import android.content.Context; import android.content.res.Resources; +import androidx.annotation.Nullable; import com.google.android.accessibility.braille.common.R; import com.google.android.accessibility.braille.common.TalkBackSpeaker; import com.google.android.accessibility.braille.translate.BrailleTranslator; @@ -94,6 +95,7 @@ EditBuffer createEditBuffer( } }, FRENCH(PRINT_LANGUAGE_FR) { + @Nullable @Override public CharSequence getUserFacingName(Resources resources) { return null; @@ -132,6 +134,7 @@ EditBuffer createEditBuffer( } }, STUB(PRINT_LANGUAGE_EN) { + @Nullable @Override public CharSequence getUserFacingName(Resources resources) { return null; diff --git a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/BrailleTranslateUtils.java b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/BrailleTranslateUtils.java index 95c51e8cd..e6240d4d6 100644 --- a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/BrailleTranslateUtils.java +++ b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/BrailleTranslateUtils.java @@ -26,6 +26,7 @@ /** Utils for translation of Braille. */ public class BrailleTranslateUtils { public static final BrailleCharacter NUMERIC = new BrailleCharacter(3, 4, 5, 6); + public static final String PASSWORD_BULLET = "\u2022"; /** * Returns a String representation of {@link BrailleCharacter} with human understanding text. diff --git a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBuffer.java b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBuffer.java index 7ff92bb2e..e78c0fc7d 100644 --- a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBuffer.java +++ b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBuffer.java @@ -37,47 +37,59 @@ public interface EditBuffer { /** - * Append a {@link BrailleCharacter} to the end of the buffer, possibly mutating the IME Editor. + * Appends a {@link BrailleCharacter} to the end of the buffer, possibly mutating the IME Editor. */ String appendBraille(ImeConnection imeConnection, BrailleCharacter brailleCharacter); - /** Append a space (' ') to the end of the buffer, possibly mutating the IME Editor. */ + /** Appends a space (' ') to the end of the buffer, possibly mutating the IME Editor. */ void appendSpace(ImeConnection imeConnection); - /** Append a newline to the end of the buffer, possibly mutating the IME Editor. */ + /** Appends a newline to the end of the buffer, possibly mutating the IME Editor. */ void appendNewline(ImeConnection imeConnection); /** - * Delete a single character backward from the end of the buffer, possibly mutating the IME + * Deletes a single character backward from the end of the buffer, possibly mutating the IME * Editor. */ void deleteCharacterBackward(ImeConnection imeConnection); - /** Delete a single character from the end of the buffer, possibly mutating the IME Editor. */ + /** Deletes a single character from the end of the buffer, possibly mutating the IME Editor. */ void deleteCharacterForward(ImeConnection imeConnection); - /** Delete a word from the end of the buffer, possibly mutating the IME Editor. */ + /** Deletes a word from the end of the buffer, possibly mutating the IME Editor. */ void deleteWord(ImeConnection imeConnection); /** Commits all {@link BrailleCharacter} in the buffer, possibly mutating the IME Editor. */ void commit(ImeConnection imeConnection); - /** Move the cursor of the buffer forward. */ + /** Moves the cursor of the buffer forward. */ boolean moveCursorForward(ImeConnection imeConnection); - /** Move the cursor of the buffer backward. */ + /** Moves the cursor of the buffer backward. */ boolean moveCursorBackward(ImeConnection imeConnection); - /** Move the cursor of the buffer forward by line. */ + /** Moves the cursor of the buffer forward by word. */ + boolean moveCursorForwardByWord(ImeConnection imeConnection); + + /** Moves the cursor of the buffer backward by word. */ + boolean moveCursorBackwardByWord(ImeConnection imeConnection); + + /** Moves the cursor of the buffer forward by line. */ boolean moveCursorForwardByLine(ImeConnection imeConnection); - /** Move the cursor of the buffer backward by line. */ + /** Moves the cursor of the buffer backward by line. */ boolean moveCursorBackwardByLine(ImeConnection imeConnection); - /** Move the cursor in the text field. */ + /** Moves the cursor in the text field. */ boolean moveTextFieldCursor(ImeConnection imeConnection, int index); - /** Move the cursor of the holdings. */ + /** Moves the cursor to the beginning of text field. */ + boolean moveCursorToBeginning(ImeConnection imeConnection); + + /** Moves the cursor to the end of text field. */ + boolean moveCursorToEnd(ImeConnection imeConnection); + + /** Moves the cursor of the holdings. */ default boolean moveHoldingsCursor(ImeConnection imeConnection, int index) { return false; } diff --git a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferCommon.java b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferCommon.java index 5732dbf3d..c7a29a1f1 100644 --- a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferCommon.java +++ b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferCommon.java @@ -81,7 +81,7 @@ protected EditBufferCommon( public String appendBraille(ImeConnection imeConnection, BrailleCharacter brailleCharacter) { String result = ""; String previousTranslation = translator.translateToPrint(holdings); - holdings.add(brailleCharacter); + holdings.append(brailleCharacter); String currentTranslation = translator.translateToPrint(holdings); if (currentTranslation.startsWith(previousTranslation)) { result = currentTranslation.substring(previousTranslation.length()); @@ -119,13 +119,13 @@ protected abstract Optional getAppendBrailleTextToSpeak( @Override public void appendSpace(ImeConnection imeConnection) { - clearHoldingsAndFinishComposing(imeConnection.inputConnection); + commit(imeConnection); imeConnection.inputConnection.commitText(" ", 1); } @Override public void appendNewline(ImeConnection imeConnection) { - clearHoldingsAndFinishComposing(imeConnection.inputConnection); + commit(imeConnection); imeConnection.inputConnection.commitText("\n", 1); } @@ -161,6 +161,19 @@ public void deleteWord(ImeConnection imeConnection) { } } + @Override + public boolean moveCursorToBeginning(ImeConnection imeConnection) { + commit(imeConnection); + return imeConnection.inputConnection.setSelection(0, 0); + } + + @Override + public boolean moveCursorToEnd(ImeConnection imeConnection) { + commit(imeConnection); + int end = EditBufferUtils.getTextFieldText(imeConnection.inputConnection).length(); + return imeConnection.inputConnection.setSelection(end, end); + } + @Override public boolean moveCursorForward(ImeConnection imeConnection) { return moveTextFieldCursor( @@ -173,6 +186,18 @@ public boolean moveCursorBackward(ImeConnection imeConnection) { imeConnection, EditBufferUtils.getCursorPosition(imeConnection.inputConnection) - 1); } + @Override + public boolean moveCursorForwardByWord(ImeConnection imeConnection) { + int newPos = EditBufferUtils.findWordBreakForwardIndex(imeConnection.inputConnection); + return moveTextFieldCursor(imeConnection, newPos); + } + + @Override + public boolean moveCursorBackwardByWord(ImeConnection imeConnection) { + int newPos = EditBufferUtils.findWordBreakBackwardIndex(imeConnection.inputConnection); + return moveTextFieldCursor(imeConnection, newPos); + } + @Override public boolean moveCursorForwardByLine(ImeConnection imeConnection) { // TODO: Redefine move by line. @@ -189,7 +214,7 @@ public boolean moveCursorBackwardByLine(ImeConnection imeConnection) { @Override public boolean moveTextFieldCursor(ImeConnection imeConnection, int index) { - clearHoldingsAndFinishComposing(imeConnection.inputConnection); + commit(imeConnection); if (0 <= index && index <= EditBufferUtils.getTextFieldText(imeConnection.inputConnection).length()) { return imeConnection.inputConnection.setSelection(index, index); diff --git a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferStub.java b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferStub.java index f1e0bc22f..e26f8eb14 100644 --- a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferStub.java +++ b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferStub.java @@ -95,6 +95,16 @@ public boolean moveCursorBackward(ImeConnection imeConnection) { return true; } + @Override + public boolean moveCursorForwardByWord(ImeConnection imeConnection) { + return true; + } + + @Override + public boolean moveCursorBackwardByWord(ImeConnection imeConnection) { + return true; + } + @Override public boolean moveCursorForwardByLine(ImeConnection imeConnection) { return true; @@ -110,6 +120,16 @@ public boolean moveTextFieldCursor(ImeConnection imeConnection, int index) { return true; } + @Override + public boolean moveCursorToBeginning(ImeConnection imeConnection) { + return true; + } + + @Override + public boolean moveCursorToEnd(ImeConnection imeConnection) { + return true; + } + @Override public HoldingsInfo getHoldingsInfo(ImeConnection imeConnection) { return null; diff --git a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUeb2.java b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUeb2.java index b6a4730e6..4a9a1ba47 100644 --- a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUeb2.java +++ b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUeb2.java @@ -17,6 +17,7 @@ package com.google.android.accessibility.braille.common.translate; import static com.google.android.accessibility.braille.common.ImeConnection.AnnounceType.NORMAL; +import static com.google.android.accessibility.braille.common.translate.BrailleTranslateUtils.PASSWORD_BULLET; import static com.google.android.accessibility.braille.common.translate.EditBufferUtils.NO_CURSOR; import static com.google.common.base.Strings.nullToEmpty; @@ -49,7 +50,6 @@ */ public class EditBufferUeb2 implements EditBuffer { private static final String TAG = "EditBufferUeb2"; - public static final String PASSWORD_BULLET = "\u2022"; private final Context context; private final BrailleTranslator translator; private final BrailleWord holdings = new BrailleWord(); @@ -76,12 +76,16 @@ public EditBufferUeb2( @Override public String appendBraille(ImeConnection imeConnection, BrailleCharacter brailleCharacter) { + CharSequence selectedText = imeConnection.inputConnection.getSelectedText(0); + if (!TextUtils.isEmpty(selectedText)) { + // Delete selection first. + imeConnection.inputConnection.commitText("", 1); + } int previousTranslationIndex; if (holdingPosition == NO_CURSOR || holdingPosition == holdings.size()) { - holdings.add(brailleCharacter); + holdings.append(brailleCharacter); holdingPosition = holdings.size(); } else { - // TODO: Check the readout is correct. holdings.insert(holdingPosition, brailleCharacter); holdingPosition++; } @@ -191,6 +195,24 @@ public boolean moveCursorBackward(ImeConnection imeConnection) { return moveHoldingsCursor(imeConnection, holdingPosition - 1); } + @Override + public boolean moveCursorForwardByWord(ImeConnection imeConnection) { + if (!holdings.isEmpty()) { + commit(imeConnection); + } + int newPos = EditBufferUtils.findWordBreakForwardIndex(imeConnection.inputConnection); + return moveTextFieldCursor(imeConnection, newPos); + } + + @Override + public boolean moveCursorBackwardByWord(ImeConnection imeConnection) { + if (!holdings.isEmpty()) { + commit(imeConnection); + } + int newPos = EditBufferUtils.findWordBreakBackwardIndex(imeConnection.inputConnection); + return moveTextFieldCursor(imeConnection, newPos); + } + @Override public boolean moveCursorForwardByLine(ImeConnection imeConnection) { if (!holdings.isEmpty()) { @@ -246,6 +268,19 @@ public boolean moveTextFieldCursor(ImeConnection imeConnection, int index) { return false; } + @Override + public boolean moveCursorToBeginning(ImeConnection imeConnection) { + commit(imeConnection); + return imeConnection.inputConnection.setSelection(0, 0); + } + + @Override + public boolean moveCursorToEnd(ImeConnection imeConnection) { + commit(imeConnection); + int end = EditBufferUtils.getTextFieldText(imeConnection.inputConnection).length(); + return imeConnection.inputConnection.setSelection(end, end); + } + @Override public HoldingsInfo getHoldingsInfo(ImeConnection imeConnection) { return HoldingsInfo.create(ByteBuffer.wrap(holdings.toByteArray()), holdingPosition); diff --git a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUeb2WithPartial.java b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUeb2WithPartial.java index 7668d9b36..18729b01c 100644 --- a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUeb2WithPartial.java +++ b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUeb2WithPartial.java @@ -65,7 +65,7 @@ public String appendBraille(ImeConnection imeConnection, BrailleCharacter braill String result = ""; int previousTranslationIndex; if (holdingPosition == NO_CURSOR || holdingPosition == holdings.size()) { - holdings.add(brailleCharacter); + holdings.append(brailleCharacter); holdingPosition = holdings.size(); previousTranslationIndex = holdingPosition - 1; } else { @@ -191,6 +191,24 @@ public boolean moveCursorBackward(ImeConnection imeConnection) { } } + @Override + public boolean moveCursorForwardByWord(ImeConnection imeConnection) { + if (!holdings.isEmpty()) { + commit(imeConnection); + } + int newPos = EditBufferUtils.findWordBreakForwardIndex(imeConnection.inputConnection); + return moveHoldingsCursor(imeConnection, newPos); + } + + @Override + public boolean moveCursorBackwardByWord(ImeConnection imeConnection) { + if (!holdings.isEmpty()) { + commit(imeConnection); + } + int newPos = EditBufferUtils.findWordBreakBackwardIndex(imeConnection.inputConnection); + return moveHoldingsCursor(imeConnection, newPos); + } + @Override public boolean moveCursorForwardByLine(ImeConnection imeConnection) { if (!holdings.isEmpty()) { @@ -220,6 +238,19 @@ public boolean moveTextFieldCursor(ImeConnection imeConnection, int index) { return false; } + @Override + public boolean moveCursorToBeginning(ImeConnection imeConnection) { + commit(imeConnection); + return imeConnection.inputConnection.setSelection(0, 0); + } + + @Override + public boolean moveCursorToEnd(ImeConnection imeConnection) { + commit(imeConnection); + int end = EditBufferUtils.getTextFieldText(imeConnection.inputConnection).length(); + return imeConnection.inputConnection.setSelection(end, end); + } + @Override public boolean moveHoldingsCursor(ImeConnection imeConnection, int index) { if (0 <= index && index <= holdings.size()) { diff --git a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUtils.java b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUtils.java index ef8d813a2..182990165 100644 --- a/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUtils.java +++ b/braille/common/src/phone/java/com/google/android/accessibility/braille/common/translate/EditBufferUtils.java @@ -33,6 +33,8 @@ public class EditBufferUtils { public static final int NO_CURSOR = -1; public static final int NOT_FOUND = -1; + private static final String SPACE = " "; + private static final String LINE_BREAK = "\n"; /** Determines whether emit single characters feedback. */ public static boolean shouldEmitPerCharacterFeedback(ImeConnection imeConnection) { @@ -42,12 +44,7 @@ public static boolean shouldEmitPerCharacterFeedback(ImeConnection imeConnection /** Returns cursor position of the edit field. */ public static int getCursorPosition(InputConnection inputConnection) { - CharSequence textBeforeCursor = - inputConnection.getTextBeforeCursor(Integer.MAX_VALUE, /* flags= */ 0); - if (textBeforeCursor == null) { - return NO_CURSOR; - } - return textBeforeCursor.length(); + return BrailleCommonUtils.getTextSelection(inputConnection).end; } /** Returns whether the edit field is multi-line. */ @@ -59,34 +56,50 @@ public static boolean isMultiLineField(int inputType) { return ((inputType & mask) == EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE); } + /** Finds the line break or space position backward from current cursor. */ + public static int findWordBreakBackwardIndex(InputConnection inputConnection) { + // TODO: Looks for the best way to get editor text correctly. + ExtractedText extractedText = inputConnection.getExtractedText(new ExtractedTextRequest(), 0); + if (extractedText == null) { + return NOT_FOUND; + } + int lastSpaceIndex = + findIndexBackward(extractedText.text.toString(), extractedText.selectionStart, SPACE); + int lastNewlineIndex = + findIndexBackward(extractedText.text.toString(), extractedText.selectionStart, LINE_BREAK); + return Math.max(lastSpaceIndex, lastNewlineIndex); + } + + /** Finds the line break or space position forwqard from current cursor. */ + public static int findWordBreakForwardIndex(InputConnection inputConnection) { + ExtractedText extractedText = inputConnection.getExtractedText(new ExtractedTextRequest(), 0); + if (extractedText == null) { + return NOT_FOUND; + } + int lastSpaceIndex = + findIndexForward(extractedText.text.toString(), extractedText.selectionEnd, SPACE); + int lastNewlineIndex = + findIndexForward(extractedText.text.toString(), extractedText.selectionEnd, LINE_BREAK); + return Math.min(lastSpaceIndex, lastNewlineIndex); + } + /** Finds the line break position backward from current cursor. */ public static int findParagraphBreakBackwardIndex(InputConnection inputConnection) { - ExtractedText extractedText = - inputConnection.getExtractedText( - new ExtractedTextRequest(), InputConnection.GET_EXTRACTED_TEXT_MONITOR); - if (extractedText == null || extractedText.text == null || extractedText.selectionStart <= 0) { + ExtractedText extractedText = inputConnection.getExtractedText(new ExtractedTextRequest(), 0); + if (extractedText == null) { return NOT_FOUND; } - return String.valueOf(extractedText.text).lastIndexOf("\n", extractedText.selectionStart - 2) - + 1; + return findIndexBackward( + extractedText.text.toString(), extractedText.selectionStart, LINE_BREAK); } /** Finds the line break position forward from current cursor. */ public static int findParagraphBreakForwardIndex(InputConnection inputConnection) { - ExtractedText extractedText = - inputConnection.getExtractedText( - new ExtractedTextRequest(), InputConnection.GET_EXTRACTED_TEXT_MONITOR); - if (extractedText == null - || extractedText.text == null - || extractedText.selectionEnd >= extractedText.text.length()) { + ExtractedText extractedText = inputConnection.getExtractedText(new ExtractedTextRequest(), 0); + if (extractedText == null) { return NOT_FOUND; } - int index = String.valueOf(extractedText.text).indexOf("\n", extractedText.selectionEnd); - if (index >= 0 && index < extractedText.text.length()) { - return index + 1; - } else { - return extractedText.text.length(); - } + return findIndexForward(extractedText.text.toString(), extractedText.selectionEnd, LINE_BREAK); } /** Returns the text displayed in the text field. */ @@ -117,5 +130,24 @@ public static boolean isCursorAtEdge(InputConnection inputConnection) { == EditBufferUtils.getCursorPosition(inputConnection)); } + private static int findIndexBackward(String text, int selectionStartIndex, String target) { + if (text == null || selectionStartIndex <= 0) { + return NOT_FOUND; + } + return text.lastIndexOf(target, selectionStartIndex - 2) + 1; + } + + private static int findIndexForward(String text, int selectionEndIndex, String target) { + if (text == null || selectionEndIndex >= text.length()) { + return NOT_FOUND; + } + int index = text.indexOf(target, selectionEndIndex); + if (0 <= index && index < text.length()) { + return index + 1; + } else { + return text.length(); + } + } + private EditBufferUtils() {} } diff --git a/braille/brailleime/src/phone/res/layout/dialog_dont_show_again_checkbox.xml b/braille/common/src/phone/res/layout/dialog_dont_show_again_checkbox.xml similarity index 79% rename from braille/brailleime/src/phone/res/layout/dialog_dont_show_again_checkbox.xml rename to braille/common/src/phone/res/layout/dialog_dont_show_again_checkbox.xml index 868dadad8..b872bf906 100644 --- a/braille/brailleime/src/phone/res/layout/dialog_dont_show_again_checkbox.xml +++ b/braille/common/src/phone/res/layout/dialog_dont_show_again_checkbox.xml @@ -1,12 +1,13 @@ \ No newline at end of file diff --git a/braille/common/src/phone/res/values-af/strings.xml b/braille/common/src/phone/res/values-af/strings.xml deleted file mode 100644 index c094cc89f..000000000 --- a/braille/common/src/phone/res/values-af/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Getal - Plafon - %s is uitgevee - - punt %s - punte %s - - Verenigde Engelse Braille – nie verkort nie - Verenigde Engelse Braille – verkort - Spaans - Arabies - Frans - Pools - Skermwegmodus - Hoe toestel met skerm weg van jou af (skermwegmodus) - Tafelbladmodus - Sit toestel plat op \'n tafel neer (tafelbladmodus) - Pas aan by hoe jy die toestel vashou - diff --git a/braille/common/src/phone/res/values-am/strings.xml b/braille/common/src/phone/res/values-am/strings.xml deleted file mode 100644 index 0bce8a05c..000000000 --- a/braille/common/src/phone/res/values-am/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - ቁጥር - ከፍተኛ - %s ተሰርዟል - - ነጥቦች %s - ነጥቦች %s - - ያልታመቀ የተዋሃደ የእንግሊዝኛ ብሬይል - የታመቀ የተዋሃደ የእንግሊዝኛ ብሬይል - ስፓኒሽ - አረብኛ - ፈረንሳይኛ - ፖላንድኛ - ማያ ገጽን ወደ ሌላ ማዞር ሁነታ - መሣሪያን ማያ ገጽን ወደ ሌላ በማዞር ይያዙ (ማያ ገጽን ወደ ሌላ ማዞር ሁነታ) - የጠረጴዛ ላይ ሁነታ - መሣሪያውን በጠረጴዛው ላይ ለጥ አድርገው ያስቀምጡት (የጠረጴዛ ላይ ሁነታ) - እርስዎ መሣሪያውን ከሚይዙበት መንገድ ጋር ያስማሙ - diff --git a/braille/common/src/phone/res/values-ar/strings.xml b/braille/common/src/phone/res/values-ar/strings.xml deleted file mode 100644 index 327830a06..000000000 --- a/braille/common/src/phone/res/values-ar/strings.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - الرقم - الكتابة بالأحرف الكبيرة - تم حذف %s. - - %s نقطة - نقطة واحدة (%s) - نقطتان (%s) - %s نقاط - %s نقطة - %s نقطة - - لغة برايل الإنجليزية الموحدة غير المختصرة - لغة برايل الإنجليزية الموحدة المختصرة - الإسبانية - العربية - الفرنسية - البولندية - وضع \"الشاشة البعيدة\" - وجِّه الجهاز بحيث لا تكون الشاشة مواجهة لك (وضع \"الشاشة البعيدة\"). - وضع \" الشاشة المسطحة\" - ضَع الجهاز بشكل مسطح على الطاولة (وضع \"الشاشة المسطحة\"). - تعديل وضع الشاشة حسب طريقة مسك الجهاز - diff --git a/braille/common/src/phone/res/values-as/strings.xml b/braille/common/src/phone/res/values-as/strings.xml deleted file mode 100644 index d435c69ba..000000000 --- a/braille/common/src/phone/res/values-as/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - সংখ্যা - সৰ্বাধিক সীমা - %s মচা হ\'ল - - বিন্দু %s - বিন্দু %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - স্পেনিশ্ব - আৰবী - ফৰাচী - প’লিশ্ব - স্ক্ৰীন এৱে’ ম’ড - স্ক্ৰীনখন আপোনাৰ পৰা আঁতৰলৈ কৰি ডিভাইচটো ধৰি ৰাখক (স্ক্ৰীন এৱে’ ম’ড) - টেবুলটপ ম’ড - ডিভাইচটো এখন টেবুলত সমতলীয়াকৈ ৰাখক (টেবুলটপ ম’ড) - আপুনি ডিভাইচটো ধৰি ৰখাৰ ধৰণ অনুযায়ী খাপ খাই পৰক - diff --git a/braille/common/src/phone/res/values-az/strings.xml b/braille/common/src/phone/res/values-az/strings.xml deleted file mode 100644 index 64970ba3b..000000000 --- a/braille/common/src/phone/res/values-az/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Say - Böyük hərf - %s silindi - - nöqtə %s - nöqtə %s - - Qısaldılmamış Vahid İngiliscə Brayl - Qısaldılmış Vahid İngiliscə Brayl - İspan - Ərəb - Fransız - Polyak dili - \"Ekran tərsinə\" rejimi - Cihazı ekranın üzü sizə tərsinə olacaq şəkildə tutun (\"ekran tərsinə\" rejimi) - Masaüstü rejimi - Cihazı masanın üstünə arxası üstə yerləşdirin (masaüstü rejimi) - Cihazı tutduğunuz vəziyyətə uyğunlaşdırın - diff --git a/braille/common/src/phone/res/values-b+es+419/strings.xml b/braille/common/src/phone/res/values-b+es+419/strings.xml deleted file mode 100644 index 9c04b224b..000000000 --- a/braille/common/src/phone/res/values-b+es+419/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Número - Cap - Se borró %s - - punto %s - puntos %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Español - Árabe - Francés - Polaco - Modo de pantalla alejada - Sostén el dispositivo alejando la pantalla de ti (modo de pantalla alejada) - Modo de mesa - Apoya el dispositivo sobre una mesa (modo de mesa) - Adaptar a cómo sostienes el dispositivo - diff --git a/braille/common/src/phone/res/values-b+sr+Latn/strings.xml b/braille/common/src/phone/res/values-b+sr+Latn/strings.xml deleted file mode 100644 index 4433afc96..000000000 --- a/braille/common/src/phone/res/values-b+sr+Latn/strings.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Broj - Veliko slovo - Izbrisano: %s - - tačke %s - tačke %s - tačke %s - - Objedinjena engleska brajeva azbuka bez skraćenica - Objedinjena engleska brajeva azbuka sa skraćenicama - španski - arapski - francuski - poljski - Režim rada sa ekranom nadole - Držite uređaj tako da ekran bude okrenut od vas (režim rada sa ekranom nadole) - Stoni režim - Postavite uređaj ravno na sto (stoni režim) - Prilagodite načinu na koji držite uređaj - diff --git a/braille/common/src/phone/res/values-be/strings.xml b/braille/common/src/phone/res/values-be/strings.xml deleted file mode 100644 index 6abd2a285..000000000 --- a/braille/common/src/phone/res/values-be/strings.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Нумар - Вялікая літара - Выдалена: %s - - кропкі %s - кропкі %s - кропкі %s - кропкі %s - - Поўная версія адзінай англійскай клавіятуры Брайля - Скарочаная версія англійскай клавіятуры Брайля - Іспанская - Арабская мова - Французская мова - Польская - Рэжым \"Экран ад сябе\" - Трымайце прыладу з адвернутым ад сябе экранам (рэжым \"Экран ад сябе\") - Настольны рэжым - Пакладзіце прыладу на стол (настольны рэжым) - Падладжвацца пад спосаб трымання прылады - diff --git a/braille/common/src/phone/res/values-bg/strings.xml b/braille/common/src/phone/res/values-bg/strings.xml deleted file mode 100644 index 0abb3f397..000000000 --- a/braille/common/src/phone/res/values-bg/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Номер - Главни букви - Изтрихте текста „%s“ - - точка %s - точки %s - - Унифицирано англ. брайлово писмо без съкращения - Унифицирано англ. брайлово писмо със съкращения - испански - арабски - френски - полски - Режим на обърнат екран - Дръжте устройството така, че гърбът му да сочи към вас (режим на обърнат екран) - Настолен режим - Поставете устройството върху равна повърхност, като например маса (настолен режим) - Адаптиране спрямо ориентирането на устройството - diff --git a/braille/common/src/phone/res/values-bn/strings.xml b/braille/common/src/phone/res/values-bn/strings.xml deleted file mode 100644 index 08ccf3a5a..000000000 --- a/braille/common/src/phone/res/values-bn/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - নম্বর - ক্যাপ - %s মুছে দেওয়া হয়েছে - - ডটগুলি %s - ডটগুলি %s - - ইউনিফায়েড ইংরেজি ব্রেইল অসঙ্কুচিত মোড - ইউনিফায়েড ইংরেজি ব্রেইল সঙ্কুচিত মোড - স্প্যানিশ - আরবি - ফরাসি - পোলিশ - স্ক্রিন অ্যাওয়ে মোড - স্ক্রিনটি আপনার থেকে সরিয়ে ডিভাইসটি ধরে থাকুন (স্ক্রিন অ্যাওয়ে মোড) - টেবিলটপ মোড - টেবিলের উপর আপনার ডিভাইসটি স্বাভাবিক অবস্থায় রাখুন। (টেবিলটপ মোড) - কীভাবে ডিভাইস ধরবেন তা নিজেই রপ্ত করুন - diff --git a/braille/common/src/phone/res/values-bs/strings.xml b/braille/common/src/phone/res/values-bs/strings.xml deleted file mode 100644 index 26e0be440..000000000 --- a/braille/common/src/phone/res/values-bs/strings.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Broj - Gornja granica - Izbrisano: %s - - %s tačka - %s tačke - %s tačaka - - Unified English Braille Uncontracted - Unified English Braille Contracted - španski - arapski - francuski - poljski - Način rada s ekranom okrenutim od korisnika - Držite uređaj s ekranom okrenutim od sebe (način rada s ekranom okrenutim od korisnika) - Način rada na stolu - Postavite uređaj ravno na stol (način rada na stolu) - Prilagodi načinu na koji držim uređaj - diff --git a/braille/common/src/phone/res/values-ca/strings.xml b/braille/common/src/phone/res/values-ca/strings.xml deleted file mode 100644 index e7fcf0dc5..000000000 --- a/braille/common/src/phone/res/values-ca/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Número - Majúscula - S\'ha suprimit %s - - punt %s - punts %s - - Braille anglès unificat no contret - Braille anglès unificat contret - Espanyol - Àrab - Francès - Polonès - Mode amb pantalla allunyada - Mantén el dispositiu amb la pantalla allunyada (mode amb pantalla allunyada) - Mode de taula - Col·loca el dispositiu pla en una taula (mode de taula) - Adapta a la forma d\'agafar el dispositiu - diff --git a/braille/common/src/phone/res/values-cs/strings.xml b/braille/common/src/phone/res/values-cs/strings.xml deleted file mode 100644 index 2ea4cbd87..000000000 --- a/braille/common/src/phone/res/values-cs/strings.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Číslo - Omezení - %s úkol byl smazán - - bod %s - body %s - body %s - body %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - španělština - Arabština - francouzština - polština - Režim s obrazovkou od sebe - Podržte zařízení tak, aby obrazovka směřovala dolů (režim s obrazovkou od sebe) - Režim s obrazovkou k sobě - Položte zařízení na stůl (režim s obrazovkou nahoru) - Přizpůsobit držení zařízení - diff --git a/braille/common/src/phone/res/values-da/strings.xml b/braille/common/src/phone/res/values-da/strings.xml deleted file mode 100644 index a20d394b9..000000000 --- a/braille/common/src/phone/res/values-da/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Tal - Store bogstaver - %s er slettet - - punktet %s - punkterne %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Spansk - Arabisk - Fransk - Polsk - Tilstanden Skærm vendt væk - Hold enheden, så skærmen vender væk fra dig (tilstanden Skærm vendt væk) - Tilstanden Skærm vendt op - Læg din enhed fladt på et bord (tilstanden Skærm vendt op) - Tilpas efter, hvordan du holder enheden - diff --git a/braille/common/src/phone/res/values-de/strings.xml b/braille/common/src/phone/res/values-de/strings.xml deleted file mode 100644 index fd15e04c0..000000000 --- a/braille/common/src/phone/res/values-de/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Nummer - Großschreibung - %s gelöscht - - Punkt %s - Punkte %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Spanisch - Arabisch - Französisch - Polnisch - Modus „Display weggedreht“ - Halte das Gerät so, dass das Display von dir weg zeigt (Modus „Display weggedreht“) - Modus \"Auf dem Tisch\" - Leg das Gerät flach auf den Tisch (Modus „Auf dem Tisch“) - Je nachdem, wie ich das Gerät halte - diff --git a/braille/common/src/phone/res/values-el/strings.xml b/braille/common/src/phone/res/values-el/strings.xml deleted file mode 100644 index d16091b60..000000000 --- a/braille/common/src/phone/res/values-el/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Αριθμός - Κεφαλαία - Διαγράφηκε το %s - - κουκκίδα %s - κουκκίδες %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Ισπανικά - Αραβικά - Γαλλικά - Πολωνικά - Λειτουργία οθόνης στραμμένης προς τα έξω - Κρατήστε τη συσκευή με την οθόνη στραμμένη προς τα έξω (λειτουργία οθόνης στραμμένης προς τα έξω). - Επιτραπέζια λειτουργία - Τοποθετήστε επίπεδα τη συσκευή σας σε ένα τραπέζι (επιτραπέζια λειτουργία). - Προσαρμογή στο κράτημα της συσκευής - diff --git a/braille/common/src/phone/res/values-en-rAU/strings.xml b/braille/common/src/phone/res/values-en-rAU/strings.xml deleted file mode 100644 index 6ce23d169..000000000 --- a/braille/common/src/phone/res/values-en-rAU/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Number - Cap - %s deleted - - dot %s - dots %s - - Uncontracted Unified English Braille - Contracted Unified English Braille - Spanish - Arabic - French - Polish - Screen-away mode - Hold device with screen away from you (screen-away mode) - Tabletop mode - Place device flat on a table (tabletop mode) - Adapt to how you hold the device - diff --git a/braille/common/src/phone/res/values-en-rGB/strings.xml b/braille/common/src/phone/res/values-en-rGB/strings.xml deleted file mode 100644 index 6ce23d169..000000000 --- a/braille/common/src/phone/res/values-en-rGB/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Number - Cap - %s deleted - - dot %s - dots %s - - Uncontracted Unified English Braille - Contracted Unified English Braille - Spanish - Arabic - French - Polish - Screen-away mode - Hold device with screen away from you (screen-away mode) - Tabletop mode - Place device flat on a table (tabletop mode) - Adapt to how you hold the device - diff --git a/braille/common/src/phone/res/values-en-rIN/strings.xml b/braille/common/src/phone/res/values-en-rIN/strings.xml deleted file mode 100644 index 6ce23d169..000000000 --- a/braille/common/src/phone/res/values-en-rIN/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Number - Cap - %s deleted - - dot %s - dots %s - - Uncontracted Unified English Braille - Contracted Unified English Braille - Spanish - Arabic - French - Polish - Screen-away mode - Hold device with screen away from you (screen-away mode) - Tabletop mode - Place device flat on a table (tabletop mode) - Adapt to how you hold the device - diff --git a/braille/common/src/phone/res/values-es/strings.xml b/braille/common/src/phone/res/values-es/strings.xml deleted file mode 100644 index 1a85f21fa..000000000 --- a/braille/common/src/phone/res/values-es/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Número - Mayúsculas - Se ha eliminado %s - - punto %s - puntos %s - - Braille inglés unificado sin contraer - Braille inglés unificado contraído - Español - Árabe - Francés - Polaco - Modo con la pantalla alejada - Sostén el dispositivo con la pantalla alejada (modo con la pantalla alejada) - Modo mesa - Coloca el dispositivo en horizontal sobre una mesa (modo mesa) - Se adapta a cómo coges el dispositivo - diff --git a/braille/common/src/phone/res/values-et/strings.xml b/braille/common/src/phone/res/values-et/strings.xml deleted file mode 100644 index 82a2fb4f6..000000000 --- a/braille/common/src/phone/res/values-et/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Number - Suurtäht - %s kustutati - - punkt %s - punktid %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - hispaania - araabia - Prantsuse keel - poola - Režiim Ekraan eemal - Hoidke seadet nii, et ekraan oleks teist eemale suunatud (režiim Ekraan eemal) - Režiim Laual - Asetage seade lauale (režiim Laual). - Kohanda seadme hoidmise viisi alusel - diff --git a/braille/common/src/phone/res/values-eu/strings.xml b/braille/common/src/phone/res/values-eu/strings.xml deleted file mode 100644 index 3cc91568c..000000000 --- a/braille/common/src/phone/res/values-eu/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Zenbakia - Maiuskula - Ezabatu da %s - - %s puntu - %s puntu - - Ingelesezko Braille bateratu osoa - Ingelesezko Braille bateratu laburtua - Gaztelania - Arabiera - Frantsesa - Poloniera - Pantaila urrunduaren modua - Eutsi gailuari eta alden ezazu, pantaila aurrez aurre duzula (pantaila urrunduaren modua) - Mahaigaineko modua - Jarri gailua mahai baten gainean horizontalki (mahaigaineko modua) - Egokitu gailua eusten duzun modura - diff --git a/braille/common/src/phone/res/values-fa/strings.xml b/braille/common/src/phone/res/values-fa/strings.xml deleted file mode 100644 index 0b47d2424..000000000 --- a/braille/common/src/phone/res/values-fa/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - عدد - بزرگ‌نویسی - %s حذف شد - - نقاط %s - نقاط %s - - بریل انگلیسی یکپارچه خلاصه‌نشده - بریل انگلیسی یکپارچه خلاصه‌شده - اسپانیایی - عربی - فرانسوی - لهستانی - حالت پشت به‌صورت - پشت دستگاه را رو به‌خود نگه دارید (حالت پشت به‌صورت) - حالت افقی روبه‌صورت - دستگاه را صاف روی میز قرار دهید (حالت افقی روبه‌صورت) - تطبیق با نحوه نگه داشته شدن دستگاه - diff --git a/braille/common/src/phone/res/values-fi/strings.xml b/braille/common/src/phone/res/values-fi/strings.xml deleted file mode 100644 index 013a75962..000000000 --- a/braille/common/src/phone/res/values-fi/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Numero - Isot kirjaimet - %s poistettiin - - piste %s - pisteet %s - - Yleinen pistekirjoitus (EN), lyhentämätön - Yleinen pistekirjoitus (EN), lyhennetty - espanja - arabia - ranska - puola - Näyttö pois ‑tila - Pidä laitetta niin, että näyttö on itsestäsi poispäin (näyttö pois ‑tila) - Pöytätila - Aseta laite pöydälle vaakatasossa (pöytätila) - Mukaudu laitteen pitelytapaan - diff --git a/braille/common/src/phone/res/values-fil/strings.xml b/braille/common/src/phone/res/values-fil/strings.xml deleted file mode 100644 index 83b559372..000000000 --- a/braille/common/src/phone/res/values-fil/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Numero - Cap - %s ang na-delete - - dot %s - dot %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Spanish - Arabic - French - Polish - Screen-away mode - Hawakan ang device nang nakatalikod sa iyo ang screen (screen-away mode) - Tabletop mode - Ilapag ang device nang naka-flat sa mesa (tabletop mode) - Umangkop sa paghawak mo sa device - diff --git a/braille/common/src/phone/res/values-fr-rCA/strings.xml b/braille/common/src/phone/res/values-fr-rCA/strings.xml deleted file mode 100644 index 5a77220e2..000000000 --- a/braille/common/src/phone/res/values-fr-rCA/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Numéro - Maj - %s supprimé - - point %s - points %s - - Braille unifié en anglais intégral - Braille unifié en anglais abrégé - Espagnol - Arabe - Français - Polonais - Mode Écran retourné - Tenez l\'appareil avec l\'écran pointé vers l\'extérieur (mode Écran retourné) - Mode À plat - Placez l\'appareil à plat sur une table (mode À plat) - Adapter à la position de l\'appareil - diff --git a/braille/common/src/phone/res/values-fr/strings.xml b/braille/common/src/phone/res/values-fr/strings.xml deleted file mode 100644 index 565947f8e..000000000 --- a/braille/common/src/phone/res/values-fr/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Numéro - Maj - %s supprimé - - le point %s - les points %s - - Code braille anglais unifié non abrégé - Code braille anglais unifié abrégé - Espagnol - Arabe - Français - Polonais - Mode Écran retourné - Maintenez l\'appareil avec l\'écran tourné vers l\'extérieur (mode Écran retourné) - Mode À plat - Placez l\'appareil à plat sur une table (mode À plat) - Adapter à position et à l\'orientation de l\'appareil - diff --git a/braille/common/src/phone/res/values-gl/strings.xml b/braille/common/src/phone/res/values-gl/strings.xml deleted file mode 100644 index b9849fb4e..000000000 --- a/braille/common/src/phone/res/values-gl/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Números - Maiúsculas - Eliminouse: %s - - punto %s - puntos %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Español - Árabe - Francés - Polaco - Modo coa pantalla de costas a ti - Colle o dispositivo de xeito que a pantalla quede de costas a ti (modo coa pantalla de costas a ti) - Modo encol da mesa - Pousa o dispositivo enriba dunha mesa (modo encol da mesa) - Adáptase á forma en que colles o dispositivo - diff --git a/braille/common/src/phone/res/values-gu/strings.xml b/braille/common/src/phone/res/values-gu/strings.xml deleted file mode 100644 index 2c1b182b1..000000000 --- a/braille/common/src/phone/res/values-gu/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - નંબર - કૅપિટલ અક્ષર - %s ડિલીટ કર્યું - - ડોટ %s - ડોટ %s - - યુનિફાઇડ ઇંગ્લિશ બ્રેઇલ અનકૉન્ટ્રેક્ટેડ - યુનિફાઇડ ઇંગ્લિશ બ્રેઇલ કૉન્ટ્રેક્ટેડ - સ્પેનિશ - અરબી - ફ્રેન્ચ - પૉલીશ - સ્ક્રીન અવે મોડ - તમારી સામે સ્ક્રીનની પાછળનો ભાગ રહે તે રીતે ડિવાઇસને પકડો (સ્ક્રીન અવે મોડ) - ટેબલટોપ મોડ - ડિવાઇસને ટેબલ પર સપાટ રાખો (ટેબલટોપ મોડ) - તમે ડિવાઇસ કેવી રીતે પકડો છો તે મુજબ ફેરફાર કરે છે - diff --git a/braille/common/src/phone/res/values-hi/strings.xml b/braille/common/src/phone/res/values-hi/strings.xml deleted file mode 100644 index e2cd42ac6..000000000 --- a/braille/common/src/phone/res/values-hi/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - नंबर - बड़े अक्षर - %s को मिटाया गया - - बिंदु %s - बिंदु %s - - यूनिफ़ाइड इंग्लिश ब्रेल अनकॉन्ट्रैक्टेड - यूनिफ़ाइड इंग्लिश ब्रेल कॉन्ट्रैक्टेड - स्पैनिश - ऐरबिक - फ़्रेंच - पोलिश - स्क्रीन अवे मोड - डिवाइस को स्क्रीन अवे मोड पर इस्तेमाल करने लिए ऐसे पकड़ें कि उसकी स्क्रीन आपके चेहरे के सामने न रहे - टेबलटॉप मोड - डिवाइस को टेबलटॉप मोड पर इस्तेमाल करने के लिए उसे सीधे लेटाकर रखें - डिवाइस को पकड़ने का अपना तरीका तय करें - diff --git a/braille/common/src/phone/res/values-hr/strings.xml b/braille/common/src/phone/res/values-hr/strings.xml deleted file mode 100644 index df1101314..000000000 --- a/braille/common/src/phone/res/values-hr/strings.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Broj - Veliko slovo - Izbrisano: %s - - točke %s - točke %s - točke %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - španjolski - arapski - francuski - poljski - Zaslon prema dolje - Držite uređaj sa zaslonom prema dolje (zaslon prema dolje) - Stolni način - Položite uređaj na stol (stolni način) - Prilagodite načinu na koji držite uređaj - diff --git a/braille/common/src/phone/res/values-hu/strings.xml b/braille/common/src/phone/res/values-hu/strings.xml deleted file mode 100644 index 5bc42807a..000000000 --- a/braille/common/src/phone/res/values-hu/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Szám - Nagybetű - %s törölve - - az %s. pontra - a %s. pontra - - Egységes angol Braille (összevonások nélkül) - Egységes angol Braille (összevonásokkal) - spanyol - Arab - francia - lengyel - „Elfordított képernyő” mód - Tartsa úgy az eszközt, hogy a hátlapja nézzen Ön felé („elfordított képernyő” mód). - Vízszintes mód - Fektesse az asztalra az eszközt („vízszintes” mód). - Igazítás az eszköz tartásához - diff --git a/braille/common/src/phone/res/values-hy/strings.xml b/braille/common/src/phone/res/values-hy/strings.xml deleted file mode 100644 index f72f4a2c4..000000000 --- a/braille/common/src/phone/res/values-hy/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Համարը - Մեծատառեր - Տեքստը (%s) ջնջվեց - - կետեր %s - կետեր %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - իսպաներեն - արաբերեն - ֆրանսերեն - լեհերեն - Շրջած էկրանի ռեժիմ - Սարքը բռնեք էկրանը ձեզնից շրջած կողմով (շրջած էկրանի ռեժիմ) - Սեղանի ռեժիմ - Սարքը դրեք սեղանին (սեղանի ռեժիմ) - Շրջել ձեռքումս սարքի դիրքին համապատասխան - diff --git a/braille/common/src/phone/res/values-id/strings.xml b/braille/common/src/phone/res/values-id/strings.xml deleted file mode 100644 index 200591858..000000000 --- a/braille/common/src/phone/res/values-id/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Angka - Kapital - %s dihapus - - titik %s - titik %s - - Unified English Braille tanpa Kontraksi - Unified English Braille dengan Kontraksi - Spanyol - Arab - Prancis - Polandia - Mode layar jauh - Genggam perangkat dengan posisi layar menjauhi Anda (mode layar jauh) - Mode di atas meja - Letakkan perangkat di atas meja dalam posisi datar (mode di atas meja) - Sesuaikan dengan cara Anda memegang perangkat - diff --git a/braille/common/src/phone/res/values-in/strings.xml b/braille/common/src/phone/res/values-in/strings.xml deleted file mode 100644 index 200591858..000000000 --- a/braille/common/src/phone/res/values-in/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Angka - Kapital - %s dihapus - - titik %s - titik %s - - Unified English Braille tanpa Kontraksi - Unified English Braille dengan Kontraksi - Spanyol - Arab - Prancis - Polandia - Mode layar jauh - Genggam perangkat dengan posisi layar menjauhi Anda (mode layar jauh) - Mode di atas meja - Letakkan perangkat di atas meja dalam posisi datar (mode di atas meja) - Sesuaikan dengan cara Anda memegang perangkat - diff --git a/braille/common/src/phone/res/values-is/strings.xml b/braille/common/src/phone/res/values-is/strings.xml deleted file mode 100644 index c7b11742b..000000000 --- a/braille/common/src/phone/res/values-is/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Númer - Hástafir - %s eytt - - punktur %s - punktar %s - - Óstytt samræmt enskt blindraletur - Stytt samræmt enskt blindraletur - Spænska - Arabíska - Franska - Pólska - Skjá snúið frá - Haltu á tækinu þannig að skjárinn snúi frá þér (skjá snúið frá) - Borðstilling - Leggðu tækið á borð (skjá snúið upp) - Aðlagast því hvernig þú heldur á tækinu - diff --git a/braille/common/src/phone/res/values-it/strings.xml b/braille/common/src/phone/res/values-it/strings.xml deleted file mode 100644 index d50e7a2f7..000000000 --- a/braille/common/src/phone/res/values-it/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Numero - Lettere maiuscole - %s eliminato - - punto %s - punti %s - - Braille inglese unificato non contratto - Braille inglese unificato contratto - Spagnolo - Arabo - Francese - Polacco - Modalità schermo verso l\'esterno - Tieni il dispositivo con lo schermo rivolto verso l\'esterno (modalità schermo verso l\'esterno) - Modalità da tavolo - Appoggia il dispositivo in orizzontale su un piano (modalità da tavolo) - Adatta in base a come tieni il dispositivo - diff --git a/braille/common/src/phone/res/values-iw/strings.xml b/braille/common/src/phone/res/values-iw/strings.xml deleted file mode 100644 index 210084e6e..000000000 --- a/braille/common/src/phone/res/values-iw/strings.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - מספר - CapsLock - בוצעה מחיקה של %s - - נקודה אחת (%s) - %s נקודות - %s נקודות - %s נקודות - - אנגלית אחידה לברייל לא מקוצר - אנגלית אחידה לברייל מקוצר - ספרדית - ערבית - צרפתית - פולנית - מצב \'המסך פונה כלפי חוץ\' - יש להחזיק את המכשיר כך שהמסך פונה כלפי חוץ (מצב \'המסך פונה כלפי חוץ\') - מצב \'על משטח\' - עליך להניח את המכשיר במצב שטוח על שולחן (מצב \'על משטח\') - התאמה לאופן שבו אוחזים את המכשיר - diff --git a/braille/common/src/phone/res/values-ja/strings.xml b/braille/common/src/phone/res/values-ja/strings.xml deleted file mode 100644 index 42a75df26..000000000 --- a/braille/common/src/phone/res/values-ja/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - 番号 - 大文字 - %sを削除しました - - ドット%s - ドット%s - - 統一英語点字(非縮約形) - 統一英語点字(縮約形) - スペイン語 - アラビア語 - フランス語 - ポーランド語 - 画面裏返しモード - デバイスの画面を自分とは反対側に向けた状態にします(画面裏返しモード) - テーブルトップ モード - テーブルの上にデバイスを平らに置きます(テーブルトップ モード) - デバイスの持ち方に合わせる - diff --git a/braille/common/src/phone/res/values-ka/strings.xml b/braille/common/src/phone/res/values-ka/strings.xml deleted file mode 100644 index f057a5537..000000000 --- a/braille/common/src/phone/res/values-ka/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - ნომერი - ზედა ზღვარი - %s წაიშალა - - წერტილი %s - წერტილები %s - - ერთიანი შეუკვეცავი ბრაილის შრიფტი ინგლისურისთვის - ერთიანი შეკვეცილი ბრაილის შრიფტი ინგლისურისთვის - ესპანური - არაბული - ფრანგული - პოლონური - მიბრუნებული ეკრანის რეჟიმი - გეჭიროთ მოწყობილობა თქვენგან მიბრუნებული ეკრანით (მიბრუნებული ეკრანის რეჟიმი) - სამაგიდო რეჟიმი - მოათავსეთ მოწყობილობა ბრტყლად მაგიდაზე (მაგიდის რეჟიმი) - მოწყობილობის დაჭერასთან მიჩვევა - diff --git a/braille/common/src/phone/res/values-kk/strings.xml b/braille/common/src/phone/res/values-kk/strings.xml deleted file mode 100644 index b9ef1ac2e..000000000 --- a/braille/common/src/phone/res/values-kk/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Сан - Бас әріп - %s жойылды. - - %s нүкте - %s нүкте - - Unified English Braille Uncontracted - Unified English Braille Contracted - Испан - Араб - Француз - Поляк - Экранды ары қарату режимі - Құрылғының экранын ары қаратыңыз (экранды ары қарату режимі) - Экранды жоғары қаратып қою режимі - Құрылғыңызды үстелге жатқызып қойыңыз (экранды жоғары қаратып үстелге қою режимі) - Құрылғыны ұстау мәнеріңізге бейімдеу - diff --git a/braille/common/src/phone/res/values-km/strings.xml b/braille/common/src/phone/res/values-km/strings.xml deleted file mode 100644 index 001ff22ce..000000000 --- a/braille/common/src/phone/res/values-km/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - លេខ - អក្សរធំ - បានលុប %s - - ចំណុចលេខ %s - ចំណុចលេខ %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - អេស្ប៉ាញ - អារ៉ាប់ - បារាំង - ប៉ូឡូញ - មុខងារ​បែរអេក្រង់​ចេញ - កាន់​ឧបករណ៍​ដោយ​បែរអេក្រង់​ចេញពី​អ្នក (មុខងារ​បែរអេក្រង់ចេញ) - មុខងារដាក់លើតុ - ដាក់​ឧបករណ៍​ឱ្យរាបស្មើ​នៅលើតុ (មុខងារ​ដាក់លើតុ) - សម្រប​តាមរបៀប​ដែលអ្នក​កាន់ឧបករណ៍ - diff --git a/braille/common/src/phone/res/values-kn/strings.xml b/braille/common/src/phone/res/values-kn/strings.xml deleted file mode 100644 index 67485f98c..000000000 --- a/braille/common/src/phone/res/values-kn/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - ಸಂಖ್ಯೆ - ದೊಡ್ಡಕ್ಷರಗಳು - %s ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ - - ಚುಕ್ಕೆಗಳು %s - ಚುಕ್ಕೆಗಳು %s - - ಸಂಕ್ಷೇಪಿಸಿರದ ಯೂನಿಫೈಡ್ ಇಂಗ್ಲಿಷ್ ಬ್ರೈಲ್ - ಸಂಕ್ಷೇಪಿಸಿದ ಯೂನಿಫೈಡ್ ಇಂಗ್ಲಿಷ್ ಬ್ರೈಲ್ - ಸ್ಪ್ಯಾನಿಶ್ - ಅರೇಬಿಕ್ - ಫ್ರೆಂಚ್ - ಪೋಲಿಶ್ - ಸ್ಕ್ರೀನ್-ಅವೇ ಮೋಡ್ - ಸ್ಕ್ರೀನ್ ಅನ್ನು ನಿಮ್ಮಿಂದ ದೂರ ಹಿಡಿದುಕೊಳ್ಳಿ (ಸ್ಕ್ರೀನ್-ಅವೇ ಮೋಡ್) - ಟೇಬಲ್‌ಟಾಪ್ ಮೋಡ್ - ಸಾಧನವನ್ನು ಟೇಬಲ್ ಮೇಲೆ ಫ್ಲಾಟ್ ಆಗಿ ಇರಿಸಿ (ಟೇಬಲ್‍ಟಾಪ್ ಮೋಡ್) - ನೀವು ಸಾಧನ ಹಿಡಿದುಕೊಳ್ಳುವ ರೀತಿಗೆ ಹೊಂದಿಸಿ - diff --git a/braille/common/src/phone/res/values-ko/strings.xml b/braille/common/src/phone/res/values-ko/strings.xml deleted file mode 100644 index ad3bc08b4..000000000 --- a/braille/common/src/phone/res/values-ko/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - 숫자 - 대문자 - %s 삭제됨 - - 점 %s개 - 점 %s개 - - 통합 영어 정자 점자 - 통합 영어 약자 점자 - 스페인어 - 아랍어 - 프랑스어 - 폴란드어 - 반대 화면 모드 - 화면이 내 반대쪽을 향하도록 기기를 듭니다(반대 화면 모드). - 탁자 모드 - 기기를 탁자 위에 평평하게 올려놓습니다(탁자 모드). - 기기를 드는 방향에 맞게 조정 - diff --git a/braille/common/src/phone/res/values-ky/strings.xml b/braille/common/src/phone/res/values-ky/strings.xml deleted file mode 100644 index d12bdde7d..000000000 --- a/braille/common/src/phone/res/values-ky/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Номер - Баш тамга - %s өчүрүлдү - - чекит %s - чекиттер %s - - Бириктирилген толук англисче брайль - Бириктирилген cтенограммалык англисче брайль - Испанча - Арабча - Французча - Полякча - Экранды ары каратып колдонуу режими - Түзмөктү экранын ары каратып кармаңыз (экранды ары каратып колдонуу режими) - Столдун үстүндө колдонуу режими - Түзмөктү столдун үстүнө түз коюңуз (столдун үстүндө колдонуу режими) - Түзмөктү кармаганыңызга карай тууралоо - diff --git a/braille/common/src/phone/res/values-lo/strings.xml b/braille/common/src/phone/res/values-lo/strings.xml deleted file mode 100644 index 8bcf2c605..000000000 --- a/braille/common/src/phone/res/values-lo/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - ຕົວເລກ - ຕົວພິມໃຫຍ່ - ລຶບ %s ແລ້ວ - - ຈຸດ %s - ຈຸດ %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - ສະແປນນິຊ - ອາຣາບິກ - ຝຣັ່ງ - ໂພລິຊ - ໂໝດປິ່ນໜ້າຈໍອອກ - ຖືອຸປະກອນໂດຍປິ່ນໜ້າຈໍອອກຈາກຕົວທ່ານ (ໂໝດປິ່ນໜ້າຈໍອອກ) - ໂໝດຕັ້ງໂຕະ - ວາງອຸປະກອນນອນຮາບໄວ້ຢູ່ໂຕະ (ໂໝດຕັ້ງໂຕະ) - ປັບຕາມວິທີທີ່ຂ້ອຍຖືອຸປະກອນ - diff --git a/braille/common/src/phone/res/values-lt/strings.xml b/braille/common/src/phone/res/values-lt/strings.xml deleted file mode 100644 index 27b3115f8..000000000 --- a/braille/common/src/phone/res/values-lt/strings.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Skaičiai - Didžiosios raidės - Ištrinta: %s - - %s taškas - %s taškai - %s taško - %s taškų - - Unified English Braille Uncontracted - Unified English Braille Contracted - Ispanų k. - Arabų - Prancūzų - Lenkų k. - Statusis režimas - Įrenginį laikykite ekraną nukreipę nuo savęs (statusis režimas) - Gulsčiasis režimas - Padėkite įrenginį gulsčiai ant stalo (gulsčiasis režimas). - Pritaikyti pagal įrenginio laikymą - diff --git a/braille/common/src/phone/res/values-lv/strings.xml b/braille/common/src/phone/res/values-lv/strings.xml deleted file mode 100644 index 8a1acab48..000000000 --- a/braille/common/src/phone/res/values-lv/strings.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Cipari - Lielie burti - Teksts “%s” ir izdzēsts. - - punkti %s - punkti %s - punkti %s - - Vienotais angļu valodas Braila raksts (nesaīsināts) - Vienotais angļu valodas Braila raksts (saīsināts) - Spāņu - Arābu - Franču - Poļu - Prom vērsta ekrāna režīms - Turiet ierīci ar prom vērstu ekrānu (prom vērsta ekrāna režīms). - Galda režīms - Novietojiet ierīci plakaniski uz galda (galda režīms). - Pielāgoties ierīces turēšanas veidam - diff --git a/braille/common/src/phone/res/values-mk/strings.xml b/braille/common/src/phone/res/values-mk/strings.xml deleted file mode 100644 index 073917f8e..000000000 --- a/braille/common/src/phone/res/values-mk/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Број - Големи букви - Текстот „%s“ е избришан - - точки %s - точки %s - - Нескратено унифицирано брајово англиско писмо - Скратено унифицирано брајово англиско писмо - шпански - арапски - француски - полски - Режим на екран свртен обратно - Држете го уредот со екранот свртен обратно од вас (режим на екран свртен обратно) - Режим за на маса - Ставете го уредот рамно на масата (режим за на маса) - Приспособи според начинот на кој го држам уредот - diff --git a/braille/common/src/phone/res/values-ml/strings.xml b/braille/common/src/phone/res/values-ml/strings.xml deleted file mode 100644 index efae57bf2..000000000 --- a/braille/common/src/phone/res/values-ml/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - നമ്പർ - വലിയക്ഷരമാക്കി - %s ഇല്ലാതാക്കി - - %s ഡോട്ട് - %s ഡോട്ടുകൾ - - യൂണിഫൈഡ് ഇംഗ്ലീഷ് ബ്രെയ്‌ലി ചുരുക്കിയത് മാറ്റി - യൂണിഫൈഡ് ഇംഗ്ലീഷ് ബ്രെയ്‌ലി ചുരുക്കി - സ്‌പാനിഷ് - അറബിക് - ഫ്രഞ്ച് - പോളിഷ് - സ്ക്രീൻ എവേ മോഡ് - സ്ക്രീൻ നിങ്ങൾക്ക് അഭിമുഖമല്ലാത്ത രീതിയിൽ തിരിച്ച് പിടിക്കുക (സ്ക്രീൻ എവേ മോഡ്) - ടേബിൾടോപ്പ് മോഡ് - ഉപകരണം മേശപ്പുറത്ത് വയ്ക്കുക (ടേബിൾടോപ്പ് മോഡ്) - നിങ്ങൾ ഉപകരണം പിടിക്കുന്ന രീതിക്ക് അനുസൃതമാക്കൂ - diff --git a/braille/common/src/phone/res/values-mn/strings.xml b/braille/common/src/phone/res/values-mn/strings.xml deleted file mode 100644 index a565d4984..000000000 --- a/braille/common/src/phone/res/values-mn/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Дугаар - Хамгийн дээд хэмжээ - %s-г устгалаа - - цэг %s - цэгүүд %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Испани - Араб - Франц - Польш - Дэлгэцээс хол байх горим - Төхөөрөмжийн дэлгэцийг өөрөөсөө хол барина уу (дэлгэцээс хол байх горим) - Ширээн дээр тавих горим - Төхөөрөмжийг ширээн дээр тэгшхэн байрлуулна уу (ширээн дээр тавих горим) - Төхөөрөмжийг хэрхэн барихаа тохируулна уу - diff --git a/braille/common/src/phone/res/values-mr/strings.xml b/braille/common/src/phone/res/values-mr/strings.xml deleted file mode 100644 index 20b20330f..000000000 --- a/braille/common/src/phone/res/values-mr/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - क्रमांक - कॅप - %s हटवला - - बिंदू %s - बिंदू %s - - युनिफाइड इंग्रजी ब्रेल विस्तारित - युनिफाइड इंग्रजी ब्रेल संक्षिप्त - स्पॅनिश - अरबी - फ्रेंच - पोलिश - स्क्रीन अवे मोड - डिव्हाइस अशाप्रकारे धरा ज्यामुळे स्क्रीन तुमच्यापासून विरुद्ध दिशेला असेल (स्क्रीन अवे मोड) - टेबलटॉप मोड - डिव्हाइस टेबलवर सपाट ठेवा (टेबलटॉप मोड) - तुम्ही डिव्हाइस कसे धरता ते जाणून घ्या - diff --git a/braille/common/src/phone/res/values-ms/strings.xml b/braille/common/src/phone/res/values-ms/strings.xml deleted file mode 100644 index 653944594..000000000 --- a/braille/common/src/phone/res/values-ms/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Nombor - Huruf besar - %s dipadamkan - - titik %s - titik %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Bahasa Sepanyol - Arab - Perancis - Bahasa Poland - Mod skrin jauh - Tahan peranti dengan skrin jauh daripada anda (mod skrin jauh) - Mod atas meja - Letakkan peranti anda mendatar di atas meja (mod atas meja) - Sesuaikan dengan cara anda memegang peranti - diff --git a/braille/common/src/phone/res/values-my/strings.xml b/braille/common/src/phone/res/values-my/strings.xml deleted file mode 100644 index d1bef80c9..000000000 --- a/braille/common/src/phone/res/values-my/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - နံပါတ် - အက္ခရာအကြီး - %s ကို ဖျက်ပြီးပြီ - - အစက်%s - အစက်များ%s - - Unified English Braille Uncontracted - Unified English Braille Contracted - စပိန် - အာရဗီ - ပြင်သစ် - ပိုလန် - ဖန်သားပြင်နှင့်ဝေးနေချိန်မုဒ် - စက်ကို အခြားတစ်ဖက်သို့ မျက်နှာမူပြီး ကိုင်ထားပါ (ဖန်သားပြင်နှင့်ဝေးနေချိန်မုဒ်) - စားပွဲတင်မုဒ် - စက်ကို စားပွဲပေါ်တွင် အပြားလိုက်တင်ပါ (စားပွဲတင်မုဒ်) - စက်ပစ္စည်းကိုင်ပုံကိုလိုက်၍ မုဒ်ရွေးပါ - diff --git a/braille/common/src/phone/res/values-nb/strings.xml b/braille/common/src/phone/res/values-nb/strings.xml deleted file mode 100644 index f53b726da..000000000 --- a/braille/common/src/phone/res/values-nb/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Tall - Store bokstaver - %s er slettet - - punkt %s - punkter %s - - Uforkortet Unified English Braille - Forkortet Unified English Braille - Spansk - Arabisk - Fransk - Polsk - Skjerm vendt bort-modus - Hold enheten med skjermen vendt bort fra deg (skjerm vendt bort-modus) - Skjerm vendt opp-modus - Legg enheten flatt på et bord (skjerm vendt opp-modus) - Tilpass til måten du holder enheten på - diff --git a/braille/common/src/phone/res/values-ne/strings.xml b/braille/common/src/phone/res/values-ne/strings.xml deleted file mode 100644 index ac9ff30f1..000000000 --- a/braille/common/src/phone/res/values-ne/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - नम्बर - क्याप - %s मेटाइयो - - डट %s - डटहरू %s - - एकीकृत अङ्ग्रेजी ब्रेल अनकन्ट्र्याक्टेड - एकीकृत अङ्ग्रेजी ब्रेल कन्ट्र्याक्टेड - स्प्यानिस - अरबी - फ्रान्सेली - पोलिस - \'स्क्रिन अवे\' मोड - आफ्नो विपरीत दिशातिर स्क्रिन पर्ने गरी डिभाइस समात्नुहोस् (\'स्क्रिन अवे\' मोड) - टेबलटप मोड - यन्त्रलाई टेबुलमा सुताएर राख्नुहोस् (टेबलटप मोड) - तपाईंले यन्त्र समात्ने तरिकाअनुसार समायोजन गर्नु… - diff --git a/braille/common/src/phone/res/values-nl/strings.xml b/braille/common/src/phone/res/values-nl/strings.xml deleted file mode 100644 index 2135cddbd..000000000 --- a/braille/common/src/phone/res/values-nl/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Cijfer - Hoofdletters - %s verwijderd - - punt %s - punten %s - - Unified English Braille (volledig) - Unified English Braille (kortschrift) - Spaans - Arabisch - Frans - Pools - Modus Scherm weg - Houd het apparaat vast met het scherm van je af (modus Scherm weg) - Tafelbladmodus - Leg het apparaat plat op een tafel (tafelbladmodus) - Aanpassen aan hoe je het apparaat vasthoudt - diff --git a/braille/common/src/phone/res/values-no/strings.xml b/braille/common/src/phone/res/values-no/strings.xml deleted file mode 100644 index f53b726da..000000000 --- a/braille/common/src/phone/res/values-no/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Tall - Store bokstaver - %s er slettet - - punkt %s - punkter %s - - Uforkortet Unified English Braille - Forkortet Unified English Braille - Spansk - Arabisk - Fransk - Polsk - Skjerm vendt bort-modus - Hold enheten med skjermen vendt bort fra deg (skjerm vendt bort-modus) - Skjerm vendt opp-modus - Legg enheten flatt på et bord (skjerm vendt opp-modus) - Tilpass til måten du holder enheten på - diff --git a/braille/common/src/phone/res/values-or/strings.xml b/braille/common/src/phone/res/values-or/strings.xml deleted file mode 100644 index 7bc959678..000000000 --- a/braille/common/src/phone/res/values-or/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - ନମ୍ଵର - କ୍ୟାପିଟାଲାଇଜେସନ - %s ଡିଲିଟ୍ କରାଯାଇଛି - - %sଟି ଡଟ୍ - %sଟି ଡଟ୍ସ - - ୟୁନିଫାଏଡ ଇଂରାଜୀ ବ୍ରେଲି ଅନକଣ୍ଟ୍ରାକ୍ଟେଡ - ୟୁନିଫାଏଡ ଇଂରାଜୀ ବ୍ରେଲି କଣ୍ଟ୍ରାକ୍ଟେଡ - ସ୍ପେନୀୟ - ଆରବୀ - ଫରାସୀ - ପୋଲିଶ୍ - ସ୍କ୍ରିନ୍-ଆୱେ ମୋଡ୍ - ଡିଭାଇସର ସ୍କ୍ରିନକୁ ଆପଣଙ୍କ ଠାରୁ ଦୂରେଇ ଧରନ୍ତୁ (ସ୍କ୍ରିନ୍-ଆୱେ ମୋଡ୍) - ଟେବୁଲଟପ୍ ମୋଡ୍ - ଡିଭାଇସକୁ ଏକ ଟେବୁଲ୍ ଉପରେ ଫ୍ଲାଟ୍ ରଖନ୍ତୁ (ଟେବୁଲଟପ୍ ମୋଡ୍) - ଆପଣଙ୍କ ଡିଭାଇସକୁ ଧରିବାର ଉପାୟକୁ ଆଡପ୍ଟ କରନ୍ତୁ - diff --git a/braille/common/src/phone/res/values-pa/strings.xml b/braille/common/src/phone/res/values-pa/strings.xml deleted file mode 100644 index a6931635b..000000000 --- a/braille/common/src/phone/res/values-pa/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - ਨੰਬਰ - ਵੱਡੇ ਅੱਖਰ - %s ਮਿਟਾਇਆ ਗਿਆ - - ਬਿੰਦੀ %s - ਬਿੰਦੀਆਂ %s - - ਏਕੀਕ੍ਰਿਤ ਅੰਗਰੇਜ਼ੀ ਬਰੇਲ ਲਿਪੀ ਅਸੰਕੁਚਿਤ - ਏਕੀਕ੍ਰਿਤ ਅੰਗਰੇਜ਼ੀ ਬਰੇਲ ਲਿਪੀ ਸੰਕੁਚਿਤ - ਸਪੈਨਿਸ਼ - ਅਰਬੀ - ਫ੍ਰੈਂਚ - ਪੋਲਿਸ਼ - ਸਕ੍ਰੀਨ ਤੋਂ ਦੂਰ ਮੋਡ - ਸਕ੍ਰੀਨ ਨੂੰ ਆਪਣੇ ਆਪ ਤੋਂ ਦੂਰ ਰੱਖ ਕੇ ਡੀਵਾਈਸ ਫੜੋ (ਸਕ੍ਰੀਨ ਤੋਂ ਦੂਰ ਮੋਡ) - ਟੇਬਲਟੌਪ ਮੋਡ - ਡੀਵਾਈਸ ਨੂੰ ਮੇਜ਼ \'ਤੇ ਸਿੱਧਾ ਰੱਖੋ (ਟੇਬਲਟੌਪ ਮੋਡ) - ਡੀਵਾਈਸ ਨੂੰ ਫੜਨ ਦਾ ਤਰੀਕਾ ਅਨੁਕੂਲ ਕਰੋ - diff --git a/braille/common/src/phone/res/values-pl/strings.xml b/braille/common/src/phone/res/values-pl/strings.xml deleted file mode 100644 index 28d0be71e..000000000 --- a/braille/common/src/phone/res/values-pl/strings.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Liczba - Caps Lock - Usunięto tekst %s - - punkt %s - punkty %s - punkty %s - punkty %s - - Unified English Braille (integralny) - Unified English Braille (skrótowy) - Hiszpański - arabski - francuski - Polski - Tryb Ekran odsunięty - Trzymaj urządzenie tak, by ekran był od Ciebie odsunięty (tryb odsuniętego ekranu) - Tryb na stole - Połóż urządzenie płasko na stole (tryb na stole) - Dostosuj do swojego sposobu trzymania urządzenia - diff --git a/braille/common/src/phone/res/values-pt-rBR/strings.xml b/braille/common/src/phone/res/values-pt-rBR/strings.xml deleted file mode 100644 index fd5060894..000000000 --- a/braille/common/src/phone/res/values-pt-rBR/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Número - Letra maiúscula - %s excluído - - ponto %s - pontos %s - - Braille integral em inglês unificado - Braille abreviado em inglês unificado - Espanhol - Árabe - Francês - Polonês - Modo tela de costas - Segurar o dispositivo com a tela de costas para você (modo tela de costas) - Modo de mesa - Colocar o dispositivo com a tela para cima em uma mesa (modo de mesa) - Adaptar à forma como eu seguro o dispositivo - diff --git a/braille/common/src/phone/res/values-pt-rPT/strings.xml b/braille/common/src/phone/res/values-pt-rPT/strings.xml deleted file mode 100644 index bb2c401ba..000000000 --- a/braille/common/src/phone/res/values-pt-rPT/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Número - Letras maiúsculas - %s eliminado. - - ponto %s - pontos %s - - Braille unificado em inglês não contraído - Braille unificado em inglês contraído - Espanhol - Árabe - Francês - Polaco - Modo de ecrã afastado - Segure no dispositivo com o ecrã afastado de si (modo de ecrã afastado). - Modo de mesa - Coloque o dispositivo na horizontal numa mesa (modo de mesa). - Adaptar à forma como segura no dispositivo - diff --git a/braille/common/src/phone/res/values-pt/strings.xml b/braille/common/src/phone/res/values-pt/strings.xml deleted file mode 100644 index fd5060894..000000000 --- a/braille/common/src/phone/res/values-pt/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Número - Letra maiúscula - %s excluído - - ponto %s - pontos %s - - Braille integral em inglês unificado - Braille abreviado em inglês unificado - Espanhol - Árabe - Francês - Polonês - Modo tela de costas - Segurar o dispositivo com a tela de costas para você (modo tela de costas) - Modo de mesa - Colocar o dispositivo com a tela para cima em uma mesa (modo de mesa) - Adaptar à forma como eu seguro o dispositivo - diff --git a/braille/common/src/phone/res/values-ro/strings.xml b/braille/common/src/phone/res/values-ro/strings.xml deleted file mode 100644 index 64ccf056e..000000000 --- a/braille/common/src/phone/res/values-ro/strings.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Număr - Scriere cu majuscule - S-a șters %s - - punct %s - puncte %s - puncte %s - - Unified English Braille necontractat - Unified English Braille contractat - Spaniolă - Arabă - Franceză - Poloneză - Modul ecran întors cu spatele - Țineți dispozitivul întors cu spatele (modul ecran întors cu spatele) - Modul Pe masă - Așezați dispozitivul pe o masă (modul pe masă). - Adaptați-vă la cum țineți dispozitivul - diff --git a/braille/common/src/phone/res/values-ru/strings.xml b/braille/common/src/phone/res/values-ru/strings.xml deleted file mode 100644 index c525abed4..000000000 --- a/braille/common/src/phone/res/values-ru/strings.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Цифра - Заглавные буквы - Текст \"%s\" удален - - точки %s - точки %s - точки %s - точки %s - - Объединенный англ. шрифт Брайля без сокращений - Объединенный англ. шрифт Брайля с сокращениями - Испанский - арабский - Французский - Польский - Режим \"Экран от себя\" - Держите устройство экраном от себя (режим \"Экран от себя\"). - Режим \"Настольный\" - Положите устройство на стол (режим \"Настольный\"). - Адаптировать к положению устройства - diff --git a/braille/common/src/phone/res/values-si/strings.xml b/braille/common/src/phone/res/values-si/strings.xml deleted file mode 100644 index 8b4ba8d02..000000000 --- a/braille/common/src/phone/res/values-si/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - අංකය - කැප් - %s මකන ලදි - - තිත් %s - තිත් %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - ස්පාඤ්ඤ - අරාබි - ප්‍රංශ - පෝලන්ත - තිරයෙන් බැහැර ප්‍රකාරය - තිරය ඔබෙන් ඉවතට සිටින ලෙස උපාංගය අල්ලාගෙන සිටින්න (තිරය-බැහැර ප්‍රකාරය) - ටේබල්ටොප් ප්‍රකාරය - උපාංගය මේසයක් මත සමතලව තබන්න (ටේබල්ටොප් ප්‍රකාරය) - ඔබ උපාංගය අල්ලන ආකාරයට අනුවර්තනය වන්න - diff --git a/braille/common/src/phone/res/values-sk/strings.xml b/braille/common/src/phone/res/values-sk/strings.xml deleted file mode 100644 index 1b098001f..000000000 --- a/braille/common/src/phone/res/values-sk/strings.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Číslo - Limit - Text %s bol odstránený - - bod %s - body %s - body %s - body %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Španielčina - Arabčina - Francúzština - Poľština - Režim obrátenia obrazovky - Držte zariadenie obrazovkou od seba (režim obrátenia obrazovky) - Stolový režim - Položte zariadenie vodorovne na stôl (stolový režim) - Prispôsobiť tomu, ako držím zariadenie - diff --git a/braille/common/src/phone/res/values-sl/strings.xml b/braille/common/src/phone/res/values-sl/strings.xml deleted file mode 100644 index 152e59624..000000000 --- a/braille/common/src/phone/res/values-sl/strings.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Številka - Velika črka - Besedilo »%s« je izbrisano - - pike %s - pike %s - pike %s - pike %s - - Neskrčena poenotena angleška braillova pisava - Skrčena poenotena angleška braillova pisava - španščina - arabščina - francoščina - poljščina - Način s proč obrnjenim zaslonom - Zaslon naprave naj bo obrnjen stran od vas (način s proč obrnjenim zaslonom) - Namizni način - Napravo položite plosko na mizo (namizni način z zaslonom navzgor) - Prilagoditev vašemu načinu držanja naprave - diff --git a/braille/common/src/phone/res/values-sq/strings.xml b/braille/common/src/phone/res/values-sq/strings.xml deleted file mode 100644 index bea3032d1..000000000 --- a/braille/common/src/phone/res/values-sq/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Numër - Kapitalizim - %s u fshi - - pika %s - pikat %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Spanjisht - Arabisht - Frëngjisht - Polonisht - Modaliteti i \"Ekranit larg\" - Mbaje pajisjen me ekranin të drejtuar larg vetes (modaliteti i \"Ekranit larg\") - Modaliteti i \"Tavolinës\" - Vendose pajisjen rrafsh mbi tavolinë (modaliteti i \"Tavolinës\"). - Përshtate me mënyrën se si e mban pajisjen - diff --git a/braille/common/src/phone/res/values-sr/strings.xml b/braille/common/src/phone/res/values-sr/strings.xml deleted file mode 100644 index 7ebff5e2f..000000000 --- a/braille/common/src/phone/res/values-sr/strings.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - Број - Велико слово - Избрисано: %s - - тачке %s - тачке %s - тачке %s - - Обједињена енглеска брајева азбука без скраћеница - Обједињена енглеска брајева азбука са скраћеницама - шпански - арапски - француски - пољски - Режим рада са екраном надоле - Држите уређај тако да екран буде окренут од вас (режим рада са екраном надоле) - Стони режим - Поставите уређај равно на сто (стони режим) - Прилагодите начину на који држите уређај - diff --git a/braille/common/src/phone/res/values-sv/strings.xml b/braille/common/src/phone/res/values-sv/strings.xml deleted file mode 100644 index 7ba7caee5..000000000 --- a/braille/common/src/phone/res/values-sv/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Nummer - Versaler - %s har raderats - - punkt %s - punkterna %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - spanska - arabiska - franska - polska - Bortvänt läge - Håll enheten med skärmen vänd bort från dig (bortvänt läge) - Bordsläge - Lägg enheten på ett bord (bordsläge) - Anpassa efter hur jag håller enheten - diff --git a/braille/common/src/phone/res/values-sw/strings.xml b/braille/common/src/phone/res/values-sw/strings.xml deleted file mode 100644 index bd9bb533e..000000000 --- a/braille/common/src/phone/res/values-sw/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Nambari - Herufi kubwa - Umefuta %s - - nukta nundu ya %s - nukta nundu za %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Kihispania - Kiarabu - Kifaransa - Kipolandi - Hali ya skrini kuangalia mbele - Shikilia kifaa skrini ikiwa imeangalia kinyume na ulipo (hali ya skrini kuangalia mbele) - Hali ya juu ya meza - Laza kifaa chako mezani (hali ya juu ya meza) - Tambua jinsi unavyoshika kifaa - diff --git a/braille/common/src/phone/res/values-ta/strings.xml b/braille/common/src/phone/res/values-ta/strings.xml deleted file mode 100644 index 4f34d5b76..000000000 --- a/braille/common/src/phone/res/values-ta/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - எண் - பேரெழுத்தாக்கம் - %s நீக்கப்பட்டது - - %s புள்ளி - %s புள்ளிகள் - - ஒருங்கிணைந்த ஆங்கில பிரெய்லின் விரிவான வடிவம் - ஒருங்கிணைந்த ஆங்கில பிரெய்லின் சுருக்க வடிவம் - ஸ்பானிஷ் - அரபிக் - ஃபிரெஞ்சு - போலிஷ் - திரை எதிர்ப்பக்கம் பார்த்திருத்தல் பயன்முறை - திரை எதிர்ப்பக்கம் பார்த்திருக்குமாறு பிடிக்கவும் (திரை எதிர்ப்பக்கம் பார்த்திருத்தல் பயன்முறை) - டேபிள்டாப் பயன்முறை - சாதனத்தை டேபிளின் மீது கிடைமட்டமாக வைக்கவும் (டேபிள்டாப் பயன்முறை) - சாதனத்தை வைத்திருப்பதற்கேற்ப மாற்று - diff --git a/braille/common/src/phone/res/values-te/strings.xml b/braille/common/src/phone/res/values-te/strings.xml deleted file mode 100644 index e30947780..000000000 --- a/braille/common/src/phone/res/values-te/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - నంబర్ - క్యాపిటలైజేషన్ - %s తొలగించబడింది - - %s చుక్క - %s చుక్కలు - - సంక్షిప్తం కాని యూనిఫైడ్ ఇంగ్లీష్ బ్రెయిలీ - సంక్షిప్తం అయిన యూనిఫైడ్ ఇంగ్లీష్ బ్రెయిలీ - స్పానిష్ - అరబిక్ - ఫ్రెంచ్ - పోలిష్ - స్క్రీన్‌కు దూరంగా ఉన్నట్లు సూచించే మోడ్ - మీ నుండి స్క్రీన్‌ను దూరంగా ఉండేలా పరికరాన్ని పట్టుకోండి (స్క్రీన్‌కు దూరంగా ఉన్నట్లు సూచించే మోడ్) - టేబుల్‌టాప్ సెట్టింగ్ మోడ్ - పరికరాన్ని టేబుల్‌లో ఫ్లాట్‌గా ఉంచండి (టేబుల్‌టాప్ సెట్టింగ్ మోడ్) - మీరు పరికరాన్ని పట్టుకున్న ప్రకారం మార్పులు - diff --git a/braille/common/src/phone/res/values-th/strings.xml b/braille/common/src/phone/res/values-th/strings.xml deleted file mode 100644 index 20e7c8e64..000000000 --- a/braille/common/src/phone/res/values-th/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - ลำดับ - จำนวนเงินสูงสุด - ลบ %s แล้ว - - จุด %s - จุด %s - - Unified English Braille แบบไม่ย่อ - Unified English Braille แบบย่อ - ภาษาสเปน - อาหรับ - ฝรั่งเศส - ภาษาโปแลนด์ - โหมดหันหน้าจอออก - ถืออุปกรณ์โดยให้หันหน้าจอออกจากตัว (โหมดหันหน้าจอออก) - โหมดบนโต๊ะ - วางอุปกรณ์ราบลงบนโต๊ะ (โหมดบนโต๊ะ) - ปรับให้เข้ากับวิธีที่คุณถืออุปกรณ์ - diff --git a/braille/common/src/phone/res/values-tl/strings.xml b/braille/common/src/phone/res/values-tl/strings.xml deleted file mode 100644 index 83b559372..000000000 --- a/braille/common/src/phone/res/values-tl/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Numero - Cap - %s ang na-delete - - dot %s - dot %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Spanish - Arabic - French - Polish - Screen-away mode - Hawakan ang device nang nakatalikod sa iyo ang screen (screen-away mode) - Tabletop mode - Ilapag ang device nang naka-flat sa mesa (tabletop mode) - Umangkop sa paghawak mo sa device - diff --git a/braille/common/src/phone/res/values-tr/strings.xml b/braille/common/src/phone/res/values-tr/strings.xml deleted file mode 100644 index ae8af6187..000000000 --- a/braille/common/src/phone/res/values-tr/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Sayı - Büyük harf - %s silindi - - %s nokta - %s nokta - - Unified English Braille (Kısaltılmamış) - Unified English Braille (Kısaltılmış) - İspanyolca - Arapça - Fransızca - Lehçe - Ekran karşıda modu - Cihazı, ekranı size dönük olmayacak şekilde tutun (ekran karşıda modu) - Masa üstünde modu - Cihazı, düz bir şekilde masanın üzerine koyun (masa üstünde modu) - Cihazı tutuş şeklime göre belirle - diff --git a/braille/common/src/phone/res/values-uk/strings.xml b/braille/common/src/phone/res/values-uk/strings.xml deleted file mode 100644 index f9e34fe23..000000000 --- a/braille/common/src/phone/res/values-uk/strings.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - Номер - Великі літери - Видалено: %s - - крапка %s - крапка %s - крапка %s - крапка %s - - Unified English Braille Uncontracted - Unified English Braille Contracted - Іспанська - Арабська - Французька - Польська - Режим \"Екран від себе\" - Утримуйте пристрій екраном від себе (режим \"Екран від себе\") - Настільний режим - Покладіть пристрій на стіл (настільний режим) - Пристосовувати до поточної орієнтації - diff --git a/braille/common/src/phone/res/values-ur/strings.xml b/braille/common/src/phone/res/values-ur/strings.xml deleted file mode 100644 index 6fbb3fd6e..000000000 --- a/braille/common/src/phone/res/values-ur/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - نمبر - کیپ - %s حذف ہو گیا - - %s ڈاٹ - %s نقطے - - غیر معاہدہ کردہ یونیفائیڈ انگریزی بریل - معاہدہ کردہ یونیفائیڈ انگریزی بریل - ہسپانوی - عربی - فرانسيسی - پولش - اسکرین سے دور کی وضع - آلے کو اس طرح پکڑیں کہ اس کی سکرین آپ سے دور ہو (اسکرین سے دور کی وضع) - ٹیبل ٹاپ وضع - آلے کو ایک ٹیبل پر سیدھا رکھیں (ٹیبل ٹاپ وضع) - اپنا آلہ پکڑنے کے طریقے کو موافق بنائیں - diff --git a/braille/common/src/phone/res/values-uz/strings.xml b/braille/common/src/phone/res/values-uz/strings.xml deleted file mode 100644 index cc8152a78..000000000 --- a/braille/common/src/phone/res/values-uz/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Raqam - Bosh harf - %s oʻchirib tashlandi - - %s-nuqta - %s-nuqta - - Yagona ingliz brayl alifbosi shartnomasiz - Yagona ingliz brayl alifbosi shartnomali - Ispan - Arab - Fransuz - Polyak - Ekran qarshisida rejimi - Qurilma ekranini oʻzingizga teskari tuting (ekran qarshisida rejimi) - Stol usti rejimi - Qurilmangizni stol ustiga tekis yotqizing (stol ustida rejimi) - Qurilmani ushlash holatini aniqlash - diff --git a/braille/common/src/phone/res/values-vi/strings.xml b/braille/common/src/phone/res/values-vi/strings.xml deleted file mode 100644 index 2a422c668..000000000 --- a/braille/common/src/phone/res/values-vi/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Số - Viết hoa - Đã xóa %s - - dấu chấm %s - dấu chấm %s - - Chữ nổi tiếng Anh hợp nhất không rút gọn - Chữ nổi tiếng Anh hợp nhất rút gọn - Tiếng Tây Ban Nha - Tiếng Ả Rập - Tiếng Pháp - Tiếng Ba Lan - Chế độ màn hình hướng ra ngoài - Cầm thiết bị sao cho màn hình hướng ra phía ngoài (chế độ màn hình hướng ra ngoài) - Chế độ trên mặt bàn - Đặt thiết bị nằm trên bàn (chế độ trên mặt bàn) - Thích ứng với cách bạn cầm thiết bị - diff --git a/braille/common/src/phone/res/values-zh-rCN/strings.xml b/braille/common/src/phone/res/values-zh-rCN/strings.xml deleted file mode 100644 index a4b275a82..000000000 --- a/braille/common/src/phone/res/values-zh-rCN/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - 数字 - 大写 - 已删除%s - - %s 点 - %s 点 - - 统一英语盲文(非简写模式) - 统一英语盲文(简写模式) - 西班牙语 - 阿拉伯语 - 法语 - 波兰语 - 屏幕朝外模式 - 拿握设备,让屏幕背对着您(屏幕朝外模式) - 桌面模式 - 将设备平放在桌子上(桌面模式) - 适应您拿握设备的方式 - diff --git a/braille/common/src/phone/res/values-zh-rHK/strings.xml b/braille/common/src/phone/res/values-zh-rHK/strings.xml deleted file mode 100644 index 8b73f178f..000000000 --- a/braille/common/src/phone/res/values-zh-rHK/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - 數字 - 大楷 - 刪除咗%s - - %s 點 - %s 點 - - 統一英文一級點字 - 統一英文二級點字 - 西班牙文 - 阿拉伯文 - 法文 - 波蘭文 - 螢幕向外模式 - 握住裝置,並將螢幕 (螢幕向外模式) - 桌面模式 - 將裝置平放在桌面上 (桌面模式) - 配合您手持裝置的方式 - diff --git a/braille/common/src/phone/res/values-zh-rTW/strings.xml b/braille/common/src/phone/res/values-zh-rTW/strings.xml deleted file mode 100644 index 167a9f886..000000000 --- a/braille/common/src/phone/res/values-zh-rTW/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - 數字 - 大寫 - 已刪除%s - - %s 點 - %s 點 - - 統一英文一級點字 - 統一英文二級點字 - 西班牙文 - 阿拉伯文 - 法文 - 波蘭語 - 螢幕朝外模式 - 握住裝置,並將螢幕朝外 (螢幕朝外模式) - 桌面模式 - 將裝置平放在桌上 (桌面模式) - 配合你手持裝置的方式 - diff --git a/braille/common/src/phone/res/values-zu/strings.xml b/braille/common/src/phone/res/values-zu/strings.xml deleted file mode 100644 index 9b1f9fea7..000000000 --- a/braille/common/src/phone/res/values-zu/strings.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - Inombolo - Umkhawulo - %s kususiwe - - amachashazi %s - amachashazi %s - - I-Unified English Braille Uncontracted - I-Unified English Braille Contracted - Isi-Spanish - Isi-Arabic - Isi-French - Isi-Polish - Imodi yokuba kude nesikrini - Bamba idivayisi ukude nesikrini (imodi yokuba kude nesikrini) - Imodi ye-tabletop - Beka phansi idivayisi (imodi ye-tabletop) - Jwayelana nendlela obamba ngayo idivayisi - diff --git a/braille/common/src/phone/res/values/preference_keys.xml b/braille/common/src/phone/res/values/preference_keys.xml index e268eb337..3e4b97576 100644 --- a/braille/common/src/phone/res/values/preference_keys.xml +++ b/braille/common/src/phone/res/values/preference_keys.xml @@ -25,4 +25,6 @@ pref_search_tutorial_never_show braille_word_wrap pref_bd_output_code + pref_bd_show_switch_input_code_gesture_tip + pref_bd_show_switch_output_code_gesture_tip diff --git a/braille/common/src/phone/res/values/strings.xml b/braille/common/src/phone/res/values/strings.xml index 734e02f5d..573848ce0 100644 --- a/braille/common/src/phone/res/values/strings.xml +++ b/braille/common/src/phone/res/values/strings.xml @@ -1,5 +1,9 @@ + + Don’t show this again + + Done Number diff --git a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleCharacter.java b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleCharacter.java index d73bbb86e..2191fb7d9 100644 --- a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleCharacter.java +++ b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleCharacter.java @@ -33,11 +33,25 @@ * each of which can be on or off (raised or unraised). */ public class BrailleCharacter { - - private static final Range DOT_RANGE = new Range<>(1, 8); - + public static final BrailleCharacter EMPTY_CELL = new BrailleCharacter(); + public static final BrailleCharacter FULL_CELL = new BrailleCharacter("12345678"); + public static final BrailleCharacter DOT1 = new BrailleCharacter("1"); + public static final BrailleCharacter DOT2 = new BrailleCharacter("2"); + public static final BrailleCharacter DOT3 = new BrailleCharacter("3"); + public static final BrailleCharacter DOT4 = new BrailleCharacter("4"); + public static final BrailleCharacter DOT5 = new BrailleCharacter("5"); + public static final BrailleCharacter DOT6 = new BrailleCharacter("6"); + public static final BrailleCharacter DOT7 = new BrailleCharacter("7"); + public static final BrailleCharacter DOT8 = new BrailleCharacter("8"); + public static final int DOT_COUNT = 8; + private static final Range DOT_RANGE = new Range<>(1, DOT_COUNT); private final BitSet dotNumbers; + /** Creates an empty braille character. */ + public BrailleCharacter() { + this.dotNumbers = new BitSet(DOT_COUNT); + } + /** * Creates a {@link BrailleCharacter} from a collection of dot numbers. * @@ -45,7 +59,7 @@ public class BrailleCharacter { * thrown. */ public BrailleCharacter(Collection dotNumbers) { - this.dotNumbers = new BitSet(); + this(); for (Integer dotNumber : dotNumbers) { checkArgument(DOT_RANGE.contains(dotNumber), "dot %s out of range %s", dotNumber, DOT_RANGE); // Maps dot number (1 to 8) to bit (0 to 7). @@ -53,6 +67,32 @@ public BrailleCharacter(Collection dotNumbers) { } } + /** + * Creates a braille character from dot numbers string. + * + *

For example the input "12" creates a {@link BrailleCharacter} with dots 1 and 2. + * + *

Passing in the empty string returns an empty character. + */ + public BrailleCharacter(String dots) { + this(); + for (char c : dots.toCharArray()) { + int digit = Character.digit(c, DOT_COUNT + 1); + checkArgument(digit != -1, "dot %s out of range", c); + this.dotNumbers.set(digit - 1); + } + } + + /** + * Creates a {@link BrailleCharacter} from a BitSet. + * + *

The length must be less than 8, otherwise {@link IllegalArgumentException} is thrown. + */ + public BrailleCharacter(BitSet bitSet) { + checkArgument(bitSet.length() <= DOT_COUNT, "Bitset length %s out of range", bitSet.length()); + this.dotNumbers = bitSet; + } + /** * Creates a {@link BrailleCharacter} from a collection of dot numbers. * @@ -72,6 +112,30 @@ public BrailleCharacter(byte b) { this.dotNumbers = BitSet.valueOf(new byte[] {b}); } + /** Intersects this {@link BrailleCharacter} with another, creating a new one. */ + public BrailleCharacter intersect(BrailleCharacter arg) { + BitSet dotNumbersCopy = (BitSet) dotNumbers.clone(); + dotNumbersCopy.and(arg.dotNumbers); + return new BrailleCharacter(dotNumbersCopy); + } + + /** Intersects this {@link BrailleCharacter} with another, mutating this. */ + public void intersectMutate(BrailleCharacter arg) { + dotNumbers.and(arg.dotNumbers); + } + + /** Unions this {@link BrailleCharacter} with another, creating a new one. */ + public BrailleCharacter union(BrailleCharacter arg) { + BitSet dotNumbersCopy = (BitSet) dotNumbers.clone(); + dotNumbersCopy.or(arg.dotNumbers); + return new BrailleCharacter(dotNumbersCopy); + } + + /** Unions this {@link BrailleCharacter} with another, mutating this. */ + public void unionMutate(BrailleCharacter arg) { + dotNumbers.or(arg.dotNumbers); + } + /** Returns the number of on dots. */ public int getOnCount() { return dotNumbers.cardinality(); diff --git a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleDisplayForBrailleIme.java b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleDisplayForBrailleIme.java index 5404dc800..98efae3a7 100644 --- a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleDisplayForBrailleIme.java +++ b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleDisplayForBrailleIme.java @@ -15,29 +15,23 @@ */ package com.google.android.accessibility.braille.interfaces; -import android.util.Range; import com.google.auto.value.AutoValue; import java.nio.ByteBuffer; /** Allows BrailleIme to signal to BrailleDisplay. */ public interface BrailleDisplayForBrailleIme { - /** Tells BrailleDisplay to show the result on a braille display. */ void showOnDisplay(ResultForDisplay result); - /** Whether a physical braille display is connected and not suspended. */ boolean isBrailleDisplayConnectedAndNotSuspended(); - /** Suspends braille display so it will not render dots and receive inputs. */ void suspendInFavorOfBrailleKeyboard(); - /** Results returns to BrailleDisplay. */ @AutoValue - public abstract class ResultForDisplay { - + abstract class ResultForDisplay { public abstract CharSequence onScreenText(); - public abstract Range textSelectionRange(); + public abstract SelectionRange textSelection(); public abstract HoldingsInfo holdingsInfo(); @@ -47,17 +41,24 @@ public abstract class ResultForDisplay { public abstract String action(); + public abstract boolean showPassword(); + public static ResultForDisplay.Builder builder() { - return new AutoValue_BrailleDisplayForBrailleIme_ResultForDisplay.Builder(); + return new AutoValue_BrailleDisplayForBrailleIme_ResultForDisplay.Builder() + .setOnScreenText("") + .setAction("") + .setHint("") + .setTextSelection(new SelectionRange(0, 0)) + .setHoldingsInfo(HoldingsInfo.create(ByteBuffer.wrap(new byte[] {}), -1)) + .setIsMultiLine(false) + .setShowPassword(false); } - /** Builder for result to braille display. */ @AutoValue.Builder public abstract static class Builder { - public abstract Builder setOnScreenText(CharSequence onScreenText); - public abstract Builder setTextSelectionRange(Range range); + public abstract Builder setTextSelection(SelectionRange range); public abstract Builder setHoldingsInfo(HoldingsInfo holdingsInfo); @@ -67,6 +68,8 @@ public abstract static class Builder { public abstract Builder setAction(String action); + public abstract Builder setShowPassword(boolean showPassword); + public abstract ResultForDisplay build(); } diff --git a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleDots.java b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleDots.java deleted file mode 100644 index 765cb944d..000000000 --- a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleDots.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.google.android.accessibility.braille.interfaces; - -/** - * Braille dot bit pattern constants. - * - *

Braille dots are represented with 8 bits, where the bit at position 0 means the presence or - * absence of dot 1, and the bit at position 7 means the presence or absence of dot 8. For example, - * the cell with dots 1 and 3 present (raised) is DOT1 | DOT3 - in binary, 0b00000005. - */ -public class BrailleDots { - - public static final int EMPTY_CELL = 0x00; - public static final int FULL_CELL = 0xff; - public static final int DOT1 = 0x01; - public static final int DOT2 = 0x02; - public static final int DOT3 = 0x04; - public static final int DOT4 = 0x08; - public static final int DOT5 = 0x10; - public static final int DOT6 = 0x20; - public static final int DOT7 = 0x40; - public static final int DOT8 = 0x80; - - private BrailleDots() {} -} diff --git a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleImeForBrailleDisplay.java b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleImeForBrailleDisplay.java index b8c157056..c10255afc 100644 --- a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleImeForBrailleDisplay.java +++ b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleImeForBrailleDisplay.java @@ -18,21 +18,29 @@ /** Allows BrailleDisplay to signal to BrailleIme. */ public interface BrailleImeForBrailleDisplay { /** The result of actions. */ - public enum Result { + enum Result { SUCCESS, REACH_EDGE, INVALID_INPUT_CONNECTION, } /** Tells BrailleIme to move the cursor of the editing text forward. */ - default Result moveCursorForward() { - return Result.SUCCESS; - } + boolean moveCursorForward(); /** Tells BrailleIme to move the cursor of the editing text backward. */ - default Result moveCursorBackward() { - return Result.SUCCESS; - } + boolean moveCursorBackward(); + + /** Tells BrailleIme to move the cursor of the editing text forward by word. */ + boolean moveCursorForwardByWord(); + + /** Tells BrailleIme to move the cursor of the editing text backward by word. */ + boolean moveCursorBackwardByWord(); + + /** Tells BrailleIme to move the cursor of the editing text forward by line. */ + boolean moveCursorForwardByLine(); + + /** Tells BrailleIme to move the cursor of the editing text backward by line. */ + boolean moveCursorBackwardByLine(); /** When a physical braille display is connected, informs BrailleIme. */ void onBrailleDisplayConnected(); @@ -43,29 +51,32 @@ default Result moveCursorBackward() { /** Sends the input from a physical braille display to BrailleIme. */ boolean sendBrailleDots(BrailleCharacter dots); - /** Tells BrailleIme to move the cursor of the editing text forward by line. */ - boolean moveCursorForwardByLine(); - - /** Tells BrailleIme to move the cursor of the editing text backward by line. */ - boolean moveCursorBackwardByLine(); - /** Tells BrailleIme to move the cursor in the text field to a specified position. */ boolean moveTextFieldCursor(int toIndex); /** Tells BrailleIme to move the cursor of holdings to a specified position. */ boolean moveHoldingsCursor(int toIndex); + /** Tells BrailleIme to move the cursor to the beginning of the text field. */ + boolean moveCursorToBeginning(); + + /** Tells BrailleIme to move the cursor to the end of the text field. */ + boolean moveCursorToEnd(); + /** Tells BrailleIme to delete the editing text before cursor. */ boolean deleteBackward(); - /** Tells BrailleIme to delete the editing text after cursor. */ - boolean deleteForward(); + /** Tells BrailleIme to delete the editing word before cursor. */ + boolean deleteWordBackward(); + + /** Tells BrailleIme commit holdings to the editor. */ + void commitHoldings(); - /** Commits the holdings and perform editor's default action. */ - boolean submit(); + /** Tells BrailleIme commit holdings to the editor and perform editor's default action. */ + boolean commitHoldingsAndPerformEditorAction(); - /** Performs enter key action. */ - boolean performEnterKeyAction(); + /** Tells BrailleIme commit holdings to the editor and performs enter key action. */ + boolean commitHoldingsAndPerformEnterKeyAction(); /** Tells BrailleIme to hide itself. */ void hideKeyboard(); diff --git a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleWord.java b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleWord.java index e14cf4c06..76c293b3d 100644 --- a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleWord.java +++ b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/BrailleWord.java @@ -34,6 +34,20 @@ public BrailleWord() { list = new ArrayList<>(); } + /** Creates a new {@link BrailleWord}. */ + public BrailleWord(BrailleWord brailleWord) { + this(); + append(brailleWord); + } + + /** Creates a new {@link BrailleWord} with repeated times. */ + public BrailleWord(BrailleWord brailleWord, int times) { + this(); + for (int i = 0; i < times; i++) { + append(brailleWord); + } + } + /** Creates a word from a collection of {@link BrailleCharacter}. */ public BrailleWord(Collection characters) { this(); @@ -52,11 +66,7 @@ public BrailleWord(Collection characters) { public BrailleWord(String dashDelimited) { this(); for (String token : Splitter.on('-').omitEmptyStrings().split(dashDelimited)) { - List dotNumbers = new ArrayList<>(); - for (int i = 0; i < token.length(); i++) { - dotNumbers.add(Character.getNumericValue(token.charAt(i))); - } - list.add(new BrailleCharacter(dotNumbers)); + list.add(new BrailleCharacter(token)); } } @@ -78,15 +88,28 @@ public static BrailleWord create(String dashDelimited) { } /** Appends a {@link BrailleCharacter} to the end of the word. */ - public void add(BrailleCharacter brailleCharacter) { + public void append(BrailleCharacter brailleCharacter) { list.add(brailleCharacter); } + /** Appends a {@link BrailleWord} to the end of the word. */ + public void append(BrailleWord brailleWord) { + list.addAll(brailleWord.list); + } + /** Inserts a {@link BrailleCharacter} to the specified position of the word. */ public void insert(int index, BrailleCharacter brailleCharacter) { list.add(index, brailleCharacter); } + /** + * Replaces {@link BrailleCharacter} at the specified position with the specified {@link + * BrailleCharacter}. + */ + public void set(int index, BrailleCharacter brailleCharacter) { + list.set(index, brailleCharacter); + } + /** * Removes and returns the {@link BrailleCharacter} found at the specified index or throws {@link * IndexOutOfBoundsException} if {@code index < 0} or {@code index >= size()}. diff --git a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/SelectionRange.java b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/SelectionRange.java new file mode 100644 index 000000000..6a1d98b3e --- /dev/null +++ b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/SelectionRange.java @@ -0,0 +1,48 @@ +package com.google.android.accessibility.braille.interfaces; + +import java.util.Objects; + +/** Index of start and end of selected text. */ +public class SelectionRange { + /** The start selection index. */ + public final int start; + /** The end selection index. */ + public final int end; + + public SelectionRange(int start, int end) { + this.start = start; + this.end = end; + } + + /** Gets the upper index within {@link SelectionRange#start} and {@link SelectionRange#end}. */ + public int getUpper() { + return Math.max(start, end); + } + + /** Gets the lower index within {@link SelectionRange#start} and {@link SelectionRange#end}. */ + public int getLower() { + return Math.min(start, end); + } + + @Override + public int hashCode() { + return Objects.hash(start, end); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof SelectionRange)) { + return false; + } + SelectionRange selection = (SelectionRange) o; + return start == selection.start && end == selection.end; + } + + @Override + public String toString() { + return String.format("SelectionRange {start=%s, end=%s}", start, end); + } +} diff --git a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/TalkBackForBrailleDisplay.java b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/TalkBackForBrailleDisplay.java index 84b45ce55..e51ef7e4f 100644 --- a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/TalkBackForBrailleDisplay.java +++ b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/TalkBackForBrailleDisplay.java @@ -18,11 +18,12 @@ import androidx.annotation.Nullable; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.accessibility.utils.FocusFinder; +import com.google.android.accessibility.utils.output.SpeechController.SpeakOptions; /** Exposes some TalkBack behavior to BrailleDisplay. */ public interface TalkBackForBrailleDisplay { /** Performs specific actions for screen reader. */ - boolean performAction(ScreenReaderAction action); + boolean performAction(ScreenReaderAction action, Object... arg); /** Gets accessibility focus node. */ AccessibilityNodeInfoCompat getAccessibilityFocusNode(boolean fallbackOnRoot); @@ -43,23 +44,25 @@ public interface TalkBackForBrailleDisplay { @Nullable BrailleImeForBrailleDisplay getBrailleImeForBrailleDisplay(); + /** TalkBack provides the ability to speak an announcement. */ + void speak(CharSequence charSequence, int delayMs, SpeakOptions speakOptions); + /** Screen reader actions. */ public enum ScreenReaderAction { NEXT_ITEM, PREVIOUS_ITEM, NEXT_LINE, PREVIOUS_LINE, + NEXT_WINDOW, + PREVIOUS_WINDOW, SCROLL_FORWARD, SCROLL_BACKWARD, NAVIGATE_TO_TOP, NAVIGATE_TO_BOTTOM, - ACTIVATE_CURRENT, - NEXT_SECTION, - PREVIOUS_SECTION, - CONTROL_NEXT, - CONTROL_PREVIOUS, - NEXT_LIST, - PREVIOUS_LIST, + CLICK_CURRENT, + CLICK_NODE, + LONG_CLICK_CURRENT, + LONG_CLICK_NODE, SCREEN_SEARCH, OPEN_TALKBACK_MENU, GLOBAL_HOME, @@ -68,6 +71,12 @@ public enum ScreenReaderAction { GLOBAL_NOTIFICATIONS, GLOBAL_QUICK_SETTINGS, GLOBAL_ALL_APPS, + WEB_NEXT_HEADING, + WEB_PREVIOUS_HEADING, + WEB_NEXT_CONTROL, + WEB_PREVIOUS_CONTROL, + WEB_NEXT_LINK, + WEB_PREVIOUS_LINK, } /** Custom label actions. */ diff --git a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/TalkBackForBrailleIme.java b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/TalkBackForBrailleIme.java index dc44458a9..0b1da980c 100644 --- a/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/TalkBackForBrailleIme.java +++ b/braille/interfaces/src/main/java/com/google/android/accessibility/braille/interfaces/TalkBackForBrailleIme.java @@ -45,6 +45,9 @@ void onBrailleImeActivated( */ void onBrailleImeInactivated(boolean usePassThrough); + /** TalkBack provides the ability to enable BrailleIme. */ + boolean setInputMethodEnabled(); + /** TalkBack provides its privileged WindowManager to BrailleIme. */ WindowManager getWindowManager(); diff --git a/braille/translate/src/phone/AndroidManifest.xml b/braille/translate/src/phone/AndroidManifest.xml index eb0bf8583..214898eff 100644 --- a/braille/translate/src/phone/AndroidManifest.xml +++ b/braille/translate/src/phone/AndroidManifest.xml @@ -4,6 +4,6 @@ android:versionCode="1" android:versionName="1.0"> diff --git a/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/BrailleTranslator.java b/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/BrailleTranslator.java index 32d1d4afc..1fdf36a96 100644 --- a/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/BrailleTranslator.java +++ b/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/BrailleTranslator.java @@ -36,5 +36,6 @@ public interface BrailleTranslator { * underneath the cursor will be expanded into computer braille (if using a literary braille * table). */ - TranslationResult translate(String text, int cursorPosition, boolean computerBrailleAtCursor); + TranslationResult translate( + CharSequence text, int cursorPosition, boolean computerBrailleAtCursor); } diff --git a/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/TranslationResult.java b/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/TranslationResult.java index 2e75d8d64..2ef9ced5e 100644 --- a/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/TranslationResult.java +++ b/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/TranslationResult.java @@ -16,141 +16,125 @@ package com.google.android.accessibility.braille.translate; -import android.os.Parcel; -import android.os.Parcelable; -import com.google.android.accessibility.braille.interfaces.BrailleDots; +import static com.google.android.accessibility.braille.interfaces.BrailleCharacter.EMPTY_CELL; + +import com.google.android.accessibility.braille.interfaces.BrailleCharacter; +import com.google.android.accessibility.braille.interfaces.BrailleWord; import com.google.android.apps.common.proguard.UsedByNative; -import java.util.Arrays; -import java.util.Objects; +import com.google.auto.value.AutoValue; +import com.google.common.collect.ImmutableList; +import java.util.ArrayList; +import java.util.List; /** * The result of translating text to braille, including character to cell mappings in both * directions. + * + *

    + * For example, "phone|", the translation result in UEB2 is: + *
      + *
    • text: "phone" + *
    • cells: 1234-125-5-135 + *
    • + *
        + * text to braille positions: [0,1,2,2,2] + *
      • with p mapping to 1234 at the index 0 + *
      • with h mapping to 125 at the index 1 + *
      • with o mapping to 5-135 starting at the index 2 + *
      • with n mapping to 5-135 starting at the index 2 + *
      • with e mapping to 5-135 starting at the index 2 + *
      + *
        + * braille to text positions: [0,1,2,2] + *
      • with 123 mapping to p at the index 0 + *
      • with 125 mapping to h at the index 1 + *
      • with 5 mapping to one starting at the index 2 + *
      • with 135 mapping to one starting at the index 2 + *
      + *
    • cursor position in braille: 4 */ -@UsedByNative("TranslationResult.java") -public class TranslationResult implements Parcelable { +@AutoValue +@UsedByNative("louis_translation.cc") +public abstract class TranslationResult { + + /** Texts to be translated in braille. */ + public abstract CharSequence text(); /** Braille characters in byte array. */ - private final byte[] cells; + public abstract BrailleWord cells(); /** * The mapping of each character of print to its position in braille. an(1-1345) is [0, 1]. a is * translated to 1, which is at the position 0 of all braille. */ - private final int[] textToBraillePositions; + public abstract ImmutableList textToBraillePositions(); /** * The mapping of each braille character to its position in print. an(1-1345) is [0, 1]. 1 is is * the translation of a, which is at the position 0 of "an". */ - private final int[] brailleToTextPositions; - /** The text cursor position in braille. */ - private final int cursorPosition; + public abstract ImmutableList brailleToTextPositions(); - @UsedByNative("TranslationResult.java") - /** - * Creates a translation result of print to braille, the mapping of each character of print to - * braille, the mapping of each braille to print and the cursor position in braille. - */ - public TranslationResult( - byte[] cells, - int[] textToBraillePositions, - int[] brailleToTextPositions, - int cursorPosition) { - this.cells = cells; - this.textToBraillePositions = textToBraillePositions; - this.brailleToTextPositions = brailleToTextPositions; - this.cursorPosition = cursorPosition; - } - - private TranslationResult(Parcel in) { - cells = in.createByteArray(); - textToBraillePositions = in.createIntArray(); - brailleToTextPositions = in.createIntArray(); - cursorPosition = in.readInt(); - } - - /** Returns the braille cells corresponding to the original text. */ - public byte[] getCells() { - return cells; - } - - /** Maps a position in the original text to the corresponding position in the braille cells. */ - public int[] getTextToBraillePositions() { - return textToBraillePositions; - } - - /** Maps a position in the braille cells to the corresponding position in the original text. */ - public int[] getBrailleToTextPositions() { - return brailleToTextPositions; - } + /** The text cursor position in braille. */ + public abstract Integer cursorBytePosition(); - /** - * Returns the cursor position corresponding to the cursor position specified when translating the - * text, or -1, if there was no cursor position specified. - */ - public int getCursorPosition() { - return cursorPosition; + public static Builder builder() { + return new AutoValue_TranslationResult.Builder(); } - // For Parcelable support. + /** Builder for translation result. */ + @AutoValue.Builder + public abstract static class Builder { - public static final Creator CREATOR = - new Creator() { - @Override - public TranslationResult createFromParcel(Parcel in) { - return new TranslationResult(in); - } + /** Returns text to be translated. */ + public abstract Builder setText(CharSequence text); - @Override - public TranslationResult[] newArray(int size) { - return new TranslationResult[size]; - } - }; + /** Returns the braille cells corresponding to the original text. */ + public abstract Builder setCells(BrailleWord cells); - @Override - public int describeContents() { - return 0; - } + /** Maps a position in the original text to the corresponding position in the braille cells. */ + public abstract Builder setTextToBraillePositions(List textToBraillePositions); - @Override - public void writeToParcel(Parcel out, int flags) { - out.writeByteArray(cells); - out.writeIntArray(textToBraillePositions); - out.writeIntArray(brailleToTextPositions); - out.writeInt(cursorPosition); - } + /** Maps a position in the braille cells to the corresponding position in the original text. */ + public abstract Builder setBrailleToTextPositions(List brailleToTextPositions); - @Override - public int hashCode() { - return Objects.hash( - Arrays.hashCode(cells), - Arrays.hashCode(textToBraillePositions), - Arrays.hashCode(brailleToTextPositions), - cursorPosition); - } + /** + * Returns the cursor position corresponding to the cursor position specified when translating + * the text, or -1, if there was no cursor position specified. + */ + public abstract Builder setCursorBytePosition(int cursorBytePosition); - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (!(o instanceof TranslationResult)) { - return false; - } - TranslationResult translationResult = (TranslationResult) o; - return Arrays.equals(cells, translationResult.cells) - && Arrays.equals(textToBraillePositions, translationResult.textToBraillePositions) - && Arrays.equals(brailleToTextPositions, translationResult.brailleToTextPositions) - && cursorPosition == translationResult.cursorPosition; + public abstract TranslationResult build(); } /** Creates a result where all cells contain the special unknown, not-sure-what-to-render cell. */ - public static TranslationResult createUnknown(String text, int cursorPosition) { - int[] map = new int[text.length()]; - byte[] translation = new byte[text.length()]; + public static TranslationResult createUnknown(CharSequence text, int cursorPosition) { + List map = new ArrayList<>(text.length()); + BrailleWord translation = new BrailleWord(); for (int i = 0; i < text.length(); i++) { - map[i] = i; - translation[i] = (byte) BrailleDots.FULL_CELL; + map.add(i); + translation.append(BrailleCharacter.FULL_CELL); } - return new TranslationResult(translation, map, map, cursorPosition); + return TranslationResult.builder() + .setText(text) + .setCells(translation) + .setTextToBraillePositions(map) + .setBrailleToTextPositions(map) + .setCursorBytePosition(cursorPosition) + .build(); + } + + /** Extends translation result by one empty cell. */ + public static TranslationResult appendOneEmptyCell(TranslationResult result) { + List brailleToText = new ArrayList<>(result.textToBraillePositions()); + brailleToText.add(result.cells().size()); + List textToBraille = new ArrayList<>(result.brailleToTextPositions()); + textToBraille.add(result.text().length()); + result.cells().append(EMPTY_CELL); + return TranslationResult.builder() + .setCells(result.cells()) + .setText(result.text() + " ") + .setTextToBraillePositions(brailleToText) + .setBrailleToTextPositions(textToBraille) + .setCursorBytePosition(result.cursorBytePosition()) + .build(); } } diff --git a/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/ExpandableContractedTranslator.java b/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/ExpandableContractedTranslator.java index 192b806ad..bee0b7612 100644 --- a/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/ExpandableContractedTranslator.java +++ b/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/ExpandableContractedTranslator.java @@ -6,7 +6,9 @@ import com.google.android.accessibility.braille.translate.BrailleTranslator; import com.google.android.accessibility.braille.translate.TranslationResult; import com.google.common.base.Splitter; -import java.nio.ByteBuffer; +import com.google.common.collect.ImmutableList; +import java.util.ArrayList; +import java.util.List; import java.util.Objects; /** @@ -45,14 +47,15 @@ public String translateToPrintPartial(BrailleWord brailleWord) { @Override public TranslationResult translate( - String wholeText, int cursorPosition, boolean computerBrailleAtCursor) { + CharSequence wholeText, int cursorPosition, boolean computerBrailleAtCursor) { Iterable words = Splitter.on(' ').split(wholeText); int lastSearchIndex = -1; for (String wordString : words) { if (TextUtils.isEmpty(wordString)) { continue; } - int startIndex = wholeText.indexOf(wordString, /* fromIndex= */ lastSearchIndex + 1); + int startIndex = + wholeText.toString().indexOf(wordString, /* fromIndex= */ lastSearchIndex + 1); int endIndex = startIndex + wordString.length(); lastSearchIndex = endIndex; // Check if the cursor is at this word. @@ -64,10 +67,10 @@ public TranslationResult translate( } private TranslationResult getTranslationResult( - String wholeText, int startIndex, int endIndex, int cursorPosition) { - String beforeWord = wholeText.substring(0, startIndex); - String expandableString = wholeText.substring(startIndex, endIndex); - String afterWord = wholeText.substring(endIndex); + CharSequence wholeText, int startIndex, int endIndex, int cursorPosition) { + CharSequence beforeWord = wholeText.subSequence(0, startIndex); + CharSequence expandableString = wholeText.subSequence(startIndex, endIndex); + CharSequence afterWord = wholeText.subSequence(endIndex, wholeText.length()); TranslationResult beforeWordResult = g2Translator.translate( beforeWord, /* cursorPosition= */ -1, /* computerBrailleAtCursor= */ false); @@ -77,57 +80,66 @@ private TranslationResult getTranslationResult( TranslationResult afterWordResult = g2Translator.translate( afterWord, /* cursorPosition= */ -1, /* computerBrailleAtCursor= */ false); - byte[] beforeWordByteArray = beforeWordResult.getCells(); - byte[] expandableWordArray = expandableWordResult.getCells(); - byte[] afterWordByteArray = afterWordResult.getCells(); - int[] beforeWordTextToBraillePositions = beforeWordResult.getTextToBraillePositions(); - int[] beforeWordBrailleToTextPositions = beforeWordResult.getBrailleToTextPositions(); - int[] expandableWordTextToBraillePositions = expandableWordResult.getTextToBraillePositions(); - int[] expandableWordBrailleToTextPositions = expandableWordResult.getBrailleToTextPositions(); - int[] afterWordTextToBraillePositions = afterWordResult.getTextToBraillePositions(); - int[] afterWordBrailleToTextPositions = afterWordResult.getBrailleToTextPositions(); - byte[] all = - ByteBuffer.allocate( - beforeWordByteArray.length + expandableWordArray.length + afterWordByteArray.length) - .put(beforeWordByteArray) - .put(expandableWordArray) - .put(afterWordByteArray) - .array(); - int[] textToBraille = new int[wholeText.length()]; - int[] brailleToText = new int[all.length]; + BrailleWord beforeWordWord = beforeWordResult.cells(); + BrailleWord expandableWord = expandableWordResult.cells(); + BrailleWord afterWordWord = afterWordResult.cells(); + ImmutableList beforeWordTextToBraillePositions = + beforeWordResult.textToBraillePositions(); + ImmutableList beforeWordBrailleToTextPositions = + beforeWordResult.brailleToTextPositions(); + ImmutableList expandableWordTextToBraillePositions = + expandableWordResult.textToBraillePositions(); + ImmutableList expandableWordBrailleToTextPositions = + expandableWordResult.brailleToTextPositions(); + ImmutableList afterWordTextToBraillePositions = + afterWordResult.textToBraillePositions(); + ImmutableList afterWordBrailleToTextPositions = + afterWordResult.brailleToTextPositions(); + BrailleWord all = new BrailleWord(); + all.append(beforeWordWord); + all.append(expandableWord); + all.append(afterWordWord); + List textToBraille = new ArrayList<>(wholeText.length()); + List brailleToText = new ArrayList<>(all.size()); // Assign the position of braille byte array to each character in text. - for (int i = 0; i < textToBraille.length; i++) { + for (int i = 0; i < wholeText.length(); i++) { if (i < beforeWord.length()) { - textToBraille[i] = beforeWordTextToBraillePositions[i]; + textToBraille.add(beforeWordTextToBraillePositions.get(i)); } else if (i < beforeWord.length() + expandableString.length()) { - textToBraille[i] = - beforeWordByteArray.length - + expandableWordTextToBraillePositions[i - beforeWord.length()]; + textToBraille.add( + beforeWordWord.size() + + expandableWordTextToBraillePositions.get(i - beforeWord.length())); } else if (i < wholeText.length()) { - textToBraille[i] = - beforeWordByteArray.length - + expandableWordArray.length - + afterWordTextToBraillePositions[ - i - beforeWord.length() - expandableString.length()]; + textToBraille.add( + beforeWordWord.size() + + expandableWord.size() + + afterWordTextToBraillePositions.get( + i - beforeWord.length() - expandableString.length())); } } // Assign the position of character in text to each byte in braille byte array. - for (int i = 0; i < all.length; i++) { - if (i < beforeWordByteArray.length) { - brailleToText[i] = beforeWordBrailleToTextPositions[i]; - } else if (i < beforeWordByteArray.length + expandableWordArray.length) { - brailleToText[i] = + for (int i = 0; i < all.size(); i++) { + if (i < beforeWordWord.size()) { + brailleToText.add(beforeWordBrailleToTextPositions.get(i)); + } else if (i < beforeWordWord.size() + expandableWord.size()) { + brailleToText.add( beforeWord.length() - + expandableWordBrailleToTextPositions[i - beforeWordByteArray.length]; - } else if (i < all.length) { - brailleToText[i] = + + expandableWordBrailleToTextPositions.get(i - beforeWordWord.size())); + } else if (i < all.size()) { + brailleToText.add( beforeWord.length() + expandableString.length() - + afterWordBrailleToTextPositions[ - i - beforeWordByteArray.length - expandableWordArray.length]; + + afterWordBrailleToTextPositions.get( + i - beforeWordWord.size() - expandableWord.size())); } } - return new TranslationResult(all, textToBraille, brailleToText, cursorPosition); + return TranslationResult.builder() + .setText(wholeText) + .setCells(all) + .setTextToBraillePositions(textToBraille) + .setBrailleToTextPositions(brailleToText) + .setCursorBytePosition(cursorPosition) + .build(); } @Override diff --git a/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/LibLouisTranslator.java b/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/LibLouisTranslator.java index 9bf4766e3..0d03ae65e 100644 --- a/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/LibLouisTranslator.java +++ b/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/LibLouisTranslator.java @@ -154,7 +154,7 @@ private String transformUsingCommutativityMap(BrailleWord brailleWord, String tr @Override public TranslationResult translate( - String text, int cursorPosition, boolean computerBrailleAtCursor) { + CharSequence text, int cursorPosition, boolean computerBrailleAtCursor) { return LouisTranslation.translate(text, tableName, cursorPosition, computerBrailleAtCursor); } diff --git a/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/LouisTranslation.java b/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/LouisTranslation.java index 292a55fc1..d265c73b1 100644 --- a/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/LouisTranslation.java +++ b/braille/translate/src/phone/java/com/google/android/accessibility/braille/translate/liblouis/LouisTranslation.java @@ -77,7 +77,7 @@ public static boolean checkTable(String tableName) { /** Translates a string into the corresponding dot patterns. */ public static TranslationResult translate( - String text, String tableName, int cursorPosition, boolean computerBrailleAtCursor) { + CharSequence text, String tableName, int cursorPosition, boolean computerBrailleAtCursor) { return translateNative(text, tableName, cursorPosition, computerBrailleAtCursor); } @@ -89,7 +89,7 @@ public static String backTranslate(byte[] cells, String tableName, int mode) { // Native methods. private static native TranslationResult translateNative( - String text, String tableName, int cursorPosition, boolean computerBrailleAtCursor); + CharSequence text, String tableName, int cursorPosition, boolean computerBrailleAtCursor); private static native String backTranslateNative(byte[] dotPatterns, String tableName, int mode); diff --git a/braille/translate/src/phone/jni/liblouiswrapper/louis_translation.cc b/braille/translate/src/phone/jni/liblouiswrapper/louis_translation.cc index 0010e5893..616ce939e 100644 --- a/braille/translate/src/phone/jni/liblouiswrapper/louis_translation.cc +++ b/braille/translate/src/phone/jni/liblouiswrapper/louis_translation.cc @@ -22,12 +22,28 @@ #include "../alog.h" #include "third_party/liblouis/liblouis/internal.h" // for MAXSTRING #include "third_party/liblouis/liblouis/liblouis.h" -#define TRANSLATE_PACKAGE \ - "com/google/android/accessibility/braille/translate/" +#define TRANSLATE_PACKAGE "com/google/android/accessibility/braille/translate/" +#define INTERFACE_PACKAGE "com/google/android/accessibility/braille/interfaces/" #define LOG_TAG "LibLouisWrapper_Native" +static jclass class_array_list; +static jclass class_integer; +static jclass class_charSequence; static jclass class_TranslationResult; -static jmethodID method_TranslationResult_ctor; +static jclass class_TranslationResult_builder; +static jclass class_BrailleWord; +static jmethodID method_array_list_ctor; +static jmethodID method_array_list_add; +static jmethodID method_integer_ctor; +static jmethodID method_toString; +static jmethodID method_BrailleWord_ctor; +static jmethodID method_TranslationResult_builder; +static jmethodID method_TranslationResult_builder_setText; +static jmethodID method_TranslationResult_builder_setCells; +static jmethodID method_TranslationResult_builder_setTextToBraillePositions; +static jmethodID method_TranslationResult_builder_setBrailleToTextPositions; +static jmethodID method_TranslationResult_builder_setCursorBytePosition; +static jmethodID method_TranslationResult_builder_build; JNIEXPORT jboolean JNICALL JNI_METHOD(checkTableNative)(JNIEnv* env, jclass clazz, @@ -38,11 +54,26 @@ JNIEXPORT jboolean JNICALL JNI_METHOD(checkTableNative)(JNIEnv* env, return ret; } +jobject create_array_list(JNIEnv* env, jintArray int_array) { + jobject list_object = + env->NewObject(class_array_list, method_array_list_ctor); + for (int i = 0; i < env->GetArrayLength(int_array); i++) { + jint* body = env->GetIntArrayElements(int_array, nullptr); + jobject int_obj = + env->NewObject(class_integer, method_integer_ctor, body[i]); + env->ReleaseIntArrayElements(int_array, body, 0); + env->CallBooleanMethod(list_object, method_array_list_add, int_obj); + env->DeleteLocalRef(int_obj); + } + return list_object; +} + // Translates print-characters to braille-cells. It returns a TranslationResult // object. JNIEXPORT jobject JNICALL JNI_METHOD(translateNative)( - JNIEnv* env, jclass clazz, jstring text, jstring tableName, + JNIEnv* env, jclass clazz, jobject charSequence, jstring tableName, jint cursorPosition, jboolean computerBrailleAtCursor) { + jstring text = (jstring)env->CallObjectMethod(charSequence, method_toString); const jchar* text_utf16 = env->GetStringChars(text, nullptr); const char* table_name_utf8 = env->GetStringUTFChars(tableName, nullptr); const int in_len = env->GetStringLength(text); @@ -128,9 +159,24 @@ JNIEXPORT jobject JNICALL JNI_METHOD(translateNative)( // past-the-end of the output. cursor_out_pos = out_used; } - return env->NewObject(class_TranslationResult, method_TranslationResult_ctor, - cells_array, output_pos_array, input_pos_array, + jobject object = env->CallStaticObjectMethod( + class_TranslationResult, method_TranslationResult_builder); + env->CallObjectMethod(object, method_TranslationResult_builder_setText, + charSequence); + jobject braille_word = + env->NewObject(class_BrailleWord, method_BrailleWord_ctor, cells_array); + env->CallObjectMethod(object, method_TranslationResult_builder_setCells, + braille_word); + env->CallObjectMethod( + object, method_TranslationResult_builder_setTextToBraillePositions, + create_array_list(env, output_pos_array)); + env->CallObjectMethod( + object, method_TranslationResult_builder_setBrailleToTextPositions, + create_array_list(env, input_pos_array)); + env->CallObjectMethod(object, + method_TranslationResult_builder_setCursorBytePosition, cursor_out_pos); + return env->CallObjectMethod(object, method_TranslationResult_builder_build); } // Translates braille-cells to print-characters. @@ -226,10 +272,55 @@ static jclass getGlobalClassRef(JNIEnv* env, const char* name) { } JNIEXPORT void JNICALL JNI_METHOD(classInitNative)(JNIEnv* env, jclass clazz) { - if (!(class_TranslationResult = - getGlobalClassRef(env, TRANSLATE_PACKAGE "TranslationResult"))) { - return; + if ((class_TranslationResult = + getGlobalClassRef(env, TRANSLATE_PACKAGE "TranslationResult"))) { + method_TranslationResult_builder = env->GetStaticMethodID( + class_TranslationResult, "builder", + "()L" TRANSLATE_PACKAGE "TranslationResult$Builder;"); + } + if ((class_TranslationResult_builder = getGlobalClassRef( + env, TRANSLATE_PACKAGE "TranslationResult$Builder"))) { + method_TranslationResult_builder_setText = + env->GetMethodID(class_TranslationResult_builder, "setText", + "(Ljava/lang/CharSequence;)L" TRANSLATE_PACKAGE + "TranslationResult$Builder;"); + method_TranslationResult_builder_setCells = env->GetMethodID( + class_TranslationResult_builder, "setCells", + "(L" INTERFACE_PACKAGE "BrailleWord;)L" TRANSLATE_PACKAGE + "TranslationResult$Builder;"); + method_TranslationResult_builder_setTextToBraillePositions = + env->GetMethodID(class_TranslationResult_builder, + "setTextToBraillePositions", + "(Ljava/util/List;)L" TRANSLATE_PACKAGE + "TranslationResult$Builder;"); + method_TranslationResult_builder_setBrailleToTextPositions = + env->GetMethodID(class_TranslationResult_builder, + "setBrailleToTextPositions", + "(Ljava/util/List;)L" TRANSLATE_PACKAGE + "TranslationResult$Builder;"); + method_TranslationResult_builder_setCursorBytePosition = env->GetMethodID( + class_TranslationResult_builder, "setCursorBytePosition", + "(I)L" TRANSLATE_PACKAGE "TranslationResult$Builder;"); + method_TranslationResult_builder_build = + env->GetMethodID(class_TranslationResult_builder, "build", + "()L" TRANSLATE_PACKAGE "TranslationResult;"); + } + if ((class_BrailleWord = + getGlobalClassRef(env, INTERFACE_PACKAGE "BrailleWord"))) { + method_BrailleWord_ctor = + env->GetMethodID(class_BrailleWord, "", "([B)V"); + } + if ((class_array_list = getGlobalClassRef(env, "java/util/ArrayList"))) { + method_array_list_ctor = + env->GetMethodID(class_array_list, "", "()V"); + method_array_list_add = + env->GetMethodID(class_array_list, "add", "(Ljava/lang/Object;)Z"); + } + if ((class_integer = getGlobalClassRef(env, "java/lang/Integer"))) { + method_integer_ctor = env->GetMethodID(class_integer, "", "(I)V"); + } + if ((class_charSequence = getGlobalClassRef(env, "java/lang/CharSequence"))) { + method_toString = env->GetMethodID(class_charSequence, "toString", + "()Ljava/lang/String;"); } - method_TranslationResult_ctor = - env->GetMethodID(class_TranslationResult, "", "([B[I[II)V"); } diff --git a/braille/translate/src/phone/jni/liblouiswrapper/louis_translation.h b/braille/translate/src/phone/jni/liblouiswrapper/louis_translation.h index a43a2c175..b5a7e5741 100644 --- a/braille/translate/src/phone/jni/liblouiswrapper/louis_translation.h +++ b/braille/translate/src/phone/jni/liblouiswrapper/louis_translation.h @@ -29,7 +29,7 @@ JNIEXPORT jboolean JNICALL JNI_METHOD(checkTableNative)(JNIEnv* env, jstring tableName); JNIEXPORT jobject JNICALL JNI_METHOD(translateNative)( - JNIEnv* env, jclass clazz, jstring text, jstring tableName, + JNIEnv* env, jclass clazz, jobject text, jstring tableName, jint cursorPosition, jboolean computerBrailleAtCursor); JNIEXPORT jstring JNICALL JNI_METHOD(backTranslateNative)( diff --git a/build.gradle b/build.gradle index ea65ec830..53105a71f 100644 --- a/build.gradle +++ b/build.gradle @@ -35,7 +35,6 @@ android { defaultConfig { applicationId talkbackApplicationId versionName talkbackVersionName + "-" + BUILD_TIMESTAMP - manifestPlaceholders = [talkbackMainPermission:talkbackMainPermission] minSdkVersion 26 targetSdkVersion 30 testInstrumentationRunner 'android.test.InstrumentationTestRunner' diff --git a/build.sh b/build.sh index 5a91f2373..d23437a76 100755 --- a/build.sh +++ b/build.sh @@ -24,6 +24,21 @@ function fail_with_message { exit 1 } +function print_sdk_info { + log "\${ANDROID_SDK}: ${ANDROID_SDK}" + log "ls ${ANDROID_SDK}"; ls "${ANDROID_SDK}" + if [[ -d "${ANDROID_SDK}/platforms" ]]; then + log "\${ANDROID_SDK}/platforms: ${ANDROID_SDK}/platforms" + log "ls ${ANDROID_SDK}/platforms"; ls "${ANDROID_SDK}/platforms" + fi + if [[ -d "${ANDROID_SDK}/build-tools" ]]; then + log "\${ANDROID_SDK}/build-tools: ${ANDROID_SDK}/build-tools" + log "ls ${ANDROID_SDK}/build-tools"; ls "${ANDROID_SDK}/build-tools" + fi + log "\${ANDROID_NDK}: ${ANDROID_NDK}" + log "ls \${ANDROID_NDK}:"; ls "${ANDROID_NDK}" +} + log "pwd: $(pwd)" @@ -31,13 +46,10 @@ log "pwd: $(pwd)" if [[ -z "${ANDROID_SDK}" ]]; then fail_with_message "ANDROID_SDK environment variable is unset" fi -log "\${ANDROID_SDK}: ${ANDROID_SDK}" -log "ls ${ANDROID_SDK}"; ls "${ANDROID_SDK}" if [[ -z "${ANDROID_NDK}" ]]; then fail_with_message "ANDROID_NDK environment variable is unset" fi -log "\${ANDROID_NDK}: ${ANDROID_NDK}" -log "ls \${ANDROID_NDK}:"; ls "${ANDROID_NDK}" +print_sdk_info log @@ -101,11 +113,19 @@ log log "find gradle" find gradle -log "gradlew --version" +chmod 777 gradlew +log "./gradlew --version" ./gradlew --version log +if [[ "$GRADLE_TRACE" = true ]]; then + log "./gradlew dependencies" + ./gradlew dependencies + log +fi + + GRADLEW_DEBUG= GRADLEW_STACKTRACE= if [[ "$GRADLE_TRACE" = true ]]; then @@ -113,11 +133,15 @@ if [[ "$GRADLE_TRACE" = true ]]; then GRADLEW_STACKTRACE=--stacktrace fi log "./gradlew assembleDebug" -chmod 777 gradlew ./gradlew ${GRADLEW_DEBUG} ${GRADLEW_STACKTRACE} assemble BUILD_EXIT_CODE=$? log + +print_sdk_info +log + + if [[ $BUILD_EXIT_CODE -eq 0 ]]; then log "find . -name *.apk" find . -name "*.apk" diff --git a/compositor/build.gradle b/compositor/build.gradle deleted file mode 100644 index d7e5d148d..000000000 --- a/compositor/build.gradle +++ /dev/null @@ -1,8 +0,0 @@ -apply plugin: 'com.android.library' -apply from: "../shared.gradle" - -dependencies { - implementation project(':proguard') - implementation project(':uiunderstanding') - implementation project(':utils') -} diff --git a/compositor/src/main/AndroidManifest.xml b/compositor/src/main/AndroidManifest.xml deleted file mode 100644 index 19994ed64..000000000 --- a/compositor/src/main/AndroidManifest.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/EventFilter.java b/compositor/src/main/java/com/google/android/accessibility/compositor/EventFilter.java deleted file mode 100644 index 383521e36..000000000 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/EventFilter.java +++ /dev/null @@ -1,252 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package com.google.android.accessibility.compositor; - -import android.app.Notification; -import android.content.Context; -import android.os.SystemClock; -import android.view.accessibility.AccessibilityEvent; -import android.view.accessibility.AccessibilityNodeInfo; -import com.google.android.accessibility.utils.AccessibilityEventUtils; -import com.google.android.accessibility.utils.Performance.EventId; -import com.google.android.accessibility.utils.Role; -import com.google.android.accessibility.utils.input.TextEventInterpreter; -import com.google.android.accessibility.utils.monitor.AudioPlaybackMonitor; -import com.google.android.accessibility.utils.monitor.VoiceActionDelegate; -import com.google.android.libraries.accessibility.utils.log.LogUtils; -import org.checkerframework.checker.nullness.qual.Nullable; - -/** - * Determines whether events should be passed on to the compositor. Also interprets events into more - * specific event types, and extracts data from events. - */ -public class EventFilter { - - private static final String TAG = "EventFilter"; - - /////////////////////////////////////////////////////////////////////////////////// - // Constants - - /** The minimum interval (in milliseconds) between scroll feedback events. */ - private static final long MIN_SCROLL_INTERVAL = 250; - - /////////////////////////////////////////////////////////////////////////////////// - // Member variables - - private final Compositor compositor; - private final @Nullable AudioPlaybackMonitor audioPlaybackMonitor; - private VoiceActionDelegate voiceActionDelegate; - - private AccessibilityFocusEventInterpreter accessibilityFocusEventInterpreter; - private final GlobalVariables globalVariables; - - /** - * Time in milliseconds of last non-dropped scroll event, based on system uptime. A negative value - * indicates no previous scroll events have occurred. - */ - private long lastScrollEventTimeInMillis = -1; - - private boolean isUserTouchingOnScreen = false; - - - // ///////////////////////////////////////////////////////////////////////////////// - // Construction - - public EventFilter( - Compositor compositor, - Context context, - @Nullable AudioPlaybackMonitor audioPlaybackMonitor, - GlobalVariables globalVariables) { - this.compositor = compositor; - this.audioPlaybackMonitor = audioPlaybackMonitor; - this.globalVariables = globalVariables; - } - - /////////////////////////////////////////////////////////////////////////////////// - // Methods - - public void setVoiceActionDelegate(VoiceActionDelegate delegate) { - voiceActionDelegate = delegate; - } - - public void setAccessibilityFocusEventInterpreter( - AccessibilityFocusEventInterpreter interpreter) { - accessibilityFocusEventInterpreter = interpreter; - } - - public void sendEvent(AccessibilityEvent event, @Nullable EventId eventId) { - // Update persistent state. - globalVariables.updateStateFromEvent(event); - - // Interpret event more specifically, and extract data from event. - EventInterpretation eventInterpreted = new EventInterpretation(event.getEventType()); - AccessibilityFocusEventInterpretation a11yFocusEventInterpreted = - (accessibilityFocusEventInterpreter == null) - ? null - : accessibilityFocusEventInterpreter.interpret(event); - if (a11yFocusEventInterpreted != null) { - eventInterpreted.setEvent(a11yFocusEventInterpreted.getEvent()); - eventInterpreted.setAccessibilityFocusInterpretation(a11yFocusEventInterpreted); - } - - eventInterpreted.setReadOnly(); - - switch (eventInterpreted.getEvent()) { - // Drop accessibility-focus events based on EventState. - case AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED: - // TODO: Remove this when focus management is done. - { - if (globalVariables.checkAndClearRecentFlag( - GlobalVariables.EVENT_SKIP_FOCUS_PROCESSING_AFTER_GRANULARITY_MOVE) - || globalVariables.checkAndClearRecentFlag( - GlobalVariables.EVENT_SKIP_FOCUS_PROCESSING_AFTER_CURSOR_CONTROL) - || globalVariables.checkAndClearRecentFlag( - GlobalVariables.EVENT_SKIP_FOCUS_PROCESSING_AFTER_IME_CLOSED)) { - return; - } - if ((a11yFocusEventInterpreted != null) - && a11yFocusEventInterpreted.getShouldMuteFeedback()) { - return; - } - } - break; - - // For focus fallback events, drop events with a source node. - case AccessibilityEvent.TYPE_VIEW_HOVER_ENTER: - { - if (AccessibilityEventUtils.sourceCompat(event) != null) { - return; - } - } - break; - - // Event notification - case AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED: - { - // REFERTO. If the user is touching on screen, skip event. - // For toast events, the notification parcel is null. (Use event text instead.) - Notification notification = AccessibilityEventUtils.extractNotification(event); - if ((notification != null) && isUserTouchingOnScreen) { - return; - } - if ((voiceActionDelegate != null) - && voiceActionDelegate.isVoiceRecognitionActive() - && (Role.getSourceRole(event) == Role.ROLE_TOAST)) { - LogUtils.d(TAG, "Do not announce the toast: Voice recognition is active."); - return; - } - } - break; - - case AccessibilityEvent.TYPE_VIEW_SCROLLED: - { - final long currentTimeInMillis = SystemClock.uptimeMillis(); - if (shouldDropScrollEvent(event, currentTimeInMillis)) { - return; - } - lastScrollEventTimeInMillis = currentTimeInMillis; - } - break; - case AccessibilityEvent.TYPE_TOUCH_INTERACTION_START: - // TODO: When double tapping on screen, touch interaction start/end events might - // be sent in reversed order. We might need a more reliable way to detect touch start/end - // actions. - isUserTouchingOnScreen = true; - break; - case AccessibilityEvent.TYPE_TOUCH_INTERACTION_END: - isUserTouchingOnScreen = false; - break; - - case AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED: - case AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED: - case AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY: - return; // Text-events only travel through TextEventInterpreter. - - default: - // Let event go to compositor. - } - - compositor.handleEvent(event, eventId, eventInterpreted); - } - - /** Passes text-event-interpretation to compositor. */ - public void accept(TextEventInterpreter.Interpretation textEventInterpreted) { - AccessibilityEvent event = textEventInterpreted.event; - globalVariables.setLastTextEditIsPassword(event.isPassword()); - - int eventType = - (textEventInterpreted.interpretation == null) - ? event.getEventType() - : Compositor.toCompositorEvent(textEventInterpreted.interpretation.getEvent()); - EventInterpretation eventInterpreted = new EventInterpretation(eventType); - eventInterpreted.setTextEventInterpretation(textEventInterpreted.interpretation); - eventInterpreted.setPackageName(event.getPackageName()); - eventInterpreted.setReadOnly(); - - compositor.handleEvent(event, textEventInterpreted.eventId, eventInterpreted); - } - - //////////////////////////////////////////////////////////////////////////////////////////// - // Methods for filtering scroll events - - /** - * Whether a scroll event should not be sent to the Compositor. - * - *

      TODO: Consider adding a flag to ScrollEventInterpretation for not playing - * earcons if dropping the events here causes issues or if more flexibility is needed. - */ - private boolean shouldDropScrollEvent(AccessibilityEvent event, long currentTimeInMillis) { - // Dropping events may cause weird rhythms when scrolling, e.g. if we're getting an event every - // 300ms and we reject at the 250ms mark. - return lastScrollEventWasRecent(currentTimeInMillis) - || isAutomaticMediaScrollEvent() - || !isValidScrollEvent(event); - } - - private boolean lastScrollEventWasRecent(long currentTimeInMillis) { - // Return false if there are no previous scroll events. - if (lastScrollEventTimeInMillis < 0) { - return false; - } - long diff = currentTimeInMillis - lastScrollEventTimeInMillis; - return diff < MIN_SCROLL_INTERVAL; - } - - /** - * Whether the scroll event was probably generated automatically by playing media. - * - *

      Particularly for videos with captions enabled, new scroll events fire every second or so. - * Earcons should not play for these events because they don't provide useful information and are - * distracting. - */ - private boolean isAutomaticMediaScrollEvent() { - // TODO: Investigate a more accurate way to determine whether a scroll event was - // user initiated or initiated by playing media. - return audioPlaybackMonitor != null - && audioPlaybackMonitor.isPlaybackSourceActive( - AudioPlaybackMonitor.PlaybackSource.USAGE_MEDIA) - && !isUserTouchingOnScreen; - } - - private boolean isValidScrollEvent(AccessibilityEvent event) { - AccessibilityNodeInfo source = event.getSource(); - if (source == null) { - return true; // Cannot check source validity, so assume that it's scrollable. - } - return source.isScrollable() || event.getMaxScrollX() != -1 || event.getMaxScrollY() != -1; - } -} diff --git a/compositor/src/main/res/values-af/strings.xml b/compositor/src/main/res/values-af/strings.xml deleted file mode 100644 index 44c758dcc..000000000 --- a/compositor/src/main/res/values-af/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack aan - TalkBack is opgeskort - TalkBack het hervat - TalkBack is af - Gesproke terugvoer is aan - Gesproke terugvoer is opgeskort - Gesproke terugvoer is hervat - Gesproke terugvoer is af - Begin van veld - Einde van veld - Keusemodus is aan - Keusemodus is af - Keuse is uitgevee - Bel - Boodskap - E-pos - Geleentheid - Promosie - Wekker - Vordering - Sosiaal - Fout - Mediakontrole - Stelselstatus - Diens - %1$s-kieslys - %1$s het %2$s vervang - %1$s is uitgevee - het gesny, %1$s - het geplak, %1$s - %1$s, gekies - Geselekteerde teks: %1$s - %1$s, ontkies - Ongeldige invoer %1$s - %1$s karakters is met %2$s karakters vervang - %1$s vir %2$s - %1$s persent. - - %1$s wys tans %2$d item. - %1$s wys tans %2$d items. - - Error: %1$s - Rooster - Lys - Oortjiebalk - Kieslys - Merkblokkie - Radioknoppie - Knoppie - Glyer - Skakelaar - Redigeerkassie - Redigering - Prent - Ongeëtiketteer - Multibladsyaansig - Bladsy - Vorderingsbalk - Webaansig - wagwoord - Glylaai is oopgemaak - Opsies. - Teks is uitgevee - Maksimum lengte bereik - gekies - gemerk - nie gemerk nie - aan - af - gedeaktiveer - uitgevou - ingevou - Dubbeltik - Tik - Druk Kies skakelaar - Druk kies - %1$s om te aktiveer. - Druk %1$s om te aktiveer. - %1$s en hou vir langdruk. - Druk %1$s om te langdruk. - %1$s om te wissel. - Druk %1$s om te wissel. - %1$s om teks te redigeer. - Druk %1$s om teks te wysig. - %1$s om te verander. - Druk %1$s om te verander. - Swiep met twee vingers om bladsye te wissel. - Daar is nie nog bladsye nie. - Gebruik volumesleutel om te verstel - %1$s om te verander. - Handelinge: - %1$s om te %2$s. - Druk %1$s om te %2$s. - %1$s en hou om te %2$s. - %1$s om te rollees. - %1$s vir beskikbare handelinge. - Druk Kies Skakelaar om te verstel - Caps Lock is aan. - Caps Lock is af. - Num Lock is aan. - Num Lock is af. - Scroll Lock is aan. - Scroll Lock is af. - Portret - Landskap - Maak toe - Vou uit - Vou in - Ry %1$d - Kolom %1$d - %1$d van %2$d - Opskrif - Ry-opskrif - Kolomopskrif - In %1$s %2$s - In %1$s - In lys %1$s - In lys - Buite %1$s %2$s - Buite %1$s - Buite lys %1$s - Buite lys - In rooster %1$s - In rooster - Buite rooster %1$s - Buite rooster - Binne roeper %1$s - Binne roeper - Buite roeper %1$s - Buite roeper - Binne vertikale roeper %1$s - Binne vertikale roeper - Buite vertikale roeper %1$s - Buite vertikale roeper - Binne horisontale roeper %1$s - Binne horisontale roeper - Buite horisontale roeper - Binne roosterroeper %1$s - Binne roosterroeper - Buite roosterroeper %1$s - Buite roosterroeper - Vlak %1$d - - %1$d item - %1$d items - - - %1$d ry - %1$d rye - - - %1$d kolom - %1$d kolomme - - - %1$d karakter - %1$d karakters - - Vergroting op %1$d%% - Vergroting %1$d%% - Vergroting is af - Spraaktempo %1$d%% - Verhoog - Verlaag - Maksimum - Minimum - %1$d%% - Wagwoorde word net hardop gesê wanneer oorfone gebruik word - %1$s is beskikbaar. Gebruik %2$s om te bekyk. - Spellingvoorstelle beskikbaar. - Venster %1$s - %1$s, bespeurde ikoon - %1$s, teks - diff --git a/compositor/src/main/res/values-am/strings.xml b/compositor/src/main/res/values-am/strings.xml deleted file mode 100644 index 23b405aae..000000000 --- a/compositor/src/main/res/values-am/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack በርቷል - TalkBack ታግዷል - TalkBack ከቆመበት ቀጥሏል - TalkBack ጠፍቷል - የሚነገር ግብረመልስ በርቷል - የሚነገር ግብረመልስ ታግዷል - የሚነገር ግብረመልስ ከቆመበት ቀጥሏል - የሚነገር ግብረመልስ ጠፍቷል - የመስክ መጀመሪያ - የመስክ መጨረሻ - የምርጫ ሁነታ በርቷል - የምርጫ ሁነታ ጠፍቷል - ምርጫ ጸድቷል - ጥሪ - መልዕክት - ኢሜይል - ክስተት - ማስተዋወቂያ - ማንቂያ - ሂደት - ማኅበራዊ - ስህተት - የሚዲያ ቁጥጥር - የሥርዓት ሁኔታ - አገልግሎት - የ%1$s ምናሌ - %1$s%2$sን ተክቷል - %1$s ተሰርዟል - ተቆርጧል፣ %1$s - ተለጥፏል፣ %1$s - %1$s፣ ተመርጧል - የተመረጠው ጽሑፍ፦ %1$s - %1$s፣ አልተመረጠም - ልክ ያልሆነ ግቤት %1$s - %1$s ቁምፊዎች በ%2$s ቁምፊዎች ተተክተዋል። - %1$s ለ%2$s - %1$s በመቶ። - - %1$s %2$d ንጥሎች በማሳየት ላይ። - %1$s %2$d ንጥሎች በማሳየት ላይ። - - Error: %1$s - ፍርግርግ - ዝርዝር - የትር አሞሌ - የተቆልቋይ ዝርዝር - አመልካች ሳጥን - የሬዲዮ አዝራር - አዝራር - ተንሸራታች - ቀይር - ሳጥኑን ያርትዑ - ማርትዕ - ምስል - ስያሜ ያልተሰጠው - ባለብዙ ገጽ እይታ - ገጽ - የሂደት አሞሌ - የድር እይታ - የይለፍ ቃል - የተንሸራታች መሳቢያ ተከፍቷል - አማራጮች። - ጽሑፍ ጸድቷል - ከፍተኛ ርዝመት ላይ ተደርሷል - ተመርጧል - ምልክት ተደርጎበታል - ምልክት አልተደረገበትም - በርቷል - ጠፍቷል - ተሰናክሏል - ተዘርግቷል - ተሰብስቧል - ሁለቴ መታ ማድረግ - መታ ማድረግ - መቀያየሪን ይምረጡ የሚለውን ይጫኑ - ምረጥን ይጫኑ - ለማግበር %1$s። - ለማግበር %1$sን ይጫኑ። - በረጅሙ ለመጫን %1$s እና ይያዙ። - ተጭነው ለመያዝ %1$sን ይጫኑ። - ለመቀያየር %1$s። - ለመቀያየር %1$sን ይጫኑ። - ጽሑፍን ለማርትዕ %1$s። - ጽሑፍን ለማርትዕ %1$s ይጫኑ። - ለመለወጥ %1$s። - ለመቀየር %1$sን ይጫኑ። - ገጾችን ለመቀየር በሁለት ጣቶች ያንሸራትቱ። - ተጨማሪ ገጾች የሉም። - ለማስተካከል የድምፅ ቁልፎችን ይጠቀሙ - ለመቀየር %1$s ያድርጉ። - እርምጃዎች፦ - %2$s ለማድረግ %1$s። - %2$s ለማድረግ %1$sን ይጫኑ። - %2$s ለማድረግ %1$sን ይያዙ። - %1$s ለመሸብለል። - %1$s ለሚገኙ እርምጃዎች። - ለማስተካከል መቀየሪያን ይምረጡን ይጫኑ - Caps Lock በርቷል። - Caps Lock ጠፍቷል። - Num Lock በርቷል። - Num Lock ጠፍቷል። - Scroll Lock በርቷል። - Scroll Lock ጠፍቷል። - በቁመት - በወርድ - አስወግድ - ዘርጋ - ሰብስብ - ረድፍ %1$d - አምድ %1$d - %1$d ከ%2$d - ርዕስ - የረድፍ ርእስ - የአምድ ርእስ - በ%1$s %2$s ውስጥ - በ%1$s ውስጥ - በዝርዝር %1$s ውስጥ - በዝርዝር ውስጥ - ከ%1$s%2$s - ከ%1$s - ከዝርዝር %1$s ውጭ - ከዝርዝር ውጭ - በፍርግርግ %1$s ውስጥ - በፍርግርግ ውስጥ - ከፍርግርግ %1$s ውጭ - ከፍርግርግ ውጭ - በፔጀር %1$s ውስጥ - በፔጀር - ከፔጀር %1$s ውጭ - ከፔጀር ውጭ - በአቀባዊ ፔጀር %1$s ውስጥ - በአቀባዊ ፔጀር ውስጥ - ከአቀባዊ ፔጀር %1$s ውጭ - ከአቀባዊ ፔጀር ውጭ - በአግድመት ፔጀር %1$s ውስጥ - በአግድመት ፔጀር ውስጥ - ከአግድመት ፔጀር ውጭ - በፍርግርግ ፔጀር %1$s ውስጥ - በፍርግርግ ፔጀር ውስጥ - ከፍርግርግ ፔጀር %1$s ውጭ - ከፍርግርግ ፔጀር ውጭ - ደረጃ %1$d - - %1$d ንጥሎች - %1$d ንጥሎች - - - %1$d ረድፎች - %1$d ረድፎች - - - %1$d አምዶች - %1$d አምዶች - - - %1$d ቁምፊዎች - %1$d ቁምፊዎች - - ማጉላት በርቷል %1$d%% - ማጉላት %1$d%% - ማጉላት ጠፍቷል - የንግግር ፍጥነት %1$d%% - ጨምር - ቀንስ - ከፍተኛ - አነስተኛ - %1$d%% - የይለፍ ቃላት የሚነገሩት የጆሮ ማዳመጫዎችን ሲጠቀሙ ብቻ ነው - %1$s ይገኛል፣ ለመመልከት %2$sን ይጠቀሙ - የፊደል አጻጻፍ የአስተያየት ጥቆማዎች ይገኛሉ። - መስኮት %1$s - %1$s፣ የተገኘ አዶ - %1$s፣ ጽሑፍ - diff --git a/compositor/src/main/res/values-ar/strings.xml b/compositor/src/main/res/values-ar/strings.xml deleted file mode 100644 index 8633a5272..000000000 --- a/compositor/src/main/res/values-ar/strings.xml +++ /dev/null @@ -1,196 +0,0 @@ - - - ‏تشغيل TalkBack - ‏تم تعليق TalkBack - ‏تم استئناف TalkBack - ‏إيقاف TalkBack - تفعيل التعليقات والملاحظات المنطوقة - تم تعليق التعليقات والملاحظات المنطوقة - تم استئناف التعليقات والملاحظات المنطوقة - إيقاف التعليقات والملاحظات المنطوقة - بداية الحقل - نهاية الحقل - تفعيل وضع التحديد - إيقاف وضع التحديد - تم محو التحديد - مكالمة - رسالة - رسالة إلكترونية - حدث - عرض ترويجي - تنبيه - التقدم - شبكات اجتماعية - خطأ - التحكم في الوسائط - حالة النظام - خدمة - قائمة %1$s - تم استبدال %1$s بـ %2$s - تم حذف %1$s - تم قطع %1$s - تم لصق %1$s - تم اختيار %1$s - النص المحدد: %1$s - تم إلغاء اختيار %1$s - إدخال غير صالح %1$s - تم استبدال %1$s من الأحرف بعدد %2$s من الأحرف - %1$s للتصنيف %2$s - %1$s في المئة. - - %1$s يعرض %2$d عنصر. - %1$s يعرض %2$d عنصر. - %1$s يعرض عنصرين (%2$d). - %1$s يعرض %2$d عناصر. - %1$s يعرض %2$d عنصرًا. - %1$s يعرض %2$d عنصر. - - Error: %1$s - شبكة - قائمة - شريط علامات التبويب - قائمة منسدلة - مربع اختيار - زر اختيار - زر - شريط التمرير - مفتاح تحكّم - مربع تعديل - جارٍ التعديل - صورة - بدون تصنيف - عرض متعدد الصفحات - صفحة - شريط التقدم - عرض الويب - كلمة المرور - تم فتح درج التمرير - الخيارات. - تم محو النص - تم بلوغ الحد الأقصى للطول - محدد - تم التحديد - لم يتم التحديد - مفعّل - غير مفعّل - غير مفعّل - تم التوسيع - تم التصغير - النقر مرّتين - النقر - اضغط على مفتاح التحكّم المُختار - اضغط على تحديد - %1$s للتفعيل. - اضغط على %1$s للتفعيل. - %1$s مع الاستمرار لإجراء ضغط مطول. - اضغط على %1$s للضغط مع الاستمرار. - %1$s للتبديل. - اضغط على %1$s للتبديل. - %1$s لتعديل النص. - يمكنك الضغط على %1$s لتعديل النص. - %1$s للتغيير. - اضغط على %1$s للتغيير. - مرر سريعًا بإصبعين لتبديل الصفحات. - لا تتوفر صفحات أخرى. - يمكنك استخدم مفتاحي مستوى الصوت للضبط - %1$s للتغيير. - الإجراءات: - %1$s لـ %2$s . - اضغط على %1$s من أجل %2$s. - %1$s مع الاستمرار لـ %2$s. - %1$s للتمرير. - %1$s للاطّلاع على الإجراءات المتوفرة. - اضغط على \"اختيار مفتاح التحكّم\" لضبطه. - ‏تم تفعيل Caps Lock. - ‏تم إيقاف Caps Lock. - ‏تم تفعيل Num. - ‏تم إيقاف Num. - ‏تم تفعيل Scroll Lock. - ‏تم إيقاف Scroll Lock. - عمودي - أفقي - تجاهل - توسيع - تصغير - الصف %1$d - العمود %1$d - %1$d من %2$d - عنوان - عنوان الصف - عنوان العمود - في %1$s %2$s - في %1$s - في القائمة %1$s - في القائمة - خارج %1$s %2$s - خارج %1$s - خارج القائمة %1$s - خارج القائمة - في الشبكة %1$s - في الشبكة - خارج الشبكة %1$s - خارج الشبكة - في الصفحة %1$s - في الصفحة - خارج الصفحة %1$s - خارج الصفحة - في الصفحة الرأسية %1$s - في الصفحة الرأسية - خارج الصفحة الرأسية %1$s - خارج الصفحة الرأسية - في الصفحة الأفقية %1$s - في الصفحة الأفقية - خارج الصفحة الأفقية - في الصفحة الشبكية %1$s - في الصفحة الشبكية - خارج الصفحة الشبكية %1$s - خارج الصفحة الشبكية - المستوى %1$d - - %1$d عنصر - %1$d عنصر - عنصران (%1$d) - %1$d عناصر - %1$d عنصرًا - %1$d عنصر - - - %1$d صف - %1$d صف - صفان (%1$d) - %1$d صفوف - %1$d صفًا - %1$d صف - - - %1$d عمود - %1$d عمود - عمودان (%1$d) - %1$d أعمدة - %1$d عمودًا - %1$d عمود - - - %1$d characters - %1$d حرف واحد - حرفان (%1$d) - %1$d أحرف - %1$d حرفًا - %1$d حرف - - التكبير بنسبة %1$d%% - التكبير %1$d%% - تم إيقاف التكبير - معدل سرعة الكلام %1$d%% - زيادة - تقليل - الحد الأقصى - الحد الأدنى - %1$d%% - لا يتم قول كلمات المرور إلا عند استخدام سماعات الرأس - %1$s متاح، استخدِم %2$s لعرضه. - اقتراحات التدقيق الإملائي متاحة. - نافذة %1$s - %1$s، الرمز الذي تم التعرّف عليه تلقائيًا - %1$s، النص - diff --git a/compositor/src/main/res/values-as/strings.xml b/compositor/src/main/res/values-as/strings.xml deleted file mode 100644 index 647639b8d..000000000 --- a/compositor/src/main/res/values-as/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack অন হৈ আছে - TalkBack নিলম্বন কৰা হ’ল - TalkBack অব্যাহত ৰখা হ’ল - TalkBack অফ কৰা হ’ল - কথিত প্ৰতিক্ৰিয়া অন আছে - কথিত প্ৰতিক্ৰিয়া নিলম্বিত কৰা হৈছে - কথিত প্ৰতিক্ৰিয়া অব্যাহত ৰখা হৈছে - কথিত প্ৰতিক্ৰিয়া অফ কৰা হৈছে - ক্ষেত্ৰৰ আৰম্ভণি - ক্ষেত্ৰৰ সমাপ্তি - বাছনি ম\'ড অন হৈ আছে - বাছনি ম\'ড অফ হৈ আছে - বাছনি মচা হ’ল - কল - বাৰ্তা - ইমেইল - কার্যক্ৰম - বিজ্ঞাপন - এলাৰ্ম - চলি আছে - সামাজিক - আসোঁৱাহ - মিডিয়াৰ নিয়ন্ত্ৰণ - ছিষ্টেমৰ স্থিতি - সেৱা - %1$s মেনু - %1$sক %2$sৰ স্থানত লিখা হ’ল - %1$s মচা হ’ল - %1$sক কাট কৰক - %1$sক পেইষ্ট কৰা হ’ল - %1$sক বাছনি কৰা হ’ল - বাছনি কৰা পাঠ: %1$s - %1$sক বাছনি কৰা হোৱা নাই - অমান্য ইনপুট %1$s - %2$sটা বর্ণৰ স্থানত %1$sটা বর্ণ লিখা হ’ল - %2$sৰ বাবে %1$s - %1$s শতাংশ। - - %1$sএ %2$dটা বস্তু দেখুৱাইছে। - %1$sএ %2$dটা বস্তু দেখুৱাইছে। - - Error: %1$s - গ্ৰিড - সূচী - টেবৰ দণ্ড - ড্ৰপ ডাউন সূচী - চ্চেক বাকচ - ৰেডিঅ\' বুটাম - বুটাম - শ্লাইডাৰ - ছুইচ - সম্পাদনা বাকচ - সম্পাদনা কৰি আছে - চিত্ৰ - লেবেল যোগ নকৰা বস্তু - বহু পৃষ্ঠাৰ দর্শন - পৃষ্ঠা - প্ৰগতিৰ হাৰ নির্দেশ কৰা দণ্ড - ৱেবভিউ - পাছৱৰ্ড - শ্লাইড কৰা ড্ৰৱাৰ খোলা হ’ল - বিকল্পসমূহ। - মচা পাঠ - পাঠ লিখাৰ সর্বাধিক দৈর্ঘ্য ব্যৱহাৰ কৰা হৈছে - বাছনি কৰা হ’ল - পৰীক্ষা কৰা হ’ল - পৰীক্ষা কৰা হোৱা নাই - অন হৈ আছে - অফ হৈ আছে - অক্ষম কৰা হ’ল - বিস্তাৰিত কৰা আছে - সংকুচিত কৰা আছে - দুবাৰ টিপক - টিপক - ছুইচ্চ বাছনি কৰক-ত হেঁচক - বুটামটো টিপি বাছনি কৰক - সক্ৰিয় কৰিবলৈ %1$s। - সক্ৰিয় কৰিবলৈ %1$s টিপক। - %1$s আৰু কিছুসময় হেঁচি থাকক। - দীৰ্ঘসময় টিপিবলৈ %1$s টিপক। - ট’গল কৰিবলৈ %1$s কৰক৷ - ট\'গল কৰিবলৈ %1$s টিপক। - পাঠ সম্পাদনা কৰিবলৈ %1$s। - পাঠ সম্পাদনা কৰিবলৈ %1$s টিপক। - সলনি কৰিবলৈ %1$s কৰক। - সলনি কৰিবলৈ %1$s টিপক। - পৃষ্ঠা সালসলনি কৰিবলৈ দুটা আঙুলিৰে ছোৱাইপ কৰক। - আৰু কোনো পৃষ্ঠা নাই। - মিলাবলৈ ভলিউম কী ব্যৱহাৰ কৰক - সলনি কৰিবলৈ %1$s। - কাৰ্যবিলাক: - %2$sৰ বাবে %1$s। - %2$sৰ বাবে %1$s টিপক। - %1$s আৰু %2$s হেঁচি ধৰি ৰাখক। - স্ক্ৰ\'ল কৰিবলৈ %1$s - উপলব্ধ কাৰ্যবিলাকৰ বাবে %1$s - খাপ খুৱাবলৈ বাছনি কৰক বুটামটো হেঁচক - কেপছ লক অন আছে। - কেপছ লক অফ আছে। - নাম্বাৰ লক অন আছে। - নাম্বাৰ লক অফ আছে। - স্ক্ৰ\'ল লক অন আছে৷ - স্ক্ৰ\'ল লক অফ আছে। - প\'ৰ্ট্ৰেইট - লেণ্ডস্কেইপ - অগ্ৰাহ্য কৰক - সম্প্ৰসাৰণ কৰক - সংকুচিত কৰক - শাৰী %1$d - স্তম্ভ %1$d - %2$dৰ %1$d - শিৰোনাম - শাৰীৰ শিৰোনাম - স্তম্ভৰ শিৰোনাম - %2$s %1$sত - %1$sত - %1$s তালিকাত - তালিকাত - %2$s %1$sৰ বাহিৰত - %1$sৰ বাহিৰত - %1$s তালিকাৰ বাহিৰত - তালিকাৰ বাহিৰত - %1$s গ্ৰিডত - গ্ৰিডত - %1$s গ্ৰিডৰ বাহিৰত - গ্ৰিডৰ বাহিৰত - পে’জাৰ %1$sত আছে - পে’জাৰত আছে - পে’জাৰ %1$sৰ বাহিৰত আছে - পে’জাৰৰ বাহিৰত আছে - উলম্ব পে’জাৰ %1$sত আছে - উলম্ব পে’জাৰত আছে - উলম্ব পে’জাৰ %1$sৰ বাহিৰত আছে - উলম্ব পে’জাৰৰ বাহিৰত আছে - অনুভূমিক পে’জাৰ %1$sত আছে - অনুভূমিক পে’জাৰত আছে - অনুভূমিক পে’জাৰৰ বাহিৰত আছে - গ্ৰিড পে’জাৰ %1$sত আছে - গ্ৰিড পে’জাৰত আছে - গ্ৰিড পে’জাৰ %1$sৰ বাহিৰত আছে - গ্ৰিড পে’জাৰৰ বাহিৰত আছে - %1$d স্তৰ - - %1$dটা বস্তু - %1$dটা বস্তু - - - %1$dটা শাৰী - %1$dটা শাৰী - - - %1$dটা স্তম্ভ - %1$dটা স্তম্ভ - - - %1$dটা বৰ্ণ - %1$dটা বৰ্ণ - - %1$d%% বিৱৰ্ধন - %1$d%% বিৱৰ্ধন - বিৱৰ্ধন অফ আছে - কথা কোৱাৰ হাৰ %1$d%% - বঢ়াওক - কমাওক - সৰ্বাধিক - ন্যূনতম - %1$d%% - হে\'ডফোন ব্য়ৱহাৰ কৰি থাকিলেহে পাছৱৰ্ড কোৱা হয় - %1$s উপলব্ধ, চাবলৈ %2$s ব্যৱহাৰ কৰক। - বানানৰ পৰামৰ্শ উপলব্ধ। - ৱিণ্ড’ %1$s - %1$s, চিনাক্ত কৰা চিহ্ন - %1$s, পাঠ - diff --git a/compositor/src/main/res/values-az/strings.xml b/compositor/src/main/res/values-az/strings.xml deleted file mode 100644 index 4c09bac4e..000000000 --- a/compositor/src/main/res/values-az/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Talkback aktivdir - TalkBack dayandırıldı - TalkBack davam edir - TalkBack deaktivdir - Səsli Rəy aktivdir - Səsli Rəy dayandırıldı - Səsli Rəy davam edir - Səsli Rəy deaktivdir - Sahənin əvvəli - Sahənin sonu - Seçim rejimi aktivdir - Seçim rejimi deaktivdir - Seçim təmizləndi - Zəng edin - Mesaj - E-poçt - Tədbir - Promo - Zəngli saat - Gedişat - Sosial - Xəta - Media nəzarəti - Sistem statusu - Xidmət - %1$s menyu - %2$s %1$s ilə əvəzləndi - %1$s silinib - kəsildi, %1$s - yerləşdirildi, %1$s - %1$s, seçilib - Seçilmiş mətn: %1$s - %1$s, seçilməyib - Yanlış daxiletmə %1$s - %1$s simvol %2$s simvol ilə əvəzləndi - %2$s üçün %1$s - %1$s faiz. - - %1$s %2$d element göstərir. - %1$s %2$d element göstərir. - - Error: %1$s - Tor - Siyahı - Tab paneli - Aşağı açılan siyahı - Qeyd xanası - Radio düymə - Düymə - Slayder - Keçid - Redaktə qutusu - Redaktəetmə - Təsvir - Etiketsiz - Çox saylı səhifə görünüşü - Səhifə - Gediş paneli - Veb görünüşü - parol - Siyirtmə açıldı - Seçimlər. - Silinmiş mətn - Maksimum uzunluğa çatıb - seçilib - yoxlanılıb - yoxlanılmayıb - aktiv - deaktiv - deaktiv - genişləndirilib - yığcamlaşdırılıb - İkili tıklama - Tıkla - Seçim Açarına Basın - Seçin düyməsini basın - Aktivləşdirmək üçün %1$s. - Aktivləşdirmək üçün %1$s basın. - %1$s və davamlı basın. - Uzun basım üçün %1$s basın. - %1$s keçid üçün. - Keçid üçün %1$s basın. - Mətni redaktə etmək üçün %1$s. - Mətni redaktə etmək üçün %1$s düyməsinə basın. - %1$s dəyişmək üçün. - Dəyişdirmək üçün %1$s basın. - Səhifədən səhifəyə keçmək üçün iki barmaqla sürüşdürün. - Səhifə yoxdur. - Tənzimləmək üçün səs düymələrindən istifadə edin - Dəyişdirmək üçün %1$s. - Əməliyyatlar: - %2$s üçün %1$s. - %2$s üçün %1$s basın. - %2$s üçün %1$s və saxlayın. - Sürüşdürmək üçün %1$s. - Əlçatan əməliyyatlar üçün %1$s. - Tənzimləmək üçün Dəyişin seçimini edin - Böyük hərflər aktivdir. - Böyük hərflər deaktivdir. - Nömrələr aktivdir. - Nömrələr aktivdir. - Sürüşdürmə aktivdir. - Sürüşdürmə deaktivdir. - Portret - Peyzaj - Rədd edin - Genişləndirin - Yığcamlaşdırın - Sıra %1$d - Sütun %1$d - %1$d/%2$d - Başlıq - Cərgə başlığı - Sütun başlığı - %1$s %2$s kolleksiyasında - %1$s rolunda - %1$s siyahısında - Siyahıda - %1$s %2$s kolleksiyasından kənar - %1$s rolundan kənar - %1$s siyahısından kənar - Siyahıdan kənar - %1$s cədvəlində - Cədvəldə - %1$s cədvəlindən kənar - Cədvəldən kənar - %1$s adlı peycerdəsiniz - Peycerdəsiniz - %1$s adlı peycerdə deyilsiniz - Peycerdə deyilsiniz - Vertikal peycerdəsiniz %1$s - Vertikal peycerdəsiniz - %1$s adlı vertikal peycerdə deyilsiniz - Vertikal peycerdə deyilsiniz - %1$s adlı horizontal peycerdəsiniz - Horizontal peycerdəsiniz - Horizontal peycerdə deyilsiniz - %1$s adlı cədvəl peycerindəsiniz - Cədvəl peycerindəsiniz - %1$s adlı cədvəl peycerində deyilsiniz - Cədvəl peycerində deyilsiniz - Səviyyə %1$d - - %1$d element - %1$d element - - - %1$d cərgə - %1$d cərgə - - - %1$d sütun - %1$d sütun - - - %1$d simvol - %1$d simvol - - %1$d%% böyütmə aktivdir - %1$d%% böyütmə - Böyütmə deaktivdir - %1$d%% nitq sürəti - Artırın - Azaldın - Maksimum - Minimum - %1$d%% - Yalnız qulaqlıq istifadə edilən zaman səslədirilən parollar - %1$s əlçatandır, baxmaq üçün %2$s istifadə edin. - Yazılış təklifləri əlçatandır. - %1$s pəncərəsi - %1$s, aşkarlanan ikona - %1$s, mətn - diff --git a/compositor/src/main/res/values-b+es+419/strings.xml b/compositor/src/main/res/values-b+es+419/strings.xml deleted file mode 100644 index 865dfcb87..000000000 --- a/compositor/src/main/res/values-b+es+419/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Se activó Talkback - Se suspendió TalkBack - Se reanudó TalkBack - Se desactivó TalkBack - Se activaron los comentarios por voz - Se suspendieron los comentarios por voz - Se reanudaron los comentarios por voz - Se desactivaron los comentarios por voz - Inicio del campo - Fin del campo - Se activó el modo de selección - Se desactivó el modo de selección - Se borró la selección - Llamada - Mensaje - Correo electrónico - Evento - Promoción - Alarma - Progreso - Redes sociales - Error - Control multimedia - Estado del sistema - Servicio - Menú %1$s - %1$s reemplazó %2$s. - Se borró %1$s - se cortó %1$s - se pegó %1$s - se seleccionó %1$s - Texto que se seleccionó: %1$s - se dejó de seleccionar %1$s - Entrada no válida %1$s - %1$s caracteres reemplazados con %2$s caracteres - %1$s de %2$s - %1$s por ciento. - - %2$d muestra %1$s elemento. - %2$d muestra %1$s elementos. - - Error: %1$s - Cuadrícula - Lista - Barra de pestañas - Lista desplegable - Casilla de verificación - Botón de selección - Botón - Control deslizante - Interruptor - Editar casilla - Editando - Imagen - Sin etiquetar - Vista de páginas múltiples - Página - Barra de progreso - Vista web - contraseña - Cajón deslizante abierto - Opciones - Texto borrado - Duración máxima alcanzada - seleccionado - Se marcó el elemento. - no marcado - activado - desactivado - Inhabilitado - expandido - contraída - Tocar dos veces - Presionar - Pulsa el interruptor de seleccionar - Presiona Seleccionar - %1$s para activar. - Presiona %1$s para activar el elemento. - %1$s y mantén presionado. - Presiona %1$s para mantener presionado. - %1$s para alternar. - Presiona %1$s para activar o desactivar. - Para editar texto, %1$s. - Presiona %1$s para editar texto. - %1$s para cambiar. - Presiona %1$s para hacer cambios. - Para cambiar de página, desliza con dos dedos. - No hay más páginas. - Usa los botones de volumen para ajustar - %1$s para cambiar. - Acciones: - %1$s para %2$s. - Presiona %1$s para %2$s. - %1$s y mantén presionado para %2$s. - %1$s para desplazarte. - %1$s para consultar las acciones disponibles. - Presiona el interruptor de seleccionar para ajustar - Mayúsculas activadas - Mayúsculas desactivadas - Bloqueo numérico activado - Bloqueo numérico desactivado - Bloqueo de desplazamiento activado - Bloqueo de desplazamiento desactivado - Vertical - Horizontal - Descartar - Expandir - Contraer - Fila %1$d - Columna %1$d - %1$d de %2$d - Encabezado - Encabezado de la fila - Encabezado de la columna - En %1$s %2$s - En %1$s - En la lista %1$s - En la lista - Fuera de %1$s %2$s - Fuera de %1$s - Fuera de la lista %1$s - Fuera de la lista - En la cuadrícula %1$s - En la cuadrícula - Fuera de la cuadrícula %1$s - Fuera de la cuadrícula - En el localizador %1$s - En el localizador - Fuera del localizador %1$s - Fuera del localizador - En el localizador vertical %1$s - En el localizador vertical - Fuera del localizador vertical %1$s - Fuera del localizador vertical - En el localizador horizontal %1$s - En el localizador horizontal - Fuera del localizador horizontal - En el localizador de cuadrícula %1$s - En el localizador de cuadrícula - Fuera del localizador de cuadrícula %1$s - Fuera del localizador de cuadrícula - Nivel %1$d - - %1$d elemento - %1$d elementos - - - %1$d fila - %1$d filas - - - %1$d columna - %1$d columnas - - - %1$d carácter - %1$d caracteres - - Ampliación al %1$d%% - Ampliación: %1$d%% - Se desactivó la ampliación - La velocidad de voz es del %1$d%% - Subir - Bajar - Máximo - Mínimo - %1$d%% - Las contraseñas solo se leen en voz alta cuando se usan auriculares - %1$s disponible; usa %2$s para ver. - Sugerencias de ortografía disponibles. - Ventana %1$s - %1$s, ícono detectado - %1$s, texto - diff --git a/compositor/src/main/res/values-b+sr+Latn/strings.xml b/compositor/src/main/res/values-b+sr+Latn/strings.xml deleted file mode 100644 index d92f9061e..000000000 --- a/compositor/src/main/res/values-b+sr+Latn/strings.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - TalkBack je uključen - TalkBack je suspendovan - Korišćenje TalkBack-a je nastavljeno - TalkBack je isključen - Govorne povratne informacije su uključene - Govorne povratne informacije su obustavljene - Govorne povratne informacije su nastavljene - Govorne povratne informacije su isključene - Početak polja - Kraj polja - Režim izbora je uključen - Režim izbora je isključen - Izbor je obrisan - Poziv - Poruka - Imejl - Događaj - Promocija - Alarm - Napredak - Društvena mreža - Greška - Kontrola medijskih datoteka - Status sistema - Usluga - Meni %1$s - Tekst %1$s je zamenio tekst %2$s - Tekst %1$s je izbrisan - isečeno, %1$s - nalepljeno, %1$s - %1$s, izabrano - Izabrani tekst: %1$s - %1$s, izbor je opozvan - Nevažeći unos %1$s - Stari broj znakova (%1$s) zamenjen je novim brojem znakova (%2$s) - %1$s za %2$s - %1$s posto. - - %1$s prikazuje %2$d stavku. - %1$s prikazuje %2$d stavke. - %1$s prikazuje %2$d stavki. - - Error: %1$s - Mreža - Lista - Traka sa karticama - Padajuća lista - Polje za potvrdu - Dugme za izbor - Dugme - Klizač - Prekidač - Okvir za izmene - Izmena je u toku - Slika - Nema oznaku - Prikaz sa više stranica - Stranica - Traka napretka - Veb-prikaz - lozinka - Klizna fioka je otvorena - Opcije. - Tekst je obrisan - Dostignuta je maksimalna dužina - izabrano je - obeleženo je - nije označeno - uključeno - isključeno - onemogućeno je - prošireno - skupljeno - Dodirnite dvaput - Dodirnite - Pritisnite prekidač Izaberi - Pritisnite Izaberi - %1$s da biste aktivirali. - Pritisnite %1$s da biste aktivirali. - %1$s i zadržite za dugi pritisak. - Pritisnite %1$s za dugi pritisak. - %1$s da biste prebacivali. - Pritisnite %1$s da biste uključili/isključili. - Da biste izmenili tekst: %1$s - Pritisnite %1$s da biste izmenili tekst. - %1$s da biste promenili. - Pritisnite %1$s da biste promenili. - Prevucite sa dva prsta da biste promenili stranicu. - Nema više stranica. - Koristite tastere za jačinu zvuka da biste prilagodili - %1$s da biste promenili. - Radnje: - %1$s za radnju %2$s. - Pritisnite %1$s da biste %2$s. - %1$s i zadržite za radnju %2$s. - %1$s da biste se pomerali. - %1$s za dostupne radnje. - Pritisnite prekidač Izaberi da biste podesili - Caps Lock je uključen. - Caps Lock je isključen. - Num Lock je uključen. - Num Lock je isključen. - Scroll Lock je uključen. - Scroll Lock je isključen. - Uspravno - Vodoravno - Odbaci - Proširi - Skupi - Red %1$d - Kolona %1$d - %1$d. od %2$d - Naslov - Naslov reda - Naslov kolone - U ulozi %1$s u okviru kolekcije %2$s - U ulozi %1$s - Na listi %1$s - Na listi - Van uloge %1$s u okviru kolekcije %2$s - Van uloge %1$s - Van liste %1$s - Van liste - Na mreži %1$s - Na mreži - Van mreže %1$s - Van mreže - U alatki za pregled stranica %1$s - U alatki za pregled stranica - Van alatke za pregled stranica %1$s - Van alatke za pregled stranica - U vertikalnoj alatki za pregled stranica %1$s - U vertikalnoj alatki za pregled stranica - Van vertikalne alatke za pregled stranica %1$s - Van vertikalne alatke za pregled stranica - U horizontalnoj alatki za pregled stranica %1$s - U horizontalnoj alatki za pregled stranica - Van horizontalne alatke za pregled stranica - U alatki za pregled stranica pomoću mreže %1$s - U alatki za pregled stranica pomoću mreže - Van alatke za pregled stranica pomoću mreže %1$s - Van alatke za pregled stranica pomoću mreže - %1$d. nivo - - %1$d stavka - %1$d stavke - %1$d stavki - - - %1$d red - %1$d reda - %1$d redova - - - %1$d kolona - %1$d kolone - %1$d kolona - - - %1$d znak - %1$d znaka - %1$d znakova - - Uvećanje je %1$d%% - Uvećanje %1$d%% - Uvećanje je isključeno - Brzina govora %1$d%% - Povećavanje - Smanjivanje - Maksimum - Minimum - %1$d%% - Lozinke se izgovaraju samo kada koristite slušalice - %1$s vam je na raspolaganju. Pregledajte pomoću pokreta %2$s. - Dostupni su pravopisni predlozi - Prozor %1$s - %1$s, otkrivena ikona - %1$s, tekst - diff --git a/compositor/src/main/res/values-be/strings.xml b/compositor/src/main/res/values-be/strings.xml deleted file mode 100644 index 7ecea7d76..000000000 --- a/compositor/src/main/res/values-be/strings.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - TalkBack уключаны - Праца TalkBack прыпынена - Праца TalkBack узноўлена - TalkBack адключаны - Галасавая зваротная сувязь уключана - Галасавая зваротная сувязь прыпынена - Галасавая зваротная сувязь адноўлена - Галасавая зваротная сувязь адключана - Пачатак поля - Канец поля - Рэжым вылучэння ўключаны - Рэжым вылучэння адключаны - Вылучэнне ачышчана - Вас выклікаюць - Паведамленне - Электронная пошта - Падзея - Рэклама - Будзільнік - Ход працэсу - Сацыяльныя - Памылка - Кіраванне мультымедыя - Сістемны статус - Сэрвіс - Меню «%1$s» - %2$s заменены на %1$s - Тэкст «%1$s» выдалены - выразана: %1$s - устаўлена: %1$s - вылучана: %1$s - Вылучаны тэкст: %1$s - вылучэнне знята: %1$s - Недапушчальнае значэнне %1$s - Наступная колькасць сімвалаў: %1$s заменена на наступную колькасць сімвалаў: %2$s - %1$s для %2$s - Працэнтаў: %1$s. - - У %1$s паказваецца %2$d элемент. - У %1$s паказваюцца %2$d элементы. - У %1$s паказваецца %2$d элементаў. - У %1$s паказваецца %2$d элемента. - - Error: %1$s - Сетка - Спіс - Панэль укладак - Выпадны спіс - Поле для птушкі - Кнопка-пераключальнік - Кнопка - Паўзунок - Пераключальнік - Поле рэдагавання - Рэдагуецца - Відарыс - Без меткі - Шматстаронкавы выгляд - Старонка - Індыкатар стану - Вэб-прадстаўленне - пароль - Высоўная панэль - Параметры. - Увесь тэкст выдалены - Дасягнута максімальная даўжыня - выбрана - пазначана - не пазначана - уключаны - адключаны - адключана - разгорнута - згорнута - Падвойнае крананне - Дакрананне - Націсніце на пераключальнік выбару - Націсніце \"Выбраць\" - Каб актываваць, трэба %1$s. - Націсніце %1$s, каб актываваць. - %1$s і ўтрымлівайце, каб выканаць доўгае націсканне. - Націсніце %1$s, каб выканаць доўгае націсканне. - %1$s, каб пераключыць. - Націсніце %1$s, каб пераключыць. - %1$s, каб змяніць тэкст. - Каб змяніць тэкст, націсніце %1$s\". - %1$s, каб змяніць. - Націсніце %1$s, каб змяніць. - Каб пераключыцца паміж старонкамі, правядзіце па экране двума пальцамі. - Больш старонак няма. - Для рэгуліроўкі выкарыстоўвайце клавішы гучнасці - %1$s, каб змяніць. - Дзеянні: - %1$s, каб %2$s. - Націсніце %1$s, каб %2$s. - %1$s і ўтрымлівайце, каб %2$s. - Каб прагарнуць, трэба %1$s. - Каб убачыць даступныя дзеянні, трэба %1$s. - Для рэгуліроўкі націсніце на пераключальнік выбару - Caps Lock уключаны. - Caps Lock выключаны. - Num Lock уключаны. - Num Lock выключаны. - Scroll Lock уключаны. - Scroll Lock выключаны. - Кніжная арыентацыя - Альбомная арыентацыя - Адхіліць - Разгарнуць - Згарнуць - Радок %1$d - Слупок %1$d - %1$d з %2$d - Загаловак - Загаловак радка - Загаловак слупка - Як \"%1$s\" з калекцыі \"%2$s\" - Як \"%1$s\" - У спісе \"%1$s\" - У спісе - Не як \"%1$s\" з калекцыі \"%2$s\" - Не як \"%1$s\" - Не ў спісе \"%1$s\" - Не ў спісе - У сетцы \"%1$s\" - У сетцы - Не ў сетцы \"%1$s\" - Не ў сетцы - У межах старонкі %1$s - У межах старонкі - Па-за межамі старонкі %1$s - Па-за межамі старонкі - У межах вертыкалі старонкі %1$s - У межах вертыкалі старонкі - Па-за межамі вертыкалі старонкі %1$s - Па-за межамі вертыкалі старонкі - У межах гарызанталі старонкі %1$s - У межах гарызанталі старонкі - Па-за межамі гарызанталі старонкі - У межах сеткі старонкі %1$s - У межах сеткі старонкі - Па-за межамі сеткі старонкі %1$s - Па-за межамі сеткі старонкі - Узровень %1$d - - %1$d элемент - %1$d элементы - %1$d элементаў - %1$d элемента - - - %1$d радок - %1$d радкі - %1$d радкоў - %1$d радка - - - %1$d слупок - %1$d слупкі - %1$d слупкоў - %1$d слупка - - - %1$d сімвал - %1$d сімвалы - %1$d сімвалаў - %1$d сімвала - - Павелічэнне ўключана: %1$d%% - Павелічэнне: %1$d%% - Павелічэнне выключана - Хуткасць маўлення %1$d%% - Павялічыць - Паменшыць - Максімум - Мінімум - %1$d%% - Паролі прагаворваюцца толькі пры падключаных навушніках - %1$s – даступна. Для прагляду скарыстайце жэст %2$s. - Прапануюцца варыянты арфаграфічных выпраўленняў. - Акно \"%1$s\" - Выяўлены значок: %1$s - Тэкст: %1$s - diff --git a/compositor/src/main/res/values-bg/strings.xml b/compositor/src/main/res/values-bg/strings.xml deleted file mode 100644 index 3354a7426..000000000 --- a/compositor/src/main/res/values-bg/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Приложението TalkBack е включено - Услугата TalkBack е спряна - Услугата TalkBack е възобновена - Услугата TalkBack е изключена - Обратната връзка с говор е включена - Обратната връзка с говор е спряна - Обратната връзка с говор е възобновена - Обратната връзка с говор е изключена - Начало на полето - Край на полето - Режимът за избиране е включен - Режимът за избиране е изключен - Изборът е изчистен - Обаждане - Съобщение - Имейл - Събитие - Промоция - Будилник - Напредък - Социални мрежи - Грешка - Управление на мултимедията - Състояние на системата - Услуга - Меню „%1$s“ - Текстът „%1$s“ замени „%2$s“ - Изтрихте текста „%1$s“ - изрязахте текста „%1$s“ - поставихте текста „%1$s“ - избрахте текста „%1$s“ - Избран текст: „%1$s“ - отменихте избора на текста „%1$s“ - Въведеното е невалидно – %1$s - %1$s знака са заменени с/ъс %2$s знака - %1$s за %2$s - %1$s процента. - - Показва се %2$d елемент от „%1$s“. - Показват се %2$d елемента от „%1$s“. - - Error: %1$s - Таблица - Списък - Лента с раздели - Падащ списък - Квадратче за отметка - Бутон за избор - Бутон - Плъзгач - Превключвател - Поле за редактиране - Редактира се - Изображение - Без етикет - Изглед с няколко страници - Страница - Лента за напредъка - Изглед в мрежата - парола - Издърпващият се слой е отворен - Опции. - Текстът е изчистен - Достигната е максималната дължина - избрано - отметнато - не е отметнато - включено - изключено - деактивирано - разгънато - свито - Двукратно докосване - Докоснете - Натиснете превключвателя за избиране - Натиснете бутона за избор - %1$s, за да активирате. - Натиснете „%1$s“ за активиране. - %1$s и задръжте за продължително натискане. - Натиснете „%1$s“ за продължително натискане. - %1$s, за да превключите. - Натиснете „%1$s“ за превключване. - %1$s, за да редактирате текст. - Натиснете %1$s, за да редактирате текста. - %1$s, за да промените. - Натиснете „%1$s“ за промяна. - Прекарайте два пръста, за да превключите между страниците. - Няма повече страници. - Коригирайте чрез бутоните за силата на звука - %1$s, за да промените. - Действия: - %1$s за %2$s. - Натиснете „%1$s“ за %2$s. - %1$s и задръжте за %2$s. - %1$s, за да превъртите съдържанието. - %1$s, за да видите наличните действия. - Натиснете превключвателя за избиране, за да коригирате - Режимът „Caps Lock“ е включен. - Режимът „Caps Lock“ е изключен. - Режимът „Num Lock“ е включен. - Режимът „Num Lock“ е изключен. - Режимът „Scroll Lock“ е включен. - Режимът „Scroll Lock“ е изключен. - Вертикален режим - Хоризонтален режим - Отхвърляне - Разгъване - Свиване - Ред %1$d - Колона %1$d - %1$d от %2$d - Заглавие - Заглавие на ред - Заглавие на колона - Във %1$s %2$s - Във %1$s - В списъка %1$s - В списъка - Извън %1$s %2$s - Извън %1$s - Извън списъка %1$s - Извън списъка - В таблицата %1$s - В таблицата - Извън таблицата %1$s - Извън таблицата - В страницата %1$s - В страницата - Извън страницата %1$s - Извън страницата - Във вертикално ориентираната страница %1$s - Във вертикално ориентираната страница - Извън вертикално ориентираната страница %1$s - Извън вертикално ориентираната страница - В хоризонтално ориентираната страница %1$s - В хоризонтално ориентираната страница - Извън хоризонтално ориентираната страница - В страницата с таблично оформление %1$s - В страницата с таблично оформление - Извън страницата с таблично оформление %1$s - Извън страницата с таблично оформление - Ниво %1$d - - %1$d елемент - %1$d елемента - - - %1$d ред - %1$d реда - - - %1$d колона - %1$d колони - - - %1$d знак - %1$d знака - - Увеличението е включено и е %1$d%% - Увеличение от %1$d%% - Увеличението е изключено - Скоростта на говора е %1$d%% - Увеличаване - Намаляване - Максимално - Минимално - %1$d%% - Паролите ще бъдат изговаряни само при използване на слушалки - %1$s е налице. За преглед използвайте %2$s. - Налице са предложения за правопис. - Прозорец %1$s - Разпозната икона: %1$s - Текст: %1$s - diff --git a/compositor/src/main/res/values-bn/strings.xml b/compositor/src/main/res/values-bn/strings.xml deleted file mode 100644 index c441c81ff..000000000 --- a/compositor/src/main/res/values-bn/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack চালু রয়েছে - TalkBack সাসপেন্ড করা হয়েছে - TalkBack আবার শুরু হয়েছে - টকব্যাক বন্ধ - মুখে বলা ফিডব্যাক চালু আছে - মুখে বলা ফিডব্যাক স্থগিত করা আছে - মুখে বলা ফিডব্যাক আবার চালু করা হয়েছে - মুখে বলা ফিডব্যাক বন্ধ করা আছে - ফিল্ড শুরু - ফিল্ড শেষ - নির্বাচন মোড চালু আছে - নির্বাচন মোড বন্ধ আছে - নির্বাচন সাফ করা হয়েছে - কল - মেসেজ - ইমেল - ইভেন্ট - প্রচার - অ্যালার্ম - প্রগতি - সামাজিক - ত্রুটি - মিডিয়া নিয়ন্ত্রণ - সিস্টেমের স্থিতি - পরিষেবা - %1$s মেনু - %1$s দ্বারা %2$sকে প্রতিস্থাপিত করা হয়েছে - %1$s মোছা হয়েছে - %1$s কাট করুন - %1$s পেস্ট করা হয়েছে - %1$s নির্বাচন করা হয়েছে - নির্বাচিত লেখাটি হল: %1$s - %1$s নির্বাচনমুক্ত করা হয়েছে - অবৈধ ইনপুট %1$s - %1$sটি অক্ষরকে %2$sটি অক্ষরের দ্বারা প্রতিস্থাপন করা হয়েছে - %2$s এর জন্য %1$s - %1$s শতাংশ৷ - - %1$sএ %2$dটি আইটেম দেখা যাচ্ছে৷ - %1$sএ %2$dটি আইটেম দেখা যাচ্ছে৷ - - Error: %1$s - গ্রিড - তালিকা - ট্যাব দণ্ড - ড্রপ-ডাউন তালিকা - চেকবাক্স - রেডিও বোতাম - বোতাম - স্লাইডার - পাল্টান - সম্পাদনা বাক্স - সম্পাদনা করা হচ্ছে - ছবি - লেবেলহীন - একাধিক-পৃষ্ঠার দৃশ্য - পৃষ্ঠা - প্রগতি বার - ওয়েবভিউ - পাসওয়ার্ড - স্লাইডিং ড্রয়ার খোলা হয়েছে - বিকল্পগুলি৷ - সাফ করা পাঠ্য - সর্বোচ্চ দৈর্ঘ্যসীমায় পৌঁচেছে - নির্বাচিত - পরীক্ষা করা হয়েছে - টিক চিহ্ন দেওয়া নেই - চালু - বন্ধ - অক্ষম রয়েছে - প্রসারিত হয়েছে - সংকুচিত রয়েছে - দুবার আলতো চাপা - আলতো চাপুন - \'বেছে নিন\' সুইচটি টিপুন - \'নির্বাচন\' টিপুন - %1$s সক্রিয় করুন। - সক্রিয় করতে %1$s টিপুন। - %1$s এবং দীর্ঘক্ষণ টিপতে ধরে রাখুন৷ - দীর্ঘক্ষণ টিপতে %1$s টিপুন। - টগল করতে %1$s৷ - টগল করতে %1$s টিপুন। - টেক্সট এডিট করার জন্য %1$s। - টেক্সট এডিট করার জন্য %1$s প্রেস করুন। - পরিবর্তন করতে %1$s৷ - পরিবর্তন করতে %1$s টিপুন। - একটি পৃষ্ঠা থেকে অন্য পৃষ্ঠায় যেতে দুই আঙুল দিয়ে সোয়াইপ করুন৷ - আর কোনো পৃষ্ঠা নেই৷ - আওয়াজ ঠিক করতে ভলিউম কি ব্যবহার করুন - পরিবর্তন করতে %1$s করুন৷ - অ্যাকশনগুলি: - %2$s করতে %1$s করুন৷ - %2$s করতে %1$s টিপুন। - %1$s করুন এবং %2$s এ ধরে রাখুন৷ - স্ক্রল করতে %1$s। - কী কী করা যাবে তা জানতে %1$s। - অ্যাডজাস্ট করতে \'বেছে নিন\' বোতামটি টিপুন - বড় হাতের অক্ষর চালু করা আছে৷ - বড় হাতের অক্ষর বন্ধ করা আছে৷ - সংখ্যা লক চালু করা আছে৷ - সংখ্যা লক বন্ধ করা আছে৷ - স্ক্রোল লক চালু করা আছে৷ - স্ক্রোল লক বন্ধ করা আছে৷ - পোর্ট্রেট - ল্যান্ডস্কেপ - খারিজ করুন - বড় করুন - সঙ্কুচিত করুন - %1$d সারি - কলাম %1$d - %2$d-এর %1$d - শিরোনাম - সারির শিরোনাম - কলামের শিরোনাম - %1$s %2$s-এ - %1$s-এ - তালিকা %1$s-এ - তালিকাতে - %1$s %2$s-এর বাইরে - %1$s-এর বাইরে - তালিকা %1$s-এর বাইরে - তালিকার বাইরে - গ্রিড %1$s-এ - গ্রিডে - গ্রিড %1$s-এর বাইরে - গ্রিডের বাইরে - পেজারে %1$s - পেজারে - পেজারের বাইরে %1$s - পেজারের বাইরে - ভার্টিক্যাল পেজারে %1$s - ভার্টিক্যাল পেজারে - ভার্টিক্যাল পেজারে %1$s - ভার্টিক্যাল পেজারের বাইরে - হরিজন্টাল পেজারে %1$s - হরিজন্টাল পেজারে - হরিজন্টাল পেজারের বাইরে - গ্রিড পেজারে %1$s - গ্রিড পেজারে - গ্রিড পেজারের বাইরে %1$s - গ্রিড পেজারের বাইরে - স্তর %1$d - - %1$dটি আইটেম - %1$dটি আইটেম - - - %1$dটি সারি - %1$dটি সারি - - - %1$dটি কলাম - %1$dটি কলাম - - - %1$dটি অক্ষর - %1$dটি অক্ষর - - %1$d%% শতাংশ বড় করে দেখানো হচ্ছে - %1$d%% শতাংশ বড় করে দেখানো হচ্ছে - বড় করে দেখানো বন্ধ করা হয়েছে - ভাষ্যের হার %1$d%% - বাড়ান - কমান - সর্বোচ্চ - ন্যূনতম - %1$d%% - শুধুমাত্র হেডফোন ব্যবহার করলেই পাসওয়ার্ড বলা যাবে - %1$s উপলভ্য আছে, এটি দেখতে %2$s ব্যবহার করুন। - বানানের সাজেশন উপলভ্য আছে। - %1$s উইন্ডো - %1$s, এই আইকন শনাক্ত করা হয়েছে - %1$s, টেক্সট - diff --git a/compositor/src/main/res/values-bs/strings.xml b/compositor/src/main/res/values-bs/strings.xml deleted file mode 100644 index 7d97fe2bb..000000000 --- a/compositor/src/main/res/values-bs/strings.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - TalkBack je uključen - TalkBack je obustavljen - TalkBack je nastavljen - TalkBack je isključen - Izgovaranje povratnih informacija je uključeno - Izgovaranje povratnih informacija je obustavljeno - Izgovaranje povratnih informacija je nastavljeno - Izgovaranje povratnih informacija je isključeno - Početak polja - Kraj polja - Način odabira je uključen - Način odabira je isključen - Odabir je izbrisan - Poziv - Poruka - E-poruka - Događaj - Promocija - Alarm - Napredak - Društvena mreža - Greška - Kontroliranje medija - Status sistema - Usluga - Meni za %1$s - %1$s je zamijenio %2$s - %1$s je izbrisan - izrezano, %1$s - zalijepljeno, %1$s - %1$s, odabrano - Odabrani tekst: %1$s - %1$s, nije odabrano - Neispravan unos %1$s - %1$s zamijenjen s %2$s znakova - %1$s za %2$s - %1$s posto. - - %1$s pokazuje %2$d stavku. - %1$s pokazuje %2$d stavke. - %1$s pokazuje %2$d stavki. - - Error: %1$s - Mreža - Lista - Traka tabulatora - Padajuća lista - Okvir za odabir - Dugme za izbor - Dugme - Klizač - Prekidač - Okvir za uređivanje - Uređivanje - Slika - Neobilježeno - Prikaz više strana - Strana - Traka napretka - Web prikaz - lozinka - Klizna ladica je otvorena - Opcije - Tekst je obrisan - Dostignuta je maksimalna dužina - odabrano - označeno - nije označeno - uključeno - isključeno - onemogućeno - prošireno - skupljeno - Dodirnite dvaput - Dodirni - Pritisnite prekidač za odabir - Pritisnite dugme za odabir - %1$s za aktiviranje. - Pritisnite %1$s za aktiviranje. - %1$s i držite za dugi pritisak. - Pritisnite %1$s za dugi pritisak. - %1$s za uključivanje - Pritisnite %1$s za uključivanje. - %1$s da uredite tekst. - Pritisnite %1$s da uredite tekst - %1$s za promjenu. - Pritisnite %1$s za promjenu. - Prevlačenje s dva prsta za prebacivanje između stranica. - Nema više stranica. - Koristite tipke za podešavanje jačine zvuka da namjestite - %1$s za promjenu. - Radnje: - %1$s za %2$s. - Pritisnite %1$s za %2$s. - %1$s i drži za %2$s. - %1$s za klizanje. - %1$s za dostupne radnje. - Pritisnite Odaberi prekidač za podešavanje - Velika slova su uključena - Velika slova su isključena - Numerička tastatura je uključena. - Numerička tastatura je isključena. - Pomicanje je zaključano. - Pomicanje je otključano. - Uspravno - Vodoravno - Odbaci - Proširi - Suzi - Red %1$d - Kolona %1$d - %1$d. od %2$d - Naslov - Naslov reda - Naslov kolone - U: %1$s – %2$s - U: %1$s - Na listi %1$s - Na listi - Van: %1$s – %2$s - Van: %1$s - Van liste %1$s - Van liste - U mreži %1$s - U mreži - Van mreže %1$s - Van mreže - U alatu za pregled stranica %1$s - U alatu za pregled stranica - Izvan alata za pregled stranica %1$s - Izvan alata za pregled stranica - U alatu za pregled stranica s vertikalnom orijentacijom %1$s - U alatu za pregled stranica s vertikalnom orijentacijom - Izvan alata za pregled stranica s vertikalnom orijentacijom %1$s - Izvan alata za pregled stranica s vertikalnom orijentacijom - U alatu za pregled stranica s horizontalnom orijentacijom %1$s - U alatu za pregled stranica s horizontalnom orijentacijom - Izvan alata za pregled stranica s horizontalnom orijentacijom - U alatu za pregled stranica s mrežnim prikazom %1$s - U alatu za pregled stranica s mrežnim prikazom - Izvan alata za pregled stranica s mrežnim prikazom %1$s - Izvan alata za pregled stranica s mrežnim prikazom - Nivo %1$d - - %1$d stavka - %1$d stavke - %1$d stavki - - - %1$d red - %1$d reda - %1$d redova - - - %1$d kolona - %1$d kolone - %1$d kolona - - - %1$d znak - %1$d znaka - %1$d znakova - - Uvećavanje je uključeno %1$d%% - Uvećavanje %1$d%% - Uvećavanje je isključeno - Brzina govora %1$d%% - Pojačavanje - Smanjivanje - Maksimalno - Minimalno - %1$d%% - Lozinke se izgovaraju samo kada se koriste slušalice - Radnja %1$s je dostupna, koristite %2$s za prikaz. - Dostupni su prijedlozi ispravno napisanih riječi. - Prozor %1$s - %1$s, otkrivena je ikona - %1$s, tekst - diff --git a/compositor/src/main/res/values-ca/strings.xml b/compositor/src/main/res/values-ca/strings.xml deleted file mode 100644 index 9379d00bb..000000000 --- a/compositor/src/main/res/values-ca/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack activat - S\'ha suspès TalkBack - S\'ha reprès TalkBack - TalkBack està desactivat - S\'han activat els avisos de veu - S\'han suspès els avisos de veu - S\'han reprès els avisos de veu - S\'han desactivat els avisos de veu - Inici del camp - Fi del camp - S\'ha activat el mode de selecció - S\'ha desactivat el mode de selecció - S\'ha esborrat la selecció - Trucada - Missatge - Correu electrònic - Esdeveniment - Promoció - Alarma - Progrés - Xarxes socials - Error - Control d\'elements multimèdia - Estat del sistema - Servei - Menú %1$s - %1$s substituït per %2$s - S\'ha suprimit: %1$s - s\'ha retallat %1$s - s\'ha enganxat %1$s - S\'ha seleccionat %1$s - Text seleccionat: %1$s - S\'ha anul·lat la selecció de %1$s - Entrada no vàlida: %1$s - %1$s caràcters substituïts per %2$s caràcters - %1$s per a %2$s - %1$s per cent - - %1$s mostra %2$d element. - %1$s mostra %2$d elements. - - Error: %1$s - Graella - Llista - Barra de pestanyes - Llista desplegable - Casella de selecció - Botó d\'opció - Botó - Control lliscant - Interruptor - Quadre d\'edició - Edició - Imatge - Sense etiquetar - Visualització de diverses pàgines - Pàgina - Barra de progrés - Visualització web - contrasenya - Calaix lliscant obert - Opcions - Text esborrat - S\'ha arribat a la longitud màxima. - seleccionat - marcat - no marcat - activat - desactivat - desactivat - està desplegat - està replegat - Doble toc - Toca - Prem l\'interruptor de selecció - Prem el botó de selecció - %1$s per activar. - Prem %1$s per activar. - %1$s i mantén premut per fer un toc llarg. - Prem %1$s per mantenir premut. - %1$s per canviar. - Prem %1$s per alternar. - %1$s per editar el text - Prem %1$s per editar el text. - %1$s per canviar. - Prem %1$s per canviar. - Llisca dos dits per canviar de pàgina. - No hi ha més pàgines. - Utilitza les tecles de volum per ajustar-lo - %1$s per canviar-ho. - Accions: - %1$s per %2$s. - Prem %1$s per %2$s. - %1$s i mantén premut per %2$s. - %1$s per desplaçar-te. - %1$s per veure les accions disponibles. - Prem l\'interruptor de selecció per ajustar-ho - Bloqueig de majúscules activat. - Bloqueig de majúscules desactivat. - Bloqueig de teclat numèric activat. - Bloqueig de teclat numèric desactivat. - Bloqueig de desplaçament activat. - Bloqueig de desplaçament desactivat. - Vertical - Horitzontal - Ignora - Desplega - Replega - Fila %1$d - Columna %1$d - %1$d de %2$d - Encapçalament - Títol de la fila - Títol de la columna - A %1$s %2$s - A %1$s - A la llista %1$s - A la llista - Fora de %1$s %2$s - Fora de %1$s - Fora de la llista %1$s - Fora de la llista - A la quadrícula %1$s - A la quadrícula - Fora de la quadrícula %1$s - Fora de la quadrícula - Dins la pàgina %1$s - Dins la pàgina - Fora de la pàgina %1$s - Fora de la pàgina - Dins la pàgina vertical %1$s - Dins la pàgina vertical - Fora de la pàgina vertical %1$s - Fora de la pàgina vertical - Dins la pàgina horitzontal %1$s - Dins la pàgina horitzontal - Fora de la pàgina horitzontal - Dins la pàgina de quadrícula %1$s - Dins la pàgina de quadrícula - Fora de la pàgina de quadrícula %1$s - Fora de la pàgina de quadrícula - Nivell %1$d - - %1$d element - %1$d elements - - - %1$d fila - %1$d files - - - %1$d columna - %1$d columnes - - - %1$d caràcter - %1$d caràcters - - S\'ha activat l\'ampliació en un %1$d%% - Ampliació del %1$d%% - S\'ha desactivat l\'ampliació - Velocitat de parla %1$d%% - Apuja - Abaixa - Màxim - Mínim - %1$d%% - Es llegeixen les contrasenyes només amb auriculars - %1$s disponible, utilitza %2$s per veure-ho. - Suggeriments ortogràfics disponibles. - Finestra %1$s - %1$s, icona detectada - %1$s, text - diff --git a/compositor/src/main/res/values-cs/strings.xml b/compositor/src/main/res/values-cs/strings.xml deleted file mode 100644 index 52c4bdf43..000000000 --- a/compositor/src/main/res/values-cs/strings.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - TalkBack – zapnuto - Aplikace TalkBack byla pozastavena - Aplikace TalkBack byla obnovena - Aplikace TalkBack je vypnutá - Hlasová odezva je zapnutá - Hlasová odezva je pozastavena - Hlasová odezva je obnovena - Hlasová odezva je vypnutá - Začátek pole - Konec pole - Režim výběru je zapnutý - Režim výběru je vypnutý - Výběr byl zrušen - Hovor - Zpráva - E-mail - Událost - Nabídka - Budík - Průběh - Sociální sítě - Chyba - Ovládání médií - Stav systému - Služba - Nabídka %1$s - Text %2$s byl nahrazen textem %1$s - Text %1$s byl smazán. - vyjmuto, %1$s - vloženo, %1$s - %1$s, vybráno - Vybraný text: %1$s - %1$s, výběr zrušen - Neplatný vstup: %1$s - Posloupnost %1$s znaků nahrazena %2$s znaky - %1$s pro %2$s - %1$s procent. - - %1$s s %2$d zobrazenou položkou. - %1$s se %2$d zobrazenými položkami. - %1$s se %2$d zobrazené položky. - %1$s s %2$d zobrazenými položkami. - - Error: %1$s - Mřížkové zobrazení - Seznam - Lišta karet - Rozbalovací seznam - Zaškrtávací políčko - Přepínací políčko - Tlačítko - Posuvník - Přepínač - Textové pole - Úpravy - Obrázek - Bez popisku - Zobrazení více stránek - Stránka - Ukazatel postupu - Webové zobrazení - heslo - Výsuvné okno otevřeno - Možnosti. - Text byl vymazán - Byla dosažena maximální povolená délka - vybráno - zaškrtnuto - nezaškrtnuto - zapnuto - vypnuto - deaktivováno - výběr je rozbalen - výběr je sbalen - dvojitým klepnutím - klepnutím - Stiskněte přepínač výběru - Stiskněte tlačítko výběru - Aktivujte %1$s. - K aktivaci slouží zkratka %1$s. - Dlouhé stisknutí provedete %1$s a podržením. - K dlouhému stisknutí slouží zkratka %1$s. - Zaškrtnutí přepnete %1$s. - K přepnutí slouží zkratka %1$s. - Text upravíte %1$s. - Chcete-li upravit text, stiskněte %1$s. - Změnu provedete %1$s. - Ke změně slouží zkratka %1$s. - Přepnout stránky: přejeďte po obrazovce dvěma prsty. - Žádné další stránky. - Posuvník lze ovládat pomocí tlačítek hlasitosti - Provedení změny: %1$s. - Akce: - %2$s: %1$s. - K akci %2$s slouží zkratka %1$s. - %2$s: %1$s a podržet. - Posouvání: %1$s. - Dostupné akce: %1$s. - Úpravy provedete stisknutím přepínače výběru - Režim Caps Lock je zapnutý. - Režim Caps Lock je vypnutý. - Režim Num Lock je zapnutý. - Režim Num Lock je vypnutý. - Režim Scroll Lock je zapnutý. - Režim Scroll Lock je vypnutý. - Na výšku - Na šířku - Zavřít - Rozbalit - Sbalit - Řádek %1$d - Sloupec %1$d - %1$d z %2$d - Nadpis - Záhlaví řádku - Záhlaví sloupce - %1$s %2$s - %1$s - V seznamu %1$s - V seznamu - Mimo %1$s %2$s - Mimo %1$s - Mimo seznam %1$s - Mimo seznam - V mřížce %1$s - V mřížce - Mimo mřížku %1$s - Mimo mřížku - Jste ve stránkovači %1$s - Jste ve stránkovači - Jste mimo stránkovač %1$s - Jste mimo stránkovač - Jste ve vertikálním stránkovači %1$s - Jste ve vertikálním stránkovači - Jste mimo vertikální stránkovač %1$s - Jste mimo vertikální stránkovač - Jste v horizontálním stránkovači %1$s - Jste v horizontálním stránkovači - Jste mimo horizontální stránkovač - Jste ve stránkovači s mřížkou %1$s - Jste ve stránkovači s mřížkou - Jste mimo stránkovač s mřížkou %1$s - Jste mimo stránkovač s mřížkou - Úroveň %1$d - - %1$d položka - %1$d položky - %1$d položky - %1$d položek - - - %1$d řádek - %1$d řádky - %1$d řádku - %1$d řádků - - - %1$d sloupec - %1$d sloupce - %1$d sloupce - %1$d sloupců - - - %1$d znak - %1$d znaky - %1$d znaku - %1$d znaků - - Zvětšení na %1$d %% - Zvětšení %1$d %% - Zvětšení je vypnuto - Rychlost řeči %1$d %% - Zvýšit - Snížit - Maximum - Minimum - %1$d %% - Hesla jsou vyslovována jen do sluchátek - %1$s je k dispozici, lze zobrazit pomocí gesta %2$s. - K dispozici jsou návrhy pravopisu. - Okno %1$s - %1$s, zjištěná ikona - %1$s, text - diff --git a/compositor/src/main/res/values-da/strings.xml b/compositor/src/main/res/values-da/strings.xml deleted file mode 100644 index 81433f4da..000000000 --- a/compositor/src/main/res/values-da/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack er slået til - TalkBack er suspenderet - TalkBack er genoptaget - TalkBack er deaktiveret - Talefeedback er aktiveret - Talefeedback er suspenderet - Talefeedback er genoptaget - Talefeedback er deaktiveret - Begyndelsen af feltet - Slutningen af feltet - Tekstmarkeringstilstanden er slået til - Tekstmarkeringstilstanden er slået fra - Tekstmarkeringen blev fjernet - Opkald - Besked - Mail - Begivenhed - Kampagne - Alarm - Status - Sociale netværk - Fejl - Mediekontrolelement - Systemstatus - Tjeneste - Menuen %1$s - %2$s er blevet erstattet af %1$s - %1$s er slettet - klippet, %1$s - sat ind, %1$s - %1$s er markeret - Markeret tekst: %1$s - markeringen af %1$s er fjernet - Ugyldigt input %1$s - %1$s tegn erstattet med %2$s tegn - %1$s for %2$s - %1$s procent. - - %1$s viser %2$d element. - %1$s viser %2$d elementer. - - Error: %1$s - Gitter - Liste - Fanelinje - Rullemenu - Afkrydsningsfelt - Alternativknap - Knap - Skyder - Kontakt - Redigeringsfelt - Redigerer - Billede - Uden etiket - Flersidet visning - Side - Statuslinje - Webvisning - adgangskode - Glider åbnet - Valgmuligheder. - Teksten blev ryddet - Maksimal længde nået - valgt - markeret - ikke markeret - til - fra - deaktiveret - udvidet - skjult - Tryk to gange - Tryk - Tryk på kontakten Vælg - Tryk på Vælg - %1$s for at aktivere. - Tryk på %1$s for at aktivere. - %1$s og hold nede for at trykke længe. - Tryk på %1$s for at trykke og holde nede. - %1$s for at skifte. - Tryk på %1$s for at slå til eller fra. - %1$s for at redigere tekst. - Tryk på %1$s for at redigere tekst. - %1$s for at ændre. - Tryk på %1$s for at skifte. - Stryg nedad med to fingre for at skifte side. - Der er ikke flere sider. - Brug lydstyrketasterne til at justere med - %1$s for at ændre den. - Handlinger: - %1$s for at %2$s. - Tryk på %1$s for at %2$s. - %1$s, og hold fingeren nede for at %2$s. - %1$s for at rulle. - %1$s for at se tilgængelige handlinger. - Tryk på Vælg kontakt for at justere - Caps Lock er slået til. - Caps Lock er slået fra. - Num Lock er slået til. - Num Lock er slået fra. - Scroll Lock er slået til. - Scroll Lock er slået fra. - Stående format - Liggende - Afvis - Udvid - Skjul - Række %1$d - Kolonne %1$d - %1$d af %2$d - Overskrift - Rækkeoverskrift - Kolonneoverskrift - På %1$s %2$s - På %1$s - På listen %1$s - På listen - Uden for %1$s %2$s - Uden for %1$s - Uden for listen %1$s - Uden for listen - Inden for gitteret %1$s - Inden for gitteret - Uden for gitteret %1$s - Uden for gitteret - I sideinddelingen %1$s - I sideinddelingen - Uden for sideinddelingen %1$s - Uden for sideinddelingen - I sideinddeling i lodret format %1$s - I sideinddeling i lodret format - Uden for sideinddeling i lodret format %1$s - Uden for sideinddeling i lodret format - I sideinddeling i vandret format %1$s - I sideinddeling i vandret format - Uden for sideinddeling i vandret format - I sideinddeling i gitterformat %1$s - I sideinddeling i gitterformat - Uden for sideinddeling i gitterformat %1$s - Uden for sideinddeling i gitterformat - Niveau %1$d - - %1$d punkt - %1$d punkter - - - %1$d række - %1$d rækker - - - %1$d kolonne - %1$d kolonner - - - %1$d tegn - %1$d tegn - - Forstørrelse på %1$d%% er slået til - Forstørrelse på %1$d%% - Forstørrelse er slået fra - Talehastighed %1$d %% - Højere - Lavere - Maksimum - Minimum - %1$d %% - Adgangskoder oplæses kun, når der bruges høretelefoner - %1$s tilgængelig. Brug bevægelsen %2$s for at se det. - Der er tilgængelige staveforslag. - Vinduet %1$s - %1$s, registreret ikon - %1$s, tekst - diff --git a/compositor/src/main/res/values-de/strings.xml b/compositor/src/main/res/values-de/strings.xml deleted file mode 100644 index d1151cde7..000000000 --- a/compositor/src/main/res/values-de/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack aktiviert - TalkBack gesperrt - TalkBack fortgesetzt - TalkBack aus - Gesprochenes Feedback ist aktiviert - Gesprochenes Feedback ist deaktiviert - Gesprochenes Feedback wird fortgesetzt - Gesprochenes Feedback aus - Anfang des Felds - Ende des Felds - Auswahlmodus an - Auswahlmodus aus - Auswahl gelöscht - Anruf - Nachricht - E-Mail - Termin - Angebot - Weckruf - Fortschritt - Soziale Netzwerke - Fehler - Mediensteuerung - Systemstatus - Dienst - Menü \"%1$s\" - %2$s ersetzt durch %1$s - %1$s gelöscht - Ausgeschnitten, %1$s - Eingefügt, %1$s - %1$s, ausgewählt - Ausgewählter Text: %1$s - %1$s, Auswahl aufgehoben - Ungültige Eingabe: %1$s - %1$s Zeichen durch %2$s Zeichen ersetzt - %1$s für %2$s - %1$s Prozent. - - %1$s mit %2$d sichtbaren Element. - %1$s mit %2$d sichtbaren Elementen. - - Error: %1$s - Raster - Liste - Tableiste - Drop-down-Liste - Kästchen - Optionsfeld - Schaltfläche - Schieberegler - Schalter - Bearbeitungsfeld - In Bearbeitung - Bild - Unbenannt - Mehrseitenansicht - Seite - Statusleiste - Webansicht - Passwort - Schieberegler geöffnet - Optionen - Text gelöscht - Maximale Länge erreicht - ausgewählt - aktiviert - nicht aktiviert - an - aus - deaktiviert - Maximiert - Minimiert - doppeltippen - Tippen - drücke den Schalter \"Auswählen\" - Auswahltaste drücken - Zum Auswählen %1$s. - Zum Aktivieren %1$s drücken. - Zum langen Drücken %1$s und halten - Zum langen Drücken %1$s drücken. - Zum Umschalten %1$s - Zum Wechseln %1$s drücken. - %1$s, um Text zu bearbeiten. - %1$s drücken, um Text zu bearbeiten. - Zum Ändern %1$s - Zum Ändern %1$s drücken. - Mit zwei Fingern wischen, um umzublättern. - Keine weiteren Seiten vorhanden. - Zum Anpassen Lautstärketasten verwenden - Zum Ändern %1$s. - Aktionen: - Zum %2$s %1$s. - Zum %2$s %1$s drücken. - Zum %2$s %1$s und halten. - Um zu scrollen, %1$s. - Um die verfügbaren Aktionen aufzurufen, %1$s. - Drück zum Anpassen den Schalter \"Auswählen\" - Feststelltaste aktiviert. - Feststelltaste deaktiviert. - Num-Taste aktiviert. - Num-Taste deaktiviert. - Rollen-Taste aktiviert. - Rollen-Taste deaktiviert. - Hochformat - Querformat - Schließen - Maximieren - Minimieren - Zeile %1$d - Spalte %1$d - %1$d von %2$d - Überschrift - Zeilenüberschrift - Spaltenüberschrift - In %1$s %2$s - In %1$s - In der Liste %1$s - In der Liste - Nicht in %1$s %2$s - Nicht in %1$s - Nicht in der Liste %1$s - Liste verlassen - Im Raster %1$s - Im Raster - Nicht im Raster %1$s - Nicht im Raster - Auf der Seite %1$s - Auf der Seite - Außerhalb der Seite %1$s - Außerhalb der Seite - Auf der vertikalen Seite %1$s - Auf der vertikalen Seite - Außerhalb der vertikalen Seite %1$s - Außerhalb der vertikalen Seite - Auf der horizontalen Seite %1$s - Auf der horizontalen Seite - Außerhalb der horizontalen Seite - Auf der Rasterseite %1$s - Auf der Rasterseite - Außerhalb der Rasterseite %1$s - Außerhalb der Rasterseite - Ebene %1$d - - %1$d Eintrag - %1$d Einträge - - - %1$d Zeile - %1$d Zeilen - - - %1$d Spalte - %1$d Spalten - - - %1$d Zeichen - %1$d Zeichen - - Vergrößerung ist auf %1$d %% eingestellt - Vergrößerung auf %1$d %% eingestellt - Vergrößerung deaktiviert - Sprechgeschwindigkeit: %1$d%% - Erhöhen - Verringern - Maximal - Minimal - %1$d %% - Passwörter werden nur bei Verwendung von Kopfhörern gesprochen - %1$s verfügbar, zum Ansehen %2$s verwenden. - Korrekturvorschläge verfügbar. - %1$s-Fenster - %1$s, erkanntes Symbol - %1$s, Text - diff --git a/compositor/src/main/res/values-el/strings.xml b/compositor/src/main/res/values-el/strings.xml deleted file mode 100644 index 481861494..000000000 --- a/compositor/src/main/res/values-el/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Talkback ενεργό - Η λειτουργία του TalkBack ανεστάλη - Έγινε συνέχιση του TalkBack - Το TalkBack είναι ανενεργό - Τα εκφωνημένα σχόλια είναι ενεργά - Τα εκφωνημένα σχόλια είναι σε αναστολή - Τα εκφωνημένα σχόλια συνεχίζονται - Τα εκφωνημένα σχόλια είναι ανενεργά - Αρχή πεδίου - Τέλος πεδίου - Λειτουργία επιλογής ενεργή - Λειτουργία επιλογής ανενεργή - Έγινε διαγραφή της επιλογής - Κλήση - Μήνυμα - Ηλεκτρονικό ταχυδρομείο - Συμβάν - Προώθηση - Ξυπνητήρι - Πρόοδος - Κοινωνικά - Σφάλμα - Στοιχείο ελέγχου μέσων - Κατάσταση συστήματος - Υπηρεσία - Μενού %1$s - Το %1$s αντικατέστησε το %2$s - Το %1$s διαγράφηκε - έγινε αποκοπή, %1$s - έγινε επικόλληση, %1$s - %1$s, έγινε επιλογή - Επιλεγμένο κείμενο: %1$s - %1$s, έγινε αποεπιλογή - Μη έγκυρο στοιχείο εισόδου %1$s - Αντικαταστάθηκαν %1$s χαρακτήρες με %2$s χαρακτήρες - %1$s για %2$s - %1$s τοις εκατό. - - %1$s που εμφανίζει %2$d στοιχείο. - %1$s που εμφανίζει %2$d στοιχεία. - - Error: %1$s - Πλέγμα - Λίστα - Γραμμή καρτελών - Αναπτυσσόμενη λίστα - Πλαίσιο ελέγχου - Κουμπί επιλογής - Κουμπί - Ρυθμιστικό - Διακόπτης - Πλαίσιο επεξεργασίας - Επεξεργασία - Εικόνα - Χωρίς ετικέτα - Προβολή πολλών σελίδων - Σελίδα - Γραμμή προόδου - Προβολή στον ιστό - κωδικός πρόσβασης - Το συρτάρι άνοιξε - Επιλογές. - Το κείμενο διαγράφηκε - Έχετε φθάσει τη μέγιστη διάρκεια - επιλεγμένο - ελέγχθηκε - δεν ελέγχθηκε - ενεργός - ανενεργό - απενεργοποιημένο - αναπτύχθηκε - συμπτύχθηκε - Διπλό πάτημα - Πάτημα - Πατήστε τον διακόπτη επιλογής - Πατήστε \"Επιλογή\" - %1$s για ενεργοποίηση. - Πιέστε %1$s για ενεργοποίηση. - %1$s και πατήστε παρατεταμένα για παρατεταμένο κλικ. - Πιέστε %1$s για παρατεταμένο πάτημα. - %1$s για εναλλαγή. - Πιέστε %1$s για εναλλαγή. - %1$s για να επεξεργαστείτε κείμενο. - Πατήστε %1$s για επεξεργασία κειμένου. - %1$s για αλλαγή. - Πιέστε %1$s για αλλαγή. - Σύρετε με δύο δάχτυλα για να αλλάξετε σελίδες. - Δεν υπάρχουν άλλες σελίδες. - Χρησιμοποιήστε τα πλήκτρα έντασης ήχου για προσαρμογή - %1$s για αλλαγή. - Ενέργειες: - %1$s για %2$s. - Πιέστε %1$s για %2$s. - %1$s παρατεταμένα για %2$s. - %1$s για κύλιση. - %1$s για τις διαθέσιμες ενέργειες. - Πατήστε τον διακόπτη επιλογής για προσαρμογή - Caps Lock ενεργό. - Caps Lock ανενεργό. - Num Lock ενεργό. - Num Lock ανενεργό. - Scroll Lock ενεργό. - Scroll Lock ανενεργό. - Κατακόρυφα - Οριζόντια - Παράβλεψη - Ανάπτυξη - Σύμπτυξη - Σειρά %1$d - Στήλη %1$d - %1$d από %2$d - Κεφαλίδα - Κεφαλίδα σειράς - Κεφαλίδα στήλης - Σε %1$s %2$s - Σε %1$s - Εντός της λίστας %1$s - Εντός λίστας - Εκτός %1$s %2$s - Εκτός %1$s - Εκτός της λίστας %1$s - Εκτός της λίστας - Εντός του πλέγματος %1$s - Εντός πλέγματος - Εκτός του πλέγματος %1$s - Εκτός πλέγματος - Εντός σελιδοποίησης %1$s - Εντός σελιδοποίησης - Εκτός σελιδοποίησης %1$s - Εκτός σελιδοποίησης - Εντός κατακόρυφης σελιδοποίησης %1$s - Εντός κατακόρυφης σελιδοποίησης - Εκτός κατακόρυφης σελιδοποίησης %1$s - Εκτός κατακόρυφης σελιδοποίησης - Εντός οριζόντιας σελιδοποίησης %1$s - Εντός οριζόντιας σελιδοποίησης - Εκτός οριζόντιας σελιδοποίησης - Εντός σελιδοποίησης πλέγματος %1$s - Εντός σελιδοποίησης πλέγματος - Εκτός σελιδοποίησης πλέγματος %1$s - Εκτός σελιδοποίησης πλέγματος - Επίπεδο %1$d - - %1$d στοιχείο - %1$d στοιχεία - - - %1$d σειρά - %1$d σειρές - - - %1$d στήλη - %1$d στήλες - - - %1$d χαρακτήρας - %1$d χαρακτήρες - - Μεγιστοποίηση στο %1$d%% - Μεγιστοποίηση %1$d%% - Απενεργοποίηση μεγιστοποίησης - Ρυθμός ομιλίας %1$d%% - Αύξηση - Μείωση - Μέγιστη - Ελάχιστη - %1$d%% - Οι κωδικοί πρόσβασης εκφωνούνται μόνο όταν χρησιμοποιείτε ακουστικά - Διατίθεται η επιλογή %1$s, χρησιμοποιήστε την κίνηση %2$s για προβολή. - Υπάρχουν διαθέσιμες προτάσεις ορθογραφίας. - Παράθυρο %1$s - %1$s, εντοπίστηκε εικονίδιο - %1$s, κείμενο - diff --git a/compositor/src/main/res/values-en-rAU/strings.xml b/compositor/src/main/res/values-en-rAU/strings.xml deleted file mode 100644 index c20f44869..000000000 --- a/compositor/src/main/res/values-en-rAU/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack on - TalkBack suspended - TalkBack resumed - TalkBack off - Spoken Feedback on - Spoken Feedback suspended - Spoken Feedback resumed - Spoken Feedback off - Beginning of field - End of field - Selection mode on - Selection mode off - Selection cleared - Call - Message - Email - Event - Promo - Alarm - Progress - Social - Error - Media control - System status - Service - %1$s menu - %1$s replaced %2$s - %1$s deleted - cut, %1$s - pasted, %1$s - %1$s, selected - Selected text: %1$s - %1$s, unselected - Invalid input %1$s - %1$s characters replaced with %2$s characters - %1$s for %2$s - %1$s per cent. - - %1$s showing %2$d item. - %1$s showing %2$d items. - - Error: %1$s - Grid - List - Tab bar - Drop-down menu - Tick box - Radio button - Button - Slider - Switch - Edit box - Editing - Image - Unlabelled - Multi-page view - Page - Progress bar - Web view - password - Sliding drawer opened - Options. - Cleared text - Maximum length reached - selected - ticked - not ticked - on - off - disabled - expanded - collapsed - Double-tap - Tap - Press Select Switch - Press select - %1$s to activate. - Press %1$s to activate. - %1$s and hold to long press. - Press %1$s to long press. - %1$s to toggle. - Press %1$s to toggle. - %1$s to edit text. - Press %1$s to edit text. - %1$s to change. - Press %1$s to change. - Swipe with two fingers to switch pages. - No more pages. - Use volume keys to adjust - %1$s to change. - Actions: - %1$s to %2$s. - Press %1$s to %2$s. - %1$s and hold to %2$s. - %1$s to scroll. - %1$s for available actions. - Press Select Switch to adjust - Caps Lock on. - Caps Lock off. - Num Lock on. - Num Lock off. - Scroll Lock on. - Scroll Lock off. - Portrait - Landscape - Dismiss - Expand - Collapse - Row %1$d - Column %1$d - %1$d of %2$d - Heading - Row heading - Column heading - In %1$s %2$s - In %1$s - In list %1$s - In list - Out of %1$s %2$s - Out of %1$s - Out of list %1$s - Out of list - In grid %1$s - In grid - Out of grid %1$s - Out of grid - In pager %1$s - In pager - Out of pager %1$s - Out of pager - In vertical pager %1$s - In vertical pager - Out of vertical pager %1$s - Out of vertical pager - In horizontal pager %1$s - In horizontal pager - Out of horizontal pager - In grid pager %1$s - In grid pager - Out of grid pager %1$s - Out of grid pager - Level %1$d - - %1$d item - %1$d items - - - %1$d row - %1$d rows - - - %1$d column - %1$d columns - - - %1$d character - %1$d characters - - Magnification on %1$d%% - Magnification %1$d%% - Magnification off - Speech rate %1$d%% - Increase - Decrease - Maximum - Minimum - %1$d%% - Passwords only spoken when using headphones - %1$s available; use %2$s to view. - Spelling suggestions available. - Window %1$s - %1$s, detected icon - %1$s, text - diff --git a/compositor/src/main/res/values-en-rGB/strings.xml b/compositor/src/main/res/values-en-rGB/strings.xml deleted file mode 100644 index c20f44869..000000000 --- a/compositor/src/main/res/values-en-rGB/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack on - TalkBack suspended - TalkBack resumed - TalkBack off - Spoken Feedback on - Spoken Feedback suspended - Spoken Feedback resumed - Spoken Feedback off - Beginning of field - End of field - Selection mode on - Selection mode off - Selection cleared - Call - Message - Email - Event - Promo - Alarm - Progress - Social - Error - Media control - System status - Service - %1$s menu - %1$s replaced %2$s - %1$s deleted - cut, %1$s - pasted, %1$s - %1$s, selected - Selected text: %1$s - %1$s, unselected - Invalid input %1$s - %1$s characters replaced with %2$s characters - %1$s for %2$s - %1$s per cent. - - %1$s showing %2$d item. - %1$s showing %2$d items. - - Error: %1$s - Grid - List - Tab bar - Drop-down menu - Tick box - Radio button - Button - Slider - Switch - Edit box - Editing - Image - Unlabelled - Multi-page view - Page - Progress bar - Web view - password - Sliding drawer opened - Options. - Cleared text - Maximum length reached - selected - ticked - not ticked - on - off - disabled - expanded - collapsed - Double-tap - Tap - Press Select Switch - Press select - %1$s to activate. - Press %1$s to activate. - %1$s and hold to long press. - Press %1$s to long press. - %1$s to toggle. - Press %1$s to toggle. - %1$s to edit text. - Press %1$s to edit text. - %1$s to change. - Press %1$s to change. - Swipe with two fingers to switch pages. - No more pages. - Use volume keys to adjust - %1$s to change. - Actions: - %1$s to %2$s. - Press %1$s to %2$s. - %1$s and hold to %2$s. - %1$s to scroll. - %1$s for available actions. - Press Select Switch to adjust - Caps Lock on. - Caps Lock off. - Num Lock on. - Num Lock off. - Scroll Lock on. - Scroll Lock off. - Portrait - Landscape - Dismiss - Expand - Collapse - Row %1$d - Column %1$d - %1$d of %2$d - Heading - Row heading - Column heading - In %1$s %2$s - In %1$s - In list %1$s - In list - Out of %1$s %2$s - Out of %1$s - Out of list %1$s - Out of list - In grid %1$s - In grid - Out of grid %1$s - Out of grid - In pager %1$s - In pager - Out of pager %1$s - Out of pager - In vertical pager %1$s - In vertical pager - Out of vertical pager %1$s - Out of vertical pager - In horizontal pager %1$s - In horizontal pager - Out of horizontal pager - In grid pager %1$s - In grid pager - Out of grid pager %1$s - Out of grid pager - Level %1$d - - %1$d item - %1$d items - - - %1$d row - %1$d rows - - - %1$d column - %1$d columns - - - %1$d character - %1$d characters - - Magnification on %1$d%% - Magnification %1$d%% - Magnification off - Speech rate %1$d%% - Increase - Decrease - Maximum - Minimum - %1$d%% - Passwords only spoken when using headphones - %1$s available; use %2$s to view. - Spelling suggestions available. - Window %1$s - %1$s, detected icon - %1$s, text - diff --git a/compositor/src/main/res/values-en-rIN/strings.xml b/compositor/src/main/res/values-en-rIN/strings.xml deleted file mode 100644 index c20f44869..000000000 --- a/compositor/src/main/res/values-en-rIN/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack on - TalkBack suspended - TalkBack resumed - TalkBack off - Spoken Feedback on - Spoken Feedback suspended - Spoken Feedback resumed - Spoken Feedback off - Beginning of field - End of field - Selection mode on - Selection mode off - Selection cleared - Call - Message - Email - Event - Promo - Alarm - Progress - Social - Error - Media control - System status - Service - %1$s menu - %1$s replaced %2$s - %1$s deleted - cut, %1$s - pasted, %1$s - %1$s, selected - Selected text: %1$s - %1$s, unselected - Invalid input %1$s - %1$s characters replaced with %2$s characters - %1$s for %2$s - %1$s per cent. - - %1$s showing %2$d item. - %1$s showing %2$d items. - - Error: %1$s - Grid - List - Tab bar - Drop-down menu - Tick box - Radio button - Button - Slider - Switch - Edit box - Editing - Image - Unlabelled - Multi-page view - Page - Progress bar - Web view - password - Sliding drawer opened - Options. - Cleared text - Maximum length reached - selected - ticked - not ticked - on - off - disabled - expanded - collapsed - Double-tap - Tap - Press Select Switch - Press select - %1$s to activate. - Press %1$s to activate. - %1$s and hold to long press. - Press %1$s to long press. - %1$s to toggle. - Press %1$s to toggle. - %1$s to edit text. - Press %1$s to edit text. - %1$s to change. - Press %1$s to change. - Swipe with two fingers to switch pages. - No more pages. - Use volume keys to adjust - %1$s to change. - Actions: - %1$s to %2$s. - Press %1$s to %2$s. - %1$s and hold to %2$s. - %1$s to scroll. - %1$s for available actions. - Press Select Switch to adjust - Caps Lock on. - Caps Lock off. - Num Lock on. - Num Lock off. - Scroll Lock on. - Scroll Lock off. - Portrait - Landscape - Dismiss - Expand - Collapse - Row %1$d - Column %1$d - %1$d of %2$d - Heading - Row heading - Column heading - In %1$s %2$s - In %1$s - In list %1$s - In list - Out of %1$s %2$s - Out of %1$s - Out of list %1$s - Out of list - In grid %1$s - In grid - Out of grid %1$s - Out of grid - In pager %1$s - In pager - Out of pager %1$s - Out of pager - In vertical pager %1$s - In vertical pager - Out of vertical pager %1$s - Out of vertical pager - In horizontal pager %1$s - In horizontal pager - Out of horizontal pager - In grid pager %1$s - In grid pager - Out of grid pager %1$s - Out of grid pager - Level %1$d - - %1$d item - %1$d items - - - %1$d row - %1$d rows - - - %1$d column - %1$d columns - - - %1$d character - %1$d characters - - Magnification on %1$d%% - Magnification %1$d%% - Magnification off - Speech rate %1$d%% - Increase - Decrease - Maximum - Minimum - %1$d%% - Passwords only spoken when using headphones - %1$s available; use %2$s to view. - Spelling suggestions available. - Window %1$s - %1$s, detected icon - %1$s, text - diff --git a/compositor/src/main/res/values-es/strings.xml b/compositor/src/main/res/values-es/strings.xml deleted file mode 100644 index e2082affd..000000000 --- a/compositor/src/main/res/values-es/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack activado - TalkBack suspendido - TalkBack reanudado - TalkBack desactivado - Mensajes de voz activados - Mensajes de voz suspendidos - Mensajes de voz reanudados - Mensajes de voz desactivados - Principio del campo - Final del campo - Modo de selección activado - Modo de selección desactivado - Selección borrada - Llamada - Mensaje - Correo electrónico - Evento - Promoción - Alarma - Progreso - Red social - Error - Control multimedia - Estado del sistema - Servicio - Menú %1$s - %1$s ha sustituido a %2$s - %1$s eliminado - Se ha cortado %1$s - Se ha pegado %1$s - Se ha seleccionado %1$s - Texto seleccionado: %1$s - Se ha quitado la selección del texto %1$s - Entrada no válida %1$s - %1$s caracteres sustituidos por %2$s caracteres - %1$s de %2$s - %1$s por cien - - %1$s muestra %2$d elemento. - %1$s muestra %2$d elementos. - - Error: %1$s - Cuadrícula - Lista - Barra de pestañas - Lista desplegable - Casilla de verificación - Botón de selección - Botón - Control deslizante - Interruptor - Cuadro de edición - Edición - Imagen - Sin texto - Vista de páginas múltiples - Página - Barra de progreso - Vista web - contraseña - Panel deslizante abierto - Opciones. - Texto borrado - Duración máxima alcanzada - seleccionado - seleccionado - no seleccionado - activado - desactivado - inhabilitado - mostrado - oculta - Toca dos veces - Tocar - Pulsa el interruptor de selección - Pulsa la tecla de selección - %1$s para activar. - Pulsa %1$s para activar. - %1$s y mantén pulsado el elemento. - Pulsa %1$s para mantener pulsado. - %1$s para activar. - Pulsa %1$s para alternar. - %1$s para editar texto. - Pulsa %1$s para editar texto. - %1$s para cambiar. - Pulsa %1$s para cambiar. - Desliza dos dedos para cambiar de páginas. - No hay más páginas. - Usa las teclas de volumen para ajustarlo - %1$s para cambiar. - Acciones: - %1$s para %2$s. - Pulsa %1$s para %2$s. - %1$s y mantén este elemento pulsado para %2$s. - %1$s para desplazarte. - %1$s para ver las acciones disponibles. - Pulsa el interruptor de seleccionar para ajustar - Bloqueo de mayúsculas activado. - Bloqueo de mayúsculas desactivado. - Bloqueo numérico activado. - Bloqueo numérico desactivado. - Bloqueo de desplazamiento activado. - Bloqueo de desplazamiento desactivado. - Vertical - Horizontal - Cerrar - Mostrar - Ocultar - Fila %1$d - Columna %1$d - %1$d de %2$d - Encabezado - Encabezado de fila - Encabezado de columna - En %1$s %2$s - En %1$s - En la lista %1$s - En la lista - Fuera de %1$s %2$s - Fuera de %1$s - Fuera de la lista %1$s - Fuera de la lista - En la cuadrícula %1$s - En la cuadrícula - Fuera de la cuadrícula %1$s - Fuera de la cuadrícula - En la página %1$s - En página - Fuera de la página %1$s - Fuera de la página - En página vertical %1$s - En página vertical - Fuera de la página vertical %1$s - Fuera de la página vertical - En página horizontal %1$s - En página horizontal - Fuera de la página horizontal - En página de cuadrícula %1$s - En página de cuadrícula - Fuera de la página de cuadrícula %1$s - Fuera de la página de cuadrícula - Nivel %1$d - - %1$d elemento - %1$d elementos - - - %1$d fila - %1$d filas - - - %1$d columna - %1$d columnas - - - %1$d carácter - %1$d caracteres - - Ampliación del %1$d%% - Ampliación del %1$d%% - Ampliación desactivada - Velocidad de la voz %1$d %% - Subir - Bajar - Máximo - Mínimo - %1$d %% - Decir contraseñas solo cuando se utilizan auriculares - %1$s disponible, usa %2$s para verlo. - Sugerencias ortográficas disponibles. - Ventana %1$s - Icono detectado: %1$s - Texto: %1$s - diff --git a/compositor/src/main/res/values-et/strings.xml b/compositor/src/main/res/values-et/strings.xml deleted file mode 100644 index 159032072..000000000 --- a/compositor/src/main/res/values-et/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack on sisse lülitatud - TalkBack on peatatud - TalkBacki jätkatakse - TalkBack on välja lülitatud - Suuline tagasiside on sisse lülitatud - Suuline tagasiside on peatatud - Suulise tagasiside tööd jätkati - Suuline tagasiside on välja lülitatud - Välja algus - Välja lõpp - Valikurežiim on sees - Valikurežiim on väljas - Valik on tühistatud - Kõne - Sõnum - E-post - Sündmus - Pakkumine - Alarm - Edenemine - Suhtlusvõrgustikud - Viga - Meedia juhtimine - Süsteemi olek - Teenus - Üksuse %1$s menüü - Tekst %2$s on asendatud tekstiga %1$s - %1$s on kustutatud - lõigatud, %1$s - kleebitud, %1$s - %1$s, valitud - Valitud tekst: %1$s - %1$s, valimata - Sobimatu sisend %1$s - %1$s tähemärki on asendatud %2$s tähemärgiga - %1$s valikule %2$s - %1$s protsenti. - - %1$s kuvab %2$d üksuse. - %1$s kuvab %2$d üksust. - - Error: %1$s - Ruudustik - Loend - Vahekaardiriba - Ripploend - Märkeruut - Raadionupp - Nupp - Liugur - Lüliti - Muutmiskast - Muutmine - Kujutis - Sildita - Mitme lehe vaatamine - Leht - Edenemisriba - Veebikuva - parool - Liugsahtel on avatud - Valikud. - Tekst on kustutatud - Maksimaalse pikkuse limiit on täis - valitud - märgitud - märkimata - sees - väljas - keelatud - laiendatud - ahendatud - Topeltpuudutamine - Puudutage - Vajutage valimislülitit - Vajutage valikunuppu - Aktiveerimiseks toimige järgmiselt: %1$s. - Vajutage aktiveerimiseks klahve %1$s. - Pikalt vajutamiseks toiming %1$s ja allhoidmine. - Vajutage pikalt vajutamiseks klahve %1$s. - Lülitamiseks %1$s. - Vajutage vahetamiseks klahve %1$s. - %1$s teksti muutmiseks. - Vajutage teksti muutmiseks klahve %1$s. - Muutmiseks %1$s. - Vajutage muutmiseks klahve %1$s. - Lehtede vahetamiseks pühkige kahe sõrmega. - Rohkem lehti pole. - Kasutage kohandamiseks helitugevuse klahve - Muutmiseks tehke toiming %1$s. - Toimingud: - Tehke toiming %1$s, et teha järgmist: %2$s. - Vajutage toimingu %2$s tegemiseks klahve %1$s. - Tehke toiming %1$s ja hoidke all, et teha järgmist: %2$s. - Kerimiseks tehke järgmist: %1$s. - Saadaolevate toimingute nägemiseks tehke järgmist: %1$s. - Kohandamiseks vajutage valikulülitit - Suurtähelukk on sees. - Suurtähelukk on väljas. - Numbrilukk on sees. - Numbrilukk on väljas. - Kerimislukk on sees. - Kerimislukk on väljas. - Vertikaalpaigutus - Horisontaalpaigutus - Loobu - Laienda - Ahenda - Rida %1$d - Veerg %1$d - %1$d/%2$d - Pealkiri - Rea pealkiri - Veeru pealkiri - Sees – %1$s %2$s - Sees – %1$s - Loendis %1$s - Loendis - Väljas – %1$s %2$s - Väljas – %1$s - Loendist %1$s väljas - Loendist väljas - Ruudustikus %1$s - Ruudustikus - Ruudustikust %1$s väljas - Ruudustikust väljas - Programmis %1$s - Programmis - Programmist %1$s väljas - Programmist väljas - Vertikaalses programmis %1$s - Vertikaalses programmis - Vertikaalsest programmist %1$s väljas - Vertikaalsest programmist väljas - Horisontaalses programmis %1$s - Horisontaalses programmis - Horisontaalsest programmist väljas - Ruudustikprogrammis %1$s - Ruudustikprogrammis - Ruudustikprogrammist %1$s väljas - Ruudustikprogrammist väljas - %1$d. tase - - %1$d üksus - %1$d üksust - - - %1$d rida - %1$d rida - - - %1$d veerg - %1$d veergu - - - %1$d tähemärk - %1$d tähemärki - - Sisselülitatud suurendus on %1$d%% - Suurendus on %1$d%% - Suurendus on välja lülitatud - Kõne kiirus on %1$d%% - Suurenda - Vähenda - Maksimaalne - Miinimaalne - %1$d%% - Paroolid loetakse ette ainult kõrvaklappide kasutamisel - %1$s on saadaval, vaatamiseks kasutage liigutust %2$s. - Saadaval on õigekirjasoovitused. - Aken %1$s - %1$s, tuvastatud ikoon - %1$s, tekst - diff --git a/compositor/src/main/res/values-eu/strings.xml b/compositor/src/main/res/values-eu/strings.xml deleted file mode 100644 index 35a32f92e..000000000 --- a/compositor/src/main/res/values-eu/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Aktibatuta dago TalkBack - Eten egin da TalkBack - Berrekin zaio TalkBack-i - TalkBack desaktibatuta dago - Ahozko argibideak aktibatuta daude - Ahozko argibideak etenda daude - Ahozko argibideei berrekin zaie - Ahozko argibideak desaktibatuta daude - Eremuaren hasiera - Eremuaren amaiera - Aktibatuta dago hautapen modua - Desaktibatuta dago hautapen modua - Garbitu da hautapena - Deia - Mezua - Mezu elektronikoa - Gertaera - Promozioa - Alarma - Garapena - Sare sozialak - Errorea - Multimedia-edukiaren kontrola - Sistemaren egoera - Zerbitzua - %1$s menua - %1$s kendu da eta %2$s ezarri da - %1$s ezabatu da - ebaki da %1$s - itsatsi da %1$s - hautatu da %1$s - Hautatutako testua: %1$s - desautatu da %1$s - Idatzitakoak ez du balio: %1$s - %1$s karaktere ordeztu dira %2$s karaktererekin - %1$s - %2$s - Ehuneko %1$s. - - %1$s, %2$d elementu ikusgai. - %1$s, %2$d elementu ikusgai. - - Error: %1$s - Sareta - Zerrenda - Fitxa-barra - Goitibeherako zerrenda - Koadroa - Aukera-botoia - Botoia - Graduatzailea - Etengailua - Editatzeko koadroa - Editatzen - Irudia - Etiketarik gabe - Orri bat baino gehiagoko ikuspegia - Orria - Garapen-barra - Web-ikuspegia - pasahitza - Panel lerrakorra ireki da - Aukerak. - Testua garbitu da - Gehieneko luzerara iritsi zara - hautatuta - markatuta - ez da markatu - aktibatuta - desaktibatuta - desgaituta - zabalduta dago - tolestuta dago - Sakatu birritan - Sakatu - Sakatu hautatzeko etengailua - Sakatu \"Hautatu\" - %1$s aktibatzeko. - Sakatu %1$s aktibatzeko. - Luze sakatzeko, %1$s eta eutsi. - Sakatu %1$s luze sakatzeko. - Aukera aldatzeko, %1$s. - Sakatu %1$s aldatzeko. - %1$s hau testua editatzeko. - Sakatu %1$s testua editatzeko. - Aldatzeko, %1$s. - Sakatu %1$s aldatzeko. - Orriz aldatzeko, lerratu bi hatz pantailan. - Ez dago beste orririk. - Erabili bolumen-botoiak doitzeko - %1$s aldatzeko. - Ekintzak: - %1$s eta %2$s. - Sakatu %1$s %2$s nahi baduzu. - %1$s, eduki horrela eta %2$s. - %1$s gora edo behera egiteko. - %1$s gauza daitezkeen ekintzak ikusteko. - Doitzeko, sakatu Hautatu etengailua aukera - Maiuskulen blokeoa aktibatuta dago. - Maiuskulen blokeoa desaktibatuta dago. - Zenbakien blokeoa aktibatuta dago. - Zenbakien blokeoa desaktibatuta dago. - Gora/Behera egiteko aukera aktibatuta dago. - Gora/Behera egiteko aukera desaktibatuta dago. - Bertikala - Horizontala - Baztertu - Zabaldu - Tolestu - %1$d errenkada - %1$d zutabea - %1$d/%2$d - Goiburua - Errenkadaren goiburua - Zutabearen goiburua - Hemen: %1$s %2$s - Hemen: %1$s - %1$s zerrendan - Zerrendan - Hemendik kanpo: %1$s %2$s - Hemendik kanpo: %1$s - %1$s zerrendatik kanpo - Zerrendatik kanpo - %1$s saretan - Saretan - %1$s saretatik kanpo - Saretatik kanpo - %1$s orritik kanpo - Orrian - %1$s orritik kanpo - Orritik kanpo - %1$s orri bertikalean - Orri bertikalean - %1$s orri bertikaletik kanpo - Orri bertikaletik kanpo - %1$s orri horizontalean - Orri horizontalean - Orri horizontaletik kanpo - %1$s sareta-orrian - Sareta-orrian - %1$s orri-saretatik kanpo - Sareta-orritik kanpo - %1$dgarren maila - - %1$d elementu - %1$d elementu - - - %1$d errenkada - %1$d errenkada - - - %1$d zutabe - %1$d zutabe - - - %1$d karaktere - %1$d karaktere - - Aktibatu da %% %1$d(e)ko zooma - %% %1$d handituta - Desaktibatuta dago zooma - Hizketaren abiadura: %% %1$d - Igo - Jaitsi - Gehienekoa - Gutxienekoa - %% %1$d - Entzungailuak erabiltzen dituzunean soilik irakurtzen dira ozen pasahitzak - \"%1$s\" ekintza erabilgarri dago. Ikusteko, egin %2$s. - Ortografia-iradokizunak daude. - \"%1$s\" izeneko leihoa - %1$s, hautemandako ikonoa - %1$s, testua - diff --git a/compositor/src/main/res/values-fa/strings.xml b/compositor/src/main/res/values-fa/strings.xml deleted file mode 100644 index ba120f528..000000000 --- a/compositor/src/main/res/values-fa/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - ‏TalkBack روشن - ‏‫TalkBack در حالت تعلیق است - ‏TalkBack ازسرگرفته می‌شود - ‏TalkBack خاموش است - بازخورد گفتاری روشن است - بازخورد گفتاری درحالت تعلیق است - بازخورد گفتاری ازسرگرفته شد - بازخورد گفتاری خاموش است - شروع فیلد - پایان فیلد - حالت انتخاب روشن است - حالت انتخاب خاموش است - انتخاب پاک شد - تماس - پیام - ایمیل - رویداد - تبلیغ - زنگ - پیشرفت - اجتماعی - خطا - کنترل رسانه - وضعیت سیستم - سرویس - منوی %1$s - %1$s جایگزین %2$s شد - %1$s حذف شد - بریده شد، %1$s - جای‌گذاری شد، %1$s - %1$s، انتخاب‌شده - نوشتار انتخاب‌شده: %1$s - %1$s، انتخاب‌نشده - ورودی نامعتبر %1$s - %2$s نویسه جایگزین %1$s نویسه شد - %1$s برای %2$s - %1$s درصد. - - %1$s، %2$d مورد را نشان می‌دهد. - %1$s، %2$d مورد را نشان می‌دهد. - - Error: %1$s - جدولی - فهرست - نوار برگه - فهرست کرکره‌ای - چارگوش انتخاب - دکمه رادیو - دکمه - لغزنده - سوئیچ - چارگوش ویرایش - ویرایش - تصویر - بدون برچسب - نمای چندصفحه‌ای - صفحه - نوار پیشرفت - نمای وب - گذرواژه - کشوی کشیدنی باز شد - گزینه‌ها. - نوشتار پاک شد - به حداکثر طول مجاز رسیده‌اید - انتخاب شده - علامت‌دار - بدون علامت - روشن - خاموش - غیرفعال - بزرگ شد - کوچک‌ شد - دو بار ضربه زدن - ضربه زدن - سوئیچ انتخاب را فشار دهید - انتخاب را فشار دهید - %1$s برای فعال کردن. - برای فعال کردن، %1$s را فشار دهید. - %1$s و نگه‌داشتن برای فشار طولانی. - برای فشار طولانی، %1$s را فشار دهید. - %1$s برای تغییر وضعیت. - برای تغییر وضعیت، %1$s را فشار دهید. - برای ویرایش نوشتار %1$s. - برای ویرایش نوشتار، %1$s را فشار دهید. - %1$s برای تغییر. - برای تغییر %1$s را فشار دهید. - برای جابه‌جا کردن صفحات، با دو انگشت تند بکشید. - صفحه بیشتری پیدا نشد. - برای تنظیم، از کلیدهای میزان صدا استفاده کنید - برای تغییر %1$s. - کنش‌ها: - %1$s به %2$s . - برای %2$s،‏ %1$s را فشار دهید. - %1$s و برای %2$s نگه‌دارید. - %1$s برای پیمایش. - %1$s برای کنش‌های دردسترس. - برای تنظیم، «سوئیچ انتخاب» را فشار دهید - ‏Caps Lock روشن است. - ‏Caps Lock خاموش است. - ‏Num Lock روشن است. - ‏Num Lock خاموش است. - ‏Scroll Lock روشن است. - ‏Scroll Lock خاموش است. - عمودی - افقی - رد کردن - بزرگ کردن - کوچک کردن - ردیف %1$d - ستون %1$d - %1$d از %2$d - عنوان - عنوان سطر - عنوان ستون - در %1$s %2$s - در %1$s - در فهرست %1$s - در فهرست - خارج از %1$s %2$s - خارج از %1$s - خارج از فهرست %1$s - خارج از فهرست - در جدول %1$s - در جدول - خارج از جدول %1$s - خارج از جدول - در صفحه‌بندی %1$s - در صفحه‌بندی - خارج از صفحه‌بندی %1$s - خارج از صفحه‌بندی - در صفحه‌بندی عمودی %1$s - در صفحه‌بندی عمودی - خارج از صفحه‌بندی عمودی %1$s - خارج از صفحه‌بندی عمودی - در صفحه‌بندی افقی %1$s - در صفحه‌بندی افقی - خارج از صفحه‌بندی افقی - در صفحه‌بندی شبکه‌ای %1$s - در صفحه‌بندی شبکه‌ای - خارج از صفحه‌بندی شبکه‌ای %1$s - خارج از صفحه‌بندی شبکه‌ای - سطح %1$d - - %1$d مورد - %1$d مورد - - - %1$d سطر - %1$d سطر - - - %1$d ستون - %1$d ستون - - - %1$d نویسه - %1$d نویسه - - بزرگ‌نمایی روشن است %1$d٪٪ - بزرگ‌نمایی %1$d٪٪ - بزرگ‌نمایی خاموش است - سرعت گفتار %1$d٪٪ - افزایش - کاهش - حداکثر - حداقل - %1$d%% - گذرواژه‌ها فقط هنگام استفاده از هدفون بلند گفته شوند - %1$s در دسترس است، از %2$s برای مشاهده استفاده کنید. - پیشنهادهای املا دردسترس است. - پنجره %1$s - %1$s، نماد شناسایی‌شده - %1$s، نوشتار - diff --git a/compositor/src/main/res/values-fi/strings.xml b/compositor/src/main/res/values-fi/strings.xml deleted file mode 100644 index 59b76adae..000000000 --- a/compositor/src/main/res/values-fi/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack päällä - TalkBackin käyttö keskeytetty - TalkBack jälleen käytössä - TalkBack poistettu käytöstä - Äänipalaute käytössä - Äänipalaute jäädytetty - Äänipalaute palautettu käyttöön - Äänipalaute poistettu käytöstä - Kentän alku - Kentän loppu - Valintatila käytössä. - Valintatila pois käytöstä. - Valinta poistettu. - Puhelu - Viesti - Sähköposti - Tapahtuma - Tarjous - Herätys - Edistyminen - Sosiaalinen - Virhe - Mediasäätimet - Järjestelmän tila - Palvelu - Valikko %1$s - %2$s korvattiin tekstillä %1$s - %1$s poistettiin - leikattu, %1$s - liitetty, %1$s - valittu, %1$s - Valittu teksti: %1$s - valinta poistettu, %1$s - Virheellinen sisältö %1$s - Merkit %1$s korvattiin merkeillä %2$s - kohteen %2$s %1$s - %1$s prosenttia - - %1$s näyttää %2$d kohteen. - %1$s näyttää %2$d kohdetta. - - Error: %1$s - Ruudukko - Lista - Välilehtirivi - Avattava luettelo - Valintaruutu - Valintanappi - Painike - Liukusäädin - Valitsin - Muokkauskenttä - Muokkaus - Kuva - Nimetön - Monisivuinen näkymä - Sivu - Etenemispalkki - Verkkonäkymä - salasana - Liu\'utettava laatikko avattu - Asetukset. - Teksti tyhjennetty - Enimmäispituus saavutettu - valittu - valittu - ei valittu - Päällä - Ei päällä - ei käytössä - laajennettu - tiivistetty - Kaksoisnapauta - Napauta - Paina Valitse-kytkintä - Paina Valitse - %1$s aktivoidaksesi. - Aktivoi painamalla %1$s. - %1$s pitkään tehdäksesi pitkän klikkauksen. - Paina pitkään painamalla %1$s. - Vaihda tekemällä toiminto %1$s. - Vaihda päälle/pois painamalla %1$s. - %1$s muokataksesi tekstiä. - Muokkaa tekstiä painamalla ensin %1$s. - Vaihda tekemällä toiminto %1$s. - Muuta painamalla %1$s. - Vaihda sivua pyyhkäisemällä kahdella sormella. - Ei enempää sivuja - Säädä äänenvoimakkuusnäppäimillä - %1$s, jos haluat vaihtaa. - Toiminnot: - %1$s, niin toiminto on %2$s. - %2$s painamalla %1$s. - %1$s ja kosketa pitkään, niin toiminto on %2$s. - %1$s vierittääksesi. - %1$s, niin näet käytettävissä olevat toiminnot. - Säädä painamalla Valitse-kytkintä. - Caps Lock on käytössä. - Caps Lock on poistettu käytöstä. - Num Lock on käytössä. - Num Lock on poistettu käytöstä. - Scroll Lock on käytössä. - Scroll Lock on poistettu käytöstä. - Pysty - Vaaka - Ohita - Laajenna - Tiivistä - Rivi %1$d - Sarake %1$d - %1$d/%2$d - Otsikko - Rivin otsikko - Sarakkeen otsikko - Täällä: %1$s %2$s - Täällä: %1$s - Listassa %1$s - Listassa - Tämän ulkopuolella: %1$s %2$s - Tämän ulkopuolella: %1$s - Listan %1$s ulkopuolella - Listan ulkopuolella - Ruudukossa %1$s - Ruudukossa - Ruudukon %1$s ulkopuolella - Ruudukon ulkopuolella - Sivulla %1$s - Sivulla - Sivun %1$s ulkopuolella - Sivun ulkopuolella - Pystysuuntaisella sivulla %1$s - Pystysuuntaisella sivulla - Pystysuuntaisen sivun %1$s ulkopuolella - Pystysuuntaisen sivun ulkopuolella - Vaakasuuntaisella sivulla %1$s - Vaakasuuntaisella sivulla - Vaakasuuntaisen sivun ulkopuolella - Ruudukkomuotoisella sivulla %1$s - Ruudukkomuotoisella sivulla - Ruudukkomuotoisen sivun %1$s ulkopuolella - Ruudukkomuotoisen sivun ulkopuolella - Taso %1$d - - %1$d kohde - %1$d kohdetta - - - %1$d rivi - %1$d riviä - - - %1$d sarake - %1$d saraketta - - - %1$d merkki - %1$d merkkiä - - Suurennus käytössä: %1$d %% - Suurennus: %1$d %% - Suurennus pois käytöstä - Puheen nopeus: %1$d %% - Lisää - Vähennä - Enintään - Vähintään - %1$d %% - Salasanat sanotaan ääneen vain kuulokkeita käytettäessä. - %1$s käytettävissä, %2$s avaa - Oikeinkirjoitusehdotuksia saatavilla. - Ikkuna: %1$s - %1$s, havaittu kuvake - %1$s, teksti - diff --git a/compositor/src/main/res/values-fil/strings.xml b/compositor/src/main/res/values-fil/strings.xml deleted file mode 100644 index ecd331796..000000000 --- a/compositor/src/main/res/values-fil/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Naka-on ang TalkBack - Sinuspinde ang TalkBack - Ipinagpatuloy ang TalkBack - Naka-off ang TalkBack - Naka-on ang Pasalitang Feedback - Sinuspinde ang Pasalitang Feedback - Ipinagpatuloy ang Pasalitang Feedback - Naka-off ang Pasalitang Feedback - Simula ng field - Dulo ng field - Naka-on ang selection mode - Naka-off ang selection mode - Na-clear ang pinili - Tawag - Mensahe - Email - Event - Promo - Alarm - Pag-usad - Social - Error - Kontrol sa media - Status ng system - Serbisyo - Menu ng %1$s - Pinalitan ng %1$s ang %2$s - Na-delete ang %1$s - na-cut, %1$s - na-paste, %1$s - %1$s, napili - Piniling text: %1$s - %1$s, naalis sa pagkakapili - Hindi wastong input %1$s - Pinalitan ang %1$s (na) character ng %2$s (na) character - %1$s para sa %2$s - %1$s (na) porsyento. - - Nagpapakita ang %1$s ng %2$d item. - Nagpapakita ang %1$s ng %2$d na item. - - Error: %1$s - Grid - Listahan - Tab bar - Drop down na listahan - Check box - Radio button - Button - Slider - Switch - Kahon sa pag-edit - Ine-edit - Larawan - Walang Label - Multi-page na view - Page - Progress bar - Webview - password - Nakabukas ang sliding drawer - Mga Opsyon. - Na-clear na text - Naabot na ang maximum na haba - napili - nasuri - hindi nilagyan ng check - Naka-on - Naka-off - naka-disable - pinalawak - na-collapse - I-double tap - I-tap - Pindutin ang Switch na Piliin - Pindutin ang piliin - %1$s upang i-activate. - Pindutin ang %1$s upang i-activate. - %1$s at pindutin nang matagal. - Pindutin ang %1$s upang pindutin nang matagal. - %1$s upang i-toggle. - Pindutin ang %1$s upang i-toggle. - %1$s para ma-edit ang text. - Pindutin ang %1$s para ma-edit ang text. - %1$s upang baguhin. - Pindutin ang %1$s upang baguhin. - Mag-swipe gamit ang dalawang daliri upang lumipat ng mga page. - Wala nang page. - Gamitin ang mga key ng volume upang isaayos - %1$s upang palitan. - Mga Pagkilos: - %1$s upang %2$s. - Pindutin ang %1$s upang %2$s. - %1$s nang matagal upang %2$s. - %1$s para mag-scroll. - %1$s para sa mga available na pagkilos. - Pindutin ang Switch na Piliin para i-adjust - Naka-on ang Caps Lock. - Naka-off ang Caps Lock. - Naka-on ang Num Lock. - Naka-off ang Num Lock. - Naka-on ang Scroll Lock. - Naka-off ang Scroll Lock. - Larawan - Landscape - I-dismiss - Palawakin - I-collapse - Row na %1$d - Column na %1$d - %1$d ng %2$d - Heading - Heading ng row - Heading ng column - Nasa %1$s %2$s - Nasa %1$s - Nasa listahang %1$s - Nasa listahan - Wala sa %1$s %2$s - Wala sa %1$s - Wala sa listahang %1$s - Wala sa listahan - Nasa grid na %1$s - Nasa grid - Wala sa grid na %1$s - Wala sa grid - Sa pager na %1$s - Sa pager - Wala sa pager na %1$s - Wala sa pager - Sa vertical na pager na %1$s - Sa vertical na pager - Wala sa vertical na pager na %1$s - Wala sa vertical na pager - Sa horizontal na pager na %1$s - Sa horizontal na pager - Wala sa horizontal na pager - Sa grid na pager na %1$s - Sa grid na pager - Wala sa grid na pager na %1$s - Wala sa grid na pager - Antas %1$d - - %1$d item - %1$d na item - - - %1$d row - %1$d na row - - - %1$d column - %1$d na column - - - %1$d character - %1$d na character - - Magnification sa %1$d%% - Magnification %1$d%% - Naka-off ang magnification - Bilis ng pagsasalita %1$d%% - Dagdagan - Bawasan - Maximum - Minimum - %1$d%% - Binibigkas lang ang mga password kapag gumagamit ng headphones - Available ang %1$s, gamitin ang %2$s para tingnan. - Available ang mga suhestyon sa pagbabaybay. - Window na %1$s - %1$s, na-detect na icon - %1$s, text - diff --git a/compositor/src/main/res/values-fr-rCA/strings.xml b/compositor/src/main/res/values-fr-rCA/strings.xml deleted file mode 100644 index e1b153dc7..000000000 --- a/compositor/src/main/res/values-fr-rCA/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack activé - TalkBack suspendu - TalkBack réactivé - TalkBack désactivé - Rétroactions vocales activées - Rétroactions vocales suspendues - Rétroactions vocales reprises - Rétroactions vocales désactivées - Début du champ - Fin du champ - Mode de sélection activé - Mode de sélection désactivé - Sélection effacée - Appel - Message - Courriel - Événement - Promotion - Alarme - Progression - Réseaux sociaux - Erreur - Commandes multimédias - État du système - Service - Menu %1$s - %2$s remplacé par %1$s - %1$s supprimé - coupé, %1$s - collé, %1$s - %1$s, sélectionné - Texte sélectionné : %1$s - %1$s, désélectionné - Entrée invalide : %1$s - %1$s caractères remplacés par %2$s caractères - %1$s pour %2$s - %1$s pour cent. - - %1$s : %2$d élément affiché. - %1$s : %2$d éléments affichés. - - Error: %1$s - Grille - Liste - Barre d\'onglets - Liste déroulante - Case à cocher - Bouton radio - Bouton - Curseur - Changer - Zone d\'édition - Modification - Image - Sans étiquette - Affichage multi-page - Page - Barre de progression - affichage Web - mot de passe - Panneau coulissant ouvert - Options. - Texte effacé - Longueur maximale atteinte - sélectionnée - Sélectionné - non sélectionné - activée - désactivée - désactivé - développé - réduit - Double-toucher - Toucher - Appuyez sur le commutateur de sélection - Appuyez sur Sélectionner - %1$s pour activer l\'élément. - Appuyez sur %1$s pour activer. - %1$s et maintenez la touche enfoncée pour effectuer le geste de maintenir un doigt sur l\'écran - Appuyez sur %1$s pour appuyer de manière prolongée. - %1$s pour cocher/décocher. - Appuyez sur %1$s pour basculer. - %1$s pour modifier le texte. - Appuyez sur %1$s pour modifier le texte. - %1$s pour modifier. - Appuyez sur %1$s pour changer. - Balayez l\'écran avec deux doigts pour changer de page. - Plus de pages. - Utilisez les touches pour ajuster le volume - %1$s pour modifier. - Actions : - %1$s pour %2$s. - Appuyez sur %1$s pour %2$s. - %1$s et maintenez la touche enfoncée pour %2$s. - %1$s pour faire défiler l\'écran. - %1$s pour afficher les actions possibles. - Appuyez sur Sélectionner le commutateur pour ajuster - Verrouillage des majuscules activé. - Verrouillage des majuscules désactivé. - Verrouillage numérique activé. - Verrouillage numérique désactivé. - Arrêt du défilement activé. - Arrêt du défilement désactivé. - Portrait - Paysage - Ignorer - Développer - Réduire - Rangée %1$d - Colonne %1$d - %1$d sur %2$d - Titre - En-tête de rangée - En-tête de colonne - Dans %1$s %2$s - Dans %1$s - Dans la liste %1$s - Dans la liste - À l\'extérieur de %1$s %2$s - À l\'extérieur de %1$s - À l\'extérieur de la liste %1$s - À l\'extérieur de la liste - Dans la grille %1$s - Dans la grille - À l\'extérieur de la grille %1$s - À l\'extérieur de la grille - Dans la page %1$s - Dans la page - À l\'extérieur de la page %1$s - À l\'extérieur de la page - Dans la page verticale %1$s - Dans la page verticale - À l\'extérieur de la page verticale %1$s - À l\'extérieur de la page verticale - Dans la page horizontale %1$s - Dans la page horizontale - À l\'extérieur de la page horizontale - Dans la page en grille %1$s - Dans la page en grille - À l\'extérieur de la page en grille %1$s - À l\'extérieur de la page en grille - Niveau %1$d - - %1$d élément - %1$d éléments - - - %1$d rangée - %1$d rangées - - - %1$d colonne - %1$d colonnes - - - %1$d caractère - %1$d caractères - - Zoom : %1$d %% - Zoom : %1$d %% - Zoom désactivé - Vitesse de la voix : %1$d %% - Augmenter - Diminuer - Maximal - Minimal - %1$d %% - Énoncer les mots de passe seulement lors de l\'utilisation d\'écouteurs - %1$s est accessible. Utilisez le geste %2$s pour l\'afficher. - Suggestions d\'orthographe disponibles. - Fenêtre %1$s - Icône détectée : %1$s - Texte : %1$s - diff --git a/compositor/src/main/res/values-fr/strings.xml b/compositor/src/main/res/values-fr/strings.xml deleted file mode 100644 index dc6647c8a..000000000 --- a/compositor/src/main/res/values-fr/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack activé - TalkBack suspendu - TalkBack réactivé - TalkBack désactivé - Commentaires audio activés - Commentaires audio suspendus - Commentaires audio réactivés - Commentaires audio désactivés - Début de champ - Fin de champ - Mode de sélection activé - Mode de sélection désactivé - Sélection annulée - Appel - Message - E-mail - Événement - Promotion - Alarme - Progression - Réseaux sociaux - Erreur - Commande multimédia - État du système - Service - Menu \"%1$s\" - \"%2$s\" a bien été remplacé par \"%1$s\". - \"%1$s\" a bien été supprimé. - Le texte \"%1$s\" a été coupé. - Le texte \"%1$s\" a été collé. - Le texte \"%1$s\" a été sélectionné. - Texte sélectionné : %1$s - Le texte \"%1$s\" a été désélectionné. - Entrée incorrecte. %1$s - %1$s caractères ont bien été remplacés par %2$s caractères. - %1$s pour %2$s - %1$s pour cent - - %1$s : %2$d élément affiché. - %1$s : %2$d éléments affichés. - - Error: %1$s - Grille - Liste - Barre d\'onglets - Liste déroulante - Case à cocher - Case d\'option - Bouton - Curseur - Bouton - Zone de modification - Modification en cours - Image - Sans libellé - Vue multipage - Page - Barre de progression - Vue Web - mot de passe - Panneau coulissant ouvert - Options - Texte effacé - Taille maximale atteinte - sélectionné - coché - non coché - activé - désactivé - désactivé - développé - regroupé - Appuyer deux fois - Appuyer - Appuyez sur le contacteur \"Appuyer\" - Appuyer sur \"Sélectionner\" - %1$s pour activer. - Appuyez sur %1$s pour activer. - %1$s et maintenir enfoncé pour appuyer de manière prolongée - Appuyez sur %1$s pour appuyer de manière prolongée. - %1$s pour cocher ou décocher - Appuyez sur %1$s pour cocher ou décocher la case. - %1$s pour modifier le texte. - Appuyez sur %1$s pour modifier le texte. - %1$s pour modifier - Appuyez sur %1$s pour modifier. - Faites glisser deux doigts sur l\'écran pour changer de page. - Une seule page. - Utiliser les touches de volume pour régler les paramètres - %1$s pour modifier. - Actions : - %1$s pour %2$s. - Appuyez sur %1$s pour %2$s. - %1$s et maintenez enfoncé pour %2$s. - %1$s pour faire défiler. - %1$s pour afficher les actions disponibles. - Appuyez sur le contacteur \"Appuyer\" pour ajuster - Verr Maj activé. - Verr Maj désactivé. - Verr Num activé. - Verr Num désactivé. - Arrêt défil activé. - Arrêt défil désactivé. - Portrait - Paysage - Ignorer - Développer - Réduire - Ligne %1$d - Colonne %1$d - %1$d sur %2$d - Titre - En-tête de ligne - En-tête de colonne - Dans %1$s %2$s - Dans %1$s - Dans la liste %1$s - Dans la liste - Hors de %1$s %2$s - Hors de %1$s - Hors de la liste %1$s - Hors de la liste - Dans la grille %1$s - Dans la grille - Hors de la grille %1$s - Hors de la grille - Dans la page %1$s - Dans la page - En dehors de la page %1$s - En dehors de la page - Dans la page verticale %1$s - Dans la page verticale - En dehors de la page verticale %1$s - En dehors de la page verticale - Dans la page horizontale %1$s - Dans la page horizontale - En dehors de la page horizontale - Dans la page en grille %1$s - Dans la page en grille - En dehors de la page en grille %1$s - En dehors de la page en grille - Niveau %1$d - - %1$d élément - %1$d éléments - - - %1$d ligne - %1$d lignes - - - %1$d colonne - %1$d colonnes - - - %1$d caractère - %1$d caractères - - Agrandissement activé %1$d %% - Agrandissement %1$d %% - Agrandissement désactivé - Cadence à %1$d %% - Augmenter - Diminuer - Maximum - Minimum - %1$d %% - Les mots de passe ne sont énoncés que lors de l\'utilisation d\'écouteurs - %1$s disponible, utilisez le geste \"%2$s\" pour l\'afficher. - Suggestions d\'orthographe disponibles. - Fenêtre %1$s - %1$s, icône détectée - %1$s, texte - diff --git a/compositor/src/main/res/values-gl/strings.xml b/compositor/src/main/res/values-gl/strings.xml deleted file mode 100644 index b71df37f0..000000000 --- a/compositor/src/main/res/values-gl/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack activado - Suspendeuse TalkBack - Retomouse TalkBack - TalkBack está desactivado - Os comentarios de voz están activados - Suspendéronse os comentarios de voz - Retomáronse os comentarios de voz - Os comentarios de voz están desactivados - Comezo do campo - Fin do campo - Modo de selección activado - Modo de selección desactivado - Borrouse o texto seleccionado - Chamada - Mensaxe - Correo electrónico - Evento - Promoción - Alarma - Progreso - Rede social - Erro - Control multimedia - Estado do sistema - Servizo - Menú %1$s - %1$s substituíu %2$s - Eliminouse %1$s - cortouse %1$s - pegouse %1$s - seleccionouse %1$s - Texto seleccionado: %1$s - anulouse a selección de %1$s - Entrada non válida %1$s - %1$s caracteres substituídos por %2$s caracteres - %1$s para %2$s - %1$s por cento. - - %1$s mostrando %2$d elemento. - %1$s mostrando %2$d elementos. - - Error: %1$s - Grade - Lista - Barra de pestanas - Lista despregable - Caixa de verificación - Botón de opción - Botón - Control desprazable - Interruptor - Editar caixa - Editar - Imaxe - Sen etiquetar - Vista de varias páxinas - Páxina - Barra de progreso - Vista web - contrasinal - Panel desprazable aberto - Opcións - Texto borrado - Alcanzouse a duración máxima - seleccionado - seleccionado - non seleccionado - activado - desactivado - desactivado - despregado - contraído - Toca dúas veces - Toca - Preme o interruptor de selección - Preme Seleccionar - %1$s para activar o elemento. - Preme %1$s para activar. - %1$s e mantén premido o elemento. - Preme %1$s para manter premido. - %1$s para activar. - Preme %1$s para alternar. - %1$s para editar texto. - Preme %1$s para editar texto. - %1$s para cambiar. - Preme %1$s para cambiar. - Pasa dous dedos para cambiar de páxina. - Non hai máis páxinas. - Utiliza as teclas de volume para axustalo - %1$s para cambiar. - Accións: - %1$s para %2$s. - Preme %1$s para %2$s. - %1$s e mantén premido para %2$s. - %1$s para desprazarte. - %1$s para ver as accións dispoñibles. - Preme Seleccionar interruptor para axustar - Activouse o bloqueo de maiúsculas. - Desactivouse o bloqueo de maiúsculas. - Activouse o bloqueo numérico. - Desactivouse o bloqueo numérico. - Activouse o bloqueo de desprazamento. - Desactivouse o bloqueo de desprazamento. - Vertical - Horizontal - Ignorar - Despregar - Contraer - Fila %1$d - Columna %1$d - %1$d de %2$d - Título - Título da fila - Título da columna - En: %1$s %2$s - En: %1$s - Na lista %1$s - Na lista - Fóra de: %1$s %2$s - Fóra de: %1$s - Fóra da lista %1$s - Fóra da lista - Na grade %1$s - Na grade - Fóra da grade %1$s - Fóra da grade - Na páxina %1$s - Na páxina - Fóra da páxina %1$s - Fóra da páxina - Na páxina vertical %1$s - Na páxina vertical - Fóra da páxina vertical %1$s - Fóra da páxina vertical - Na páxina horizontal %1$s - Na páxina horizontal - Fóra da páxina horizontal - Na páxina cuadriculada %1$s - Na páxina cuadriculada - Fóra da páxina cuadriculada %1$s - Fóra da páxina cuadriculada - Nivel %1$d - - %1$d elemento - %1$d elementos - - - %1$d fila - %1$d filas - - - %1$d columna - %1$d columnas - - - %1$d carácter - %1$d caracteres - - Ampliación dun %1$d %% activada - Ampliación dun %1$d %% - Ampliación desactivada - Velocidade da fala dun %1$d %% - Subir - Baixar - Máximo - Mínimo - %1$d %% - Os contrasinais só se len en voz alta se se utilizan auriculares - %1$s dispoñible; usa o xesto %2$s para velo. - Hai dispoñibles suxestións ortográficas. - Ventá %1$s - %1$s; icona detectada - %1$s; texto - diff --git a/compositor/src/main/res/values-gu/strings.xml b/compositor/src/main/res/values-gu/strings.xml deleted file mode 100644 index 035ab38aa..000000000 --- a/compositor/src/main/res/values-gu/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - ટૉકબૅક ચાલુ - ટૉકબૅક સસ્પેન્ડ કર્યું - ટૉકબૅક ફરી શરૂ કર્યું - ટૉકબૅક બંધ છે - બોલાયેલ પ્રતિસાદ ચાલુ છે - બોલાયેલ પ્રતિસાદને સસ્પેન્ડ કર્યો છે - બોલાયેલ પ્રતિસાદ ફરી શરૂ કર્યો - બોલાયેલ પ્રતિસાદ બંધ છે - ફીલ્ડની શરૂઆતમાં - ફીલ્ડના અંત પર - પસંદગી મોડ ચાલુ છે - પસંદગી મોડ બંધ છે - પસંદગી સાફ કરી - કૉલ - સંદેશ - ઇમેઇલ - ઇવેન્ટ - પ્રમો - અલાર્મ - પ્રગતિ - સામાજિક - ભૂલ - મીડિયા નિયંત્રણ - સિસ્ટમની સ્થિતિ - સેવા - %1$s મેનૂ - %1$s એ %2$s ને બદલ્યું - %1$s કાઢી નાખી - %1$s, કટ કરો - %1$s, પેસ્ટ કર્યું - %1$s, પસંદ કર્યું - પસંદ કરેલ ટેક્સ્ટ: %1$s - %1$s, પસંદગીમાંથી દૂર કર્યું - અમાન્ય ઇનપુટ %1$s - %1$s અક્ષરો %2$s અ‍ક્ષર સાથે બદલાયા - %2$s માટે %1$s - %1$s ટકા. - - %1$s %2$d આઇટમ બતાવી રહ્યાં છે. - %1$s %2$d આઇટમ બતાવી રહ્યાં છે. - - Error: %1$s - ગ્રિડ - સૂચિ - ટેબ બાર - ડ્રોપ ડાઉન સૂચિ - ચેક બૉક્સ - રેડિઓ બટન - બટન - સ્લાઇડર - સ્વિચ કરો - સંપાદન બૉક્સ - સંપાદિત કરી રહ્યું છે - છબી - લેબલ વિનાની - બહુવિધ-પૃષ્ઠ દૃશ્ય - પૃષ્ઠ - પ્રગતિ બાર - વેબવ્યૂ - પાસવર્ડ - સ્લાઇડિંગ ડ્રોઅર ખોલ્યું - વિકલ્પો. - સાફ કરેલ ટેક્સ્ટ - મહત્તમ લંબાઈ સુધી પહોંચ્યાં - પસંદ કરેલ - તપાસાયેલું - તપાસાયેલ નથી - ચાલુ - બંધ - અક્ષમ કર્યું - વિસ્તૃત કર્યું - સંકુચિત કર્યું - બે વાર ટેપ કરો - ટેપ કરો - પસંદ કરો સ્વિચ દબાવો - પસંદ કરો દબાવો - સક્રિય કરવા માટે %1$s. - સક્રિય કરવા માટે %1$s દબાવો. - %1$s અને લાંબા દબાણ માટે પકડો. - વધુ દબાવી રાખવા માટે %1$s દબાવો. - ટૉગલ કરવા માટે %1$s. - ટૉગલ કરવા માટે %1$s દબાવો. - ટેક્સ્ટમાં ફેરફાર કરવા માટે %1$s. - ટેક્સ્ટમાં ફેરફાર કરવા માટે %1$s દબાવો. - બદલવા માટે %1$s. - બદલવા માટે %1$s દબાવો. - પૃષ્ઠોને સ્વિચ કરવા માટે બે આંગળી વડે સ્વાઇપ કરો. - કોઈ વધુ પૃષ્ઠ નથી. - સમાયોજન કરવા માટે વૉલ્યૂમ કીનો ઉપયોગ કરો - બદલવા માટે %1$s. - ક્રિયાઓ: - %2$s માટે %1$s. - %2$s માટે %1$s દબાવો. - %1$s અને %2$s માટે પકડી રાખો. - સ્ક્રોલ કરવા માટે %1$s. - ઉપલબ્ધ ક્રિયાઓ માટે %1$s. - વધતુ-ઓછું કરવા માટે સ્વિચ કરવાનું પસંદ કરો દબાવો - Caps Lock ચાલુ છે. - Caps Lock બંધ છે. - Num Lock ચાલુ છે. - Num Lock બંધ છે. - Scroll Lock ચાલુ છે. - Scroll Lock બંધ છે. - પોર્ટ્રેટ - લેન્ડસ્કેપ - છોડી દો - વિસ્તાર કરો - સંકુચિત કરો - પંક્તિ %1$d - કૉલમ %1$d - %2$dમાંથી %1$d - મથાળું - પંક્તિનું મથાળું - કૉલમનું મથાળું - %2$s%1$sમાં - %1$s માં - %1$s સૂચિમાં છીએ - સૂચિમાં છીએ - %2$s %1$sમાંથી બહાર - %1$sમાંથી બહાર - %1$s સૂચિમાંથી બહાર - સૂચિમાંથી બહાર - %1$s ગ્રિડની અંદર - ગ્રિડની અંદર - %1$s ગ્રિડની બહાર - ગ્રિડની બહાર - પેજર %1$sમાં છે - પેજરમાં છે - પેજર %1$sની બહાર છે - પેજરની બહાર છે - ઊભા પેજર %1$sમાં છે - ઊભા પેજરમાં છે - ઊભા પેજર %1$sની બહાર છે - ઊભા પેજરની બહાર છે - આડા પેજર %1$sમાં છે - આડા પેજરમાં છે - આડા પેજરની બહાર છે - ગ્રિડ પેજર %1$sમાં છે - ગ્રિડ પેજરમાં છે - ગ્રિડ પેજર %1$sની બહાર છે - ગ્રિડ પેજરની બહાર છે - સ્તર %1$d - - %1$d આઇટમ - %1$d આઇટમ - - - %1$d પંક્તિ - %1$d પંક્તિ - - - %1$d કૉલમ - %1$d કૉલમ - - - %1$d અક્ષર - %1$d અક્ષર - - વિસ્તૃતીકરણ ચાલુ %1$d%% - વિસ્તૃતીકરણ %1$d%% - વિસ્તૃતીકરણ બંધ - બોલવાની ઝડપ %1$d%% - વધારો - ઘટાડો - મહત્તમ - ન્યૂનતમ - %1$d%% - જ્યારે હૅડફોનનો ઉપયોગ કરાતો હોય ત્યારે જ માત્ર પાસવર્ડ બોલવામાં આવે છે - %1$s ઉપલબ્ધ છે, જોવા માટે %2$s સંકેતનો ઉપયોગ કરો. - જોડણી સંબંધિત સૂચનો ઉપલબ્ધ છે. - વિન્ડો %1$s - %1$s, આઇકનની ભાળ મળી છે - %1$s, ટેક્સ્ટ - diff --git a/compositor/src/main/res/values-hi/strings.xml b/compositor/src/main/res/values-hi/strings.xml deleted file mode 100644 index 9ba93e18c..000000000 --- a/compositor/src/main/res/values-hi/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - टॉकबैक चालू है - टॉकबैक को कुछ देर के लिए बंद कर दिया गया है - टॉकबैक फिर से शुरू किया गया - टॉकबैक बंद है - कंप्यूटर का बोलकर दिया जाने वाला जवाब चालू है - कंप्यूटर का बोलकर दिया जाने वाला जवाब कुछ देर के लिए बंद कर दिया गया है - कंप्यूटर का बोलकर दिया जाने वाला जवाब फिर शुरू किया गया - कंप्यूटर का बोलकर दिया जाने वाला जवाब बंद है - फ़ील्ड के शुरू में - फ़ील्ड के अंत में - चुनें जाना मोड चालू है - चुनें जाने का मोड बंद है - चुना जाना साफ़ कर दिया गया - कॉल करें - मैसेज - ईमेल - इवेंट - प्रचार - अलार्म - प्रगति - सामाजिक - गड़बड़ी - मीडिया नियंत्रण - सिस्टम स्थिति - सेवा - %1$s मेन्यू - %1$s को %2$s से बदल दिया गया - %1$s हटाया गया - काटा गया, %1$s - चिपकाया गया, %1$s - %1$s, चुना गया - चयनित लेख: %1$s - %1$s, चुना गया हटाया - अमान्य इनपुट %1$s - %1$s वर्णों को %2$s वर्णों से बदला गया - %2$s के लिए %1$s - %1$s प्रतिशत. - - %1$s %2$d आइटम दिखा रहा है. - %1$s %2$d आइटम दिखा रहा है. - - Error: %1$s - ग्रिड - सूची - टैब बार - ड्रॉप डाउन सूची - चेक बॉक्स - रेडियो बटन - बटन - स्लाइडर - स्विच - संपादन बॉक्स - बदलाव किया जा रहा है - इमेज - लेबल नहीं किया गया - बहु-पेज दृश्य - पेज - प्रगति बार - वेबव्यू - पासवर्ड - सरकने वाला दराज खोला गया - विकल्प. - लेख साफ़ किया गया - अधिकतम लंबाई तक पहुंच गया - चयनित - चेक किया गया - चेक नहीं किया गया - चालू - बंद - अक्षम - विस्तृत किया गया - संक्षिप्त किया गया - दो बार छूएं - टैप करें - चुनने वाला स्विच दबाएं - चुनें दबाएं - सक्रिय करने के लिए %1$s. - सक्रिय करने के लिए %1$s दबाएं. - %1$s और देर तक दबाए रखें. - देर तक दबाए रखने के लिए %1$s दबाएं. - टॉगल करने के लिए %1$s. - टॉगल करने के लिए %1$s दबाएं. - बदलाव करने के लिए %1$s करें. - लेख में बदलाव करने के लिए %1$sदबाएं. - बदलने के लिए %1$s. - बदलने के लिए %1$s दबाएं. - पेज बदलने के लिए दो अंगुलियों से स्वाइप करें. - और पेज नहीं हैं. - एडजस्ट करने के लिए वॉल्यूम कुंजियों का उपयोग करें - बदलने के लिए %1$s. - कार्रवाइयां: - %2$s के लिए %1$s करें. - %2$s के लिए %1$s दबाएं. - %1$s करें और %2$s को होल्ड करके रखें. - स्क्रोल करने के लिए %1$s. - उपलब्ध विकल्पाें के लिए %1$s. - ज़रूरी बदलाव करने के लिए चीज़ें चुनने वाला स्विच दबाएं - Caps Lock चालू. - Caps Lock बंद. - Num Lock चालू. - Num Lock बंद. - Scroll Lock चालू. - Scroll Lock बंद. - पोर्ट्रेट - लैंडस्केप - खारिज करें - विस्तार करें - छोटा करें - पंक्‍ति %1$d - स्‍तंभ %1$d - %2$d में से %1$d - शीर्षक - पंक्ति का शीर्षक - स्तंभ शीर्षक - %1$s %2$s में हैं - %1$s में हैं - %1$s सूची में हैं - सूची में हैं - %1$s %2$s में नहीं हैं - %1$s में नहीं हैं - %1$s सूची में नहीं हैं - सूची में नहीं हैं - %1$s ग्रिड में हैं - ग्रिड में हैं - %1$s ग्रिड में नहीं हैं - ग्रिड में नहीं हैं - आप पेजर %1$s में हैं - आप पेजर में हैं - आप पेजर %1$s के बाहर आ चुके हैं - आप पेजर के बाहर आ चुके हैं - आप वर्टिकल पेजर %1$s में हैं - आप वर्टिकल पेजर में हैं - आप वर्टिकल पेजर %1$s के बाहर आ चुके हैं - आप वर्टिकल पेजर के बाहर आ चुके हैं - आप हाॅरिज़ंटल पेजर %1$s में हैं - आप हाॅरिज़ंटल पेजर में हैं - आप हाॅरिज़ंटल पेजर के बाहर आ चुके हैं - आप ग्रिड पेजर %1$s में हैं - आप ग्रिड पेजर में हैं - आप ग्रिड पेजर %1$s के बाहर आ चुके हैं - आप ग्रिड पेजर के बाहर आ चुके हैं - स्तर %1$d - - %1$d आइटम - %1$d आइटम - - - %1$d पंक्तियां - %1$d पंक्तियां - - - %1$d स्तंभ - %1$d स्तंभ - - - %1$d वर्ण - %1$d वर्ण - - स्क्रीन %1$d%% बड़ी हो गई है - स्क्रीन %1$d%% बड़ी की गई - स्क्रीन बड़ी करना बंद है - बोलने की दर %1$d%% - आवाज़ बढ़ गई है - आवाज़ कम हो गई है - ज़्यादा से ज़्यादा - कम से कम - %1$d%% - पासवर्ड केवल हेडफ़ोन का इस्तेमाल करते समय बोले जाते हैं - %1$s उपलब्ध है, देखने के लिए %2$s का इस्तेमाल करें. - वर्तनी से जुड़े सुझाव उपलब्ध हैं. - %1$s विंडो - स्क्रीनशॉट की मदद से पहचाना गया आइकॉन: %1$s - इमेज की मदद से पहचाना गया टेक्स्ट: %1$s - diff --git a/compositor/src/main/res/values-hr/strings.xml b/compositor/src/main/res/values-hr/strings.xml deleted file mode 100644 index 132e87a3e..000000000 --- a/compositor/src/main/res/values-hr/strings.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - TalkBack uključen - TalkBack je obustavljen - TalkBack nastavlja s radom - TalkBack isključen - Govorne povratne informacije uključene - Govorne povratne informacije obustavljene - Govorne povratne informacije ponovo pokrenute - Govorne povratne informacije isključene - Početak polja - Kraj polja - Način odabira uključen - Način odabira isključen - Odabir je izbrisan - Poziv - Poruka - E-poruka - Događaj - Promocija - Alarm - Napredak - Društvene mreže - Pogreška - Kontrola medija - Status sustava - Usluga - Izbornik %1$s - Tekst %1$s zamijenio je tekst %2$s - Tekst %1$s izbrisan - izrezano, %1$s - zalijepljeno, %1$s - %1$s, odabrano - Odabrani tekst: %1$s - %1$s, odabir poništen - Nevažeći unos %1$s - Znakovi %1$s zamijenjeni su znakovima %2$s - %1$s za %2$s - %1$s posto. - - %1$s prikazuje %2$d stavku. - %1$s prikazuje %2$d stavke. - %1$s prikazuje %2$d stavki. - - Error: %1$s - Rešetka - Popis - Traka kartica - Padajući popis - Potvrdni okvir - Izborni gumb - Gumb - Klizač - Prekidač - Uređivački okvir - Uređivanje - Slika - Neoznačeno - Prikaz više stranica - Stranica - Traka napretka - Web-prikaz - zaporka - Ladica je otvorena - Opcije. - Tekst je izbrisan - Dosegnuta je maksimalna dužina - odabrano - označeno - nije označeno - uključeno - isključeno - onemogućeno - prošireno - sažeto - Dodirnite dvaput - Dodirnite - Pritisnite prekidač za odabir - Pritisnite tipku za odabir - %1$s da biste aktivirali. - Pritisnite %1$s da biste aktivirali. - %1$s i držite za dugi pritisak. - Pritisnite %1$s da biste dugo pritisnuli. - %1$s za prebacivanje. - Pritisnite %1$s da biste prebacili. - %1$s da biste uredili tekst. - Pritisnite %1$s da biste uredili tekst. - %1$s za promjenu. - Pritisnite %1$s da biste promijenili. - Kliznite s dva prsta da biste prešli na druge stranice. - Nema više stranica. - Prilagodite pomoću tipki za glasnoću - %1$s za promjenu. - Radnje: - %1$s da biste %2$s. - Pritisnite %1$s da biste %2$s. - %1$s i zadržite da biste %2$s. - %1$s za pomicanje. - %1$s za dostupne radnje. - Za prilagođavanje pritisnite prekidač za odabir - Caps Lock uključen. - Caps Lock isključen. - Num Lock uključen. - Num Lock isključen. - Scroll Lock uključen. - Scroll Lock isključen. - Okomito - Vodoravno - Odbaci - Proširi - Sažmi - Redak %1$d - Stupac %1$d - %1$d od %2$d - Naslov - Naslov retka - Naslov stupca - Na kanalu %1$s %2$s - Na kanalu %1$s - Na popisu %1$s - Na popisu - Od %1$s %2$s - Od %1$s - Izvan popisa %1$s - Izvan popisa - U rešetki %1$s - Na rešetki - Izvan rešetke %1$s - Izvan rešetke - Na sučelju za pregled stranica %1$s - Na sučelju za pregled stranica - Izvan sučelja za pregled stranica %1$s - Izvan sučelja za pregled stranica - Na okomitom sučelju za pregled stranica %1$s - Na okomitom sučelju za pregled stranica - Izvan okomitog sučelja za pregled stranica %1$s - Izvan okomitog sučelja za pregled stranica - Na vodoravnom sučelju za pregled stranica %1$s - Na vodoravnom sučelju za pregled stranica - Izvan vodoravnog sučelja za pregled stranica - Na sučelju za pregled stranica u rešetci %1$s - Na sučelju za pregled stranica u rešetci - Izvan sučelja za pregled stranica u rešetci %1$s - Izvan sučelja za pregled stranica u rešetci - Razina %1$d - - %1$d stavka - %1$d stavke - %1$d stavki - - - %1$d redak - %1$d retka - %1$d redaka - - - %1$d stupac - %1$d stupca - %1$d stupaca - - - %1$d znak - %1$d znaka - %1$d znakova - - Povećavanje uključeno %1$d%% - Povećavanje %1$d%% - Povećavanje isključeno - Brzina govora %1$d%% - Pojačano - Stišano - Maksimalno - Minimalno - %1$d%% - Zaporke se izgovaraju samo tijekom upotrebe slušalica - Dostupno: %1$s. Za pregled upotrijebite pokret %2$s. - Dostupni su pravopisni prijedlozi. - Prozor %1$s - %1$s; otkrivena ikona - %1$s; pošalji SMS - diff --git a/compositor/src/main/res/values-hu/strings.xml b/compositor/src/main/res/values-hu/strings.xml deleted file mode 100644 index 608061937..000000000 --- a/compositor/src/main/res/values-hu/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack bekapcsolva - TalkBack felfüggesztve - TalkBack folytatása - TalkBack kikapcsolva - Hangos visszajelzés bekapcsolva - Hangos visszajelzés szüneteltetve - Hangos visszajelzés folytatva - Hangos visszajelzés kikapcsolva - Mező eleje - Mező vége - Kiválasztás mód bekapcsolva - Kiválasztás mód kikapcsolva - Kiválasztás törölve - Hívás - Üzenet - E-mail - Esemény - Promóció - Ébresztés - Folyamat - Közösségi - Hiba - Médiavezérlés - A rendszer állapota - Szolgáltatás - %1$s menü - %1$s a következő helyett: %2$s - %1$s törölve - kivágva, %1$s - beillesztve, %1$s - %1$s, kijelölve - Kijelölt szöveg: %1$s - %1$s, nincs kijelölve - Érvénytelen bevitel: %1$s - %1$s karakter le lett cserélve %2$s karakterre - %1$s a következőhöz: %2$s - %1$s százalék. - - %2$d elem látható itt: %1$s. - %2$d elem látható itt: %1$s. - - Error: %1$s - Rács - Lista - Fülsáv - Legördülő lista - Jelölőnégyzet - Választógomb - Gomb - Csúszka - Váltás - Szerkesztőmező - Szerkesztés - Kép - Jelöletlen - Többoldalas nézet - Oldal - Folyamatjelző - Webes nézet - jelszó - A csúszka nyitva van - Lehetőségek. - Szöveg törölve - Elérte a maximális hosszúságot - bejelölve - bejelölve - nincs bejelölve - be - ki - kikapcsolva - kibontva - összecsukva - Dupla koppintás - Érintse meg - Nyomja meg a kiválasztás kapcsolót - Nyomja meg a kiválasztás gombot - %1$s az aktiváláshoz. - Nyomja meg a(z) %1$s billentyűket az aktiváláshoz. - Hosszú kattintáshoz tegye a következőt: %1$s, és tartsa lenyomva. - Nyomja meg a(z) %1$s billentyűket a hosszú kattintáshoz. - %1$s a váltáshoz. - Nyomja le a(z) %1$s billentyűket a váltáshoz. - Szöveg szerkesztéséhez tegye ezt: %1$s. - Szövegszerkesztéshez nyomja le: %1$s. - A módosításhoz tegye a következőt: %1$s. - Nyomja meg a(z) %1$s billentyűket a módosításhoz. - Csúsztassa két ujját az oldalak közötti váltáshoz. - Nincs több oldal. - Módosításhoz használja a hangerőgombokat - A módosításhoz tegye a következőt: %1$s. - Műveletek: - %1$s a következőhöz: %2$s. - Nyomja meg a(z) %1$s billentyűket a következőhöz: %2$s. - %1$s és tartsa lenyomva a következőhöz: %2$s. - %1$s a görgetéshez. - %1$s a rendelkezésre álló műveletekhez. - Módosításhoz nyomja meg a kiválasztás kapcsolót - Caps Lock bekapcsolva. - Caps Lock kikapcsolva. - Num Lock bekapcsolva. - Num Lock kikapcsolva. - Scroll Lock bekapcsolva. - Scroll Lock kikapcsolva. - Álló - Fekvő - Elvetés - Kibontás - Összecsukás - %1$d. sor - %1$d. oszlop - Jelenlegi elem pozíciója: %1$d., összes elem: %2$d - Címsor - Sor címsora - Oszlop címsora - Ebben a gyűjteményben van: %1$s, %2$s - Gyűjteményben van: %1$s - Ebben a listában van: %1$s - Listában van - Ezen a gyűjteményen kívül van: %1$s, %2$s - Gyűjteményen kívül van: %1$s - Ezen a listán kívül van: %1$s - Listán kívül van - Ebben a rácsban van: %1$s - Rácsban van - Ezen a rácson kívül van: %1$s - Rácson kívül van - %1$s nevű oldalon belül - Oldalon belül - %1$s nevű oldalon kívül - Oldalon kívül - %1$s nevű függőleges oldalon belül - Függőleges oldalon belül - %1$s nevű függőleges oldalon kívül - Függőleges oldalon kívül - %1$s nevű vízszintes oldalon belül - Vízszintes oldalon belül - Vízszintes oldalon kívül - %1$s nevű rácselrendezésű oldalon belül - Rácselrendezésű oldalon belül - %1$s nevű rácselrendezésű oldalon kívül - űRácselrendezés oldalon kívül - %1$d. szint - - %1$d elem - %1$d elem - - - %1$d sor - %1$d sor - - - %1$d oszlop - %1$d oszlop - - - %1$d karakter - %1$d karakter - - Nagyítás bekapcsolva, mértéke: %1$d%% - Nagyítás mértéke: %1$d%% - Nagyítás kikapcsolva - Beszédsebesség %1$d%% - Növelés - Csökkentés - Maximum - Minimum - %1$d%% - Jelszavak felolvasása csak fejhallgatónál - A(z) %1$s rendelkezésre áll. A megtekintéshez használja a(z) %2$s kézmozdulatot. - Helyesírási javaslatok állnak rendelkezésre. - %1$s ablak - Észlelt ikon: %1$s - Szöveg: %1$s - diff --git a/compositor/src/main/res/values-hy/strings.xml b/compositor/src/main/res/values-hy/strings.xml deleted file mode 100644 index d3a111411..000000000 --- a/compositor/src/main/res/values-hy/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack-ը միացած է - TalkBack-ը կասեցված է - TalkBack-ը վերսկսվել է - TalkBack-ն անջատված է - Ձայնային արձագանքը միացված է - Ձայնային արձագանքը կասեցված է - Ձայնային արձագանքը վերսկսեց - Ձայնային արձագանքն անջատված է - Դաշտի սկիզբը - Դաշտի վերջը - Ընտրության ռեժիմը միացված է - Ընտրության ռեժիմն անջատված է - Ընտրությունը հանվել է - Զանգ - Հաղորդագրություն - Էլփոստ - Միջոցառում - Գովազդ - Զարթուցիչ - Ընթացք - Սոցցանցեր - Սխալ - Մեդիայի կառավարման տարր - Համակարգի կարգավիճակ - Ծառայություն - %1$s ընտրացանկ - %1$s-ը փոխարինվել է %2$s-ով - %1$s-ը ջնջված է - կտրվել է, %1$s - տեղադրվել է, %1$s - %1$s, ընտրվել է - Ընտրված տեքստը՝ %1$s - %1$s, ընտրությունը հանվել է - Ներածումը սխալ է՝ %1$s - %1$s գրանշանները փոխարինվել են %2$s գրանշաններով - %1$s՝ %2$s-ի համար - %1$s տոկոս: - - %1$s-ը պարունակում է %2$d տարր: - %1$s-ը պարունակում է %2$d տարր: - - Error: %1$s - Ցանց - Ցանկ - Ներդիրի գոտի - Իջնող ցանկ - Նշավանդակ - Կետակոճակ - Կոճակ - Սահիչ - Փոխանջատիչ - Խմբագրման դաշտ - Խմբագրում - Պատկեր - Չպիտակավորված - Բազմաէջ տեսք - Էջ - Ընթացագոտի - Վեբ դիտում - գաղտնաբառ - Սահող դարակը բաց է - Ընտրանքներ: - Տեքստը հեռացված է - Սա տեքստի առավելագույն երկարությունն է - ընտրված է - նշված է - չնշված - միացված է - անջատված է - կասեցված է - ընդլայնվել է - կոծկվել է - Երկհպում - Հպել - Սեղմեք «Ընտրել փոխանջատիչ» կոճակը - Սեղմեք ընտել - %1$s՝ ակտիվացնելու համար: - Սեղմեք %1$s՝ ակտիվացնելու համար: - %1$s և պահեք երկար սեղմումով: - Սեղմեք %1$s՝ երկար սեղմելու համար: - %1$s՝ փոխարկման համար: - Սեղմեք %1$s՝ փոխարկելու համար: - %1$s՝ տեքստը փոփոխելու համար: - Սեղմեք %1$s՝ տեքստը փոփոխելու համար: - %1$s՝ փոխելու համար: - Սեղմեք %1$s՝ փոխելու համար: - Սահեցրեք երկու մատը՝ էջերը փոխարկելու համար: - Այլ էջեր չկան: - Կարգավորելու համար օգտագործել ձայնի ուժգնության ստեղները - %1$s՝ փոխելու համար: - Գործողությունները՝ - %1$s՝ %2$s-ի համար: - Սեղմեք %1$s՝ հետևյալ գործողությունը կատարելու համար՝ %2$s: - %1$s և պահեք՝ %2$s-ի համար: - %1$s՝ ոլորելու համար: - %1$s՝ հասանելի գործողությունների ցանկը տեսնելու համար: - Սեղմեք «Ընտրել փոխանջատիչ» կոճակը՝ փոխանջատիչի գործողությունը կարգավորելու համար - Caps Lock-ը միացված է: - Caps Lock-ն անջատված է: - Num Lock-ը միացված է: - Num Lock-ն անջատված է: - Scroll Lock-ը միացված է: - Scroll Lock-ն անջատված է: - Ուղղաձիգ - Հորիզոնական - Փակել - Ընդարձակել - Կոծկել - Տող %1$d - Սյունակ %1$d - %1$d-ը՝ %2$d-ից - Վերնագիր - Տողի վերնագիր - Սյունակի վերնագիր - Դերը՝ «%1$s», հավաքածուն՝ «%2$s» - Դերը՝ «%1$s» - Ցանկը՝ «%1$s» - Ցանկում - «%1$s» դերից դուրս, հավաքածուն՝ «%2$s» - «%1$s» դերից դուրս - «%1$s» ցանկից դուրս - Ցանկից դուրս - «%1$s» ցանցում - Ցանցի մեջ - «%1$s» ցանցից դուրս - Ցանցից դուրս - %1$s փեյջերում - Փեյջերում - %1$s փեյջերից դուրս - Փեյջերից դուրս - %1$s ուղղաձիգ փեյջերում - Ուղղաձիգ փեյջերում - %1$s ուղղաձիգ փեյջերից դուրս - Ուղղաձիգ փեյջերից դուրս - %1$s հորիզոնական փեյջերում - Հորիզոնական փեյջերում - Հորիզոնական փեյջերից դուրս - %1$s ցանցավոր փեյջերում - Ցանցավոր փեյջերում - %1$s ցանցավոր փեյջերից դուրս - Ցանցավոր փեյջերից դուրս - Մակարդակ %1$d - - %1$d տարր - %1$d տարր - - - %1$d տող - %1$d տող - - - %1$d սյունակ - %1$d սյունակ - - - %1$d նիշ - %1$d նիշ - - Խոշորացում՝ %1$d%% - Խոշորացում՝ %1$d%% - Խոշորացումն անջատված է - Խոսքի արագությունը՝ %1$d%% - Բարձրացնել - Ցածրացնել - Առավելագույնը - Նվազագույնը - %1$d%% - Գաղտնաբառերը հնչեցվում են միայն ականջակալներ օգտագործելու դեպքում - «%1$s» գործողությունը հասանելի է: Օգտագործեք «%2$s» ժեստը՝ դիտելու համար: - Հասանելի է ուղղագրության ստուգում։ - «%1$s» պատուհան - Հայտնաբերվել է պատկերակ՝ %1$s - Տեքստ՝ %1$s - diff --git a/compositor/src/main/res/values-id/strings.xml b/compositor/src/main/res/values-id/strings.xml deleted file mode 100644 index 6ae3b4478..000000000 --- a/compositor/src/main/res/values-id/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack aktif - TalkBack ditangguhkan - TalkBack dilanjutkan - TalkBack nonaktif - Respons Lisan aktif - Respons Lisan ditangguhkan - Respons Lisan dilanjutkan - Respons Lisan nonaktif - Awal bidang - Akhir bidang - Mode pilihan aktif - Mode pilihan nonaktif - Pilihan dihapus - Telepon - Pesan - Email - Acara - Promo - Alarm - Progres - Sosial - Error - Kontrol media - Status sistem - Layanan - Menu %1$s - %1$s menggantikan %2$s - %1$s dihapus - %1$s dipotong - %1$s ditempel - %1$s dipilih - Teks yang dipilih: %1$s - %1$s tidak dipilih - Masukan tidak valid %1$s - Karakter %1$s diganti dengan karakter %2$s - %1$s untuk %2$s - %1$s persen. - - %1$s menampilkan %2$d item. - %1$s menampilkan %2$d item. - - Error: %1$s - Kisi - Daftar - Bilah tab - Daftar tarik-turun - Kotak centang - Tombol radio - Tombol - Penggeser - Beralih - Kotak edit - Mengedit - Gambar - Tak berlabel - Tampilan multihalaman - Halaman - Bilah kemajuan - Tampilan web - sandi - Panel samping geser terbuka - Opsi. - Teks dihapus - Panjang maksimum telah tercapai - dipilih - dicentang - tidak dicentang - aktif - nonaktif - dinonaktifkan - diluaskan - diciutkan - Ketuk dua kali - Ketuk - Tekan Pilih Tombol - Tekan pilih - %1$s untuk mengaktifkan. - Tekan %1$s untuk mengaktifkan. - %1$s dan tahan untuk tekan lama. - Tekan %1$s untuk menekan lama. - %1$s untuk beralih. - Tekan %1$s untuk beralih. - %1$s untuk mengedit teks. - Tekan %1$s untuk mengedit teks. - %1$s untuk mengubah. - Tekan %1$s untuk mengubah. - Geser dengan dua jari untuk beralih halaman. - Tidak ada halaman lagi. - Gunakan tombol volume untuk menyesuaikan - %1$s untuk mengubah. - Tindakan: - %1$s untuk %2$s. - Tekan %1$s untuk %2$s. - %1$s dan tahan untuk %2$s. - %1$s untuk scroll. - %1$s untuk tindakan yang tersedia. - Tekan Pilih Tombol untuk menyesuaikan - Caps Lock aktif. - Caps Lock nonaktif. - Num Lock aktif. - Num Lock nonaktif. - Scroll Lock aktif. - Scroll Lock nonaktif. - Potret - Lanskap - Tutup - Luaskan - Ciutkan - Baris %1$d - Kolom %1$d - %1$d dari %2$d - Judul - Judul baris - Judul kolom - Dalam %1$s %2$s - Dalam %1$s - Dalam daftar %1$s - Dalam daftar - Di luar %1$s %2$s - Di luar %1$s - Di luar daftar %1$s - Di luar daftar - Dalam petak %1$s - Dalam petak - Di luar petak %1$s - Di luar petak - Dalam pager %1$s - Dalam pager - Keluar dari pager %1$s - Keluar dari pager - Dalam pager vertikal %1$s - Dalam pager vertikal - Keluar dari pager vertikal %1$s - Keluar dari pager vertikal - Dalam pager horizontal %1$s - Dalam pager horizontal - Keluar dari pager horizontal - Dalam grid petak %1$s - Dalam pager petak - Keluar dari pager petak %1$s - Keluar dari pager petak - Level %1$d - - %1$d item - %1$d item - - - %1$d baris - %1$d baris - - - %1$d kolom - %1$d kolom - - - %1$d karakter - %1$d karakter - - Perbesaran %1$d%% - Perbesaran %1$d%% - Perbesaran nonaktif - Kecepatan ucapan %1$d%% - Naikkan - Turunkan - Maksimum - Minimum - %1$d%% - Sandi hanya diucapkan ketika menggunakan headphone - %1$s tersedia, gunakan %2$s untuk melihat. - Saran ejaan tersedia. - Jendela %1$s - %1$s, ikon yang terdeteksi - %1$s, teks - diff --git a/compositor/src/main/res/values-in/strings.xml b/compositor/src/main/res/values-in/strings.xml deleted file mode 100644 index 6ae3b4478..000000000 --- a/compositor/src/main/res/values-in/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack aktif - TalkBack ditangguhkan - TalkBack dilanjutkan - TalkBack nonaktif - Respons Lisan aktif - Respons Lisan ditangguhkan - Respons Lisan dilanjutkan - Respons Lisan nonaktif - Awal bidang - Akhir bidang - Mode pilihan aktif - Mode pilihan nonaktif - Pilihan dihapus - Telepon - Pesan - Email - Acara - Promo - Alarm - Progres - Sosial - Error - Kontrol media - Status sistem - Layanan - Menu %1$s - %1$s menggantikan %2$s - %1$s dihapus - %1$s dipotong - %1$s ditempel - %1$s dipilih - Teks yang dipilih: %1$s - %1$s tidak dipilih - Masukan tidak valid %1$s - Karakter %1$s diganti dengan karakter %2$s - %1$s untuk %2$s - %1$s persen. - - %1$s menampilkan %2$d item. - %1$s menampilkan %2$d item. - - Error: %1$s - Kisi - Daftar - Bilah tab - Daftar tarik-turun - Kotak centang - Tombol radio - Tombol - Penggeser - Beralih - Kotak edit - Mengedit - Gambar - Tak berlabel - Tampilan multihalaman - Halaman - Bilah kemajuan - Tampilan web - sandi - Panel samping geser terbuka - Opsi. - Teks dihapus - Panjang maksimum telah tercapai - dipilih - dicentang - tidak dicentang - aktif - nonaktif - dinonaktifkan - diluaskan - diciutkan - Ketuk dua kali - Ketuk - Tekan Pilih Tombol - Tekan pilih - %1$s untuk mengaktifkan. - Tekan %1$s untuk mengaktifkan. - %1$s dan tahan untuk tekan lama. - Tekan %1$s untuk menekan lama. - %1$s untuk beralih. - Tekan %1$s untuk beralih. - %1$s untuk mengedit teks. - Tekan %1$s untuk mengedit teks. - %1$s untuk mengubah. - Tekan %1$s untuk mengubah. - Geser dengan dua jari untuk beralih halaman. - Tidak ada halaman lagi. - Gunakan tombol volume untuk menyesuaikan - %1$s untuk mengubah. - Tindakan: - %1$s untuk %2$s. - Tekan %1$s untuk %2$s. - %1$s dan tahan untuk %2$s. - %1$s untuk scroll. - %1$s untuk tindakan yang tersedia. - Tekan Pilih Tombol untuk menyesuaikan - Caps Lock aktif. - Caps Lock nonaktif. - Num Lock aktif. - Num Lock nonaktif. - Scroll Lock aktif. - Scroll Lock nonaktif. - Potret - Lanskap - Tutup - Luaskan - Ciutkan - Baris %1$d - Kolom %1$d - %1$d dari %2$d - Judul - Judul baris - Judul kolom - Dalam %1$s %2$s - Dalam %1$s - Dalam daftar %1$s - Dalam daftar - Di luar %1$s %2$s - Di luar %1$s - Di luar daftar %1$s - Di luar daftar - Dalam petak %1$s - Dalam petak - Di luar petak %1$s - Di luar petak - Dalam pager %1$s - Dalam pager - Keluar dari pager %1$s - Keluar dari pager - Dalam pager vertikal %1$s - Dalam pager vertikal - Keluar dari pager vertikal %1$s - Keluar dari pager vertikal - Dalam pager horizontal %1$s - Dalam pager horizontal - Keluar dari pager horizontal - Dalam grid petak %1$s - Dalam pager petak - Keluar dari pager petak %1$s - Keluar dari pager petak - Level %1$d - - %1$d item - %1$d item - - - %1$d baris - %1$d baris - - - %1$d kolom - %1$d kolom - - - %1$d karakter - %1$d karakter - - Perbesaran %1$d%% - Perbesaran %1$d%% - Perbesaran nonaktif - Kecepatan ucapan %1$d%% - Naikkan - Turunkan - Maksimum - Minimum - %1$d%% - Sandi hanya diucapkan ketika menggunakan headphone - %1$s tersedia, gunakan %2$s untuk melihat. - Saran ejaan tersedia. - Jendela %1$s - %1$s, ikon yang terdeteksi - %1$s, teks - diff --git a/compositor/src/main/res/values-is/strings.xml b/compositor/src/main/res/values-is/strings.xml deleted file mode 100644 index 6f07b2650..000000000 --- a/compositor/src/main/res/values-is/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Kveikt á TalkBack - Lokað fyrir TalkBack - Haldið áfram með TalkBack - Slökkt á TalkBack - Kveikt á raddsvörun - Lokað fyrir raddsvörun - Opnað fyrir raddsvörun - Slökkt á raddsvörun - Upphaf reits - Lok reits - Kveikt á valstillingu - Slökkt á valstillingu - Val hreinsað - Símtal - Skilaboð - Tölvupóstur - Viðburður - Kynning - Vekjari - Framvinda - Samfélagsmiðill - Villa - Spilunarstýring - Staða kerfis - Þjónusta - Valmyndin %1$s - %1$s kom í stað %2$s - %1$s eytt - skorið, %1$s - límt, %1$s - %1$s, valið - Valinn texti: %1$s - %1$s, ekki valið - Ógildur innsláttur %1$s - %1$s stöfum skipt út fyrir %2$s stafi - %1$s fyrir %2$s - %1$s prósent. - - %1$s sýnir %2$d atriði. - %1$s sýnir %2$d atriði. - - Error: %1$s - Tafla - Listi - Flipastika - Fellilisti - Gátreitur - Hringhnappur - Hnappur - Sleði - Rofi - Textareitur - Verið að breyta - Mynd - Ómerkt - Yfirlit með mörgum síðum - Síða - Framvindustika - Vefyfirlit - aðgangsorð - Renniskúffa opnuð - Valkostir. - Texti hreinsaður - Hámarkslengd náð - valið - valinn - ekki valinn - kveikt - slökkt - óvirk - stækkað - minnkað - Ýttu tvisvar - Ýttu - Ýttu á velja rofa - Ýttu á velja - %1$s til að virkja þetta. - Ýttu á %1$s til að virkja. - %1$s og haltu inni til að ýta lengi. - Ýttu á %1$s til að halda inni. - %1$s til að haka við eða fjarlægja hak. - Ýttu á %1$s til að skipta. - %1$s til að breyta texta. - Ýttu á %1$s til að breyta texta. - %1$s til að breyta. - Ýttu á %1$s til að breyta. - Strjúktu með tveimur fingrum til að skipta um síðu. - Engar fleiri síður. - Notaðu hljóðstyrkstakkana til að stilla - %1$s til að breyta. - Aðgerðir: - %1$s til að %2$s. - Ýttu á %1$s til að %2$s. - %1$s og haltu niðri til að %2$s. - %1$s til að fletta. - %1$s til að fá aðgerðir í boði. - Ýttu á velja rofa til að stilla - Hástafalás á. - Hástafalás af. - Num Lock á. - Num Lock af. - Scroll Lock á. - Scroll Lock af. - Skammsnið - Langsnið - Hunsa - Stækka - Minnka - Lína %1$d - Dálkur %1$d - %1$d af %2$d - Fyrirsögn - Línufyrirsögn - Dálkfyrirsögn - Á %1$s %2$s - Á %1$s - Á listanum %1$s - Á lista - Utan %1$s %2$s - Utan %1$s - Utan listans %1$s - Utan lista - Í töflunni %1$s - Í töflu - Utan töflunnar %1$s - Utan töflu - Í síðubirtingu %1$s - Í síðubirtingu - Utan síðubirtingar %1$s - Utan síðubirtingar - Í lóðréttri síðubirtingu %1$s - Í lóðréttri síðubirtingu - Utan lóðréttrar síðubirtingar %1$s - Utan lóðréttrar síðubirtingar - Í láréttri síðubirtingu %1$s - Í láréttri síðubirtingu - Utan láréttrar síðubirtingar - Í síðubirtingu í töflu %1$s - Síðubirting í töflu - Utan síðubirtingar í töflu %1$s - Utan síðubirtingar í töflu - Stig %1$d - - %1$d atriði - %1$d atriði - - - %1$d lína - %1$d línur - - - %1$d dálkur - %1$d dálkar - - - %1$d stafur - %1$d stafir - - Kveikt á stækkun %1$d%% - Stækkun %1$d%% - Slökkt á stækkun - Talhraði %1$d%% - Auka - Minnka - Hámark - Lágmark - %1$d%% - Aðgangsorð aðeins lesin upp þegar heyrnartól eru notuð - %1$s í boði, notaðu %2$s til að skoða. - Stafsetningartillögur í boði. - Glugginn %1$s - %1$s, tákn greindist - %1$s, texti - diff --git a/compositor/src/main/res/values-it/strings.xml b/compositor/src/main/res/values-it/strings.xml deleted file mode 100644 index 58b0654cd..000000000 --- a/compositor/src/main/res/values-it/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack attivato - TalkBack sospeso - TalkBack riattivato - TalkBack disattivato - Funzione di lettura vocale attiva - Funzione di lettura vocale sospesa - Funzione di lettura vocale riattivata - Funzione di lettura vocale disattivata - Inizio del campo - Fine del campo - Modalità di selezione attiva - Modalità di selezione non attiva - Selezione cancellata - Chiamata - Messaggio - Email - Evento - Promozione - Sveglia - Avanzamento - Social - Errore - Controllo dei contenuti multimediali - Stato del sistema - Servizio - Menu %1$s - %1$s ha sostituito %2$s - %1$s eliminato - tagliato, %1$s - incollato, %1$s - %1$s, selezionato - Testo selezionato: %1$s - %1$s, deselezionato - Immissione non valida: %1$s - %1$s caratteri sostituiti con %2$s caratteri - %1$s per %2$s - %1$s percento. - - %1$s con %2$d elemento visibile. - %1$s con %2$d elementi visibili. - - Error: %1$s - Griglia - Elenco - Barra delle schede - Elenco a discesa - Casella di controllo - Pulsante di opzione - Pulsante - Dispositivo di scorrimento - Opzione - Casella di modifica - Modifica in corso - Immagine - Senza etichetta - Visualizzazione a più pagine - Pagina - Barra di avanzamento - Visualizzazione Web - password - Riquadro a scomparsa scorrevole aperto - Opzioni. - Testo cancellato - Lunghezza massima raggiunta - selezionata - selezionato - non selezionato - attivato - disattivato - disattivato - espanso - compresso - Tocca due volte - Tocca - Premi il sensore Seleziona - Premi seleziona - %1$s per attivare. - Premi %1$s per attivare. - %1$s e tieni premuto per premere a lungo. - Premi %1$s per premere a lungo. - %1$s per attivare/disattivare. - Premi %1$s per attivare/disattivare. - %1$s per modificare il testo. - Premi %1$s per modificare il testo. - %1$s per modificare. - Premi %1$s per modificare. - Scorri con due dita per cambiare pagina. - Nessun\'altra pagina disponibile. - Usa i tasti del volume per regolare - %1$s per cambiare. - Azioni: - %1$s per %2$s. - Premi %1$s per %2$s. - %1$s e tieni premuto per %2$s. - %1$s per scorrere. - %1$s per vedere le azioni disponibili. - Premi il sensore Seleziona per regolare - Bloc Maiusc attivato. - Bloc Maiusc disattivato. - Bloc Num attivato. - Bloc Num disattivato. - Bloc Scorr attivato. - Bloc Scorr disattivato. - Verticale - Orizzontale - Ignora - Espandi - Comprimi - Riga %1$d - Colonna %1$d - %1$d di %2$d - Intestazione - Intestazione di riga - Intestazione di colonna - In %1$s %2$s - In %1$s - Nell\'elenco %1$s - Nell\'elenco - Fuori da %1$s %2$s - Fuori da %1$s - Fuori dall\'elenco %1$s - Fuori dall\'elenco - Nella griglia %1$s - Nella griglia - Fuori dalla griglia %1$s - Fuori dalla griglia - Nel pager %1$s - Nel pager - Fuori dal pager %1$s - Fuori dal pager - Nel pager verticale %1$s - Nel pager verticale - Fuori dal pager verticale %1$s - Fuori dal pager verticale - Nel pager orizzontale %1$s - Nel pager orizzontale - Fuori dal pager orizzontale - Nel pager a griglia %1$s - Nel pager a griglia - Fuori dal pager a griglia %1$s - Fuori dal pager a griglia - Livello %1$d - - %1$d elemento - %1$d elementi - - - %1$d riga - %1$d righe - - - %1$d colonna - %1$d colonne - - - %1$d carattere - %1$d caratteri - - Ingrandimento attivato: %1$d%% - Ingrandimento attuale: %1$d%% - Ingrandimento disattivato - Velocità voce del %1$d%% - Alza - Abbassa - Volume massimo - Volume minimo - %1$d%% - Le password vengono lette soltanto se vengono usate le cuffie - %1$s disponibile, usa %2$s per visualizzare. - Suggerimenti ortografici disponibili. - Finestra %1$s - %1$s, icona rilevata - %1$s, testo - diff --git a/compositor/src/main/res/values-iw/strings.xml b/compositor/src/main/res/values-iw/strings.xml deleted file mode 100644 index 047055dbf..000000000 --- a/compositor/src/main/res/values-iw/strings.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - ‏TalkBack מופעל - ‏TalkBack מושהה - ‏הפעלת TalkBack חודשה - ‏TalkBack מושבת - קורא מסך קולי מופעל - קורא מסך קולי מושעה - קורא מסך קולי מופעל מחדש - קורא מסך קולי מושבת - תחילת השדה - סוף השדה - מצב הבחירה מופעל - מצב הבחירה מושבת - הבחירה נוקתה - שיחה - הודעה - אימייל - אירוע - מבצע - שעון מעורר - התקדמות - רשתות חברתיות - שגיאה - פקד מדיה - סטטוס מערכת - שירות - תפריט %1$s - %1$s מחליף את %2$s - %1$s נמחק - נגזר, %1$s - מודבק, %1$s - %1$s, נבחר - טקסט נבחר: %1$s - %1$s, הבחירה בוטלה - קלט לא חוקי %1$s - %1$s תווים הוחלפו ב-%2$s תווים - %1$s עבור %2$s - %1$s אחוזים. - - %1$s מציג פריט %2$d. - %1$s מציג %2$d פריטים. - %1$s מציג %2$d פריטים. - %1$s מציג %2$d פריטים. - - Error: %1$s - רשת - רשימה - שורת כרטיסיות - רשימה נפתחת - תיבת סימון - לחצן בחירה - לחצן - פס הזזה - מתג - תיבת עריכה - עריכה - תמונה - ללא תווית - תצוגה בעלת מספר דפים - דף - סרגל התקדמות - תצוגת אינטרנט. - סיסמה - חלונית הזזה נפתחה - אפשרויות. - הטקסט נוקה - הגעת לאורך המרבי - נבחר - מסומן - לא מסומן - פועל - כבוי - מושבת - מורחב - מכווץ - הקשה כפולה - הקש - יש להקיש על \'בחירת מתג\' - יש ללחוץ על \'בחירה\' - %1$s כדי להפעיל. - הקש על %1$s כדי להפעיל. - %1$s והחזק ללחיצה ארוכה. - הקש על %1$s כדי לבצע לחיצה ארוכה. - %1$s כדי להחליף. - הקש על %1$s כדי להחליף מצב. - %1$s כדי לערוך טקסט. - יש להקיש על %1$s כדי לערוך טקסט. - %1$s כדי לשנות. - הקש על %1$s כדי לשנות. - החלק בשתי אצבעות כדי לעבור בין דפים. - אין דפים נוספים. - Use volume keys to adjust - %1$s כדי לשנות. - פעולות: - %1$s כדי %2$s. - הקש על %1$s כדי %2$s. - %1$s והחזק כדי %2$s. - %1$s כדי לגלול. - %1$s כדי להציג את הפעולות הזמינות. - יש ללחוץ על \'בחירת מתג\' כדי לבצע התאמה - ‏מקש Caps Lock פועל. - ‏מקש Caps Lock כבוי. - ‏מקש Num Lock פועל. - ‏מקש Num Lock כבוי. - ‏מקש Scroll Lock פועל. - ‏מקש Scroll Lock כבוי. - לאורך - לרוחב - ביטול - הרחב - כווץ - שורה %1$d - עמודה %1$d - %1$d מתוך %2$d - כותרת - כותרת שורה - כותרת עמודה - ב%1$s %2$s - ב%1$s - ב%1$s - ברשימה - מחוץ ל%1$s %2$s - מחוץ ל%1$s - מחוץ לרשימה %1$s - מחוץ לרשימה - ברשת %1$s - ברשת - מחוץ לרשת %1$s - מחוץ לרשת - בתצוגת הדפים %1$s - בתצוגת דפים - מחוץ לתצוגת הדפים %1$s - מחוץ לתצוגת הדפים - בתצוגת הדפים האנכית %1$s - בתצוגת דפים אנכית - מחוץ לתצוגת הדפים האנכית %1$s - מחוץ לתצוגת הדפים האנכית - בתצוגת הדפים האופקית %1$s - בתצוגת דפים אופקית - מחוץ לתצוגת הדפים האופקית - בתצוגת דפים רשתית %1$s - בתצוגת דפים רשתית - מחוץ לתצוגת הדפים הרשתית %1$s - מחוץ לתצוגת הדפים הרשתית - רמה %1$d - - %1$d פריט - %1$d פריטים - %1$d פריטים - %1$d פריטים - - - %1$d שורה - %1$d שורות - %1$d שורות - %1$d שורות - - - %1$d עמודה - %1$d עמודות - %1$d עמודות - %1$d עמודות - - - %1$d תו - %1$d תווים - %1$d תווים - %1$d תווים - - הפעלת הגדלה ל-%%%1$d - הגדלה ל-%%%1$d - כיבית את ההגדלה - קצב דיבור %%%1$d - הגברת עוצמת הקול - הפחתת עוצמת הקול - מקסימום - מינימום - ‎%1$d%%‎‎ - הסיסמאות מוקראות רק בשימוש באוזניות - %1$s זמין, יש להשתמש ב-%2$s כדי להציג. - יש הצעות לאיות. - החלון %1$s - הסמל שזוהה: %1$s - הודעת הטקסט שזוהתה: %1$s - diff --git a/compositor/src/main/res/values-ja/strings.xml b/compositor/src/main/res/values-ja/strings.xml deleted file mode 100644 index a76436dc4..000000000 --- a/compositor/src/main/res/values-ja/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack on - TalkBackが停止 - TalkBackが再開 - TalkBack: OFF - 音声フィードバックはオンです - 音声フィードバックは停止中です - 音声フィードバックを再開しました - 音声フィードバックはオフです - 項目の先頭 - 項目の末尾 - 選択モードは ON です - 選択モードは OFF です - 選択を解除しました - 着信 - メッセージ - メール - 予定 - プロモーション - アラーム - 進行状況 - ソーシャル - エラー - メディア コントロール - システム ステータス - サービス - %1$sのメニュー - %2$sを%1$sに変更しました - %1$sを削除しました - 切り取りました、%1$s - 貼り付けました、%1$s - %1$s、選択しました - 選択したテキスト: %1$s - %1$s、選択を解除しました - 入力が無効です。%1$s - %1$s文字を%2$s文字に変更しました - %2$sの%1$s - %1$sパーセント - - %1$sに%2$d個のアイテムが表示されています。 - %1$sに%2$d個のアイテムが表示されています。 - - Error: %1$s - グリッド - リスト - タブバー - プルダウンリスト - チェックボックス - ラジオボタン - ボタン - スライダー - スイッチ - 編集ボックス - 編集 - 画像 - ラベルなし - マルチページ ビュー - ページ - 進行状況バー - ウェブ表示 - パスワード - ドロワーを開きました - オプション - テキストを消去しました - 長さの上限に達しました - 選択済み - ON - 未選択 - ON - OFF - 無効 - 展開されています - 折りたたまれています - ダブルタップ - タップ - 選択スイッチを押す - 選択 - %1$sできるメニューです。 - 有効にするには、%1$s キーを押します。 - 押し続けるには%1$sしたままにします。 - 押し続けるには、%1$s キーを押します。 - 切り替えるには%1$sします。 - 切り替えるには、%1$s キーを押します。 - %1$sでテキストを編集します。 - %1$sを押すと、テキストを編集できます。 - 変更するには%1$sします。 - 変更するには、%1$s キーを押します。 - ページを切り替えるには、2 本の指でスワイプします。 - これ以上ページはありません。 - 音量ボタンで調整します - 変更するには、%1$sします。 - 操作: - %2$sするには、%1$sします。 - %2$sするには、%1$s キーを押します。 - %2$sするには、%1$sして押し続けます。 - %1$sと、スクロールします。 - %1$sと、利用できる操作を確認できます。 - 調節するには、選択スイッチを押してください - CapsLockオン - CapsLockオフ - NumLockオン - NumLockオフ - ScrollLockオン - ScrollLockオフ - 縦向き - 横向き - 表示しない - 展開 - 折りたたむ - %1$d行目 - %1$d列目 - %2$d件中の%1$d件目です - 見出し - 行見出し - 列見出し - %1$s %2$sの中です - %1$sの中です - リスト%1$sの中です - リストの中です - %1$s %2$sの外です - %1$sの外です - リスト%1$sの外です - リストの外です - グリッド%1$sの中です - グリッドの中です - グリッド%1$sの外です - グリッドの外です - ページャ%1$sの中です - ページャの中です - ページャ%1$sの外です - ページャの外です - 縦方向ページャ%1$sの中です - 縦方向ページャの中です - 縦方向ページャ%1$sの外です - 縦方向ページャの外です - 横方向ページャ%1$sの中です - 横方向ページャの中です - 横方向ページャの外です - グリッドページャ%1$sの中です - グリッドページャの中です - グリッドページャ%1$sの外です - グリッドページャの外です - レベル%1$d - - %1$d個のアイテム - %1$d個のアイテム - - - %1$d行 - %1$d行 - - - %1$d列 - %1$d列 - - - %1$d 文字 - %1$d 文字 - - 拡大は ON です。%1$d%% に拡大しています - %1$d%% に拡大しています - 拡大は OFF です - 音声の速度は %1$d%% です - 上げる - 下げる - 最大 - 最小 - %1$d%% - ヘッドフォンの使用時のみパスワードが読み上げられます - %1$sを使用できます。%2$sで確認できます。 - スペルの候補表示を使用できます。 - ウィンドウ(%1$s) - %1$s、検出されたアイコンです - %1$s、テキストです - diff --git a/compositor/src/main/res/values-ka/strings.xml b/compositor/src/main/res/values-ka/strings.xml deleted file mode 100644 index c885091a1..000000000 --- a/compositor/src/main/res/values-ka/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Talkback ჩართულია - TalkBack შეჩერდა - TalkBack განახლდა - TalkBack გამორთულია - გახმოვანებული უკუკავშირი ჩართულია - გახმოვანებული უკუკავშირი შეჩერებულია - გახმოვანებული უკუკავშირი განახლდა - გახმოვანებული უკუკავშირი გამორთულია - ველის დასაწყისი - ველის ბოლო - არჩევის რეჟიმი ჩართულია - არჩევის რეჟიმი გამორთულია - არჩეული გასუფთავდა - დარეკვა - შეტყობინება - ელფოსტა - მოვლენა - რეკლამა - მაღვიძარა - პროგრესი - სოციალური - შეცდომა - მედიის მართვა - სისტემის სტატუსი - სერვისი - %1$s მენიუ - %1$s-მა ჩაანაცვლა %2$s - %1$s წაშლილი - ამოჭრილია, %1$s - ჩასმულია, %1$s - %1$s, არჩეულია - არჩეულია ტექსტი: %1$s - %1$s, არ არის არჩეული - არასწორი შეყვანა %1$s - %1$s სიმბოლოები შეიცვალა %2$s სიმბოლოებით - %1$s %2$s-ისთვის - %1$s პროცენტი. - - %1$s %2$d ერთეულით. - %1$s %2$d ერთეულით. - - Error: %1$s - ცხრილი - სია - ჩანართების ზოლი - ჩამოსაშლელი სია - მოსანიშნი ველი - რადიო ღილაკი - ღილაკი - სლაიდერი - გადამრთველი - რედაქტირების ველი - მიმდინარეობს რედაქტირება - სურათი - ულეიბლო - მრავალგვერდიანი ხედი - გვერდი - პროგრესის ზოლი - ვებხედი - პაროლი - გახსნილია გამოსასრიალებელი უჯრა - პარამეტრები. - ტექსტი ამოშლილია - მაქსიმუმი სიგრძე მიღწეულია - არჩეულია - მონიშნულია - არ არის მონიშნული - ჩართული - გამორთული - გამორთულია - გაშლილია - ჩაკეცილია - ორმაგი შეხება - შეხება - დააჭირეთ არჩევის გადამრთველს - დააჭირეთ არჩევას - გასააქტიურებლად, შეასრულეთ %1$s. - გასააქტიურებლად, დააჭირეთ კლავიშთა კომბინაციას %1$s. - %1$s და დააყოვნეთ. - ხანგრძლივად დასაჭერად, დააჭირეთ კლავიშთა კომბინაციას %1$s. - %1$s გადასართავად. - გადასართავად, დააჭირეთ კლავიშთა კომბინაციას %1$s. - შეასრულეთ %1$s ტექსტის რედაქტირებისთვის. - ტექსტის რედაქტირებისთვის დააჭირეთ: %1$s. - %1$s შესაცვლელად. - შესაცვლელად, დააჭირეთ კლავიშთა კომბინაციას %1$s. - გვერდებს შორის გადასასვლელად, გადაფურცლეთ ორი თითით. - გვერდები აღარ არის. - გამოიყენეთ ხმის ღილაკები დასარეგულირებლად - %1$s შესაცვლელად. - ქმედებები: - %1$s, რათა განხორციელდეს %2$s. - დააჭირეთ კლავიშთა კომბინაციას %1$s, რათა განხორციელდეს %2$s. - ხანგრძლივად %1$s, რათა განხორციელდეს %2$s. - %1$s მოსანიშნად. - %1$s ხელმისაწვდომი ქმედებების სანახავად. - დასარეგულირებლად დააჭირეთ არჩევის გადამრთველს - Caps Lock ჩართულია. - Caps Lock გამორთულია. - Num Lock ჩართულია. - Num Lock გამორთულია. - Scroll Lock ჩართულია. - Scroll Lock გამორთულია. - პორტრეტი - პეიზაჟის რეჟიმი - დახურვა - გაშლა - ჩაკეცვა - რიგი %1$d - სვეტი %1$d - %2$d-ის %1$d - სათაური - მწკრივის სათაური - სვეტის სათაური - %1$s %2$s-ში - %1$s-ში - სიაში %1$s - სიაში - %1$s %2$s-ის გარეთ - %1$s-ის გარეთ - სიის %1$s გარეთ - სიის გარეთ - ბადეში %1$s - ბადეში - ბადის %1$s გარეთ - ბადის გარეთ - გვერდის ნავიგაციის მოდულში %1$s - გვერდის ნავიგაციის მოდულში - გვერდის ნავიგაციის მოდულის %1$s გარეთ - გვერდის ნავიგაციის მოდულის გარეთ - გვერდის ნავიგაციის ვერტიკალურ მოდულში %1$s - გვერდის ნავიგაციის ვერტიკალურ მოდულში - გვერდის ნავიგაციის ვერტიკალური მოდულის %1$s გარეთ - გვერდის ნავიგაციის ვერტიკალური მოდულის გარეთ - გვერდის ნავიგაციის ჰორიზონტალურ მოდულში %1$s - გვერდის ნავიგაციის ჰორიზონტალურ მოდულში - გვერდის ნავიგაციის ჰორიზონტალური მოდულის გარეთ - გვერდის ნავიგაციის ბადიან მოდულში %1$s - გვერდის ნავიგაციის ბადიან მოდულში - გვერდის ნავიგაციის ბადიანი მოდულის %1$s გარეთ - გვერდის ნავიგაციის ბადიანი მოდულის გარეთ - დონე %1$d - - %1$d ერთეული - %1$d ერთეული - - - %1$d მწკრივი - %1$d მწკრივი - - - %1$d სვეტი - %1$d სვეტი - - - %1$d სიმბოლო - %1$d სიმბოლო - - გადიდება -— %1$d%% - გადიდება — %1$d%% - გადიდება გამორთულია - მეტყველების ტემპი %1$d%% - გაზრდა - შემცირება - მაქსიმუმი - მინიმუმი - %1$d%% - პაროლები გახმოვანდება მხოლოდ ყურსასმენების გამოყენებისას - %1$s ხელმისაწვდომია, სანახავად გამოიყენეთ %2$s. - მართლწერის შეთავაზებაბი ხელმისაწვდომია - ფანჯარა: %1$s - აღმოჩენილი ხატულა: %1$s - ტექსტი: %1$s - diff --git a/compositor/src/main/res/values-kk/strings.xml b/compositor/src/main/res/values-kk/strings.xml deleted file mode 100644 index ef57ebd40..000000000 --- a/compositor/src/main/res/values-kk/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack қосулы - TalkBack уақытша тоқтатылды - TalkBack жалғастырылды - TalkBack өшірулі - Экрандағы мәтінді дыбыстау функциясы қосулы - Экрандағы мәтінді дыбыстау функциясы уақытша тоқтатылды - Экрандағы мәтінді дыбыстау функциясы жалғастырылды - Экрандағы мәтінді дыбыстау функциясы өшірулі - Өрістің басы - Өрістің соңы - Таңдау режимі қосулы - Таңдау режимі өшірулі - Мәтін таңдаудан алынды - Қоңырау шалу - Хабар - Электрондық пошта - Іс-шара - Жарнама - Оятқыш - Орындалуда - Әлеуметтік - Қате - Медиафайлды басқару - Жүйе күйі - Қызмет - %1$s мәзірі - %1$s %2$s ауыстырды - %1$s жойылды - қиып алынды, %1$s - қойылды, %1$s - %1$s, таңдалды - Таңдалған мәтін: %1$s - %1$s, таңдаудан алынды - Жарамсыз енгізілген деректер %1$s - %1$s таңба %2$s таңбамен ауыстырылды - %2$s үшін %1$s - %1$s пайыз. - - %1$s %2$d элемент көрсетіп тұр. - %1$s %2$d элемент көрсетіп тұр. - - Error: %1$s - Тор - Тізім - Қойындылар жолағы - Ашылмалы тізім - Құсбелгі ұяшығы - Ауыстырғыш - Түйме - Жүгірткі - Ауысу - Өңдеу өрісі - Өңделуде - Кескін - Белгіленбеген - Көп беттік көрініс - Бет - Орындалу барысының жолағы - Веб көрінісі - құпия сөз - Сырғитын тартпа ашылды - Опциялар. - Мәтін тазаланды - Ең жоғары ұзындықтан асып кетті - таңдалды - құсбелгі қойылған - құсбелгі қойылмаған - қосулы - өшірулі - өшірілген - жайылды - жиылды - Екі рет түрту - Түрту - \"Таңдау\" ауыстырғышын басыңыз - Таңдау түймесін басыңыз - Белсендіру үшін %1$s. - Қосу үшін %1$s пернелер тіркесімін басыңыз. - Ұзақ басу үшін %1$s және ұстап тұрыңыз. - Ұзақ басу үшін %1$s пернелер тіркесімін басыңыз. - Ажырата қосу үшін %1$s. - Ауыстыру үшін %1$s пернелер тіркесімін басыңыз. - Мәтінді өзгерту үшін %1$s. - Мәтінді өңдеу үшін %1$s пернелерін басыңыз. - Өзгерту үшін %1$s. - Өзгерту үшін %1$s пернелер тіркесімін басыңыз. - Беттерді ауыстыру үшін екі саусақпен сырғытыңыз. - Басқа беттер жоқ. - Дыбыс деңгейі пернелерімен реттеу - Өзгерту үшін %1$s. - Әрекеттер: - %2$s үшін %1$s. - %2$s үшін %1$s пернелер тіркесімін басыңыз. - %2$s үшін %1$s, ұстап тұрыңыз. - Айналдыру үшін %1$s. - Қолжетімді әрекеттер үшін %1$s. - Реттеу үшін \"Таңдау\" ауыстырып қосқышын басыңыз - Caps Lock қосулы. - Caps Lock өшірулі. - Num Lock қосулы. - Num Lock өшірулі. - Scroll Lock қосулы. - Scroll Lock өшірулі. - Портреттік - Пейзаждық - Жабу - Жаю - Жию - %1$d жолы - %1$d бағаны - %1$d/%2$d - Тақырып - Жол тақырыбы - Баған тақырыбы - %2$s жинағындағы %1$s рөлінде - %1$s рөлінде - %1$s тізімінде - Тізімде - %2$s жиынындағы %1$s рөлінде - %1$s рөлінен тыс - %1$s тізімінен тыс - Тізімнен тыс - %1$s торында - Торда - %1$s торынан тыс - Тордан тыс - %1$s пейджерінде - Пейджерде - %1$s пейджерінен тыс - Пейджерден тыс - %1$s тік пейджерінде - Тік пейджерде - %1$s тік пейджерден тыс - Тік пейджерден тыс - %1$s көлденең пейджерінде - Көлденең пейджерде - Көлденең пейджерден тыс - %1$s тор пейджерінде - Тор пейджерінде - %1$s тор пейджерінен тыс - Тор пейджерінен тыс - %1$d-деңгей - - %1$d элемент - %1$d элемент - - - %1$d жол - %1$d жол - - - %1$d баған - %1$d баған - - - %1$d таңба - %1$d таңба - - %1$d%%-ға ұлғайтылды - %1$d%%-ға ұлғайтылған - Ұлғайту өшірулі - Дыбыстау жылдамдығы: %1$d%% - Арттыру - Азайту - Максималды деңгей - Минималды деңгей - %1$d%% - Құпия сөздер құлақаспап пайдаланылған кезде ғана дыбысталады - %1$s әрекеті қолжетімді, көру үшін %2$s қимылын пайдаланыңыз. - Емле тексеру мүмкіндігі бар. - %1$s терезесі - %1$s, анықталған белгіше - %1$s, мәтін - diff --git a/compositor/src/main/res/values-km/strings.xml b/compositor/src/main/res/values-km/strings.xml deleted file mode 100644 index 8478c55c7..000000000 --- a/compositor/src/main/res/values-km/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack បានបើក - បានផ្អាក TalkBack - បានបន្ត TalkBack - មុខងារតបវិញបានបិទ - ការអានអេក្រង់បានបើក - បានផ្អាកការអានអេក្រង់ - បានបន្តការអានអេក្រង់ - ការអានអេក្រង់បានបិទ - ផ្នែកចាប់ផ្តើមនៃប្រអប់ - ផ្នែកបញ្ចប់នៃប្រអប់ - បើក​របៀប​​ជ្រើស - បិទ​របៀប​ជ្រើស - ការជ្រើសត្រូវបានជម្រះ - ហៅទូរសព្ទ - សារ - អ៊ីមែល - ព្រឹត្តិការណ៍ - ការផ្សព្វផ្សាយ - ម៉ោងរោទ៍ - ដំណើរការ - សង្គម - បញ្ហា - ការគ្រប់គ្រងមេឌៀ - ស្ថានភាពប្រព័ន្ធ - សេវាកម្ម - ម៉ឺនុយ %1$s - %1$s បាន​ជំនួស %2$s - បាន​លុប %1$s - បានកាត់ %1$s - បានបិទភ្ជាប់ %1$s - %1$s ត្រូវបានជ្រើសរើស - អត្ថបទដែលបានជ្រើស៖ %1$s - %1$s មិនបានជ្រើស - ធាតុបញ្ចូលគ្មានសុពលភាព %1$s - %1$s បាន​ជំនួស​តួអក្សរ​ដោយ %2$s តួអក្សរ - %1$s សម្រាប់ %2$s - %1$s ភាគរយ។ - - %1$s បង្ហាញធាតុ %2$d - %1$s បង្ហាញធាតុ %2$d - - Error: %1$s - ក្រឡា​ - បញ្ជី - របារ​ផ្ទាំង - បញ្ជីទម្លាក់ចុះ - ប្រអប់ធីក - ប៊ូតុង​​មូល - ប៊ូតុង - របាររំកិល - បិទ/បើក - ប្រអប់កែសម្រួល - កំពុងកែសម្រួល - រូបភាព - មិន​បាន​ដាក់​ស្លាក់ - ការមើលជាទំព័រច្រើន - ទំព័រ - របារ​ដំណើរការ - ទិដ្ឋភាព​គេហទំព័រ - ពាក្យ​សម្ងាត់ - រុញ​​ដើម្បី​បើក - ជម្រើស​។ - បាន​សម្អាត​អត្ថបទ - បានឈានដល់កម្រិតអតិបរមា - ​បាន​ជ្រើសរើស - បាន​ធីក - មិន​បាន​ធីក - បើក - បិទ - បាន​បិទ - បានពង្រីក - បានបង្រួម - ប៉ះ​ពីរ​ដង - ប៉ះ - ចុចប៊ូតុងចុចជ្រើសរើស - ចុចជ្រើស - %1$s ដើម្បីធ្វើឲ្យសកម្ម - ចុច %1$s ដើម្បីធ្វើឲ្យសកម្ម - %1$s និង​សង្កត់​ឲ្យ​យូរ។ - ចុច %1$s ដើម្បីចុចឲ្យជាប់ - %1$s ដើម្បី​បិទ/បើក - ចុច %1$s ដើម្បីបិទ/បើក - %1$s ដើម្បី​កែ​អត្ថបទ​។ - ចុច %1$s ដើម្បី​កែ​អត្ថបទ។ - %1$s ដើម្បី​ផ្លាស់ប្ដូរ។ - ចុច %1$s ដើម្បីប្តូរ - អូសដោយប្រើម្រាមពីរដើម្បីប្តូរទំព័រ - គ្មានទំព័រទៀតទេ។ - ប្រើ​គ្រាប់​ចុច​កម្រិត​សំឡេង ដើម្បី​កែ​សម្រួល - %1$s ដើម្បី​ផ្លាស់ប្ដូរ។ - សកម្មភាព៖ - %1$s ដើម្បី %2$s - ចុច %1$s ដើម្បី %2$s - %1$s ឲ្យយូរដើម្បី %2$s - %1$s ដើម្បីរំកិល។ - %1$s សម្រាប់​សកម្មភាព​ដែល​អាច​ធ្វើបាន។ - ចុច​ប៊ូតុង​ចុច​ជ្រើសរើស​ដើម្បី​កែ​តម្រូវ - បើកពុម្ពអក្សរធំ - បិទពុម្ពអក្សរធំ - បើកពុម្ពលេខ - បិទពុម្ពលេខ - បើករមូរ - បិទរមូរ - បញ្ឈរ - ផ្ដេក - ច្រានចោល - ពង្រីក - បង្រួម - ជួរដេក %1$d - ជួរឈរ %1$d - %1$d នៃ %2$d - ចំណង​ជើង - ចំណងជើងជួរដេក - ចំណងជើងជួរឈរ - ក្នុង %1$s %2$s - ក្នុង %1$s - ក្នុងបញ្ជី %1$s - ក្នុង​បញ្ជី - ក្រៅ %1$s %2$s - ក្រៅ %1$s - ក្រៅបញ្ជី %1$s - ក្រៅ​បញ្ជី - ក្នុងក្រឡា %1$s - ក្នុង​ក្រឡា - ក្រៅក្រឡា %1$s - ក្រៅ​ក្រឡា - ក្នុងភេយ័រ %1$s - ក្នុងភេយ័រ - ក្រៅភេយ័រ %1$s - ក្រៅភេយ័រ - ក្នុងភេយ័របញ្ឈរ %1$s - ក្នុងភេយ័របញ្ឈរ - ក្រៅ​ភេយ័របញ្ឈរ %1$s - ក្រៅ​ភេយ័របញ្ឈរ - ក្នុងភេយ័រ​ផ្តេក %1$s - ក្នុងភេយ័រ​ផ្តេក - ក្រៅ​ភេយ័រ​ផ្តេក - ក្នុងភេយ័រក្រឡា %1$s - ក្នុងភេយ័រក្រឡា - ក្រៅភេយ័រ​ក្រឡា %1$s - ក្រៅភេយ័រ​ក្រឡា - វគ្គ %1$d - - %1$d ធាតុ - %1$d ធាតុ - - - ជួរដេក %1$d - ជួរដេក %1$d - - - ជួរឈរ %1$d - ជួរឈរ %1$d - - - %1$d តួ - %1$d តួ - - ការ​ពង្រីក​បាន​បើក %1$d%% - ការ​ពង្រីក %1$d%% - ការពង្រីក​បាន​បិទ - ល្បឿននៃការនិយាយ %1$d%% - បង្កើន - បន្ថយ - អតិបរមា - អប្បបរមា - %1$d%% - ពាក្យសម្ងាត់ត្រូវបានអាននៅពេលប្រើកាសតែប៉ុណ្ណោះ - អាចប្រើ %1$s បានហើយ សូមប្រើ %2$s ដើម្បីមើល។ - មានការណែនាំ​អក្ខរាវិរុទ្ធ។ - វិនដូ %1$s - %1$s, រូបតំណាងដែលបានរកឃើញ - %1$s, អត្ថបទ - diff --git a/compositor/src/main/res/values-kn/strings.xml b/compositor/src/main/res/values-kn/strings.xml deleted file mode 100644 index c3aa0f1f5..000000000 --- a/compositor/src/main/res/values-kn/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack ಆನ್ - TalkBack ಅಮಾನತುಗೊಳಿಸಲಾಗಿದೆ - TalkBack ಪುನರಾರಂಭಿಸಲಾಗಿದೆ - TalkBack ಆಫ್ ಮಾಡಲಾಗಿದೆ - ಓದಿ ಹೇಳಬಹುದಾದ ಪ್ರತಿಕ್ರಿಯೆ ಆನ್ ಆಗಿದೆ - ಓದಿ ಹೇಳಬಹುದಾದ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಅಮಾನತುಗೊಳಿಸಲಾಗಿದೆ - ಓದಿ ಹೇಳಬಹುದಾದ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಮರುಪ್ರಾರಂಭಿಸಲಾಗಿದೆ - ಓದಿ ಹೇಳಬಹುದಾದ ಪ್ರತಿಕ್ರಿಯೆ ಆಫ್ ಆಗಿದೆ - ಕ್ಷೇತ್ರದ ಪ್ರಾರಂಭ - ಕ್ಷೇತ್ರದ ಮುಕ್ತಾಯ - ಆಯ್ಕೆಯ ಮೋಡ್ ಆನ್ ಆಗಿದೆ - ಆಯ್ಕೆಯ ಮೋಡ್ ಆಫ್ ಆಗಿದೆ - ಆಯ್ಕೆ ತೆರವುಗೊಳಿಸಲಾಗಿದೆ - ಕರೆಮಾಡಿ - ಸಂದೇಶ - ಇಮೇಲ್ - ಈವೆಂಟ್ - ಪ್ರೋಮೋ - ಅಲಾರಮ್ - ಪ್ರಗತಿ - ಸಾಮಾಜಿಕ - ದೋಷ - ಮಾಧ್ಯಮ ನಿಯಂತ್ರಣ - ಸಿಸ್ಟಂ ಸ್ಥಿತಿ - ಸೇವೆ - %1$s ಮೆನು - %1$s ದಿಂದ %2$s ಅನ್ನು ಸ್ಥಾನಾಂತರಿಸಲಾಗಿದೆ - %1$s ಅಳಿಸಲಾಗಿದೆ - %1$s ಕತ್ತರಿಸಲಾಗಿದೆ - %1$s ಅಂಟಿಸಲಾಗಿದೆ - %1$s ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ - ಆಯ್ಕೆಮಾಡಿದ ಪಠ್ಯ: %1$s - %1$s ಆಯ್ಕೆಮಾಡಲಾಗಲಿಲ್ಲ - ಅಮಾನ್ಯವಾದ ಇನ್‌ಪುಟ್ %1$s - %1$s ಅಕ್ಷರಗಳನ್ನು %2$s ಅಕ್ಷರಗಳೊಂದಿಗೆ ಸ್ಥಾನಾಂತರಿಸಲಾಗಿದೆ - %2$s ಗೆ %1$s - %1$s ಪ್ರತಿಶತ. - - %1$s ಎಂಬುದು %2$d ಐಟಂಗಳನ್ನು ತೋರಿಸುತ್ತಿದೆ. - %1$s ಎಂಬುದು %2$d ಐಟಂಗಳನ್ನು ತೋರಿಸುತ್ತಿದೆ. - - Error: %1$s - ಗ್ರಿಡ್ - ಪಟ್ಟಿ - ಟ್ಯಾಬ್ ಪಟ್ಟಿ - ಡ್ರಾಪ್ ಡೌನ್ ಪಟ್ಟಿ - ಚೆಕ್ ಬಾಕ್ಸ್ - ರೇಡಿಯೋ ಬಟನ್ - ಬಟನ್‌ - ಸ್ಲೈಡರ್ - ಸ್ವಿಚ್ - ಎಡಿಟ್ ಬಾಕ್ಸ್‌ - ಎಡಿಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ - ಚಿತ್ರ - ಲೇಬಲ್ ಮಾಡಿರದ - ಬಹು-ಪುಟ ವೀಕ್ಷಣೆ - ಪುಟ - ಪ್ರಗತಿ ಪಟ್ಟಿ - ವೆಬ್‌ವೀಕ್ಷಣೆ - ಪಾಸ್‌ವರ್ಡ್ - ಸ್ಲೈಡಿಂಗ್ ಡ್ರಾಯರ್ ತೆರೆಯಲಾಗಿದೆ - ಆಯ್ಕೆಗಳು. - ತೆರವುಗೊಳಿಸಿದ ಪಠ್ಯ - ಗರಿಷ್ಠ ಮಿತಿ ತಲುಪಿದೆ - ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ - ಗುರುತಿಸಲಾಗಿದೆ - ಗುರುತಿಸಲಾಗಿಲ್ಲ - ಆನ್ - ಆಫ್ - ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ - ವಿಸ್ತರಿಸಲಾಗಿದೆ - ಸಂಕುಚಿಸಲಾಗಿದೆ - ಎರಡು ಬಾರಿ ಟ್ಯಾಪ್ - ಟ್ಯಾಪ್ ಮಾಡಿ - ಆಯ್ಕೆ ಸ್ವಿಚ್ ಒತ್ತಿರಿ - ಆಯ್ಕೆಮಾಡು ಒತ್ತಿರಿ - ಸಕ್ರಿಯಗೊಳಿಸಲು %1$s. - ಸಕ್ರಿಯಗೊಳಿಸಲು %1$s ಒತ್ತಿರಿ. - ದೀರ್ಘವಾಗಿ ಒತ್ತಲು %1$s ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್ ಮಾಡಿ. - ದೀರ್ಘವಾಗಿ ಒತ್ತಲು %1$s ಒತ್ತಿರಿ. - ಟಾಗಲ್‌ ಮಾಡಲು %1$s ಮಾಡಿ. - ಟಾಗಲ್ ಮಾಡಲು %1$s ಒತ್ತಿರಿ. - ಪಠ್ಯವನ್ನು ಎಡಿಟ್ ಮಾಡಲು %1$s. - ಪಠ್ಯವನ್ನು ಎಡಿಟ್ ಮಾಡಲು %1$s ಅನ್ನು ಒತ್ತಿರಿ. - ಬದಲಾಯಿಸಲು %1$s ಮಾಡಿ. - ಬದಲಾಯಿಸಲು %1$s ಒತ್ತಿರಿ. - ಪುಟಗಳನ್ನು ಬದಲಾಯಿಸಲು ಎರಡು ಬೆರಳುಗಳಿಂದ ಸ್ವೈಪ್ ಮಾಡಿ. - ಹೆಚ್ಚಿನ ಪುಟಗಳಿಲ್ಲ. - ಹೊಂದಿಸಲು ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಬಳಸಿ - ಬದಲಾಯಿಸಲು %1$s ಮಾಡಿ. - ಕ್ರಿಯೆಗಳು: - %2$s ಗೆ %1$s. - %2$s ಗೆ %1$s ಒತ್ತಿರಿ. - %1$s ಮತ್ತು %2$s ಗೆ ಹೋಲ್ಡ್ ಮಾಡಿ. - %1$s ಸ್ಕ್ರಾಲ್ ಮಾಡಲು. - %1$s ಲಭ್ಯವಿರುವ ಕ್ರಿಯೆಗಳಿಗೆ. - ಹೊಂದಾಣಿಕೆಯ ಸ್ವಿಚ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಒತ್ತಿರಿ - Caps Lock ಆನ್ ಆಗಿದೆ. - Caps Lock ಆಫ್ ಆಗಿದೆ. - Num Lock ಆನ್ ಆಗಿದೆ. - Num Lock ಆಫ್ ಆಗಿದೆ. - Scroll Lock ಆನ್ ಆಗಿದೆ. - Scroll Lock ಆಫ್ ಆಗಿದೆ. - ಪೋರ್ಟ್ರೇಟ್ - ಲ್ಯಾಂಡ್‌ಸ್ಕೇಪ್ - ವಜಾಗೊಳಿಸಿ - ವಿಸ್ತೃತಗೊಳಿಸಿ - ಕುಗ್ಗಿಸಿ - ಸಾಲು %1$d - ಕಾಲಮ್ %1$d - %1$d/%2$d - ಶೀರ್ಷಿಕೆ - ಸಾಲು ಶೀರ್ಷಿಕೆ - ಕಾಲಮ್ ಶೀರ್ಷಿಕೆ - %1$s %2$s ನಲ್ಲಿದ್ದೀರಿ - %1$s ನಲ್ಲಿದ್ದೀರಿ - %1$s ಪಟ್ಟಿಯಲ್ಲಿದ್ದೀರಿ - ಪಟ್ಟಿಯಲ್ಲಿದ್ದೀರಿ - %2$s %1$s ನ ಹೊರಗಿದ್ದೀರಿ - %1$s ನ ಹೊರಗಿದ್ದೀರಿ - %1$s ಪಟ್ಟಿಯ ಹೊರಗಿದ್ದೀರಿ - ಪಟ್ಟಿಯ ಹೊರಗಿದ್ದೀರಿ - %1$s ಗ್ರಿಡ್‌ನಲ್ಲಿದ್ದೀರಿ - ಗ್ರಿಡ್‌ನಲ್ಲಿದ್ದೀರಿ - %1$s ಗ್ರಿಡ್‌ನ ಹೊರಗಿದ್ದೀರಿ - ಗ್ರಿಡ್‌ನ ಹೊರಗಿದ್ದೀರಿ - ಪೇಜರ್‌ %1$s ನ ಒಳಗೆ - ಪೇಜರ್‌ನ ಒಳಗೆ - ಪೇಜರ್‌ %1$s ನ ಹೊರಗೆ - ಪೇಜರ್‌ನ ಹೊರಗೆ - ಲಂಬವಾದ ಪೇಜರ್ %1$s ನ ಒಳಗೆ - ಲಂಬವಾದ ಪೇಜರ್‌ನ ಒಳಗೆ - ಲಂಬವಾದ ಪೇಜರ್ %1$s ನ ಹೊರಗೆ - ಲಂಬವಾದ ಪೇಜರ್‌ನ ಹೊರಗೆ - ಅಡ್ಡವಾದ ಪೇಜರ್ %1$s ಒಳಗೆ - ಅಡ್ಡವಾದ ಪೇಜರ್‌ನ ಒಳಗೆ - ಅಡ್ಡವಾದ ಪೇಜರ್‌ನ ಹೊರಗೆ - ಗ್ರಿಡ್ ಪೇಜರ್ %1$s ನ ಒಳಗೆ - ಗ್ರಿಡ್ ಪೇಜರ್‌ನ ಒಳಗೆ - ಗ್ರಿಡ್ ಪೇಜರ್ %1$s ನ ಹೊರಗೆ - ಗ್ರಿಡ್ ಪೇಜರ್‌ನ ಹೊರಗೆ - ಹಂತ %1$d - - %1$d ಐಟಂಗಳು - %1$d ಐಟಂಗಳು - - - %1$d ಸಾಲುಗಳು - %1$d ಸಾಲುಗಳು - - - %1$d ಕಾಲಮ್‌ಗಳು - %1$d ಕಾಲಮ್‌ಗಳು - - - %1$d ಅಕ್ಷರಗಳು - %1$d ಅಕ್ಷರಗಳು - - ಹಿಗ್ಗಿಸುವಿಕೆ ಆನ್ ಇದೆ %1$d%% - ಹಿಗ್ಗಿಸುವಿಕೆ %1$d%% - ಹಿಗ್ಗಿಸುವಿಕೆ ಆಫ್ ಇದೆ - ಮಾತಿನ ಮೌಲ್ಯ %1$d%% - ಹೆಚ್ಚಿಸಿ - ಕಡಿಮೆ ಮಾಡಿ - ಗರಿಷ್ಠ - ಕನಿಷ್ಠ - %1$d%% - ಹೆಡ್‌ಫೋನ್‌ಗಳನ್ನು ಬಳಸುವಾಗ ಮಾತ್ರ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಓದಿ ಹೇಳಲಾಗುತ್ತದೆ - %1$s ಲಭ್ಯವಿದೆ, ವೀಕ್ಷಿಸಲು %2$s ಅನ್ನು ಬಳಸಿ. - ಕಾಗುಣಿತದ ಸಲಹೆಗಳು ಲಭ್ಯವಿದೆ. - ವಿಂಡೋ %1$s - %1$s, ಗುರುತಿಸಿದ ಐಕಾನ್ - %1$s, ಪಠ್ಯ - diff --git a/compositor/src/main/res/values-ko/strings.xml b/compositor/src/main/res/values-ko/strings.xml deleted file mode 100644 index 55dc46aee..000000000 --- a/compositor/src/main/res/values-ko/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - 음성 안내 지원 사용 - 음성 안내 지원 일시중지됨 - 음성 안내 지원 재개됨 - 음성 안내 지원이 사용 중지됨 - 음성 피드백이 사용 설정됨 - 음성 피드백이 일시정지됨 - 음성 피드백이 다시 시작됨 - 음성 피드백이 사용 중지됨 - 입력란의 시작 - 입력란의 끝 - 선택 모드 사용 - 선택 모드 사용 중지 - 선택 해제됨 - 전화 - 메시지 - 이메일 - 캘린더 일정 - 프로모션 - 알람 - 진행 상황 - 소셜 - 오류 - 미디어 제어 - 시스템 상태 - 서비스 - %1$s 메뉴 - %1$s, %2$s 대체함 - %1$s 삭제됨 - %1$s 잘라내기 완료 - %1$s 붙여넣기 완료 - %1$s 선택됨 - 선택된 텍스트: %1$s - %1$s 선택 취소됨 - 입력이 잘못되었습니다. %1$s - %1$s 문자를 %2$s 문자로 바꿨습니다. - %2$s %1$s - %1$s퍼센트 - - %1$s에 %2$d개 항목이 있습니다. - %1$s에 %2$d개 항목이 있습니다. - - Error: %1$s - 바둑판 - 목록 - 탭바 - 드롭다운 목록 - 체크박스 - 라디오 버튼 - 버튼 - 슬라이더 - 스위치 - 수정 창 - 수정 - 이미지 - 라벨이 지정되지 않음 - 멀티 페이지 보기 - 페이지 - 진행률 표시줄 - 웹뷰 - 비밀번호 - 슬라이딩 창 열림 - 옵션입니다. - 텍스트가 삭제됨 - 최대 길이에 도달했습니다. - 선택됨 - 선택됨 - 선택 안됨 - 켜짐 - 꺼짐 - 사용할 수 없음 - 펼쳐짐 - 접힘 - 두 번 탭 - - 선택 스위치를 누르세요 - 선택을 누르세요. - 활성화하려면 %1$s하세요. - 활성화하려면 %1$s키를 누르세요. - %1$s하고 길게 누르세요. - 길게 누르려면 %1$s키를 누르세요. - 전환하려면 %1$s하세요. - 전환하려면 %1$s키를 누르세요. - 텍스트를 수정하려면 %1$s하세요. - 텍스트를 수정하려면 %1$s 키를 누르세요. - 변경하려면 %1$s하세요. - 변경하려면 %1$s키를 누르세요. - 두 손가락으로 스와이프하여 페이지를 전환하세요. - 더 이상 페이지가 없습니다. - 볼륨 키를 사용하여 조정하세요. - 변경하려면 %1$s하세요. - 작업: - %2$s 작업을 하려면 %1$s하세요. - %2$s하려면 %1$s키를 누르세요. - %2$s 작업을 하려면 %1$s하고 길게 누르세요. - 스크롤하려면 %1$s. - 사용 가능한 작업을 확인하려면 %1$s. - 선택 스위치를 눌러 조정 - Caps Lock을 사용 중입니다. - Caps Lock이 사용 중지되었습니다. - Num Lock을 사용 중입니다. - Num Lock이 사용 중지되었습니다. - Scroll Lock을 사용 중입니다. - Scroll Lock이 사용 중지되었습니다. - 세로 - 가로 - 닫기 - 펼치기 - 접기 - %1$d행 - %1$d열 - %2$d개 중 %1$d번째 - 제목 - 행 제목 - 열 제목 - %2$s %1$s에 있음 - %1$s에 있음 - %1$s 목록에 있음 - 목록에 있음 - %2$s %1$s에서 벗어남 - %1$s에서 벗어남 - %1$s 목록에서 벗어남 - 목록에서 벗어남 - %1$s 그리드에 있음 - 그리드에 있음 - %1$s 그리드에서 벗어남 - 그리드에서 벗어남 - 페이저 %1$s 내부 - 페이저 내부 - 페이저 %1$s 외부 - 페이저 외부 - 수직 페이저 %1$s 내부 - 수직 페이저 내부 - 수직 페이저 %1$s 외부 - 수직 페이저 외부 - 수평 페이저 %1$s 내부 - 수평 페이저 내부 - 수평 페이저 외부 - 그리드 페이저 %1$s 내부 - 그리드 페이저 내부 - 그리드 페이저 %1$s 외부 - 그리드 페이저 외부 - 레벨: %1$d - - 항목 %1$d개 - 항목 %1$d개 - - - 행 %1$d개 - 행 %1$d개 - - - 열 %1$d개 - 열 %1$d개 - - - %1$d자 - %1$d자 - - %1$d%% 확대 - 현재 %1$d%% 확대됨 - 확대 사용 안함 - 말하기 속도 %1$d%% - 증가 - 감소 - 최대 - 최소 - %1$d%% - 헤드폰을 사용할 때만 비밀번호 말함 - %1$s 사용 가능, %2$s 동작으로 보기. - 맞춤법 제안을 사용할 수 있습니다. - %1$s 창 - %1$s, 감지된 아이콘 - %1$s, 텍스트 - diff --git a/compositor/src/main/res/values-ky/strings.xml b/compositor/src/main/res/values-ky/strings.xml deleted file mode 100644 index 6c711e435..000000000 --- a/compositor/src/main/res/values-ky/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack күйүк - TalkBack убактылуу токтотулду - TalkBack кайра иштетилди - TalkBack өчүк - Экрандагы текстти окуп берүү функциясы күйгүзүлгөн - Экрандагы текстти окуп берүү функциясы убактылуу токтотулган - Экрандагы текстти окуп берүү функциясы кайра иштетилди - Экрандагы текстти окуп берүү функциясы өчүрүлгөн - Талаанын башы - Талаанын аягы - Тандоо режими күйүк - Тандоо режими өчүк - Тандалган текст тазаланды - Чалуу - Билдирүү - Электрондук почта - Иш-чара - Жарнама - Ойготкуч - Илгерилөө - Коомдук желелер - Ката - Медиа файлды көзөмөлдөө - Системанын абалы - Кызмат - %1$s меню - %2$s ордуна %1$s - %1$s өчүрүлдү - %1$s кесилди - %1$s чапталды - %1$s тандалды - Тандалган текст: %1$s - %1$s тандоодон чыгарылды - Жараксыз киргизүү %1$s - %1$s белгилеринин ордуна %2$s белгилери коюлду - %2$s үчүн %1$s - %1$s пайыз. - - %1$s %2$d нерсе бар. - %1$s %2$d нерсе бар. - - Error: %1$s - Торчо - Тизме - Өтмөк тилкеси - Ылдый түшүүчү тизме - Белгилеме кутуча - Радио баскычы - Баскыч - Сыдырма - Которуштуруу - Түзөтүү кутучасы - Түзөтүүдө - Сүрөт - Белгиленбеген - Көп барактуу көрүнүш - Барак - Аткаруу көрсөткүчү - Веб көрүнүшү - сырсөз - Жылмышма суурма ачылды - Параметрлер. - Тазаланган текст - Максималдык узундукка жетти - тандалган - белгиленген - белгилене элек - күйүк - өчүк - өчүрүлгөн - жайылып көрсөтүлдү - жыйыштырылды - Эки жолу таптоо - Таптап коюңуз - \"Которуштургучту тандоону\" басыңыз - \"Тандоо\" баскычын басыңыз - Жандыруу үчүн %1$s. - Жандыруу үчүн %1$s баскычтарын басыңыз. - Көпкө басуу үчүн %1$s, кармап туруңуз. - Көпкө басып кармап туруу үчүн %1$s баскычтарын басыңыз. - Которуу үчүн %1$s. - Которуштуруу үчүн %1$s баскычтарын басыңыз. - %1$s менен текстти түзөтүңүз. - Текстти түзөтүү үчүн %1$s басыңыз. - Өзгөртүү үчүн %1$s. - Өзгөртүү үчүн %1$s баскычтарын басыңыз. - Барактарды которуштуруу үчүн, эки манжа менен сүрүп коюңуз. - Мындан башка беттер жок. - Тууралоо үчүн үнүн чоңойтуп/кичирейтүү баскычтарын колдонуңуз - Өзгөртүү үчүн %1$s. - Аракеттер: - %2$s үчүн %1$s. - %2$s үчүн %1$s баскычтарын басыңыз. - %2$s үчүн %1$s, кармап туруңуз. - Сыдыруу үчүн %1$s. - Жеткиликтүү аракеттерди көрүү үчүн %1$s. - Тууралоо үчүн \"Которуштургучту тандоону\" басыңыз - Caps Lock күйүк. - Caps Lock өчүк. - Num Lock күйүк. - Num Lock өчүк. - Scroll Lock күйүк. - Scroll Lock өчүк. - Тигинен - Туурасынан - Этибарга албоо - Жайып көрсөтүү - Жыйыштыруу - Катар %1$d - Мамыча %1$d - %2$d ичинен %1$d - Баш аты - Катардын аталышы - Тилкенин аталышы - Төмөнкүдө: %1$s %2$s - Төмөнкүдө: %1$s - %1$s тизмесиндесиз - Тизмеде - %2$s ичинен %1$s - %1$s бүтүп калды - %1$s тизмесинин сыртындасыз - Тизмеде жок - %1$s торчосундасыз - Торчодо - %1$s торчосунун сыртындасыз - Торчодо жок - %1$s баракчасында - Баракчасында - %1$s баракчасында эмес - Баракчада эмес - %1$s вертикалдуу баракчасында - Вертикалдуу баракчада - %1$s вертикалдуу баракчасында эмес - Вертикалдуу баракчада эмес - Горизонталдуу баракчада %1$s - Горизонталдуу баракчада - Горизонталду баракчада эмес - %1$s тор формасындагы баракчасында - Тор формасындагы баракчада - %1$s тор формасындагы баракчада эмес - Тор формасындагы баракчада эмес - %1$d-деңгээл - - %1$d нерсе - %1$d нерсе - - - %1$d сап - %1$d сап - - - %1$d тилке - %1$d тилке - - - %1$d белги - %1$d белги - - Чоңойтуу күйгүзүлгөн. Масштабы: %1$d%% - Масштабы: %1$d%% - Чоңойтуу өчүрүлгөн - Кеп ылдамдыгы %1$d%% - Жогорулатуу - Төмөндөтүү - Эң көп - Кеминде - %1$d%% - Сырсөздөр гарнитура колдонулуп жатканда гана айтылат - %1$s жеткиликтүү. Көрүү үчүн %2$s. - Орфографияны оңдоо жеткиликтүү. - %1$s терезеси - %1$s, аныкталган сүрөтчө - %1$s, текст - diff --git a/compositor/src/main/res/values-lo/strings.xml b/compositor/src/main/res/values-lo/strings.xml deleted file mode 100644 index 756efa988..000000000 --- a/compositor/src/main/res/values-lo/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack ເປີດ - TalkBack ຖືກລະງັບໄວ້ແລ້ວ - TalkBack ເລີ່ມ​ຕໍ່​ແລ້ວ - TalkBack ປິດ - ການຕອບສະໜອງເປັນສຽງເວົ້າ ເປີດ - ການຕອບສະໜອງເປັນສຽງເວົ້າ ລະງັບແລ້ວ - ການຕອບສະໜອງເປັນສຽງເວົ້າ ສືບຕໍ່ແລ້ວ - ການຕອບສະໜອງເປັນສຽງເວົ້າ ປິດ - ຈຸດເລີ່ມຕົ້ນຂອງຊ່ອງຂໍ້ມູນ - ຈຸດສິ້ນສຸດຂອງຊ່ອງຂໍ້ມູນ - ເປີດໂໝດການເລືອກແລ້ວ - ປິດໂໝດການເລືອກແລ້ວ - ລຶບລ້າງການເລືອກແລ້ວ - ໂທ - ຂໍ້ຄວາມ - ອີເມວ - ເຫດການ - ໂປຣໂມຊັນ - ໂມງປຸກ - ຄວາມຄືບໜ້າ - ສັງຄົມ - ຜິດພາດ - ຄວບຄຸມມີເດຍ - ສະຖານະລະບົບ - ບໍລິການ - %1$s ເມນູ - %1$s ​ແທນ​ທີ່ %2$s ແລ້ວ - ​ລຶບ %1$s ແລ້ວ - ຕັດແລ້ວ, %1$s - ວາງແລ້ວ, %1$s - %1$s, ເລືອກແລ້ວ - ຂໍ້ຄວາມທີ່ເລືອກແມ່ນ: %1$s - %1$s, ບໍ່ເລືອກແລ້ວ - ການ​ປ້ອນ​ຂໍ້​ມູນ​ໃຊ້​ບໍ່​ໄດ້ %1$s - ແທນ​ທີ່ %1$s ໂຕ​ອັກ​ສອນ​ດ້ວຍ %2$s ໂຕ​ອັກ​ສອນ​ແລ້ວ - %1$s ສຳ​ລັບ %2$s - %1$s ເປີ​ເຊັນ. - - %1$s ກຳລັງສະແດງ %2$d ລາຍການ. - %1$s ກຳລັງສະແດງ %2$d ລາຍການ. - - Error: %1$s - ຕາໜ່າງ - ​ລາຍ​ຊື່ - ແຖບ - ລາຍຊື່ແບບເລື່ອນລົງ - ປ່ອງໝາຍ - ປຸ່ມເຄື່ອງໝາຍເລືອກ - ປຸ່ມ - ແຖບເລື່ອນ - ສະລັບ - ແກ້ໄຂປ່ອງ - ກຳລັງແກ້ໄຂ - ຮູບ - ບໍ່ມີປ້າຍກຳຊື່ - ມຸມມອງແບບຫຼາຍໜ້າ - ໜ້າ - ແຖບຄວາມຄືບໜ້າ - ມຸມມອງເວັບ - ​ລະ​ຫັດ​ຜ່ານ - ​ເປີດ​ແຜງ​ເລື່ອນ​ແລ້ວ - ໂຕເລືອກ. - ​ລຶບລ້າງ​ຂໍ້ຄວາມແລ້ວ - ຮອດ​ຄວາມ​ຍາວ​ສູງ​ສຸດ​ແລ້ວ - ເລືອກແລ້ວ - ເລືອກ​ແລ້ວ - ບໍ່ໄດ້ເລືອກ - ເປີດ - ປິດ - ປິດການນຳໃຊ້ - ຂະຫຍາຍແລ້ວ - ຫຍໍ້ແລ້ວ - ແຕະສອງເທື່ອ - ​ແຕະ - ກົດເລືອກສະວິດ - ກົດເລືອກ - %1$s ເພື່ອເປີດໃຊ້. - ກົດ %1$s ເພື່ອເປີດໃຊ້. - %1$s ແລະ​ກົດ​ຄ້າງ​ໄວ້. - ກົດ %1$s ເພື່ອກົດຄ້າງໄວ້. - %1$s ເພື່ອ​ສະ​ລັບ. - ກົດ %1$s ເພື່ອເປີດ/ປິດ. - %1$s ເພື່ອແກ້ໄຂຂໍ້ຄວາມ. - ກົດ %1$s ເພື່ອແກ້ໄຂຂໍ້ຄວາມ. - %1$s ເພື່ອ​ປ່ຽນ​ແປງ. - ກົດ %1$s ເພື່ອປ່ຽນ. - ປັດອອກຂ້າງດ້ວຍສອງນິ້ວເພື່ອສະລັບໜ້າ. - ບໍ່ມີໜ້າເພີ່ມເຕີມແລ້ວ. - ໃຊ້ປຸ່ມສຽງເພື່ອປັບ - %1$s ເພື່ອປ່ຽນແປງ. - ຄຳສັ່ງ: - %1$s ເພື່ອ %2$s. - ກົດ %1$s ເພື່ອ %2$s. - %1$s ຄ້າງໄວ້ເພື່ອ %2$s. - %1$s ເພື່ອເລື່ອນ. - %1$s ສຳລັບຄຳສັ່ງທີ່ໃຊ້ໄດ້. - ກົດເລືອກປຸ່ມເພື່ອປັບແຕ່ງ - Caps Lock ເປີດ. - Caps Lock ປິດ. - Num Lock ເປີດ. - Num Lock ປິດ. - Scroll Lock ເປີດ. - Scroll Lock ປິດ. - ລວງຕັ້ງ - ລວງນອນ - ປິດໄວ້ - ຂະຫຍາຍ - ຫຍໍ້ເຂົ້າ - ແຖວ %1$d - ຖັນ %1$d - %1$d ຈາກທັງໝົດ %2$d - ຫົວເລື່ອງ - ຫົວຂໍ້ແຖວ - ສ່ວນຫົວຖັນ - ໃນ %1$s %2$s - ໃນ %1$s - ໃນລາຍຊື່ %1$s - ໃນລາຍຊື່ - ນອກ %1$s %2$s - ຈາກທັງໝົດ %1$s - ນອກລາຍຊື່ %1$s - ນອກລາຍຊື່ - ໃນຊ່ອງ %1$s - ໃນຊ່ອງ - ນອກຊ່ອງ %1$s - ນອກຊ່ອງ - ໃນເພດເຈີ %1$s - ໃນເພດເຈີ - ນອກເພດເຈີ %1$s - ນອກເພດເຈີ - ໃນເພດເຈີລວງຕັ້ງ %1$s - ໃນເພດເຈີລວງຕັ້ງ - ນອກເພດເຈີລວງຕັ້ງ %1$s - ນອກເພດເຈີລວງຕັ້ງ - ໃນເພດເຈີລວງນອນ %1$s - ໃນເພດເຈີລວງນອນ - ນອກເພດເຈີລວງນອນ - ໃນເພດເຈີຕາຕະລາງ %1$s - ໃນເພດເຈີຕາຕະລາງ - ນອກເພດເຈີຕາຕະລາງ %1$s - ນອກເພດເຈີຕາຕະລາງ - ລະດັບ %1$d - - %1$d ລາຍການ - %1$d ລາຍການ - - - %1$d ແຖວ - %1$d ແຖວ - - - %1$d ຖັນ - %1$d ຖັນ - - - %1$d ຕົວອັກສອນ - %1$d ຕົວອັກສອນ - - ການຂະຫຍາຍຢູ່ %1$d%% - ການຂະຫຍາຍ %1$d%% - ປິດການຂະຫຍາຍແລ້ວ - ຄວາມໄວການເວົ້າ %1$d%% - ເພີ່ມ - ຫຼຸດ - ​ສູງ​ສຸດ - ຕໍ່າສຸດ - %1$d%% - ເວົ້າລະຫັດຜ່ານສະເພາະເມື່ອໃຊ້ຫູຟັງຢູ່ເທົ່ານັ້ນ - %1$s ສາມາດໃຊ້ໄດ້, ໃຊ້ %2$s ເພື່ອເບິ່ງ. - ມີການແນະນຳການສະກົດຄຳ. - ໜ້າຈໍ %1$s - %1$s, ໄອຄອນທີ່ກວດພົບ - %1$s, ຂໍ້ຄວາມ - diff --git a/compositor/src/main/res/values-lt/strings.xml b/compositor/src/main/res/values-lt/strings.xml deleted file mode 100644 index e613946ea..000000000 --- a/compositor/src/main/res/values-lt/strings.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - „TalkBack“ įjungta - „TalkBack“ laikinai sustabdyta - „TalkBack“ tęsiama - „TalkBack“ išjungta - Ekrano skaitymas balsu įjungtas - Ekrano skaitymas balsu laikinai sustabdytas - Ekrano skaitymas balsu tęsiamas - Ekrano skaitymas balsu išjungtas - Lauko pradžia - Lauko pabaiga - Pasirinkimo režimas įjungtas - Pasirinkimo režimas išjungtas - Pasirinkimas išvalytas - Skambutis - Pranešimas - El. laiškas - Įvykis - Reklama - Signalas - Eiga - Socialiniai tinklai - Klaida - Medijos valdymas - Sistemos būsena - Paslauga - Meniu „%1$s“ - %1$s pakeitė %2$s - %1$s ištrinta - iškirpta, %1$s - įklijuota, %1$s - %1$s, pasirinkta - Pasirinktas tekstas: „%1$s“ - %1$s, nepasirinkta - Netinkama įvestis: %1$s - Simbolių skaičius %1$s pakeistas simbolių skaičiumi %2$s - %2$s %1$s - Procentų: %1$s. - - %1$s rodomas %2$d elementas. - %1$s rodomi %2$d elementai. - %1$s rodoma %2$d elemento. - %1$s rodoma %2$d elementų. - - Error: %1$s - Tinklelis - Sąrašas - Skirtukų juosta - Išskleidžiamasis sąrašas - Žymimasis laukelis - Akutė - Mygtukas - Šliaužiklis - Jungiklis - Redagavimo laukelis - Redaguojama - Vaizdas - Be etiketės - Kelių puslapių rodinys - Puslapis - Eigos juosta - Žiniatinklio rodinys - slaptažodis - Atidaryta slankioji braižyklė - Parinktys. - Išvalytas tekstas - Pasiektas didžiausias galimas ilgis - pasirinkta - pažymėta - nepažymėta - įjungta - išjungta - išjungta - išskleistas - sutrauktas - Dukart palieskite - Palieskite - Paspauskite pasirinkimo jungiklį - Paspauskite „Pasirinkti“ - %1$s, kad suaktyvintumėte. - Paspauskite %1$s, kad suaktyvintumėte. - %1$s ir palaikykite, kad atliktumėte ilgo paspaudimo veiksmą. - Paspauskite %1$s. kad atliktumėte ilgo paspaudimo veiksmą. - %1$s, kad perjungtumėte. - Paspauskite %1$s, kad perjungtumėte. - %1$s, kad redaguotumėte tekstą. - Paspauskite %1$s, kad redaguotumėte tekstą. - %1$s, kad pakeistumėte. - Paspauskite %1$s, kad pakeistumėte. - Perbraukite dviem pirštais, kad perjungtumėte puslapius. - Daugiau puslapių nėra. - Koreguoti naudojant garsumo klavišus - %1$s, kad pakeistumėte. - Veiksmai: - %1$s, kad %2$s. - Paspauskite %1$s, kad %2$s. - %1$s ir palaikykite, kad %2$s. - %1$s, kad slinktumėte. - %1$s, kad būtų pateikti pasiekiami veiksmai. - Paspauskite pasirinkimo jungiklį, kad koreguotumėte - Didžiųjų raidžių režimas įjungtas. - Didžiųjų raidžių režimas išjungtas. - Skaičių režimas įjungtas. - Skaičių režimas išjungtas. - Slinkimo režimas įjungtas. - Slinkimo režimas išjungtas. - Stačias - Gulsčias - Atsisakyti - Išskleisti - Sutraukti - %1$d eilutė - %1$d stulpelis - %1$d iš %2$d - Antraštė - Eilutės antraštė - Stulpelio antraštė - Įeita į %1$s %2$s - Įeita į %1$s - Įeita į sąrašą %1$s - Įeita į sąrašą - Išeita iš %1$s %2$s - Išeita iš %1$s - Išeita iš sąrašo %1$s - Išeita iš sąrašo - Įeita į tinklelį %1$s - Įeita į tinklelį - Išeita iš tinklelio %1$s - Išeita iš tinklelio - Puslapyje „%1$s“ - Puslapyje - Už puslapio „%1$s“ ribų - Už puslapio ribų - Vertikaliame puslapyje „%1$s“ - Vertikaliame puslapyje - Už vertikalaus puslapio „%1$s“ ribų - Už vertikalaus puslapio ribų - Horizontaliame puslapyje „%1$s“ - Horizontaliame puslapyje - Už horizontalaus puslapio ribų - Tinklelio puslapyje „%1$s“ - Tinklelio puslapyje - Už tinklelio puslapio „%1$s“ ribų - Už tinklelio puslapio ribų - %1$d lygis - - %1$d elementas - %1$d elementai - %1$d elemento - %1$d elementų - - - %1$d eilutė - %1$d eilutės - %1$d eilutės - %1$d eilučių - - - %1$d stulpelis - %1$d stulpeliai - %1$d stulpelio - %1$d stulpelių - - - %1$d simbolis - %1$d simboliai - %1$d simbolio - %1$d simbolių - - %1$d %% didinimas - %1$d %% didinimas - Didinimas išjungtas - Kalbėjimo sparta: %1$d %% - Padidinti - Sumažinti - Maksimalus - Minimalus - %1$d %% - Slaptažodžiai sakomi tik naudojant ausines - Pasiekiama: %1$s; norėdami peržiūrėti, atlikite veiksmą: %2$s. - Galimi rašybos pasiūlymai. - Langas „%1$s“ - %1$s, aptikta piktograma - %1$s, tekstas - diff --git a/compositor/src/main/res/values-lv/strings.xml b/compositor/src/main/res/values-lv/strings.xml deleted file mode 100644 index 6db7e6cda..000000000 --- a/compositor/src/main/res/values-lv/strings.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - Lietotne TalkBack ir iespējota - TalkBack darbība apturēta - TalkBack darbība atsākta - TalkBack izslēgts - Balss komentāri ieslēgti - Balss komentāri apturēti - Balss komentāri atsākti - Balss komentāri izslēgti - Lauka sākums - Lauka beigas - Atlases režīms ir ieslēgts - Atlases režīms ir izslēgts - Atlase noņemta - Zvans - Ziņojums - E-pasta ziņojums - Pasākums - Akcija - Signāls - Norise - Sociālie tīkli - Kļūda - Multivides kontrolēšana - Sistēmas statuss - Pakalpojums - Izvēlne %1$s - Teksts “%2$s” tika aizstāts ar tekstu “%1$s” - Teksts “%1$s” tika izdzēsts - izgriezts, %1$s - ielīmēts, %1$s - %1$s, atlasīts - Atlasītais teksts: %1$s - %1$s, noņemta atlase - Nederīga ievade: %1$s - %1$s rakstzīmes tika aizstātas ar %2$s rakstzīmēm - %1$s — %2$s - %1$s procenti. - - %1$s ietver %2$d vienumus. - %1$s ietver %2$d vienumu. - %1$s ietver %2$d vienumus. - - Error: %1$s - Režģis - Saraksts - Ciļņu josla - Nolaižamais saraksts - Izvēles rūtiņa - Poga - Poga - Slīdnis - Slēdzis - Rediģēšanas lodziņš - Rediģēšana - Attēls - Neiezīmēts vienums - Vairāku lapu skatījums - Lapa - Norises josla - Tīmekļa skats - parole - Bīdāmā atvilktne ir atvērta - Opcijas. - Teksts ir izdzēsts - Sasniegts maksimālais garums - atlasīts - atzīmēts - nav atzīmēta - ieslēgts - izslēgts - atspējots - izvērsts - sakļauts - Dubultskāriens - Pieskarieties - nospiediet slēdzi Atlasīt - Nospiediet taustiņu Atlasīt - %1$s, lai aktivizētu. - Nospiediet %1$s, lai aktivizētu vienumu. - %1$s un turiet, lai nospiestu ilgāk. - Nospiediet %1$s, lai turētu nospiestu vienumu. - %1$s, lai pārslēgtu. - Nospiediet %1$s, lai pārslēgtos. - %1$s, lai rediģētu tekstu. - Nospiediet %1$s, lai rediģētu tekstu. - %1$s, lai mainītu. - Nospiediet %1$s, lai mainītu vienumu. - Lai pārslēgtu lapas, velciet ar diviem pirkstiem. - Vairs nav nevienas lapas. - Varat pielāgot, izmantojot skaļuma taustiņus - %1$s, lai mainītu. - Darbības: - %1$s, lai veiktu šādu darbību: %2$s. - Nospiediet %1$s, lai: %2$s. - %1$s un turiet, lai veiktu šādu darbību: %2$s. - Lai ritinātu, %1$s. - Lai uzzinātu pieejamās darbības, %1$s. - Lai pielāgotu, nospiediet slēdzi “Atlasīt” - Burtslēga taustiņš ir ieslēgts. - Burtslēga taustiņš ir izslēgts. - Ciparslēga taustiņš ir ieslēgts. - Ciparslēga taustiņš ir izslēgts. - Ritslēga taustiņš ir ieslēgts. - Ritslēga taustiņš ir izslēgts. - Portrets - Ainava - Nerādīt - Izvērst - Sakļaut - %1$d. rinda - %1$d. kolonna - %1$d. no %2$d - Virsraksts - Rindas virsraksts - Kolonnas virsraksts - Šeit: %1$s %2$s - Šeit: %1$s - Sarakstā “%1$s” - Sarakstā - Ārpus: %1$s %2$s - Ārpus: %1$s - Ārpus saraksta “%1$s” - Ārpus saraksta - Režģī “%1$s” - Režģī - Ārpus režģa “%1$s” - Ārpus režģa - Lapas apgabalā: %1$s - Lapas apgabalā - Ārpus lapas apgabala: %1$s - Ārpus lapas apgabala - Vertikālā lapas apgabalā: %1$s - Vertikālā lapas apgabalā - Ārpus vertikālā lapas apgabala: %1$s - Ārpus vertikālā lapas apgabala - Horizontālā lapas apgabalā: %1$s - Horizontālā lapas apgabalā - Ārpus horizontālā lapas apgabala - Lapas režģa apgabalā: %1$s - Lapas režģa apgabalā - Ārpus lapas režģa apgabala: %1$s - Ārpus lapas režģa apgabala - %1$d. līmenis - - %1$d vienumu - %1$d vienums - %1$d vienumi - - - %1$d rindu - %1$d rinda - %1$d rindas - - - %1$d kolonnu - %1$d kolonna - %1$d kolonnas - - - %1$d rakstzīmju - %1$d rakstzīme - %1$d rakstzīmes - - Palielinājums ir ieslēgts; %1$d%% - Palielinājums: %1$d%% - Palielinājums ir izslēgts - Runas ātrums: %1$d%% - Palielināt - Samazināt - Maksimālā vērtība - Minimālā vērtība - %1$d%% - Paroles tiek izrunātas, tikai izmantojot austiņas. - %1$s: darbība pieejama; izmantojiet žestu “%2$s”, lai skatītu. - Ir pieejami pareizrakstības ieteikumi. - Logs “%1$s” - %1$s, noteiktā ikona - %1$s, teksts - diff --git a/compositor/src/main/res/values-mk/strings.xml b/compositor/src/main/res/values-mk/strings.xml deleted file mode 100644 index c0e150845..000000000 --- a/compositor/src/main/res/values-mk/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack е вклучен - TalkBack е прекинат - TalkBack продолжи - TalkBack е исклучен - Говорните повратни информации се вклучени - Говорните повратни информации се прекинати - Говорните повратни информации продолжија - Говорните повратни информации се исклучени - Почеток на полето - Крај на полето - Режимот на избор е вклучен - Режимот на избор е исклучен - Изборот е исчистен - Повикајте - Порака - E-пошта - Настан - Промотивна понуда - Аларм - Напредок - Социјални - Грешка - Контрола на аудиовизуелни содржини - Статус на систем - Услуга - Мени %1$s - %1$s го замени %2$s - %1$s е избришан - исечено, %1$s - залепено, %1$s - %1$s, избрано - Избран текст: %1$s - %1$s, неизбрано - Неважечки внес %1$s - %1$s знаци заменети со %2$s знаци - %1$s за %2$s - %1$s проценти. - - %1$s прикажува %2$d ставка. - %1$s прикажува %2$d ставки. - - Error: %1$s - Мрежа - Список - Лента со картички - Паѓачки список - Поле за избор - Радиокопче - Копче - Лизгач - Прекинувач - Поле за уредување - Уредување - Слика - Необележано - Преглед на повеќе страници - Страница - Лента за напредок - Веб-вју - лозинка - Лизгачката фиока е отворена - Опции. - Исчистен текст - Максималната должина е достигната - избрано - избрано - не е избрано - вклучено - исклучено - оневозможено - проширен - собран - Двоен допир - Допри - Притиснете го избраниот прекинувач - Притиснете Избери - %1$s за да се активира. - Притиснете %1$s за да активирате. - %1$s и задржете за долго да се притисне. - Притиснете %1$s за долго притискање. - %1$s за да префрлите. - Притиснете %1$s за да префрлите. - %1$s за да го измените текстот. - Притиснете %1$s за да го измените текстот. - %1$s за да промените. - Притиснете %1$s за да измените. - Лизгајте со два прста за да ги промените страниците. - Нема повеќе страници. - Користете ги копчињата за јачина на звук за приспособување - %1$s за да промените. - Дејства: - %1$s до %2$s. - Притиснете %1$s за %2$s. - %1$s и задржете до %2$s. - %1$s за да лизгате. - %1$s за достапни дејства. - Притиснете „Избери прекинувач“ за да приспособите - Caps Lock е вклучено. - Caps Lock е исклучено. - Num Lock е вклучено. - Num Lock е исклучено. - Scroll Lock е вклучено. - Scroll Lock е исклучено. - Портрет - Пејзаж - Отфрлете - Прошири - Собери - Ред %1$d - Колона %1$d - %1$d од %2$d - Наслов - Наслов на редот - Наслов на колоната - Во %1$s на %2$s - Во %1$s - Во списокот %1$s - Во списокот - Надвор од %1$s на %2$s - Надвор од %1$s - Надвор од списокот %1$s - Надвор од списокот - Во мрежата %1$s - Во мрежата - Надвор од мрежата %1$s - Надвор од мрежата - Поставување страници %1$s - Поставување страници - Надвор од поставување страници %1$s - Надвор од поставување страници - Вертикално поставување страници %1$s - Вертикално поставување страници - Надвор од вертикално поставување страници %1$s - Надвор од вертикално поставување страници - Хоризонтално поставување страници %1$s - Хоризонтално поставување страници - Надвор од хоризонтално поставување страници - Поставување страници во мрежа %1$s - Поставување страници во мрежа - Надвор од поставување страници во мрежа %1$s - Надвор од поставување страници во мрежа - Ниво %1$d - - %1$d ставка - %1$d ставки - - - %1$d ред - %1$d реда - - - %1$d колона - %1$d колони - - - %1$d знак - %1$d знаци - - Зголемувањето е вклучено на %1$d%% - Зголемувањето е %1$d%% - Зголемувањето е исклучено - Брзина на говор %1$d%% - Зголеми - Намали - Максимум - Минимум - %1$d %% - Лозинките се изговараат само кога користите слушалки - Достапно е %1$s, користете %2$s за да го прегледате. - Достапни се предлози за правопис. - Прозорец %1$s - %1$s, откриена икона - %1$s, текст - diff --git a/compositor/src/main/res/values-ml/strings.xml b/compositor/src/main/res/values-ml/strings.xml deleted file mode 100644 index 22c36a0f9..000000000 --- a/compositor/src/main/res/values-ml/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack ഓണാണ് - TalkBack തൽക്കാലം നിർത്തി - TalkBack പുനരാരംഭിച്ചു - TalkBack ഓഫാണ് - സംഭാഷ‌ണ ഫീഡ്‌ബാക്ക് ഓണാണ് - സംഭാഷ‌ണ ഫീഡ്‌ബാക്ക് താല്‍കാലികമായി റദ്ദാക്കി - സംഭാഷണ ഫീഡ്ബാക്ക് പുനരാരംഭിച്ചു - സംഭാഷ‌ണ ഫീഡ്‌ബാക്ക് ഓഫാണ് - ഫീൽഡിന്റെ തുടക്കം - ഫീൽഡിന്റെ അവസാനം - തിരഞ്ഞെടുപ്പ് മോഡ് ഓണാണ് - തിരഞ്ഞെടുപ്പ് മോഡ് ഓഫാണ് - തിരഞ്ഞെടുപ്പ് മായ്ച്ചു - വിളിക്കുന്നു - സന്ദേശം - ഇമെയിൽ - ഇവന്‍റ് - പ്രൊമോ - അലാറം - പുരോഗതി - സാമൂഹികം - പിശക് - മീഡിയ നിയന്ത്രണം - സിസ്റ്റം നില - സേവനം - %1$s മെനു - %1$s, %2$s എന്നത് മാറ്റി പകരം വച്ചു. - %1$s ഇല്ലാതാക്കി - മുറിച്ചു, %1$s - ഒട്ടിച്ചു, %1$s - %1$s, തിരഞ്ഞെടുത്തു - തെരഞ്ഞെടുത്ത ടെക്സ്റ്റ്: %1$s - %1$s, തിരഞ്ഞെടുപ്പ് മാറ്റി - ഇൻപുട്ട് അസാധുവാണ് %1$s - %2$s പ്രതീകങ്ങൾ ഉപയോഗിച്ച് %1$s പ്രതീകങ്ങൾ മാറ്റി പകരം വച്ചു. - %2$s എന്നതിനുള്ള %1$s - %1$s ശതമാനം. - - %2$d ഇനം %1$s കാണിക്കുന്നു. - %2$d ഇനങ്ങൾ %1$s കാണിക്കുന്നു. - - Error: %1$s - ഗ്രിഡ് - ലിസ്റ്റ് - ടാബ് ബാർ - ഡ്രോപ്പ്‌ ഡൗൺ ലിസ്റ്റ് - ചെക്ക് ബോക്‌സ് - റേഡിയോ ബട്ടൺ - ബട്ടൺ - സ്ലൈഡർ - സ്വിച്ച് - എഡിറ്റ് ബോക്‌സ് - എഡിറ്റുചെയ്യുന്നു - ചിത്രം - ലേബൽ ചെയ്‌തിട്ടില്ല - വിവിധ-പേജ് കാഴ്‌ച - പേജ് - പ്രോഗ്രസ്സ് ബാർ - വെബ് കാഴ്‌ച - പാസ്‌വേഡ് - വലിപ്പ് തുറന്നു - ഓപ്ഷനുകൾ. - ടെക്‌സ്റ്റ് മായ്ച്ചു - പരമാവധി ദൈർഘ്യത്തിലെത്തി - തിരഞ്ഞെടുത്തു - ചെക്കുചെയ്‌തു - ചെക്കുചെയ്‌തിട്ടില്ല - ഓൺ - ഓഫ് - പ്രവർത്തനരഹിതമാക്കി - വിപുലീകരിച്ചു - ചുരുക്കി - ഇരട്ട ടാപ്പുചെയ്യൽ - ടാപ്പുചെയ്യുക - \'സ്വിച്ച് തിരഞ്ഞെടുക്കുക\' അമർത്തുക - \'തിരഞ്ഞെടുക്കുക\' അമർത്തുക - സജീവമാക്കാൻ %1$s. - സജീവമാക്കാൻ %1$s അമർത്തുക. - ദീർഘനേരം അമർത്തിപ്പിടിയ്‌ക്കാൻ %1$s ചെയ്ത് പിടിക്കുക. - ദീർഘനേരം അമർത്തിപ്പിടിയ്‌ക്കാൻ %1$s അമർത്തുക. - ടോഗിൾ ചെയ്യാൻ %1$s. - ടോഗിൾ ചെയ്യാൻ %1$s അമർത്തുക. - ടെക്‌സ്‌റ്റ് എഡിറ്റ് ചെയ്യാൻ %1$s ചെയ്യുക. - ടെക്‌സ്‌റ്റ് എഡിറ്റ് ചെയ്യാൻ %1$s അമർത്തുക. - മാറ്റാൻ %1$s. - മാറ്റം വരുത്താൻ %1$s അമർത്തുക. - പേജുകൾ തമ്മിൽ മാറുന്നതിന് രണ്ട് വിരലുകൾ സ്വൈപ്പുചെയ്യുക. - പേജുകൾ അവസാനിച്ചു. - ക്രമപ്പെടുത്തുന്നതിന് വോളിയം കീകൾ ഉപയോഗിക്കുക - മാറ്റുന്നതിന് %1$s. - പ്രവർത്തനങ്ങൾ: - %2$s ചെയ്യുന്നതിന് %1$s. - %2$s എന്നതിന് %1$s അമർത്തുക. - %2$s ചെയ്യുന്നതിന് %1$s, പിടിക്കുക. - സ്‌ക്രോൾ ചെയ്യാൻ %1$s. - ലഭ്യമായ പ്രവർത്തനങ്ങൾക്ക് %1$s. - ക്രമീകരിക്കാൻ \'സ്വിച്ച് തിരഞ്ഞെടുക്കുക\' അമർത്തുക - ക്യാപ്‌സ് ലോക്ക് ഓണാണ്. - ക്യാപ്‌സ് ലോക്ക് ഓഫാണ്. - നമ്പർ ലോക്ക് ഓണാണ്. - നമ്പർ ലോക്ക് ഓഫാണ്. - സ്ക്രോൾ ലോക്ക് ഓണാണ്. - സ്ക്രോൾ ലോക്ക് ഓഫാണ്. - പോർട്രെയ്‌റ്റ് - ലാൻഡ്‌സ്‌കേപ്പ് - നിരസിക്കുക - വികസിപ്പിക്കുക - ചുരുക്കുക - വരി %1$d - നിര %1$d - %2$d-ൽ %1$d - തലക്കെട്ട് - വരിയുടെ തലക്കെട്ട് - കോളത്തിന്റെ തലക്കെട്ട് - %1$s %2$s എന്നതിൽ - %1$s എന്നതിൽ - %1$s എന്ന ലിസ്റ്റിൽ - ലിസ്‌റ്റിൽ ഉണ്ട് - %1$s %2$s എന്നതിന് പുറത്ത് - %1$s എന്നതിന് പുറത്ത് - %1$s എന്ന ലിസ്റ്റിന് പുറത്ത് - ലിസ്‌റ്റിന് പുറത്ത് - %1$s എന്ന ഗ്രിഡിൽ - ഗ്രിഡിൽ ഉണ്ട് - %1$s എന്ന ഗ്രിഡിന് പുറത്ത് - ഗ്രിഡിന് പുറത്ത് - പേജറിൽ %1$s - പേജറിൽ - പേജറിന് പുറത്ത് %1$s - പേജറിന് പുറത്ത് - വെര്‍ട്ടിക്കല്‍ പേജറിൽ %1$s - വെര്‍ട്ടിക്കല്‍ പേജറിൽ - വെര്‍ട്ടിക്കല്‍ പേജറിന് പുറത്ത് %1$s - വെര്‍ട്ടിക്കല്‍ പേജറിന് പുറത്ത് - തിരശ്ചീന പേജറിൽ %1$s - തിരശ്ചീന പേജറിൽ - തിരശ്ചീന പേജറിന് പുറത്ത് - ഗ്രിഡ് പേജറിൽ %1$s - ഗ്രിഡ് പേജറിൽ - ഗ്രിഡ് പേജറിന് പുറത്ത് %1$s - ഗ്രിഡ് പേജറിന് പുറത്ത് - ലെവൽ %1$d - - %1$d ഇനം - %1$d ഇനങ്ങൾ - - - %1$d വരി - %1$d വരികൾ - - - %1$d കോളം - %1$d കോളങ്ങൾ - - - %1$d പ്രതീകം - %1$d പ്രതീകങ്ങൾ - - %1$d%%-ൽ മാഗ്നിഫിക്കേഷൻ - മാഗ്നിഫിക്കേഷൻ %1$d%% - മാഗ്നിഫിക്കേഷൻ ഓഫ് - വായനയുടെ വേഗത %1$d%% - കൂട്ടുക - കുറയ്‌ക്കുക - പരമാവധി - കുറഞ്ഞത് - %1$d%% - ഹെഡ്‌ഫോണുകൾ ഉപയോഗിക്കുമ്പോൾ മാത്രമേ പാസ്‌വേഡുകൾ പറയൂ - %1$s ലഭ്യമാണ്, കാണാനായി %2$s ഉപയോഗിക്കുക. - സ്പെല്ലിംഗ് നിർദ്ദേശങ്ങൾ ലഭ്യമാണ്. - %1$s വിന്‍‌ഡോ - തിരിച്ചറിഞ്ഞ ഐക്കൺ: %1$s - ടെക്‌സ്റ്റ്: %1$s - diff --git a/compositor/src/main/res/values-mn/strings.xml b/compositor/src/main/res/values-mn/strings.xml deleted file mode 100644 index 18e361d4b..000000000 --- a/compositor/src/main/res/values-mn/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack асаалттай - TalkBack түр зогссон - Talkback-г үргэлжлүүлсэн - TalkBack унтраалттай - Хэлсэн санал асаалттай - Хэлсэн саналыг түр хаасан - Хэлсэн саналыг үргэлжлүүлсэн - Хэлсэн санал унтраалттай - Талбарын эхлэл - Талбарын төгсгөл - Сонголтын горимыг асаах - Сонголтын горимыг унтраасан - Сонголтыг устгасан - Залгах - Мессеж - Имэйл - Арга хэмжээ - Сурталчилгаа - Сэрүүлэг - Үйл явц - Нийтийн - Алдаа - Медиа удирдлага - Системийн төлөв - Үйлчилгээ - %1$s цэс - %1$s %2$s-р солигдсон - %1$s устсан - таслах, %1$s - хуулж тавьсан, %1$s - %1$s, сонгосон - Сонгосон текст: %1$s - %1$s, сонгоогүй - Буруу мэдээлэл %1$s - %1$s тэмдэгт %2$s тэмдэгтээр солигдсон - %2$s-н %1$s - %1$s хувь. - - %1$s нь %2$d зүйлийг харуулж байна. - %1$s зүйлийг %2$d харуулж байна. - - Error: %1$s - Хүснэгт - Жагсаалт - Таб хавтан - Дэлгэрэнгүй харах жагсаалт - Шалгах хуудас - Радио товчлуур - Товчлуур - Гулсуулагч - Шилжигч - Засах хэсэг - Засаж байна - Зураг - Хаяггүй - Олон хуудас харах - Хуудас - Явцын хэсэг - Вебийн харагдац - нууц үг - Гулсагч самбар нээгдэв - Сонголтууд. - Текст арилгагдсан - Дээд уртад хүрсэн - сонгогдсон - сонгогдсон - сонгогдоогүй - асаалттай - унтраалттай - идэвхгүй болсон - дэлгэсэн - хураасан - Давхар-товшилт - Товших - Сэлгэгч сонгохыг товших - Сонгохыг дарах - Идэвхжүүлэхийн тулд %1$s. - Идэвхжүүлэхийн тулд %1$s-г дарна уу. - %1$s хийгээд удаан дарна уу. - Удаан дарахын тулд %1$s-г дарна уу. - Сэлгэх бол %1$s хийнэ үү. - Асаах/унтраахын тулд %1$s-г дарна уу. - Текстийг засахын тулд %1$s. - Текстийг засахын тулд %1$s-г дарна уу. - Өөрчлөх бол %1$s хийнэ үү. - Өөрчлөхийн тулд %1$s-г дарна уу. - Хуудсыг солихын тулд хоёр хуруугаараа шударна уу. - Өөр хуудас алга. - Дууны түвшний түлхүүрээр тохируулах - Солих бол %1$s хийнэ үү. - Үйлдэл: - %2$s-н тулд %1$s - %1$s-г %2$s-н тулд дарна уу. - %1$s, %2$s-н тулд хүлээнэ үү. - Гүйлгэхийн тулд %1$s. - Боломжтой үйлдлийг харахын тулд %1$s. - Тохируулахын тулд Сэлгэгч сонгохыг дарах - Томоор бичих горимыг идэвхжүүлсэн. - Томоор бичих горимыг идэвхжүүлээгүй. - Тоо бичих горимыг идэвхжүүлсэн. - Тоо бичих горимыг идэвхжүүлээгүй. - Гүйлгэх горимыг идэвхжүүлсэн. - Гүйлгэх горимыг идэвхжүүлээгүй. - Босоо - Хэвтээ - Хаах - Дэлгэх - Буулгах - Эгнээ %1$d - Багана %1$d - %2$d-н %1$d - Толгой - Мөрний гарчиг - Баганын гарчиг - %1$s %2$s-д - %1$s-д - %1$s жагсаалтад - Жагсаалтад - %1$s %2$s-с гарсан - %1$s-с гарсан - %1$s жагсаалтаас гарсан - Жагсаалтаас гарсан - %1$s хүснэгтэд - Хүснэгтэд - %1$s хүснэгтээс гарсан - Хүснэгтээс гарсан - Пэйжер дотор %1$s - Пэйжер дотор - Пэйжерийн гадна %1$s - Пэйжерийн гадна - %1$s босоо пэйжер дотор - Босоо пэйжер дотор - Босоо пэйжерийн гадна %1$s - Босоо пэйжерийн гадна - Хэвтээ пэйжер дотор %1$s - Хэвтээ пэйжер дотор - Хэвтээ пэйжерийн гадна - Тортой пэйжер дотор %1$s - Торон пэйжер дотор - Тортой пэйжерийн гадна %1$s - Тортой пэйжерийн гадна - %1$d-р үе - - %1$d зүйл - %1$d зүйл - - - %1$d мөр - %1$d мөр - - - %1$d багана - %1$d багана - - - %1$d тэмдэгт - %1$d тэмдэгт - - %1$d%%-р томруулсан - Томруулалт %1$d%% - Томруулалт унтраалттай байна - Ярианы хурд %1$d%% - Өсгөх - Бууруулах - Дээд - Доод - %1$d%% - Нууц үгийг чихэвч ашиглах үед хэлнэ - %1$s боломжтой байна, харахын тулд %2$s-г ашиглана уу. - Үг үсгийн зөвлөмжийг ашиглах боломжтой. - %1$s цонх - %1$s, дүрс тэмдэг илрүүллээ - %1$s, текст - diff --git a/compositor/src/main/res/values-mr/strings.xml b/compositor/src/main/res/values-mr/strings.xml deleted file mode 100644 index d962e6817..000000000 --- a/compositor/src/main/res/values-mr/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack सुरू - TalkBack निलंबित केले - TalkBack पुनः सुरू केले - TalkBack बंद आहे - वाचिक फीडबॅक सुरू आहे - वाचिक फीडबॅक निलंबित केला - वाचिक फीडबॅक पुन्‍हा सुरू केला - वाचिक फीडबॅक बंद आहे - फील्डची सुरुवात - फील्डची समाप्ती - निवड मोड सुरू - निवड मोड बंद - निवड साफ केली - कॉल करा - मेसेज - ईमेल - इव्‍हेंट - प्रोमो - अलार्म - प्रगती - सामाजिक - एरर - मीडिया नियंंत्रण - सिस्टम स्थिती - सेवा - %1$s मेनू - %2$s ला %1$s ने पुनर्स्‍थित केले - %1$s हटवला - %1$s, कट करा - %1$s, पेस्ट केला - %1$s, निवडला - निवडलेला मजकूर: %1$s - %1$s, निवड रद्द केलेला - अवैध इनपुट %1$s - %2$s वर्णांनी %1$s वर्ण पुनर्स्थित केले - %2$s साठी %1$s - %1$s टक्के. - - %1$s %2$d आयटम दाखवत आहे. - %1$s %2$d आयटम दाखवत आहे. - - Error: %1$s - ग्रिड - सूची - टॅब बार - ड्रॉप डाउन सूची - चेक बॉक्स - रेडिओ बटण - बटण - स्लायडर - स्विच - संपादन बॉक्स - संपादन करत आहे - इमेज - लेबल न केलेला - एकाधिक-पृष्ठ दृश्य - पृष्ठ - प्रगती बार - वेबदृश्य - पासवर्ड - स्लाइड करण्याचे ड्रॉवर उघडले - पर्याय. - मजकूर साफ केला - कमाल लांबी गाठली - निवडलेले - निवडले - निवडले नाही - सुरू - बंद - अक्षम केलेले - विस्तृत केले - संकुचित केले - डबल-टॅप - टॅप करा - स्विच निवडा दाबा - निवडा दाबा - सक्रिय करण्यासाठी %1$s. - सक्रिय करण्यासाठी %1$s दाबा. - दीर्घ दाबून ठेवण्‍यासाठी %1$s आणि धरून ठेवा. - जास्त वेळ दाबण्यासाठी %1$s दाबा. - टॉगल करण्यासाठी %1$s. - टॉगल करण्यासाठी %1$s दाबा. - एसएमएस पाठवणे संपादित करण्यासाठी %1$s. - एसएमएस पाठवणे संपादित करण्यासाठी %1$s दाबा. - बदलण्‍यासाठी %1$s. - बदलण्यासाठी %1$s दाबा. - पृष्‍ठांमधून स्विच करण्‍यासाठी दोन बोटांनी स्वाइप करा. - अधिक पेज नाहीत. - समायोजित करण्‍यासाठी व्हॉल्यूम की वापरा - बदलण्यासाठी %1$s. - कृती: - %2$s साठी %1$s. - %2$s साठी %1$s दाबा. - %1$s आणि %2$s साठी धरून ठेवा. - स्कोल करण्यासाठी %1$s. - उपलब्ध क्रियांसाठी %1$s. - शेअर करण्यासाठी स्विच निवडा दाबा - Caps Lock सुरू. - Caps Lock बंद. - Num Lock सुरू. - Num Lock बंद. - Scroll Lock सुरू - Scroll Lock बंद. - पोर्ट्रेट - लॅंडस्केप - डिसमिस करा - विस्तृत करा - कॉंप्रेस करा - पंक्ती %1$d - स्तंभ %1$d - %2$d पैकी %1$d - शीर्षक - पंक्ती शीर्षक - स्तंभ शीर्षक - %1$s मध्ये%2$s आहे - %1$s मध्ये आहे - %1$s सूचीमध्ये आहे - सूचीमध्ये आहे - %1$s मध्ये%2$s नाही - %1$s मध्ये नाही - %1$s सूचीमध्ये नाही - सूचीमध्ये नाही - %1$s ग्रिडमध्ये आहे - ग्रिडमध्ये आहे - %1$s ग्रिडमध्ये नाही - ग्रिडमध्ये नाही - पेजरमध्ये %1$s - पेजरमध्ये - पेजर बाहेर %1$s - पेजर बाहेर - उभ्या पेजरमध्ये %1$s - उभ्या पेजरमध्ये - उभ्या पेजर बाहेर %1$s - उभ्या पेजर बाहेर - आडव्या पेजरमध्ये %1$s - आडव्या पेजरमध्ये - आडव्या पेजर बाहेर - ग्रिड असलेल्या पेजरमध्ये %1$s - ग्रिड असलेल्या पेजरमध्ये - ग्रिड नसलेल्या पेजरमध्ये %1$s - ग्रिड नसलेल्या पेजरमध्ये - %1$d दर्जा - - %1$d आयटम - %1$d आयटम - - - %1$d पंक्ती - %1$d पंक्ती - - - %1$d स्तंभ - %1$d स्तंभ - - - %1$d वर्ण - %1$d वर्ण - - %1$d%% वर विशालन - विशालन %1$d%% - विशालन बंद - भाषणाचा रेट %1$d%% - वाढवला आहे - कमी केला आहे - कमाल - किमान - %1$d%% - हेडफोन वापरत असताना फक्‍त पासवर्ड बोलले जातात - %1$s उपलब्ध आहे, पाहण्यासाठी %2$s वापरा. - शब्दलेखन सूचना उपलब्ध आहेत. - %1$s विंडो - %1$s, आयकन डिटेक्ट केला - %1$s, मजकूर - diff --git a/compositor/src/main/res/values-ms/strings.xml b/compositor/src/main/res/values-ms/strings.xml deleted file mode 100644 index bffbb52cb..000000000 --- a/compositor/src/main/res/values-ms/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack dihidupkan - TalkBack digantung - TalkBack disambung semula - TalkBack dimatikan - Maklum Balas Tuturan dihidupkan - Maklum Balas Tuturan ditangguhkan - Maklum Balas Tuturan disambung semula - Maklum Balas Tuturan dimatikan - Permulaan medan - Akhir medan - Mod pemilihan dihidupkan - Mod pemilihan dimatikan - Pilihan dikosongkan - Panggil - Mesej - E-mel - Acara - Promosi - Penggera - Kemajuan - Sosial - Ralat - Kawalan media - Status sistem - Perkhidmatan - Menu %1$s - %1$s menggantikan %2$s - %1$s dipadam - dipotong, %1$s - ditampal, %1$s - %1$s, dipilih - Teks yang dipilih: %1$s - %1$s, dinyahpilih - Input tidak sah %1$s - %1$s aksara digantikan dengan %2$s aksara - %1$s untuk %2$s - Peratus %1$s. - - %1$s menunjukkan %2$d item. - %1$s menunjukkan %2$d item. - - Error: %1$s - Grid - Senarai - Bar tab - Senarai lungsur - Kotak pilihan - Butang radio - Butang - Peluncur - Tukar - Kotak edit - Mengedit - Imej - Tidak berlabel - Paparan berbilang halaman - Halaman - Bar kemajuan - Paparan web - kata laluan - Laci gelangsar dibuka - Pilihan. - Teks telah dipadam bersih - Panjang maksimum telah dicapai - dipilih - disemak - tidak disemak - hidup - mati - dilumpuhkan - dikembangkan - diruntuhkan - Kelik dua kali - Ketik - Tekan Pilih Suis - Tekan pilih - %1$s untuk mengaktifkan item. - Tekan %1$s untuk mengaktifkan. - %1$s dan tahan untuk tekan lama. - Tekan %1$s untuk menekan lama. - %1$s untuk menogol. - Tekan %1$s untuk menogol. - %1$s untuk mengedit teks. - Tekan %1$s untuk mengedit teks. - %1$s untuk menukar. - Tekan %1$s untuk menukar. - Leret menggunakan dua jari untuk menukar halaman. - Tiada lagi halaman. - Gunakan kekunci kelantangan untuk melaras - %1$s untuk menukar. - Tindakan: - %1$s untuk %2$s. - Tekan %1$s untuk %2$s. - %1$s dan tahan untuk %2$s. - %1$s untuk menatal. - %1$s untuk tindakan yang tersedia. - Tekan Pilih Suis untuk melaras - Caps Lock dihidupkan. - Caps Lock dimatikan. - Num Lock dihidupkan. - Num Lock dimatikan. - Scroll Lock dihidupkan. - Scroll Lock dimatikan. - Potret - Landskap - Ketepikan - Kembangkan - Runtuhkan - Baris %1$d - Lajur %1$d - %1$d daripada %2$d - Tajuk - Tajuk baris - Tajuk lajur - Dalam %1$s %2$s - Dalam %1$s - Dalam senarai %1$s - Dalam senarai - Di luar %1$s %2$s - Di luar %1$s - Luar senarai %1$s - Di luar senarai - Dalam grid %1$s - Dalam grid - Luar grid %1$s - Di luar grid - Dalam halaman %1$s - Dalam halaman - Kehabisan halaman %1$s - Kehabisan halaman - Dalam halaman menegak %1$s - Dalam halaman menegak - Kehabisan halaman menegak %1$s - Kehabisan halaman menegak - Dalam halaman mendatar %1$s - Dalam halaman mendatar - Luar halaman mendatar - Halaman dalam grid %1$s - Halaman dalam grid - Kehabisan halaman grid %1$s - Kehabisan halaman grid - Aras %1$d - - %1$d item - %1$d item - - - %1$d baris - %1$d baris - - - %1$d lajur - %1$d lajur - - - %1$d aksara - %1$d aksara - - Pembesaran pada %1$d%% - Pembesaran %1$d%% - Pembesaran dimatikan - Kadar pertuturan %1$d%% - Tinggikan - Kurangkan - Maksimum - Minimum - %1$d%% - Kata laluan hanya dituturkan apabila menggunakan fon kepala - %1$s tersedia, gunakan %2$s untuk melihat. - Cadangan ejaan tersedia. - Tetingkap %1$s - %1$s, ikon yang dikesan - %1$s, teks - diff --git a/compositor/src/main/res/values-my/strings.xml b/compositor/src/main/res/values-my/strings.xml deleted file mode 100644 index 934b39fb9..000000000 --- a/compositor/src/main/res/values-my/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack ဖွင့်ထား - TalkBack ဆိုင်းငံ့ထား - TalkBack ပြန်လည်စတင် - TalkBack ပိတ်ထားပါသည် - အကြံပြုချက်ကို အသံထွက်ဖတ်ပေးခြင်းအား ဖွင့်ထားပါသည် - အကြံပြုချက်ကို အသံထွက်ဖတ်ပေးခြင်းအား ဆိုင်းငံ့ထားပါသည် - အကြံပြုချက်ကို အသံထွက်ဖတ်ပေးခြင်းအား ပြန်ဖွင့်လိုက်ပါပြီ - အကြံပြုချက်ကို အသံထွက်ဖတ်ပေးခြင်းအား ပိတ်ထားပါသည် - ဖြည့်ရန်ပုံစံ၏အစ - ဖြည့်ရန်ပုံစံ၏ အဆုံး - ရွေးချယ်တဲ့မုဒ်ကို ဖွင့်ထားပါတယ် - ရွေးချယ်တဲ့မုဒ်ကို ပိတ်ထားပါတယ် - ရွေးထားတဲ့စာတွေကို ပြန်ဖယ်လိုက်ပါပြီ - ခေါ်ဆိုရန် - မက်ဆေ့ဂျ် - အီးမေးလ် - အစီအစဉ် - ပရိုမိုးရှင်း - နှိုးစက် - တိုးတက်မှု - လူမှုရေးကွန်ရက် - အမှားအယွင်း - မီဒီယာထိန်းချုပ်မှု - စနစ်အခြေအနေ - ဝန်ဆောင်မှု - %1$s မီနျူး - %1$s က %2$sကို အစားထိုးခဲ့သည် - %1$sဖျက်ပြီး - %1$s ကို ဖြတ်ထားပါတယ်။ - %1$s ကို ကူးထည့်ပြီးပါပြီ။ - %1$s ကို ရွေးထားပါတယ်။ - ရွေးထားတဲ့ စာသား − %1$s - %1$s ကို မရွေးရသေးပါဘူး။ - လက်သင့်မခံနိုင်သော ဖြည့်သွင်းမှု%1$s - စာလုံး %1$s ကို စာလုံး%2$s ဖြင့် အစားထိုးခဲ့ - %1$s အတွက် %2$s - %1$s ရာခိုင်နှုန်း - - %1$s အရာ %2$dကို ပြနေပါသည်။ - %1$s အရာ %2$dကို ပြနေပါသည်။ - - Error: %1$s - ဂရိ - စာရင်း - တဘ် ဘား - ဆွဲချစာရင်း - ရွှေးချယ်ရန်အကွက် - ရေဒီယို ခလုတ် - ခလုတ် - ရွှေ့တုံး - ခလုတ် - တည်းဖြတ်ရန် အကွက် - တည်းဖြတ်နေသည် - ပုံ - တံဆိပ်မပါ - စာမျက်နှာတွေကို တစ်ပြိုင်ထဲကြည့်ပါမယ်။ - စာမျက်နှာ - တိုးတက်မှုပြ ဘားတန်း - ဝက်ဘ်မြင်ကွင်း - စကားဝှက် - ဆွဲယူအံဆွဲ ဖွင့်ထား - ရွေးစရာများ။ - ဖျက်ပြီး စာသား - အများဆုံး အရှည်အတိုင်းအတာကို ရောက်ရှိပါပြီ - ရွေးထား - အမှန်ခြစ်ပြီး - ခြစ် မထား - ဖွင့် - ပိတ် - ပိတ်ရန် - တိုးချဲ့ထားပါတယ် - ခေါက်သိမ်းထားပါတယ် - နှစ်ကြိမ်ပုတ် - ပုတ်ရန် - ခလုတ်ရွေးချယ်ရန်ကို နှိပ်ပါ - ရွေးချယ်ရန်ဆိုတဲ့ ခလုတ်ကို နှိပ်လိုက်ပါ - စဖွင့်ရန် %1$s - စဖွင့်ရန် %1$s ကို နှိပ်ပါ။ - %1$s နောက်မှာ ကြာစွာ နှိပ်ထားပါ။ - ကြာရှည်စွာဖိထားရန် %1$s ကို နှိပ်ပါ။ - %1$s လှုပ်ကစားကြည့်ရန် - ခလုတ်ပြောင်းရန် %1$s ကို နှိပ်ပါ။ - စာသားတည်းဖြတ်ရန် %1$s။ - စာသားတည်းဖြတ်ရန် %1$s ကို နှိပ်ပါ။ - ပြောင်းလဲရန် %1$s - ပြောင်းရန် %1$s ကို နှိပ်ပါ။ - စာမျက်နှာပြောင်းဖို့ လက်နှစ်ချောင်းနဲ့ ပွတ်ဆွဲလိုက်ပါ။ - နောက်ထပ်စာမျက်နှာများ မရှိပါ။ - ချိန်ညှိရန် အသံအတိုးအကျယ်ခလုတ်များကို သုံးပါ - ပြောင်းဖို့အတွက် %1$s ရွေးပါ။ - လုပ်ဆောင်ချက်များ− - %1$s ရင် %2$s။ - %2$s ရန်အတွက် %1$s ကို နှိပ်ပါ။ - %1$s ပြီး ဖိထားရင် %2$s။ - အပေါ်အောက် ရွှေ့ရန် %1$s။ - ရနိုင်သည့် လုပ်ဆောင်ချက်များအတွက် %1$s။ - \'ခလုတ်ရွေးရန်\' ကို နှိပ်ပြီး ချိန်ညှိပါ - စာလုံးကြီး ခလုတ် ဖွင့်ထားသည်။ - စာလုံးကြီး ခလုတ် ပိတ်ထားသည်။ - နံပါတ် ခလုတ် ဖွင့်ထားသည်။ - နံပါတ် ခလုတ် ပိတ်ထားသည်။ - လှိမ့်မှု ခလုတ် ဖွင့်ထားသည်။ - လှိမ့်မှု ခလုတ် ပိတ်ထားသည်။ - ဒေါင်လိုက် - ဘေးတိုက် - ပယ်ရန် - ချဲ့ကြည့်ရန် - လျှော့ပြရန် - အတန်း %1$d - ကော်လံ %1$d - %2$d ၏ %1$d - ခေါင်းစီး - အတန်းခေါင်းစဉ် - ကော်လံခေါင်းစဉ် - %2$s %1$s တွင် ရှိနေသည် - %1$s တွင် ရှိနေသည် - %1$s စာရင်းတွင် ရှိနေသည် - စာရင်းထဲရှိနေသည် - %2$s %1$s အပြင်တွင် ရှိနေသည် - %1$s အပြင်တွင် ရှိနေသည် - %1$s စာရင်းအပြင်တွင် ရှိနေသည် - စာရင်းအပြင်တွင် ရှိနေသည် - %1$s ဇယားကွက်တွင် ရှိနေသည် - ဇယားကွက်တွင် ရှိနေသည် - %1$s ဇယားကွက်အပြင်သို့ ရောက်နေပါသည် - ဇယားကွက်အပြင်သို့ ရောက်နေပါသည် - ပေဂျာ %1$s ထဲမှာ ရှိနေပါတယ် - ပေဂျာထဲမှာ ရှိနေပါတယ် - ပေဂျာ %1$s ရဲ့ အပြင်မှာ ရှိနေပါတယ် - ပေဂျာအပြင်မှာ ရှိနေပါတယ် - ထောင်လိုက်ပေဂျာ %1$s ထဲမှာ ရှိနေပါတယ် - ထောင်လိုက်ပေဂျာထဲမှာ ရှိနေပါတယ် - ထောင်လိုက်ပေဂျာ %1$s ရဲ့အပြင်မှာ ရှိနေပါတယ် - ထောင်လိုက်ပေဂျာရဲ့ အပြင်မှာ ရှိနေပါတယ် - အလျားလိုက်ပေဂျာ %1$s ထဲမှာ ရှိနေပါတယ် - အလျားလိုက်ပေဂျာထဲမှာ ရှိနေပါတယ် - အလျားလိုက်ပေဂျာရဲ့ အပြင်မှာ ရှိနေပါတယ် - ဇယားကွက် ပေဂျာ %1$s ထဲမှာ ရှိနေပါတယ် - ဇယားကွက် ပေဂျာထဲမှာ ရှိနေပါတယ် - ဂရစ်ပေဂျာ %1$s ရဲ့ အပြင်မှာ ရှိနေပါတယ် - ဂရစ်ပေဂျာရဲ့ အပြင်မှာ ရှိနေပါတယ် - အဆင့် %1$d - - %1$d ခု - %1$d ခု - - - အတန်း %1$d တန်း - အတန်း %1$d တန်း - - - ကော်လံ %1$d ခု - ကော်လံ %1$d ခု - - - စကားလုံး %1$d လုံး - စကားလုံး %1$d လုံး - - %1$d%% သို့ ချဲ့ထားပါသည် - %1$d%% ချဲ့ထားပါသည် - ပုံကြီးချဲ့ခြင်းကို ပိတ်ထားပါသည် - စကားပြောနှုန်း %1$d%% - အသံချဲ့လိုက်သည် - အသံတိုးလိုက်သည် - အကျယ်ဆုံး - အတိုးဆုံး - %1$d%% - နားကြပ်သုံးချိန်မှသာ စကားဝှက်များကို အသံထွက်ဖတ်ပေးရန် - %1$s ရနိုင်သည်၊ ကြည့်ရန် %2$s ကို အသုံးပြုပါ။ - စာလုံးပေါင်း အကြံပြုချက်များ ရှိသည်။ - %1$s ဝင်းဒိုး - %1$s၊ တွေ့ရှိသောသင်္ကေတ - %1$s၊ စာသား - diff --git a/compositor/src/main/res/values-nb/strings.xml b/compositor/src/main/res/values-nb/strings.xml deleted file mode 100644 index c8dca5a33..000000000 --- a/compositor/src/main/res/values-nb/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack er på - TalkBack er suspendert - TalkBack er gjenopptatt - TalkBack er av - Taletilbakemelding er på - Taletilbakemelding er suspendert - Taletilbakemelding er gjenopptatt - Taletilbakemelding er av - Begynnelsen av feltet - Slutten av feltet - Valgmodusen er på - Valgmodusen er av - Valget ble fjernet - Ring - Melding - E-post - Aktivitet - Tilbud - Alarm - Fremdrift - Sosialt - Feil - Mediekontroll - Systemstatus - Tjeneste - %1$s-meny - %1$s erstattet %2$s - %1$s ble slettet - klippet ut, %1$s - limt inn, %1$s - %1$s, er valgt - Valgt tekst: %1$s - %1$s, er ikke valgt - Ugyldig inndata %1$s - %1$s tegn erstattet med %2$s tegn - %1$s for %2$s - %1$s prosent. - - %1$s med %2$d element. - %1$s med %2$d elementer. - - Error: %1$s - Rutenett - Liste - Fanerad - Rullegardinliste - Avmerkingsboks - Alternativknapp - Knapp - Glidebryter - Bryter - Redigeringsfelt - Redigering - Bilde - Umerket - Visning av flere sider - Side - Fremdriftslinje - Nettvisning - passord - Uttrekksmeny åpnet - Alternativer. - Teksten ble slettet - Maksimal lengde er nådd - valgt - avmerket - ikke valgt - - av - slått av - vises - skjules - Dobbelttrykk - Trykk - Trykk på «Velg»-bryteren - Trykk på Velg-knappen - %1$s for å aktivere. - Trykk på %1$s for å aktivere. - %1$s og hold inne for å trykke lenge. - Trykk på %1$s for å trykke lenge. - %1$s for å merke eller for å fjerne avmerkingen. - Trykk på %1$s for å slå av/på. - %1$s for å redigere tekst. - Trykk på %1$s for å redigere tekst. - %1$s for å endre. - Trykk på %1$s for å endre. - Sveip med to fingre for å bytte sider. - Ingen flere sider. - Bruk volumknappene for å justere - %1$s for å endre. - Handlinger: - %1$s for å %2$s. - Trykk på %1$s for å %2$s. - %1$s og hold inne for å %2$s. - %1$s for å rulle. - %1$s for tilgjengelige handlinger. - Trykk på «Velg»-bryteren for å justere - Caps Lock er på. - Caps Lock er av. - Num Lock er på. - Num Lock er av. - Scroll Lock er på. - Scroll Lock er av. - Stående - Liggende - Avvis - Vis - Skjul - Rad %1$d - Kolonne %1$d - %1$d av %2$d - Overskrift - Overskrift for raden - Overskrift for kolonnen - I %1$s %2$s - I %1$s - I listen %1$s - I listen - Utenfor %1$s %2$s - Utenfor %1$s - Utenfor listen %1$s - Utenfor listen - I rutenettet %1$s - I rutenettet - Utenfor rutenettet %1$s - Utenfor rutenettet - På side %1$s - På side - Utenfor side %1$s - Utenfor side - På vertikal side %1$s - På vertikal side - Utenfor vertikal side %1$s - Utenfor vertikal side - På horisontal side %1$s - På horisontal side - Utenfor horisontal side - På rutenettside %1$s - På rutenettside - Utenfor rutenettside %1$s - Utenfor rutenettside - Nivå %1$d - - %1$d element - %1$d elementer - - - %1$d rad - %1$d rader - - - %1$d kolonne - %1$d kolonner - - - %1$d tegn - %1$d tegn - - Forstørring er på %1$d %% - Forstørring %1$d %% - Forstørring er av - Talehastighet %1$d %% - Øk - Reduser - Maksimum - Minimum - %1$d %% - Passord leses bare når hodetelefoner brukes - %1$s er tilgjengelig. Bruk %2$s for å se. - Staveforslag er tilgjengelige. - Vinduet %1$s - %1$s: registrert ikon - %1$s: tekst - diff --git a/compositor/src/main/res/values-ne/strings.xml b/compositor/src/main/res/values-ne/strings.xml deleted file mode 100644 index 32cdd80ac..000000000 --- a/compositor/src/main/res/values-ne/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack सक्रिय गर्नुहोस् - TalkBack निलम्बित भयो - TalkBack पुन:सुरु भयो - TalkBack निष्क्रिय छ - बोली प्रतिक्रिया सक्रिय छ - बोली प्रतिक्रिया निलम्बित छ - बोली प्रतिक्रिया जारी राखियो - बोली प्रतिक्रिया निष्क्रिय छ - क्षेत्रको सुरुवात - क्षेत्रको अन्त - चयन गर्ने मोड सक्रिय छ - चयन गर्ने मोड निष्क्रिय छ - चयनलाई खाली गरियो - कल - सन्देश - इमेल - कार्यक्रम - प्रोमो - अलार्म - प्रगति - सामाजिक - त्रुटि - मिडियाको नियन्त्रण - प्रणालीको स्थिति - सेवा - %1$s मेनु - %1$s ले %2$s लाई विस्थापन गर्‍यो - %1$s हटाइयो - काटियो, %1$s - टाँसियो, %1$s - %1$s चयन गरियो - चयन गरिएको पाठ: %1$s - %1$s को चयन हटाइयो - अवैध इन्पुट %1$s - %2$s वर्ण साथ %1$s वर्णहरू प्रतिस्थापित - %2$s को लागि %1$s - %1$s प्रतिशत। - - %1$s ले %2$d वस्तु देखाउँदैछ। - %1$s ले %2$d वस्तुहरू देखाउँदैछ। - - Error: %1$s - ग्रिड - सूची - ट्याब पट्टि - ड्रप-डाउन सूची - जाँच बाकस - रेडियो बटन - बटन - स्लाइडर - स्विच - सम्पादन बाकस - सम्पादन गरिँदै - छवि - नाम नदिइएको - बहु-पृष्ठको दृश्य - पृष्ठ - प्रगति पट्टी - वेबभ्यू - पासवर्ड - स्लाइडिङ दराज खोलिएको - विकल्पहरू। - हटाइएको पाठ - अधिकतम लम्बाइ पुग्यो - चयन गरिएको - जाँचिएको - नजाँचिएको - सक्रिय - निष्क्रिय - असक्षम गरिएको - विस्तृत गरिएको - संक्षिप्त गरिएको - दुईचोटि ट्याप गर्नुहोस् - ट्याप गर्नुहोस् - चयन गर्ने स्विच थिच्नुहोस् - चयन गर्ने बटनलाई थिच्नुहोस् - सक्रिय गर्नाका लागि %1$s। - सक्रिय गर्न %1$s लाई थिच्नुहोस्। - %1$s र लामो समयसम्म थिच्न समाउनुहोस्। - लामो समयसम्म थिच्न %1$s लाई थिच्नुहोस्। - %1$s टोगल गर्न। - टगल गर्न %1$s लाई थिच्नुहोस्। - पाठ सम्पादन गर्न %1$s। - पाठ सम्पादन गर्न %1$s थिच्नुहोस्। - %1$s बदल्न। - परिवर्तन गर्न %1$s लाई थिच्नुहोस्। - एक पृष्ठबाट अर्को पृष्ठमा जान दुई औँलाहरूले स्वाइप गर्नुहोस्। - थप पृष्ठहरू छैनन्। - समायोजन गर्न भोल्युम कुञ्जीहरूको प्रयोग गर्नुहोस् - परिवर्तन गर्न %1$s। - कारबाहीहरू: - %2$s को लागि %1$s। - %2$s को लागि %1$s लाई थिच्नुहोस्। - %2$s को लागि %1$s गरी थिचिराख्नुहोस्। - %1$s स्क्रोल गर्न। - %1$s उपलब्ध कारबाहीहरूका लागि। - समायोजन गर्न चयन स्विच थिच्नुहोस् - Caps Lock सक्रिय छ। - Caps Lock निष्क्रिय छ। - Num Lock सक्रिय छ। - Num Lock निष्क्रिय छ। - Scroll Lock सक्रिय छ। - Scroll Lock निष्क्रिय छ। - पोट्रेट - परिदृश्य - खारेज गर्नुहोस् - विस्तृत गर्नुहोस् - संक्षिप्त पार्नुहोस् - पङ्क्ति %1$d - स्तम्भ %1$d - %2$d मध्ये %1$d - शीर्षक - पङ्क्तिको शीर्षक - स्तम्भको शीर्षक - %1$s %2$s मा हुनुहुन्छ - %1$s मा छ - %1$s सूचीमा हुनुहुन्छ - सूचीमा हुनुहुन्छ - %1$s %2$s भन्दा बाहिर हुनुहुन्छ - %1$s भन्दा बाहिर हुनुहुन्छ - %1$s सूचीभन्दा बाहिर हुनुहुन्छ - सूचीभन्दा बाहिर हुनुहुन्छ - I%1$s ग्रिडमा हुनुहुन्छ - ग्रिडमा हुनुहुन्छ - %1$s ग्रिडभन्दा बाहिर हुनुहुन्छ - ग्रिडभन्दा बाहिर हुनुहुन्छ - पेजर %1$s मा - पेजरमा - पेजर %1$s को बाहिर - पेजरको बाहिर - ठाडो पेजर %1$s मा - ठाडो पेजरमा - ठाडो पेजर %1$s को बाहिर - ठाडो पेजरको बाहिर - तेर्सो पेजर %1$s मा - तेर्सो पेजरमा - तेर्सो पेजरको बाहिर - ग्रिड पेजर %1$s मा - ग्रिड पेजरमा - ग्रिड पेजर %1$s को बाहिर - ग्रिड पेजरको बाहिर - चरण %1$d - - %1$d वस्तु - %1$d वस्तुहरू - - - %1$d पङ्क्ति - %1$d पङ्क्तिहरू - - - %1$d स्तम्भ - %1$d स्तम्भहरू - - - %1$d वर्ण - %1$d वर्णहरू - - म्याग्निफिकेसन सक्रिय गरिएको छ %1$d%% - म्याग्निफिकेसन %1$d%% - म्याग्निफिकेसन निष्क्रिय पारिएको छ - बोल्ने गति %1$d%% - बढाउनुहोस् - घटाउनुहोस् - अधिकतम - न्यूनतम - %1$d%% - हेडफोनहरू प्रयोग गर्दा मात्र पासवर्डहरू बोलिन्छन् - %1$s उपलब्ध छ, हेर्नका लागि %2$s प्रयोग गर्नुहोस्। - हिज्जेसम्बन्धी सुझाव उपलब्ध छन्। - विन्डो %1$s - %1$s, पत्ता लगाइएको आइकन - %1$s, टेक्स्ट - diff --git a/compositor/src/main/res/values-nl/strings.xml b/compositor/src/main/res/values-nl/strings.xml deleted file mode 100644 index 79e09a52e..000000000 --- a/compositor/src/main/res/values-nl/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack aan - TalkBack opgeschort - TalkBack hervat - TalkBack uit - Gesproken feedback aan - Gesproken feedback opgeschort - Gesproken feedback hervat - Gesproken feedback uit - Begin van het veld - Einde van het veld - Selectiemodus aan - Selectiemodus uit - Selectie gewist - Bellen - Bericht - E-mail - Afspraak - Promotie - Wekker - Voortgang - Sociaal - Fout - Mediabediening - Systeemstatus - Service - Menu %1$s - %1$s heeft %2$s vervangen - %1$s verwijderd - geknipt, %1$s - geplakt, %1$s - %1$s, geselecteerd - Geselecteerde tekst: %1$s - %1$s, selectie ongedaan gemaakt - Ongeldige invoer %1$s - %1$s tekens vervangen door %2$s tekens - %1$s voor %2$s - %1$s procent. - - %1$s met %2$d getoond item. - %1$s met %2$d getoonde items. - - Error: %1$s - Raster - Lijst - Tabbladbalk - Dropdownmenu - Selectievakje - Keuzerondje - Knop - Schuifregelaar - Schakelaar - Bewerkingsvak - Bezig met bewerken - Afbeelding - Geen label - Weergave met meerdere pagina\'s - Pagina - Voortgangsbalk - Webweergave - wachtwoord - Schuiflade is geopend - Opties. - Tekst gewist - Maximumlengte is bereikt - geselecteerd - aangevinkt - niet aangevinkt - aan - uit - uitgezet - uitgevouwen - samengevouwen - Dubbeltik - Tik - Druk op de schakelaar Selecteren - Druk op de selectieknop - %1$s om te activeren. - Druk op %1$s om te activeren. - %1$s en houd vast voor lang indrukken. - Druk op %1$s om lang in te drukken. - %1$s om te schakelen. - Druk op %1$s om aan of uit te zetten. - %1$s om tekst te bewerken. - Druk op %1$s om tekst te bewerken. - %1$s om te wijzigen. - Druk op %1$s om te wijzigen. - Swipe met 2 vingers om tussen pagina\'s te schakelen. - Niet meer pagina\'s. - Gebruik de volumetoetsen om de schuifregelaar aan te passen - %1$s om te wijzigen. - Acties: - %1$s voor %2$s. - Druk op %1$s voor %2$s. - %1$s en blijf vasthouden voor %2$s. - %1$s om te scrollen. - %1$s voor de beschikbare acties. - Druk op \'Schakelaar selecteren\' om dit aan te passen - Caps Lock aan. - Caps Lock uit. - Num Lock aan. - Num Lock uit. - Scroll Lock aan. - Scroll Lock uit. - Staand - Liggend - Sluiten - Uitvouwen - Samenvouwen - Rij %1$d - Kolom %1$d - %1$d van %2$d - Kop - Kop van rij - Kolomkop - In %1$s %2$s - In %1$s - In lijst %1$s - In lijst - Buiten %1$s %2$s - Buiten %1$s - Buiten lijst %1$s - Buiten lijst - In raster %1$s - In raster - Buiten raster %1$s - Buiten raster - Binnen pagina %1$s - Binnen pagina - Buiten pagina %1$s - Buiten pagina - Binnen verticale pagina %1$s - Binnen verticale pagina - Buiten verticale pagina %1$s - Buiten verticale pagina - Binnen horizontale pagina %1$s - Binnen horizontale pagina - Buiten horizontale pagina - Binnen rasterpagina %1$s - Binnen rasterpagina - Buiten rasterpagina %1$s - Buiten rasterpagina - Niveau %1$d - - %1$d item - %1$d items - - - %1$d rij - %1$d rijen - - - %1$d kolom - %1$d kolommen - - - %1$d teken - %1$d tekens - - Vergroting op %1$d%% - Vergroting %1$d%% - Vergroting uit - Spreeksnelheid %1$d%% - Verhogen - Verlagen - Maximum - Minimum - %1$d%% - Wachtwoorden worden alleen voorgelezen bij gebruik van de hoofdtelefoon - %1$s beschikbaar, gebruik %2$s om te bekijken. - Er zijn spellingsuggesties beschikbaar. - Venster %1$s - %1$s, herkend icoon - %1$s, tekst - diff --git a/compositor/src/main/res/values-no/strings.xml b/compositor/src/main/res/values-no/strings.xml deleted file mode 100644 index c8dca5a33..000000000 --- a/compositor/src/main/res/values-no/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack er på - TalkBack er suspendert - TalkBack er gjenopptatt - TalkBack er av - Taletilbakemelding er på - Taletilbakemelding er suspendert - Taletilbakemelding er gjenopptatt - Taletilbakemelding er av - Begynnelsen av feltet - Slutten av feltet - Valgmodusen er på - Valgmodusen er av - Valget ble fjernet - Ring - Melding - E-post - Aktivitet - Tilbud - Alarm - Fremdrift - Sosialt - Feil - Mediekontroll - Systemstatus - Tjeneste - %1$s-meny - %1$s erstattet %2$s - %1$s ble slettet - klippet ut, %1$s - limt inn, %1$s - %1$s, er valgt - Valgt tekst: %1$s - %1$s, er ikke valgt - Ugyldig inndata %1$s - %1$s tegn erstattet med %2$s tegn - %1$s for %2$s - %1$s prosent. - - %1$s med %2$d element. - %1$s med %2$d elementer. - - Error: %1$s - Rutenett - Liste - Fanerad - Rullegardinliste - Avmerkingsboks - Alternativknapp - Knapp - Glidebryter - Bryter - Redigeringsfelt - Redigering - Bilde - Umerket - Visning av flere sider - Side - Fremdriftslinje - Nettvisning - passord - Uttrekksmeny åpnet - Alternativer. - Teksten ble slettet - Maksimal lengde er nådd - valgt - avmerket - ikke valgt - - av - slått av - vises - skjules - Dobbelttrykk - Trykk - Trykk på «Velg»-bryteren - Trykk på Velg-knappen - %1$s for å aktivere. - Trykk på %1$s for å aktivere. - %1$s og hold inne for å trykke lenge. - Trykk på %1$s for å trykke lenge. - %1$s for å merke eller for å fjerne avmerkingen. - Trykk på %1$s for å slå av/på. - %1$s for å redigere tekst. - Trykk på %1$s for å redigere tekst. - %1$s for å endre. - Trykk på %1$s for å endre. - Sveip med to fingre for å bytte sider. - Ingen flere sider. - Bruk volumknappene for å justere - %1$s for å endre. - Handlinger: - %1$s for å %2$s. - Trykk på %1$s for å %2$s. - %1$s og hold inne for å %2$s. - %1$s for å rulle. - %1$s for tilgjengelige handlinger. - Trykk på «Velg»-bryteren for å justere - Caps Lock er på. - Caps Lock er av. - Num Lock er på. - Num Lock er av. - Scroll Lock er på. - Scroll Lock er av. - Stående - Liggende - Avvis - Vis - Skjul - Rad %1$d - Kolonne %1$d - %1$d av %2$d - Overskrift - Overskrift for raden - Overskrift for kolonnen - I %1$s %2$s - I %1$s - I listen %1$s - I listen - Utenfor %1$s %2$s - Utenfor %1$s - Utenfor listen %1$s - Utenfor listen - I rutenettet %1$s - I rutenettet - Utenfor rutenettet %1$s - Utenfor rutenettet - På side %1$s - På side - Utenfor side %1$s - Utenfor side - På vertikal side %1$s - På vertikal side - Utenfor vertikal side %1$s - Utenfor vertikal side - På horisontal side %1$s - På horisontal side - Utenfor horisontal side - På rutenettside %1$s - På rutenettside - Utenfor rutenettside %1$s - Utenfor rutenettside - Nivå %1$d - - %1$d element - %1$d elementer - - - %1$d rad - %1$d rader - - - %1$d kolonne - %1$d kolonner - - - %1$d tegn - %1$d tegn - - Forstørring er på %1$d %% - Forstørring %1$d %% - Forstørring er av - Talehastighet %1$d %% - Øk - Reduser - Maksimum - Minimum - %1$d %% - Passord leses bare når hodetelefoner brukes - %1$s er tilgjengelig. Bruk %2$s for å se. - Staveforslag er tilgjengelige. - Vinduet %1$s - %1$s: registrert ikon - %1$s: tekst - diff --git a/compositor/src/main/res/values-or/strings.xml b/compositor/src/main/res/values-or/strings.xml deleted file mode 100644 index 984596bb7..000000000 --- a/compositor/src/main/res/values-or/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - ଟକବ୍ୟାକ୍‌ ଅନ୍‌ ଅଛି - ଟକବ୍ୟାକ୍‌ ରଦ୍ଦ କରାଗଲା - ଟକବ୍ୟାକ୍‌କୁ ପୁଣି ଆରମ୍ଭ କରାଗଲା - ଟକବ୍ୟାକ୍‌ ବନ୍ଦ - କଥିତ ମତାମତ ଅନ୍ - କଥିତ ମତାମତ ନିଲମ୍ବିତ - କଥିତ ମତାମତ ପୁଣି ଥରେ ଆରମ୍ଭ ହେଲା - କଥିତ ମତାମତ ଅଫ୍ - ଫିଲ୍ଡର ଆରମ୍ଭ - ଫିଲ୍ଡର ଶେଷ - ଚୟନ ମୋଡ୍ ଅନ୍‌ ଅଛି - ଚୟନ ମୋଡ୍ ଅଫ୍‌ ଅଛି - ଚୟନ ଖାଲିକରାଗଲା - କଲ୍ କରନ୍ତୁ - ମେସେଜ୍‌ - ଇମେଲ୍ - ଇଭେଣ୍ଟ - ପ୍ରୋମୋ - ଆଲାର୍ମ - ପ୍ରୋଗ୍ରେସ୍‌ - ସୋସିଆଲ୍‍ - ତ୍ରୁଟି - ମିଡିଆ ନିୟନ୍ତ୍ରଣ - ସିଷ୍ଟମ୍‌ ସ୍ଥିତି - ସେବା - %1$s ମେନୁ - %2$s ପ୍ରତିସ୍ଥାପନ %1$s ହେଲା - %1$s ଡିଲିଟ୍‌ ହେଲା - କଟ୍‌ ହେଲା, %1$s - ପେଷ୍ଟ ହେଲା, %1$s - %1$s, ଚୟନ ହେଲା - ଚୟନ କରାଯାଇଥିବା ଟେକ୍ସଟ୍‌: %1$s - %1$s, ଚୟନ କରାଗଲା ନାହିଁ - ଅବୈଧ ଇନପୁଟ୍‌ %1$s - %2$s ଅକ୍ଷର ସହିତ %1$s ଅକ୍ଷର ପ୍ରତିସ୍ଥାପନ ହେଲା - %2$s ପାଇଁ %1$s - %1$s ଶତକଡ଼ା। - - %1$s %2$dଟି ଆଇଟମ୍‌ ଦେଖାଉଛି। - %1$s %2$dଟି ଆଇଟମ୍‌ ଦେଖାଉଛି। - - Error: %1$s - ଗ୍ରୀଡ୍ - ତାଲିକା - ଟାବ୍‌ ବାର୍‌ - ଡ୍ରପ୍‌-ଡାଉନ୍‌ ତାଲିକା - ଚେକ୍ ବାକ୍ସ - ରେଡିଓ ବଟନ୍‌ - ବଟନ୍‌ - ସ୍ଲାଇଡର୍ - ପରିବର୍ତ୍ତନ କରନ୍ତୁ - ସଂଶୋଧନ ବାକ୍ସ - ସଂଶୋଧନ କରାଯାଉଛି - ଇମେଜ୍‍ - ଲେବଲ୍‌ କରାଯାଇ ନାହିଁ - ଏକାଧିକ-ପୃଷ୍ଠାର ଭ୍ୟୁ - ପୃଷ୍ଠା - ପ୍ରୋଗ୍ରେସ୍‌ ବାର୍‌ - ୱେବ୍‌ଭ୍ୟୁ - ପାସୱାର୍ଡ - ସ୍ଲାଇଡିଙ୍ଗ ଡ୍ରୟର୍‌ ଖୋଲାଗଲା - ବିକଳ୍ପ - ଟେକ୍ସଟ୍‌ ଖାଲି କରାଯାଇଛି - ସର୍ବାଧିକ ଲମ୍ବରେ ପହଞ୍ଚିଲା - ଚୟନ ହୋଇଛି - ଯାଞ୍ଚ ହୋଇଛି - ଯାଞ୍ଚ ହୋଇନାହିଁ - ଚାଲୁ - ବନ୍ଦ - ଅକ୍ଷମ ହୋଇଛି - ବଢ଼ାଇଦିଆଯାଇଛି - ଛୋଟ କରିଦିଆଯାଇଛି - ଡବଲ୍‌-ଟାପ୍‌ - ଟାପ୍‌ - ’ସିଲେକ୍ଟ ସ୍ଵିଚ୍’କୁ ଦାବନ୍ତୁ - ଚୟନ କରନ୍ତୁ ଦବାନ୍ତୁ - %1$s ସକ୍ରିୟ କରିବାକୁ। - ସକ୍ରିୟ କରିବାକୁ %1$s ଦବାନ୍ତୁ। - %1$s ଏବଂ ଦୀର୍ଘ ସମୟ ପର୍ଯ୍ୟନ୍ତ ଦବାଇବା ପାଇଁ ଧରିରଖନ୍ତୁ| - ଦୀର୍ଘ ସମୟ ପାଇଁ %1$s ଦବାନ୍ତୁ - ଟୋଗଲ୍‌ କରିବା ପାଇଁ %1$s| - ଅଦଳବଦଳ କରିବାକୁ %1$s ଦବାନ୍ତୁ। - ଟେକ୍ସଟ୍ ସମ୍ପାଦନ କରିବା ପାଇଁ %1$s - ଟେକ୍ସଟ୍ ସମ୍ପାଦନ କରିବା ପାଇଁ %1$s ଦବାନ୍ତୁ - ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ %1$s| - ବଦଳାଇବାକୁ %1$s ଦବାନ୍ତୁ। - ପୃଷ୍ଠା ବଦଳାଇବାକୁ ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ସ୍ୱାଇପ୍‌ କରନ୍ତୁ। - ଆଉ ପୃଷ୍ଠା ନାହିଁ। - ବ୍ୟବସ୍ଥିତ କରିବା ପାଇଁ ଭଲ୍ୟୁମ୍ କୀ\' ବ୍ୟବହାର କରନ୍ତୁ - %1$s ବଦଳାଇବାକୁ। - କାର୍ଯ୍ୟ: - %1$s ରୁ %2$s। - %1$s ରୁ %2$s ଦବାନ୍ତୁ। - %1$s ଏବଂ %2$sକୁ ଧରିରଖନ୍ତୁ। - ସ୍କ୍ରୋଲ୍ କରିବା ପାଇଁ %1$s। - ଉପଲବ୍ଧ କାର୍ଯ୍ୟ ପାଇଁ %1$s। - ଆଡଜଷ୍ଟ କରିବା ପାଇଁ ’ସିଲେକ୍ଟ ସ୍ଵିଚ୍’କୁ ଦାବନ୍ତୁ - କ୍ୟାପ୍ସ ଲକ୍‌ ଅନ୍‌ ଅଛି| - କ୍ୟାପ୍ସ ଲକ୍‌ ଅଫ୍ ଅଛି| - ନମ୍‌ ଲକ୍‌ ଅନ୍‌ ଅଛି| - ନମ୍‌ ଲକ୍‌ ଅଫ୍‌ ଅଛି| - ସ୍କ୍ରୋଲ୍ ଲକ୍‌ ଅନ୍‌ ଅଛି| - ସ୍କ୍ରୋଲ ଲକ୍‌ ଅଫ୍‌ ଅଛି| - ପୋର୍ଟେଟ୍ - ଲ୍ୟାଣ୍ଡସ୍କେପ୍ - ଖାରଜ କରନ୍ତୁ - ବଢ଼ାନ୍ତୁ - ଛୋଟ କରନ୍ତୁ - ଧାଡ଼ି %1$d - ସ୍ତମ୍ଭ %1$d - %2$dର %1$d - ଶୀର୍ଷକ - ଧାଡ଼ି ଶୀର୍ଷକ - ସ୍ତମ୍ଭ ଶୀର୍ଷକ - %1$s %2$sରେ - %1$sରେ - %1$s ତାଲିକାରେ - ତାଲିକାରେ - %1$s %2$s ବାହାରେ - %1$s ବାହାରେ - %1$s ତାଲିକା ବାହାରେ - ତାଲିକା ବାହାରେ - %1$s ଗ୍ରିଡରେ - ଗ୍ରିଡରେ - %1$s ଗ୍ରିଡ୍ ବାହାରେ - ଗ୍ରିଡ୍ ବାହାରେ - ପେଜର୍ %1$sରେ - ପେଜର୍‍‍ରେ - ପେଜର୍ %1$sବାହାରେ - ପେଜର୍ ବାହାରେ - ଭର୍ଟିକାଲ୍ ପେଜର୍ %1$sରେ - ଭର୍ଟିକାଲ୍ ପେଜର୍‍‍ରେ - ଭର୍ଟିକାଲ୍ ପେଜର୍ %1$s ବାହାରେ - ଭର୍ଟିକାଲ୍ ପେଜର୍ ବାହାରେ - ହରିଜୋଣ୍ଟାଲ ପେଜର୍ %1$sରେ - ହରିଜୋଣ୍ଟାଲ ପେଜର୍‍‍ରେ - ହରିଜୋଣ୍ଟାଲ ପେଜର୍ ବାହାରେ - ଗ୍ରୀଡ୍ ପେଜର୍ %1$sରେ - ଗ୍ରୀଡ୍ ପେଜର୍‍‍ରେ - ଗ୍ରୀଡ୍ ପେଜର୍ %1$s ବାହାରେ - ଗ୍ରୀଡ୍ ପେଜର୍ ବାହାରେ - ସ୍ତର %1$d - - %1$dଟି ଆଇଟମ୍‌ - %1$dଟି ଆଇଟମ୍‌ - - - %1$dଟି ଧାଡ଼ି - %1$dଟି ଧାଡ଼ି - - - %1$dଟି ସ୍ତମ୍ଭ - %1$dଟି ସ୍ତମ୍ଭ - - - %1$dଟି ବର୍ଣ୍ଣ - %1$dଟି ବର୍ଣ୍ଣ - - %1$d%%ର ମ୍ୟାଗ୍ନିଫିକେଶନ୍‌ - ମ୍ୟାଗ୍ନିଫିକେଶନ୍‌ %1$d%% - ମ୍ୟାଗ୍ନିଫିକେଶନ୍‌ ଅଫ୍ - ସ୍ପୀଚ୍‌ ରେଟ୍ %1$d%% - ବଢ଼ାନ୍ତୁ - କମାନ୍ତୁ - ସର୍ବାଧିକ - ସର୍ବନିମ୍ନ - %1$d%% - କେବଳ ହେଡଫୋନ୍ ବ୍ୟବହାର କରିବା ସମୟରେ ପାସୱର୍ଡ କହିଥାଏ - %1$s ଉପଲବ୍ଧ ଅଛି, ଦେଖିବା ପାଇଁ %2$s ବ୍ୟବହାର କରନ୍ତୁ। - ବନାନ ସମ୍ବନ୍ଧିତ ପରାମର୍ଶ ଉପଲବ୍ଧ ଅଛି। - ୱିଣ୍ଡୋ %1$s - %1$s, ଚିହ୍ନଟ କରାଯାଇଥିବା ଆଇକନ - %1$s, ଟେକ୍ସଟ - diff --git a/compositor/src/main/res/values-pa/strings.xml b/compositor/src/main/res/values-pa/strings.xml deleted file mode 100644 index 54bb43267..000000000 --- a/compositor/src/main/res/values-pa/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack ਚਾਲੂ - TalkBack ਮੁਅੱਤਲ ਕੀਤਾ ਗਿਆ - TalkBack ਮੁੜ ਚਾਲੂ ਹੋ ਗਿਆ - TalkBack ਬੰਦ ਹੈ - ਬੋਲੀ ਪ੍ਰਤੀਕਰਮ ਚਾਲੂ ਹੈ - ਬੋਲੀ ਪ੍ਰਤੀਕਰਮ ਨੂੰ ਮੁਅੱਤਲ ਕੀਤਾ ਗਿਆ ਹੈ - ਬੋਲੀ ਪ੍ਰਤੀਕਰਮ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕੀਤਾ ਗਿਆ - ਬੋਲੀ ਪ੍ਰਤੀਕਰਮ ਬੰਦ ਹੈ - ਖੇਤਰ ਦੀ ਸ਼ੁਰੂਆਤ - ਖੇਤਰ ਦਾ ਅੰਤ - ਚੋਣ ਮੋਡ ਚਾਲੂ ਹੈ - ਚੋਣ ਮੋਡ ਬੰਦ ਹੈ - ਚੋਣ ਸਾਫ਼ ਕੀਤੀ ਗਈ - ਕਾਲ ਕਰੋ - ਸੁਨੇਹਾ - ਈਮੇਲ - ਵਰਤਾਰਾ - ਪ੍ਰੋਮੋ - ਅਲਾਰਮ - ਪ੍ਰਗਤੀ - ਸਮਾਜਿਕ - ਗੜਬੜ - ਮੀਡੀਆ ਕੰਟਰੋਲ - ਸਿਸਟਮ ਦੀ ਅਵਸਥਾ - ਸੇਵਾ - %1$s ਮੀਨੂ - %1$s ਬਦਲਿਆ ਗਿਆ %2$s - %1$s ਮਿਟਾਇਆ ਗਿਆ - ਕੱਟ ਕਰੋ, %1$s - ਪੇਸਟ ਕੀਤੀ ਗਈ, %1$s - %1$s, ਚੁਣੀ ਗਈ - ਚੁਣੀ ਗਈ ਲਿਖਤ: %1$s - %1$s, ਅਣਚੁਣੀ ਗਈ - ਅਵੈਧ ਇਨਪੁਟ %1$s - %1$s ਅੱਖਰ %2$s ਅੱਖਰਾਂ ਨਾਲ ਬਦਲੇ ਗਏ - %2$s ਲਈ %1$s - %1$s ਪ੍ਰਤੀਸ਼ਤ। - - %1$s %2$d ਆਈਟਮਾਂ ਵਿਖਾਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ। - %1$s %2$d ਆਈਟਮਾਂ ਵਿਖਾਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ। - - Error: %1$s - ਗ੍ਰਿਡ - ਸੂਚੀ - ਟੈਬ ਬਾਰ - ਡ੍ਰੌਪ-ਡਾਊਨ ਸੂਚੀ - ਚੈੱਕ-ਬਾਕਸ - ਰੇਡੀਓ ਬਟਨ - ਬਟਨ - ਸਲਾਈਡਰ - ਸਵਿੱਚ ਕਰੋ - ਸੰਪਾਦਨ ਬਾਕਸ - ਸੰਪਾਦਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ - ਚਿਤਰ - ਲੇਬਲ ਨਹੀਂ ਕੀਤੀ ਗਈ - ਇੱਕ ਤੋਂ ਵਧੇਰੇ-ਪੰਨੇ ਦ੍ਰਿਸ਼ - ਪੰਨਾ - ਪ੍ਰਗਤੀ ਪੱਟੀ - ਵੈੱਬ-ਦ੍ਰਿਸ਼ - ਪਾਸਵਰਡ - ਸਲਾਈਡਿੰਗ ਡ੍ਰਾਅਰ ਖੋਲ੍ਹਿਆ - ਚੋਣਾਂ। - ਹਟਾਇਆ ਗਿਆ ਟੈਕਸਟ - ਅਧਿਕਤਮ ਲੰਮਾਈ ਪੂਰੀ ਹੋਈ - ਚੁਣੀ ਗਈ - ਸਹੀ ਦਾ ਨਿਸ਼ਾਨ ਲੱਗਿਆ ਹੋਇਆ - ਸਹੀ ਦਾ ਨਿਸ਼ਾਨ ਨਹੀਂ ਲੱਗਿਆ ਹੋਇਆ - ਚਾਲੂ - ਬੰਦ - ਅਸਮਰਥਿਤ - ਵਿਸਤਾਰ ਕੀਤਾ ਗਿਆ - ਸੁੰਗੇੜਿਆ ਗਿਆ - ਡਬਲ ਟੈਪ ਕਰੋ - ਟੈਪ ਕਰੋ - \'ਸਵਿੱਚ ਚੁਣੋ\' ਨੂੰ ਦਬਾਓ - \'ਚੁਣੋ\' ਦਬਾਓ - ਸਰਗਰਮ ਕਰਨ ਲਈ %1$s। - ਸਰਗਰਮ ਕਰਨ ਲਈ %1$s ਨੂੰ ਦਬਾਓ। - %1$s ਅਤੇ ਲੰਮਾ ਪ੍ਰੈਸ ਕਰਨ ਲਈ ਹੋਲਡ ਕਰੋ। - ਲੰਬੇ ਸਮੇਂ ਤੱਕ ਦਬਾਉਣ ਲਈ %1$s ਨੂੰ ਦਬਾਓ। - ਟੌਗਲ ਕਰਨ ਲਈ %1$s। - ਟੌਗਲ ਕਰਨ ਲਈ %1$s ਨੂੰ ਦਬਾਓ। - ਲਿਖਤ ਦਾ ਸੰਪਾਦਨ ਕਰਨ ਲਈ %1$s। - ਲਿਖਤ ਦਾ ਸੰਪਾਦਨ ਕਰਨ ਲਈ %1$s ਦਬਾਓ। - ਬਦਲਣ ਲਈ %1$s। - ਬਦਲਣ ਲਈ %1$s ਨੂੰ ਦਬਾਓ। - ਪੰਨੇ ਸਵਿੱਚ ਕਰਨ ਲਈ ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਸਵਾਈਪ ਕਰੋ। - ਕੋਈ ਹੋਰ ਪੰਨੇ ਨਹੀਂ ਹਨ। - ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ ਵੌਲਿਊਮ ਕੁੰਜੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰੋ - ਬਦਲਣ ਲਈ %1$s। - ਕਾਰਵਾਈਆਂ: - %1$s ਤੋਂ %2$s। - %2$s ਦੇ ਲਈ %1$s ਨੂੰ ਦਬਾਓ। - %1$s ਅਤੇ %2$s \'ਤੇ ਰੁਕੋ। - ਸਕ੍ਰੋਲ ਕਰਨ ਲਈ %1$s। - ਉਪਲਬਧ ਕਾਰਵਾਈਆਂ ਲਈ %1$s। - ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ \'ਚੋਣ ਸਵਿੱਚ\' ਨੂੰ ਦਬਾਓ - ਕੈਪਸ ਲਾਕ ਚਾਲੂ। - ਕੈਪਸ ਲਾਕ ਬੰਦ। - ਨਮ ਲਾਕ ਚਾਲੂ। - ਨਮ ਲਾਕ ਬੰਦ। - ਸਕ੍ਰੋਲ ਲਾਕ ਚਾਲੂ। - ਸਕ੍ਰੋਲ ਲਾਕ ਬੰਦ। - ਪੋਰਟਰੇਟ - ਲੈਂਡਸਕੇਪ - ਖਾਰਜ ਕਰੋ - ਵਿਸਤਾਰ ਕਰੋ - ਸਮੇਟੋ - ਰੋ %1$d - ਕਾਲਮ %1$d - %2$d ਵਿੱਚੋਂ %1$d - ਸਿਰਲੇਖ - ਕਤਾਰ ਸਿਰਲੇਖ - ਕਾਲਮ ਸਿਰਲੇਖ - %1$s %2$s ਵਿੱਚ ਹੈ - %1$s ਵਿੱਚ ਹੈ - ਸੂਚੀ %1$s ਵਿੱਚ ਹੈ - ਸੂਚੀ ਵਿੱਚ ਹੈ - %1$s %2$s ਤੋਂ ਬਾਹਰ ਹੈ - %1$s ਤੋਂ ਬਾਹਰ ਹੈ - ਸੂਚੀ %1$s ਤੋਂ ਬਾਹਰ ਹੈ - ਸੂਚੀ ਤੋਂ ਬਾਹਰ ਹੈ - ਗਰਿੱਡ %1$s ਵਿੱਚ ਹੈ - ਗਰਿੱਡ ਵਿੱਚ ਹੈ - ਗਰਿੱਡ %1$s ਤੋਂ ਬਾਹਰ ਹੈ - ਗਰਿੱਡ ਤੋਂ ਬਾਹਰ ਹੈ - ਪੇਜਰ %1$s ਵਿੱਚ - ਪੇਜਰ ਤੋਂ ਬਾਹਰ - ਪੇਜਰ %1$s ਤੋਂ ਬਾਹਰ - ਪੇਜਰ ਤੋਂ ਬਾਹਰ - ਖੜ੍ਹਵੇਂ ਪੇਜਰ %1$s ਵਿੱਚ - ਖੜ੍ਹਵੇਂ ਪੇਜਰ ਵਿੱਚ - ਖੜ੍ਹਵੇਂ ਪੇਜਰ %1$s ਤੋਂ ਬਾਹਰ - ਖੜ੍ਹਵੇਂ ਪੇਜਰ ਤੋਂ ਬਾਹਰ - ਲੇਟਵੇਂ ਪੇਜਰ %1$s ਵਿੱਚ - ਲੇਟਵੇਂ ਪੇਜਰ ਵਿੱਚ - ਲੇਟਵੇਂ ਪੇਜਰ ਤੋਂ ਬਾਹਰ - ਗਰਿੱਡ ਪੇਜਰ %1$s ਵਿੱਚ - ਗਰਿੱਡ ਪੇਜਰ ਵਿੱਚ - ਗਰਿੱਡ ਪੇਜਰ %1$s ਤੋਂ ਬਾਹਰ - ਗਰਿੱਡ ਪੇਜਰ ਤੋਂ ਬਾਹਰ - ਪੱਧਰ %1$d - - %1$d ਆਈਟਮਾਂ - %1$d ਆਈਟਮਾਂ - - - %1$d ਕਤਾਰਾਂ - %1$d ਕਤਾਰਾਂ - - - %1$d ਕਾਲਮ - %1$d ਕਾਲਮ - - - %1$d ਅੱਖਰ - %1$d ਅੱਖਰ - - ਵੱਡਦਰਸ਼ੀਕਰਨ %1$d%% \'ਤੇ ਹੈ - ਵੱਡਦਰਸ਼ੀਕਰਨ %1$d%% - ਵੱਡਦਰਸ਼ੀਕਰਨ ਬੰਦ ਹੈ - ਬੋਲਣ ਦੀ ਗਤੀ %1$d%% ਹੈ - ਵਧਾਓ - ਘਟਾਓ - ਵੱਧੋ-ਵੱਧ - ਘੱਟੋ-ਘੱਟ - %1$d%% - ਪਾਸਵਰਡ ਸਿਰਫ਼ ਹੈੱਡਫ਼ੋਨ ਵਰਤਣ ਵੇਲੇ ਬੋਲੇ ਜਾਂਦੇ ਹਨ - %1$s ਉਪਲਬਧ, ਦੇਖਣ ਲਈ %2$s ਵਰਤੋ। - ਸ਼ਬਦ-ਜੋੜ ਸੁਝਾਅ ਉਪਲਬਧ ਹਨ। - ਵਿੰਡੋ %1$s - %1$s, ਪਛਾਣਿਆ ਗਿਆ ਪ੍ਰਤੀਕ - %1$s, ਲਿਖਤ - diff --git a/compositor/src/main/res/values-pl/strings.xml b/compositor/src/main/res/values-pl/strings.xml deleted file mode 100644 index a45edcfcb..000000000 --- a/compositor/src/main/res/values-pl/strings.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - TalkBack włączony - Funkcja TalkBack jest zawieszona - Wznowiono działanie TalkBack - Usługa TalkBack jest wyłączona - Komunikaty głosowe są włączone - Komunikaty głosowe są zawieszone - Komunikaty głosowe są wznowione - Komunikaty głosowe są wyłączone - Początek pola - Koniec pola - Tryb zaznaczania włączony - Tryb zaznaczania wyłączony - Usunięto zaznaczenie - Połączenie - Wiadomość - E-mail - Wydarzenie - Promocja - Alarm - Postęp - Społeczności - Błąd - Sterowanie multimediami - Stan systemu - Usługa - Menu %1$s - %1$s zastępuje %2$s - Usunięto %1$s - tekst wycięty, %1$s - tekst wklejony, %1$s - tekst zaznaczony, %1$s - Zaznaczony tekst: %1$s - zaznaczenie tekstu usunięte, %1$s - Nieprawidłowe dane wejściowe %1$s - Znaki w liczbie %1$s zastąpiono %2$s znakami - %1$s dla: %2$s - %1$s procent. - - %1$s z %2$d elementem. - %1$s z %2$d elementami. - %1$s z %2$d elementami. - %1$s z %2$d elementu. - - Error: %1$s - Siatka - Lista - Pasek kart - Lista - Pole wyboru - Przycisk opcji - Przycisk - Suwak - Przełącz - Pole edycji - Edytowanie - Zdjęcie - Bez etykiety - Widok z wieloma stronami - Strona - Pasek postępu - Komponent WebView - hasło - Wysuwany panel otwarty - Opcje. - Tekst został usunięty - Osiągnięto maksymalną długość - wybrano - zaznaczono - nie zaznaczono - wł. - wył. - wyłączono - widok rozwinięty - widok zwinięty - Kliknij dwukrotnie - Kliknij - Naciśnij przełącznik wyboru - Naciśnij przycisk wyboru - %1$s, by uaktywnić. - Naciśnij %1$s, by aktywować. - %1$s i przytrzymaj, by wykonać długie naciśnięcie. - Naciśnij %1$s, by wykonać długie naciśnięcie. - %1$s, by przełączyć. - Naciśnij %1$s, by przełączyć. - %1$s, aby edytować tekst. - Naciśnij %1$s, by edytować tekst. - %1$s, by zmienić. - Naciśnij %1$s, by zmienić. - Przesuń dwoma palcami, by zmienić stronę. - Nie ma więcej stron. - Dostosuj, używając przycisków głośności - %1$s, by zmienić. - Działania: - %1$s, by %2$s. - Naciśnij %1$s, by %2$s. - %1$s i przytrzymaj, by %2$s. - %1$s, by przewinąć. - %1$s, by zobaczyć dostępne czynności. - Naciśnij przełącznik wyboru, by dostosować ustawienia - Caps Lock włączony. - Caps Lock wyłączony. - Num Lock włączony. - Num Lock wyłączony. - Scroll Lock włączony. - Scroll Lock wyłączony. - Orientacja pionowa - Orientacja pozioma - Zamknij - Rozwiń - Zwiń - Wiersz %1$d - Kolumna %1$d - %1$d/%2$d - Nagłówek - Nagłówek wiersza - Nagłówek kolumny - %1$s %2$s - %1$s - Na liście %1$s - Na liście - Z: %1$s %2$s - Skończył się pakiet danych %1$s - Poza listą %1$s - Poza listą - W siatce %1$s - W siatce - Poza siatką %1$s - Poza siatką - W miejscu podziału na strony %1$s - W miejscu podziału na strony - Poza miejscem podziału na strony %1$s - Poza miejscem podziału na strony - W miejscu podziału na strony w pionie %1$s - W miejscu podziału na strony w pionie - Poza miejscem podziału na strony w pionie %1$s - Poza miejscem podziału na strony w pionie - W miejscu podziału na strony w poziomie %1$s - W miejscu podziału na strony w poziomie - Poza miejscem podziału na strony w poziomie - W miejscu podziału siatki na strony %1$s - W miejscu podziału siatki na strony - Poza miejscem podziału siatki na strony %1$s - Poza miejscem podziału siatki na strony - Poziom %1$d - - %1$d element - %1$d elementy - %1$d elementów - %1$d elementu - - - %1$d wiersz - %1$d wiersze - %1$d wierszy - %1$d wiersza - - - %1$d kolumna - %1$d kolumny - %1$d kolumn - %1$d kolumny - - - %1$d znak - %1$d znaki - %1$d znaków - %1$d znaku - - Włączono powiększenie %1$d%% - Powiększenie %1$d%% - Powiększenie wyłączone - Szybkość mowy %1$d%% - Zwiększ - Zmniejsz - Wartość maksymalna - Wartość minimalna - %1$d%% - Hasła są odczytywane tylko podczas korzystania ze słuchawek - Dostępne jest działanie %1$s; użyj gestu %2$s, aby wyświetlić. - Dostępne są sugestie pisowni. - Okno %1$s - %1$s, wykryta ikona - %1$s, tekst - diff --git a/compositor/src/main/res/values-pt-rBR/strings.xml b/compositor/src/main/res/values-pt-rBR/strings.xml deleted file mode 100644 index 820027a40..000000000 --- a/compositor/src/main/res/values-pt-rBR/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Talkback ativado - TalkBack suspenso - TalkBack retomado - TalkBack desativado - Feedback falado ativado - Feedback falado suspenso - Feedback falado retomado - Feedback falado desativado - Início do campo - Fim do campo - Modo de seleção ativado - Modo de seleção desativado - Seleção removida - Ligar - Mensagem - E-mail - Evento - Promoção - Alarme - Andamento - Redes sociais - Erro - Controle de mídia - Status do sistema - Serviço - Menu de %1$s - %1$s substituiu %2$s - %1$s excluído - cortado, %1$s - colado, %1$s - %1$s, selecionado - Texto selecionado: %1$s - %1$s, não selecionado - Entrada inválida %1$s - %1$s caracteres substituídos por %2$s caracteres - %1$s para %2$s - %1$s por cento. - - %1$s exibindo %2$d itens. - %1$s exibindo %2$d itens. - - Error: %1$s - Grade - Lista - Barra de guias - Lista suspensa - Caixa de seleção - Botão de opção - Botão - Controle deslizante - Interruptor - Caixa de edição - Editando - Imagem - Sem marcador - Visualização de várias páginas - Página - Barra de progresso - Visualização da Web - senha - Barra deslizante aberta - Opções. - Texto limpo - Tamanho máximo atingido - selecionado - selecionado - não selecionado - ativado - desativado - desativado - expandido - recolhido - Tocar duas vezes - Toque - Pressione o interruptor de seleção - Pressione \"Selecionar\" - %1$s para ativar. - Pressione %1$s para ativar. - %1$s e segure para manter pressionado. - Pressione %1$s para manter pressionado. - %1$s para alternar. - Pressione %1$s para alternar. - %1$s para editar o texto. - Pressione %1$s para editar o texto. - %1$s para alterar. - Pressione %1$s para alterar. - Deslize com dois dedos para alternar entre as páginas. - Mais nenhuma página. - Use as teclas de volume para ajustar - %1$s para alterar. - Ações: - %1$s para %2$s. - Pressione %1$s para %2$s. - %1$s e mantenha pressionado para %2$s. - %1$s para rolar. - %1$s para ver as ações disponíveis. - Pressione o interruptor de seleção para ajustar - Caps Lock ativado. - Caps Lock desativado. - Num Lock ativado. - Num Lock desativado. - Scroll Lock ativado. - Scroll Lock desativado. - Retrato - Paisagem - Dispensar - Expandir - Recolher - Linha %1$d - Coluna %1$d - %1$d de %2$d - Título - Título de linha - Título da coluna - Em %1$s %2$s - Em %1$s - Na lista %1$s - Na lista - De %1$s %2$s - Fora de %1$s - Fora da lista %1$s - Fora da lista - Na grade %1$s - Na grade - Fora da grade %1$s - Fora da grade - No pager %1$s - No pager - Fora do pager %1$s - Fora do pager - No pager vertical %1$s - No pager vertical - Fora do pager vertical %1$s - Fora do pager vertical - No pager horizontal %1$s - No pager horizontal - Fora do pager horizontal - No pager em grade %1$s - No pager em grade - Fora do pager em grade %1$s - Fora do pager em grade - Nível %1$d - - %1$d itens - %1$d itens - - - %1$d linhas - %1$d linhas - - - %1$d colunas - %1$d colunas - - - %1$d caracteres - %1$d caracteres - - Ampliação em %1$d%% - %1$d%% de ampliação - Ampliação desativada - Velocidade da fala: %1$d%% - Aumentar - Diminuir - Máximo - Mínimo - %1$d%% - Senhas faladas apenas ao usar fones de ouvido - %1$s disponível. Use o gesto %2$s para ver. - Sugestões de ortografia disponíveis. - Janela %1$s - %1$s: ícone detectado - %1$s: texto - diff --git a/compositor/src/main/res/values-pt-rPT/strings.xml b/compositor/src/main/res/values-pt-rPT/strings.xml deleted file mode 100644 index 2736abbc1..000000000 --- a/compositor/src/main/res/values-pt-rPT/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack ativado - TalkBack suspenso - TalkBack retomado - TalkBack desativado - Comentários de voz ativados - Comentários de voz suspensos - Comentários de voz retomados - Comentários de voz desativados - Início do campo - Fim do campo - Modo de seleção ativado - Modo de seleção desativado - Seleção anulada - Chamada - Mensagem - Email - Evento - Promoção - Alarme - Progresso - Redes sociais - Erro - Controlo de multimédia - Estado do sistema - Serviço - Menu %1$s - %1$s substitui %2$s - %1$s eliminado - cortado, %1$s - colado, %1$s - %1$s, selecionado - Texto selecionado: %1$s - %1$s, desselecionado - Entrada inválida %1$s - %1$s carateres substituídos por %2$s carateres - %1$s para %2$s - %1$s por cento. - - %1$s a mostrar %2$d item… - %1$s a mostrar %2$d itens… - - Error: %1$s - Grelha - Lista - Barra de separadores - Lista pendente - Caixa de verificação - Botão de opção - Botão - Controlo de deslize - Interruptor - Caixa de edição - A editar - Imagem - Sem etiqueta - Vista de várias páginas - Página - Barra de progresso - Vista Web - palavra-passe - Gaveta deslizante aberta - Opções. - Texto apagado - Tamanho máximo atingido - selecionado - marcado - desmarcado - ativado - desativado - desativado - expandida - fechada - Tocar duas vezes - Tocar - Prima o comutador Selecionar. - Prima o botão de seleção - %1$s para ativar. - Prima %1$s para ativar. - %1$s sem soltar para premir longamente. - Prima %1$s para manter premido. - %1$s para alternar. - Prima %1$s para ativar/desativar. - %1$s para editar texto. - Prima %1$s para editar texto. - %1$s para alterar. - Prima %1$s para alterar. - Deslize rapidamente com dois dedos para mudar de página. - Não existem mais páginas. - Utilizar as teclas de volume para ajustar - %1$s para alterar. - Ações: - %1$s para %2$s. - Prima %1$s para %2$s. - %1$s sem soltar para %2$s. - %1$s para se deslocar. - %1$s para obter as ações disponíveis. - Prima o comutador Selecionar para ajustar. - Caps Lock ativado. - Caps Lock desativado. - Num Lock ativado. - Num Lock desativado. - Scroll Lock ativado. - Scroll Lock desativado. - Retrato - Paisagem - Ignorar - Expandir - Reduzir - Linha %1$d - Coluna %1$d - %1$d de %2$d - Cabeçalho - Título da linha - Título da coluna - Em %1$s %2$s - Em %1$s - Na lista %1$s - Na lista - Fora de %1$s %2$s - Fora de %1$s - Fora da lista %1$s - Fora da lista - Na grelha %1$s - Na grelha - Fora da grelha %1$s - Fora da grelha - Na paginação %1$s. - Na paginação. - Fora da paginação %1$s. - Fora da paginação. - Na paginação vertical %1$s. - Na paginação vertical. - Fora da paginação vertical %1$s. - Fora da paginação vertical. - Na paginação horizontal %1$s. - Na paginação horizontal. - Fora da paginação horizontal. - Na paginação de grelha %1$s. - Na paginação de grelha. - Fora da paginação de grelha %1$s. - Fora da paginação de grelha. - Nível %1$d - - %1$d item - %1$d itens - - - %1$d linha - %1$d linhas - - - %1$d coluna - %1$d colunas - - - %1$d caráter - %1$d carateres - - Ampliação ativada. %1$d%% - Ampliação: %1$d%% - Ampliação desativada - Taxa de voz de %1$d%% - Aumentar - Diminuir - Máximo - Mínimo - %1$d%% - As palavras-passe apenas são lidas quando estiver a utilizar auscultadores. - %1$s disponível, utilize %2$s para ver. - Sugestões de ortografia disponíveis. - Janela %1$s - %1$s, ícone detetado - %1$s, texto - diff --git a/compositor/src/main/res/values-pt/strings.xml b/compositor/src/main/res/values-pt/strings.xml deleted file mode 100644 index 820027a40..000000000 --- a/compositor/src/main/res/values-pt/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Talkback ativado - TalkBack suspenso - TalkBack retomado - TalkBack desativado - Feedback falado ativado - Feedback falado suspenso - Feedback falado retomado - Feedback falado desativado - Início do campo - Fim do campo - Modo de seleção ativado - Modo de seleção desativado - Seleção removida - Ligar - Mensagem - E-mail - Evento - Promoção - Alarme - Andamento - Redes sociais - Erro - Controle de mídia - Status do sistema - Serviço - Menu de %1$s - %1$s substituiu %2$s - %1$s excluído - cortado, %1$s - colado, %1$s - %1$s, selecionado - Texto selecionado: %1$s - %1$s, não selecionado - Entrada inválida %1$s - %1$s caracteres substituídos por %2$s caracteres - %1$s para %2$s - %1$s por cento. - - %1$s exibindo %2$d itens. - %1$s exibindo %2$d itens. - - Error: %1$s - Grade - Lista - Barra de guias - Lista suspensa - Caixa de seleção - Botão de opção - Botão - Controle deslizante - Interruptor - Caixa de edição - Editando - Imagem - Sem marcador - Visualização de várias páginas - Página - Barra de progresso - Visualização da Web - senha - Barra deslizante aberta - Opções. - Texto limpo - Tamanho máximo atingido - selecionado - selecionado - não selecionado - ativado - desativado - desativado - expandido - recolhido - Tocar duas vezes - Toque - Pressione o interruptor de seleção - Pressione \"Selecionar\" - %1$s para ativar. - Pressione %1$s para ativar. - %1$s e segure para manter pressionado. - Pressione %1$s para manter pressionado. - %1$s para alternar. - Pressione %1$s para alternar. - %1$s para editar o texto. - Pressione %1$s para editar o texto. - %1$s para alterar. - Pressione %1$s para alterar. - Deslize com dois dedos para alternar entre as páginas. - Mais nenhuma página. - Use as teclas de volume para ajustar - %1$s para alterar. - Ações: - %1$s para %2$s. - Pressione %1$s para %2$s. - %1$s e mantenha pressionado para %2$s. - %1$s para rolar. - %1$s para ver as ações disponíveis. - Pressione o interruptor de seleção para ajustar - Caps Lock ativado. - Caps Lock desativado. - Num Lock ativado. - Num Lock desativado. - Scroll Lock ativado. - Scroll Lock desativado. - Retrato - Paisagem - Dispensar - Expandir - Recolher - Linha %1$d - Coluna %1$d - %1$d de %2$d - Título - Título de linha - Título da coluna - Em %1$s %2$s - Em %1$s - Na lista %1$s - Na lista - De %1$s %2$s - Fora de %1$s - Fora da lista %1$s - Fora da lista - Na grade %1$s - Na grade - Fora da grade %1$s - Fora da grade - No pager %1$s - No pager - Fora do pager %1$s - Fora do pager - No pager vertical %1$s - No pager vertical - Fora do pager vertical %1$s - Fora do pager vertical - No pager horizontal %1$s - No pager horizontal - Fora do pager horizontal - No pager em grade %1$s - No pager em grade - Fora do pager em grade %1$s - Fora do pager em grade - Nível %1$d - - %1$d itens - %1$d itens - - - %1$d linhas - %1$d linhas - - - %1$d colunas - %1$d colunas - - - %1$d caracteres - %1$d caracteres - - Ampliação em %1$d%% - %1$d%% de ampliação - Ampliação desativada - Velocidade da fala: %1$d%% - Aumentar - Diminuir - Máximo - Mínimo - %1$d%% - Senhas faladas apenas ao usar fones de ouvido - %1$s disponível. Use o gesto %2$s para ver. - Sugestões de ortografia disponíveis. - Janela %1$s - %1$s: ícone detectado - %1$s: texto - diff --git a/compositor/src/main/res/values-ro/strings.xml b/compositor/src/main/res/values-ro/strings.xml deleted file mode 100644 index 0e5ecc7b1..000000000 --- a/compositor/src/main/res/values-ro/strings.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - TalkBack este activat - Funcția TalkBack a fost suspendată - Funcția TalkBack a fost reluată - TalkBack dezactivat - Feedback rostit activat - Feedback rostit suspendat - Feedback rostit reluat - Feedback rostit dezactivat - Începutul câmpului - Finalul câmpului - Modul de selectare este activat - Modul de selectare este dezactivat - Selectarea a fost anulată - Apel - Mesaj - E-mail - Eveniment - Promoție - Alarmă - Progres - Rețele sociale - Eroare - Comandă media - Stare sistem - Serviciu - Meniul %1$s - %1$s a înlocuit %2$s - Textul %1$s a fost șters - decupat, %1$s - inserat, %1$s - %1$s, selectat - Textul selectat: %1$s - %1$s, deselectat - Intrare nevalidă %1$s - %1$s caractere au fost înlocuite cu %2$s caractere - %1$s pentru %2$s - %1$s la sută. - - %1$s cu %2$d element afișat. - %1$s cu %2$d elemente afișate. - %1$s cu %2$d de elemente afișate. - - Error: %1$s - Grilă - Listă - Bară cu file - Listă drop-down - Casetă de selectare - Buton radio - Buton - Glisor - Comutator - Casetă de editare - Editare - Imagine - Neetichetat - Afișare cu mai multe pagini - Pagină - Bară de progres - Afișare conținut web - parolă - Panou culisant deschis - Opțiuni. - Textul a fost șters - A fost atinsă lungimea maximă - selectat - bifat - nebifat - activat - dezactivat - dezactivat - extinsă - restrânsă - Atingere dublă - Atingeți - Apăsați comutatorul Selectați - Apăsați pe Selectați - %1$s pentru a activa. - Apăsați pe %1$s pentru a activa. - %1$s și țineți apăsat pentru apăsare lungă. - Apăsați pe %1$s pentru a apăsa lung. - %1$s pentru a comuta. - Apăsați pe %1$s pentru a comuta. - %1$s pentru a edita textul. - Apăsați %1$s pentru a edita textul. - %1$s pentru a modifica. - Apăsați pe %1$s pentru a modifica. - Glisați cu două degete pentru a comuta între pagini. - Nu mai există pagini. - Utilizați tastele de volum pentru a regla - %1$s pentru a modifica. - Acțiuni: - %1$s pentru %2$s. - Apăsați pe %1$s pentru %2$s. - %1$s lung pentru %2$s. - %1$s pentru a derula. - %1$s pentru acțiunile disponibile. - Apăsați comutatorul Selectați pentru a regla - Caps Lock este activat. - Caps Lock este dezactivat. - Num Lock este activat. - Num Lock este dezactivat. - Scroll Lock este activat. - Scroll Lock este dezactivat. - Portret - Peisaj - Închideți - Extindeți - Restrângeți - Rândul %1$d - Coloana %1$d - %1$d din %2$d - Titlu - Titlul rândului - Titlul coloanei - În %1$s %2$s - În %1$s - În lista %1$s - În listă - Ați ieșit din %1$s %2$s - Ați ieșit din %1$s - Ați ieșit din lista %1$s - Ați ieșit din listă - În grila %1$s - În grilă - Ați ieșit din grila %1$s - Ați ieșit din grilă - În pagina %1$s - În pagină - În afara paginii %1$s - În afara paginii - În pagina verticală %1$s - În pagina verticală - În afara paginii verticale %1$s - În afara paginii verticale - În pagina orizontală %1$s - În pagina orizontală - În afara paginii orizontale - În pagina tip grilă %1$s - În pagina tip grilă - În afara paginii tip grilă %1$s - În afara paginii tip grilă - Nivelul %1$d - - %1$d element - %1$d elemente - %1$d de elemente - - - %1$d rând - %1$d rânduri - %1$d de rânduri - - - %1$d coloană - %1$d coloane - %1$d de coloane - - - %1$d caracter - %1$d caractere - %1$d de caractere - - Mărire activată %1$d%% - Mărire %1$d%% - Mărire dezactivată - Ritmul vorbirii %1$d%% - Măriți - Micșorați - Maxim - Minim - %1$d%% - Parole rostite doar când folosiți căști - Sunt disponibile %1$s, folosiți %2$s pentru a vizualiza. - Sunt disponibile sugestii de ortografie. - Fereastra %1$s - %1$s, pictogramă detectată - %1$s, text - diff --git a/compositor/src/main/res/values-ru/strings.xml b/compositor/src/main/res/values-ru/strings.xml deleted file mode 100644 index c6e2fcf53..000000000 --- a/compositor/src/main/res/values-ru/strings.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - Функция TalkBack включена - Функция TalkBack приостановлена - Функция TalkBack работает - Функция TalkBack отключена - Озвучивание текста на экране включено - Озвучивание текста на экране приостановлено - Озвучивание текста на экране возобновлено - Озвучивание текста на экране отключено - Начало поля - Конец поля - Режим выделения включен - Режим выделения выключен - Выделение отменено - Вызов - Сообщение - Электронная почта - Мероприятие - Акция - Будильник - Ход выполнения - Социальные сети - Ошибка - Управление мультимедиа - Статус системы - Служба - Меню %1$s - Текст %2$s заменен на новый текст %1$s. - Текст %1$s удален. - Вырезан текст \"%1$s\" - Вставлен текст \"%1$s\" - Выделен текст \"%1$s\" - Выделенный текст: %1$s - Отменено выделение текста \"%1$s\" - Эти данные введены неверно. \"%1$s\" - Символы %1$s заменены символами %2$s. - %1$s параметра \"%2$s\" - Процентов: %1$s. - - %1$s содержит %2$d элемент. - %1$s содержит %2$d элемента. - %1$s содержит %2$d элементов. - %1$s содержит %2$d элемента. - - Error: %1$s - Сетка. - Список. - Панель вкладок. - Раскрывающееся меню - Флажок - Переключатель - Кнопка - Ползунок - Переключатель - Окно редактирования - Режим редактирования - Изображение - Без ярлыка - Многостраничный режим - Страница - Индикатор выполнения - Веб-представление - пароль. - Выдвигающаяся панель открыта. - Параметры. - Текст удален. - Это максимальная длина текста - выбрано. - отмечено. - не отмечено. - включено - отключено - отключено. - развернуто - свернуто - Коснитесь дважды - Коснитесь - Нажмите переключатель \"Выбрать\" - Нажмите \"Выбрать\" - %1$s, чтобы активировать. - Чтобы активировать элемент, нажмите %1$s. - %1$s и удерживайте. - Для долгого нажатия используйте сочетание %1$s. - %1$s, чтобы включить или выключить. - Чтобы нажать на переключатель, используйте сочетание %1$s. - Чтобы редактировать текст, нужно %1$s. - Чтобы редактировать текст, нажмите %1$s. - %1$s, чтобы изменить. - Чтобы изменить, нажмите %1$s. - Чтобы листать страницы, проводите двумя пальцами по экрану. - Других страниц нет. - Регулируйте с помощью кнопок громкости - %1$s, чтобы изменить. - Действия: - %1$s, чтобы %2$s. - Чтобы %2$s, нажмите %1$s. - %1$s и удерживайте, чтобы %2$s. - %1$s, чтобы прокрутить. - %1$s, чтобы посмотреть доступные действия. - Чтобы изменить, нажмите переключатель \"Выбрать\" - Режим Caps Lock включен. - Режим Caps Lock отключен. - Режим Num Lock включен. - Режим Num Lock отключен. - Режим Scroll Lock включен. - Режим Scroll Lock отключен. - Вертикальная ориентация. - Горизонтальная ориентация. - Закрыть - Развернуть - Свернуть - Строка %1$d. - Столбец %1$d. - %1$d из %2$d - Заголовок. - Заголовок строки - Заголовок столбца - В роли \"%1$s\" в коллекции \"%2$s\" - В роли \"%1$s\" - В списке \"%1$s\" - В списке - Вне роли \"%1$s\" в коллекции \"%2$s\" - Вне роли \"%1$s\" - Вне списка \"%1$s\" - Вне списка - В сетке \"%1$s\" - В сетке - Вне сетки \"%1$s\" - Вне сетки - В зоне постраничной навигации %1$s - В зоне постраничной навигации - Вне зоны постраничной навигации %1$s - Вне зоны постраничной навигации - В зоне постраничной вертикальной навигации %1$s - В зоне постраничной вертикальной навигации - Вне зоны постраничной вертикальной навигации %1$s - Вне зоны постраничной вертикальной навигации - В зоне постраничной горизонтальной навигации %1$s - В зоне постраничной горизонтальной навигации - Вне зоны постраничной горизонтальной навигации - В зоне постраничной навигации в виде сетки %1$s - В зоне постраничной навигации в виде сетки - Вне зоны постраничной навигации в виде сетки %1$s - Вне зоны постраничной навигации в виде сетки - Уровень %1$d - - %1$d пункт - %1$d пункта - %1$d пунктов - %1$d пункта - - - %1$d строка - %1$d строки - %1$d строк - %1$d строки - - - %1$d столбец - %1$d столбца - %1$d столбцов - %1$d столбца - - - %1$d символ - %1$d символа - %1$d символов - %1$d символа - - Увеличение включено. Масштаб: %1$d%%. - Масштаб: %1$d%% - Увеличение выключено - Скорость речи %1$d%% - Громкость увеличена - Громкость уменьшена - Максимум - Минимум - %1$d %% - Пароли озвучиваются только при использовании наушников - Доступно: %1$s. Чтобы посмотреть, используйте жест %2$s. - Доступны исправления опечаток. - Окно \"%1$s\" - Обнаружен значок: \"%1$s\" - Текст: \"%1$s\" - diff --git a/compositor/src/main/res/values-si/strings.xml b/compositor/src/main/res/values-si/strings.xml deleted file mode 100644 index 9e4e09d30..000000000 --- a/compositor/src/main/res/values-si/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack ක්‍රියාත්මකයි - TalkBack අත්හිටුවන ලදී - TalkBack නැවත ආරම්භ කරන ලදී - TalkBack ක්‍රියාවිරහිතයි - කථන ප්‍රතිපෝෂණ ක්‍රියාත්මකයි - කථන ප්‍රතිපෝෂණ අත්හිටුවා ඇත - කථන ප්‍රතිපෝෂණ නැවත අරඹා ඇත - කථන ප්‍රතිපෝෂණ ක්‍රියාවිරහිතයි - ක්ෂේත්‍රයේ ආරම්භය - ක්ෂේත්‍රයේ අවසානය - තේරීම් ප්‍රකාරය ක්‍රියාත්මකයි - තේරීම් ප්‍රකාරය ක්‍රියාවිරහිතයි - තේරීම හිස් කරන ලදී - අමතන්න - පණිවිඩය - ඊ-තැපෑල - සිදුවීම - ප්‍රවර්ධන - එලාමය - ප්‍රගතිය - සමාජ - දෝෂය - මාධ්‍ය පාලනය - පද්ධති තත්ත්වය - සේවාව - %1$s මෙනුව - %1$s %2$s ප්‍රතිස්ථාපනය කරන ලදී - %1$s මකන ලදී - කපන ලදී, %1$s - අලවන ලදී, %1$s - %1$s, තෝරන ලදී - තෝරා ගත් පෙළ: %1$s - %1$s, නොතෝරන ලදී - වලංගු නොවන ආදානය %1$s - %1$s අකුරු සමග ප්‍රතිස්ථාපනය කළ %2$s අකුරු - %2$s සඳහා %1$s - %1$s ප්‍රතිශතය. - - %1$s අයිතම %2$dක් පෙන්වමින් - %1$s අයිතම %2$dක් පෙන්වමින් - - Error: %1$s - ජාලකය - ලැයිස්තුව - ටැබ් තීර - පතන ලැයිස්තුව - සලකුණු කොටුව - රේඩියෝ බොත්තම - බොත්තම - ස්ලයිඩරය - මාරු වෙන්න - සංස්කරණ කොටුව - සංස්කරණය කරමින් - රූපය - ලේබල් නොකළ - බහු-පිටු දසුන - පිටුව - ප්‍රගති තීරුව - වෙබ් දසුන - මුරපදය - ලිස්සන ලාච්චුව විවෘත විය - විකල්ප. - හිස්කළ පෙළ - උපරිම දිග වෙත ළඟා වුණි - තෝරන ලද - සලකුණු කර ඇත - සළකුණු කර නැත - ක්‍රියාත්මකයි - ක්‍රියාවිරහිතයි - අබල කරන ලදී - දිග හරින ලදී - හකුළුවන ලදී - ද්විත්ව-තට්ටු කිරීම - තට්ටු කරන්න - තෝරාගැනීමේ ස්විචය ඔබන්න - තෝරන්න ඔබන්න - ක්‍රියාත්මක කිරීමට %1$s - සක්‍රිය කිරීමට %1$s ඔබන්න. - දිගු එබීමට %1$s කර අල්ලාගෙන සිටින්න. - දිගු එබීමට %1$s ඔබන්න. - ටොගල කිරීමට %1$s. - ටොගල කිරීමට %1$s ඔබන්න. - පෙළ සංස්කරණය කිරීමට %1$s. - පෙළ සංස්කරණය කිරීමට %1$s ඔබන්න. - වෙනස් කිරීමට %1$s. - වෙනස් කිරීමට %1$s ඔබන්න. - පිටු මාරු කිරීමට ඇඟිලි දෙකකින් ස්වයිප් කරන්න. - තවත් පිටු නැත. - සීරුමාරු කිරීමට හඬ පරිමා යතුරු භාවිත කරන්න - වෙනස් කිරීමට %1$s. - ක්‍රියා: - %1$sට %2$s. - %1$s සිට %2$s ඔබන්න. - %1$s සහ රඳවා ගැනීමට %2$s. - අනුචලනය කිරීමට %1$s. - ලබාගත හැකි ක්‍රියා සඳහා %1$s. - සීරුමාරු කිරීමට ස්විචය තෝරන්න ඔබන්න - Caps Lock ක්‍රියාත්මකයි. - Caps Lock ක්‍රියාවිරහිතයි. - Num Lock ක්‍රියාත්මකයි. - Num Lock ක්‍රියාවිරහිතයි. - Scroll Lock ක්‍රියාත්මකයි. - Scroll Lock ක්‍රියාවිරහිතයි. - ප්‍රතිමුර්ති - තිරස් දර්ශනය - ඉවත ලන්න - දිග හරින්න - හකුළන්න - පේළිය %1$d - තීරුව %1$d - %2$d න් %1$d - හෙඩිම - පේළි ශීර්ෂය - තීරු ශීර්ෂය - %1$s %2$s තුළයි - %1$s තුළයි - %1$s ලැයිස්තුව තුළයි - ලැයිස්තුව තුළයි - %1$s %2$s වෙතින් පිටතය - %1$s වෙතින් පිටතය - %1$s ලැයිස්තුවෙන් පිටතය - ලැයිස්තුවෙන් පිටතය - %1$s ජාලකය තුළය - ජාලකය තුළය - %1$s ජාලකයෙන් පිටතය - ජාලකයෙන් පිටතය - පේජරය තුළ %1$s - පේජරය තුළ - පේජරයෙන් බැහැර %1$s - පේජරයෙන් බැහැර - සිරස් පේජරය තුළ %1$s - සිරස් පේජරය තුළ - සිරස් පේජරයෙන් බැහැර %1$s - සිරස් පේජරයෙන් බැහැර - තිරස් පේජරය තුළ %1$s - තිරස් පේජරය තුළ - තිරස් පේජරයෙන් බැහැර - ජාලක පේජරය තුළ %1$s - ජාලක පේජරය තුළ - ජාලක පේජරයෙන් බැහැර %1$s - ජාලක පේජරයෙන් බැහැර - මට්ටම %1$d - - අයිතම %1$d - අයිතම %1$d - - - පේළි %1$d - පේළි %1$d - - - තීරු %1$d - තීරු %1$d - - - අනුලකුණු %1$d - අනුලකුණු %1$d - - විශාලනය ක්‍රියාත්මකයි %1$d%% - විශාලනය %1$d%% - විශාලනය ක්‍රියාවිරහිතයි - කථන ශීඝ්‍රතාව %1$d%% - වැඩි කර ඇත - අඩු කර ඇත - උපරිම - අවම - %1$d%% - හෙඩ්ෆෝන භාවිත කරන විට පමණක් මුරපද කථනය කෙරේ - %1$s ලබා ගත හැකිය, බැලීමට %2$s භාවිත කරන්න. - අක්ෂර වින්‍යාස යෝජනා ලබා ගත හැකිය. - %1$s කවුළුව - %1$s, අනාවරණය කර ගත් නිරූපකය - %1$s, පෙළ - diff --git a/compositor/src/main/res/values-sk/strings.xml b/compositor/src/main/res/values-sk/strings.xml deleted file mode 100644 index f56746e8b..000000000 --- a/compositor/src/main/res/values-sk/strings.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - Aplikácia TalkBack je zapnutá - Aplikácia TalkBack bola pozastavená - Aplikácia TalkBack bola obnovená - Funkcia TalkBack je vypnutá - Hovorená spätná väzba je zapnutá - Hovorená spätná väzba je pozastavená - Hovorená spätná väzba bola obnovená - Hovorená spätná väzba je vypnutá - Začiatok poľa - Koniec poľa - Režim výberu je zapnutý - Režim výberu je vypnutý - Výber bol vymazaný - Hovor - Správa - E-mail - Udalosť - Propagácia - Budík - Priebeh - Sociálne siete - Chyba - Ovládanie médií - Stav systému - Služba - Ponuka %1$s - Text %1$s bol nahradený textom %2$s - Text %1$s bol odstránený - vystrihnuté, %1$s - prilepené, %1$s - %1$s, vybraté - Vybratý text: %1$s - %1$s, nevybraté - Neplatný vstup: %1$s - Niekoľko znakov (počet: %1$s) bolo nahradených inými znakmi (počet: %2$s) - %1$s pre %2$s - %1$s percent. - - %1$s zobrazuje %2$d položku. - %1$s zobrazuje %2$d položky. - %1$s zobrazuje %2$d položky. - %1$s zobrazuje %2$d položiek. - - Error: %1$s - Mriežka - Zoznam - Panel kariet - Rozbaľovací zoznam - Začiarkavacie políčko - Prepínač - Tlačidlo - Posúvač - Prepínač - Pole úprav - Úpravy - Obrázok - Neoznačené - Zobrazenie viacerých stránok - Stránka - Panel priebehu - Webové zobrazenie - heslo - Výsuvné okno otvorené - Možnosti - Text bol vymazaný - Bola dosiahnutá maximálna povolená dĺžka - vybraté - začiarknuté - nezačiarknuté - zapnuté - vypnuté - deaktivované - rozbalené - zbalené - Dvakrát klepnite - Klepnite - Stlačením prepínača výberu - Stlačte výber - Ak chcete aktivovať, %1$s. - Stlačením klávesov %1$s aktivujete. - Dlhé stlačenie: %1$s a podržte - Stlačením klávesov %1$s vykonáte dlhé stlačenie. - Ak chcete prepnúť, %1$s - Stlačením klávesov %1$s prepnete voľbu. - %1$s a upravte text. - Stlačte %1$s a upravte text. - Akciou %1$s vykonáte zmenu - Stlačením klávesov %1$s vykonáte zmenu. - Ak chcete prepnúť stránky, prejdite dvoma prstami. - Žiadne ďalšie stránky. - Na úpravu použitie klávesy na ovládanie hlasitosti - Akciou %1$s vykonáte zmenu. - Akcie: - %1$s vykoná akciu %2$s. - Stlačením klávesov %1$s vykonáte akciu %2$s. - %1$s a podržanie vykoná akciu %2$s. - %1$s posuňte zobrazenie. - %1$s si sprístupníte dostupné akcie. - Upravte pomocou tlačidla Vybrať prepínač - Funkcia Caps Lock je zapnutá. - Funkcia Caps Lock je vypnutá. - Funkcia Num Lock je zapnutá. - Funkcia Num Lock je vypnutá. - Funkcia Scroll Lock je zapnutá. - Funkcia Scroll Lock je vypnutá. - Na výšku - Na šírku - Odmietnuť - Rozbaliť - Zbaliť - Riadok %1$d - Stĺpec %1$d - %1$d z %2$d - Nadpis - Nadpis riadka - Nadpis stĺpca - V zbierke %1$s %2$s - V zbierke %1$s - V zozname %1$s - V zozname - Mimo zbierky %1$s %2$s - Mimo zbierky %1$s - Mimo zoznamu %1$s - Mimo zoznamu - V mriežke %1$s - V mriežke - Mimo mriežky %1$s - Mimo mriežky - V stránkovači %1$s - V stránkovači - Mimo stránkovača %1$s - Mimo stránkovača - Vo zvislom stránkovači %1$s - Vo zvislom stránkovači - Mimo zvislého stránkovača %1$s - Mimo zvislého stránkovača - Vo vodorovnom stránkovači %1$s - Vo vodorovnom stránkovači - Mimo vodorovného stránkovača - V mriežkovom stránkovači %1$s - V mriežkovom stránkovači - Mimo mriežkového stránkovača %1$s - Mimo mriežkového stránkovača - %1$d. úroveň - - %1$d položka - %1$d položky - %1$d položky - %1$d položiek - - - %1$d riadok - %1$d riadky - %1$d riadka - %1$d riadkov - - - %1$d stĺpec - %1$d stĺpce - %1$d stĺpca - %1$d stĺpcov - - - %1$d znak - %1$d znaky - %1$d znaku - %1$d znakov - - Priblíženie %1$d %% - Zväčšenie %1$d %% - Priblíženie je vypnuté - Rýchlosť reči %1$d %% - Zvýšiť - Znížiť - Maximum - Minimum - %1$d %% - Heslá sa vyslovujú iba cez slúchadlá - %1$s je k dispozícii, dá sa zobraziť pomocou gesta %2$s. - K dispozícii sú návrhy pravopisu. - Okno %1$s - Bola zistená ikona %1$s - Text %1$s - diff --git a/compositor/src/main/res/values-sl/strings.xml b/compositor/src/main/res/values-sl/strings.xml deleted file mode 100644 index 772b4b344..000000000 --- a/compositor/src/main/res/values-sl/strings.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - TalkBack vklopljen - Funkcija TalkBack je začasno onemogočena - Funkcija TalkBack je znova omogočena - Aplikacija TalkBack je izklopljena - Glasovni odziv je vklopljen - Glasovni odziv je onemogočen - Glasovni odziv se nadaljuje - Glasovni odziv je izklopljen - Začetek polja - Konec polja - Način za izbiro je vklopljen - Način za izbiro je izklopljen - Izbor je počiščen - Klic - Sporočilo - E-pošta - Dogodek - Promocija - Opozorilo - Se izvaja - Družabno - Napaka - Nadzor nad predstavnostjo - Stanje sistema - Storitev - Meni %1$s - Novo besedilo %1$s je zamenjalo staro besedilo %2$s - Besedilo %1$s je izbrisano - izrezano, %1$s - prilepljeno, %1$s - %1$s, izbrano - Izbrano besedilo: %1$s - %1$s, preklican izbor - Neveljaven vnos %1$s - Število znakov: %1$s je zamenjano s številom znakov: %2$s - %1$s za %2$s - %1$s odstotkov. - - %1$s prikazuje %2$d element. - %1$s prikazuje %2$d elementa. - %1$s prikazuje %2$d elemente. - %1$s prikazuje %2$d elementov. - - Error: %1$s - Mreža - Seznam - Vrstica z zavihki - Spustni seznam - Potrditveno polje - Izbirni gumb - Gumb - Drsnik - Stikalo - Polje za urejanje - Urejanje - Slika - Brez oznake - Pogled več strani - Stran - Vrstica napredovanja - Spletni pogled - geslo - Drsni predal je odprt - Možnosti. - Izbrisano besedilo - Dosežena je največja dolžina - izbrano - potrjeno - ni označeno - vklopljeno - izklopljeno - onemogočeno - razširjeno - strnjeno - Dvakrat se dotaknite za - Dotik - Pritisnite stikalo »Izberi« - Pritisnite »Select« - %1$s, da aktivirate. - Pritisnite %1$s za aktiviranje. - %1$s in pridržanje za dolg pritisk. - Pritisnite %1$s za dolg pritisk. - %1$s za preklop. - Pritisnite %1$s za preklop. - Za urejanje besedila naredite to: %1$s. - Za urejanje besedila pritisnite »%1$s«. - %1$s za spremembo. - Pritisnite %1$s za spreminjanje. - Povlecite z dvema prstoma, če želite preklapljati med stranmi. - Ni več strani. - Prilagodite s tipkama za glasnost - %1$s, da spremenite. - Dejanja: - %1$s, da %2$s. - Pritisnite %1$s za izvedbo tega: %2$s. - %1$s in pridržite, da %2$s. - %1$s za pomikanje. - %1$s za razpoložljiva dejanja. - Za prilagoditev pritisnite stikalo »Izberi« - Tipka Caps Lock je vklopljena. - Tipka Caps Lock je izklopljena. - Tipka Num Lock je vklopljena. - Tipka Num Lock je izklopljena. - Tipka Scroll Lock je vklopljena. - Tipka Scroll Lock je izklopljena. - Pokončno - Ležeče - Opusti - Razširi - Strni - %1$d. vrstica - %1$d. stolpec - %1$d od %2$d - Naslov - Naslov vrstice - Naslov stolpca - Znotraj območja %1$s %2$s - Znotraj območja %1$s - Znotraj seznama %1$s - Znotraj seznama - Zunaj območja %1$s %2$s - Zunaj območja %1$s - Zunaj seznama %1$s - Zunaj seznama - Znotraj mreže %1$s - Znotraj mreže - Zunaj mreže %1$s - Zunaj mreže - V ostranjevalniku %1$s - V ostranjevalniku - Zunaj ostranjevalnika %1$s - Zunaj ostranjevalnika - V navpičnem ostranjevalniku %1$s - V navpičnem ostranjevalniku - Zunaj navpičnega ostranjevalnika %1$s - Zunaj navpičnega ostranjevalnika - V vodoravnem ostranjevalniku %1$s - V vodoravnem ostranjevalniku - Zunaj vodoravnega ostranjevalnika - V mrežnem ostranjevalniku %1$s - V mrežnem ostranjevalniku - Zunaj mrežnega ostranjevalnika %1$s - Zunaj mrežnega ostranjevalnika - %1$d. stopnja - - %1$d element - %1$d elementa - %1$d elementi - %1$d elementov - - - %1$d vrstica - %1$d vrstici - %1$d vrstice - %1$d vrstic - - - %1$d stolpec - %1$d stolpca - %1$d stolpci - %1$d stolpcev - - - %1$d znak - %1$d znaka - %1$d znaki - %1$d znakov - - Povečava je nastavljena na %1$d %% - Povečava %1$d %% - Povečava je izklopljena - Hitrost govora %1$d %% - Povečanje - Zmanjšanje - Največ - Najmanj - %1$d %% - Gesla so izgovorjena samo pri uporabi slušalk - Na voljo je »%1$s«, za ogled uporabite potezo »%2$s«. - Na voljo so predlogi za črkovanje. - Okno »%1$s« - Zaznana ikona: %1$s - Besedilo: %1$s - diff --git a/compositor/src/main/res/values-sq/strings.xml b/compositor/src/main/res/values-sq/strings.xml deleted file mode 100644 index 9a41ae54e..000000000 --- a/compositor/src/main/res/values-sq/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack është aktiv - TalkBack u pezullua - TalkBack rifilloi - TalkBack joaktiv - Komentet me zë janë aktive - Komentet me zë janë pezulluar - Komentet me zë vazhduan - Komentet me zë joaktive - Fillimi i fushës - Fundi i fushës - Modaliteti i zgjedhjes është aktiv - Modaliteti i zgjedhjes është joaktiv - Zgjedhja u pastrua - Telefonatë - Mesazh - Email - Ngjarje - Promocion - Alarm - Progresi - Sociale - Gabim - Kontrolli i medias - Statusi i sistemit - Shërbim - Menyja %1$s - %1$s zëvendësoi %2$s - %1$s u fshi - u pre, %1$s - u ngjit, %1$s - %1$s, u zgjodh - Teksti i zgjedhur: %1$s - %1$s, u anulua zgjedhja - Hyrje e pavlefshme %1$s - %1$s karaktere u zëvendësuan me %2$s karaktere - %1$s për %2$s - %1$s për qind. - - %1$s shfaq %2$d artikull. - %1$s shfaq %2$d artikuj. - - Error: %1$s - Rrjeta - Lista - Shiriti i skedës - Lista me lëshim poshtë - Kutia e kontrollit - Butoni i radios - Butoni - Rrëshqitësi - Çelësi - Redakto kutinë - Po redaktohet - Imazh - Pa etiketë - Pamja me shumë faqe - Faqe - Shiriti i progresit - Pamja e uebit - fjalëkalimi - Sirtari me rrëshqitje u hap - Opsionet. - Teksti u pastrua - U arrit gjatësia maksimale - u zgjodh - u përzgjodh - nuk u përzgjodh - aktiv - joaktiv - çaktivizuar - u zgjerua - u palos - Trokit dy herë - Trokit - Shtyp \"Zgjidh çelësin\" - Shtyp \"zgjidh\" - %1$s për ta aktivizuar. - Shtyp %1$s për ta aktivizuar. - %1$s dhe mbaje shtypur gjatë. - Shtyp %1$s për shtypjen e gjatë. - %1$s për ta ndryshuar. - Shtyp %1$s për ta ndryshuar. - %1$s për të redaktuar tekstin. - Shtyp %1$s për të redaktuar tekstin. - %1$s për ta ndryshuar. - Shtyp %1$s për ta ndryshuar. - Rrëshqit shpejt me dy gishta për të ndërruar faqet. - Nuk ka faqe të tjera. - Përdor tastet e volumit për ta rregulluar - %1$s për ta ndryshuar. - Veprimet - %1$s për %2$s. - Shtyp %1$s për %2$s. - %1$s dhe mbaje shtypur %2$s. - %1$s për të lëvizur. - %1$s për veprimet që ofrohen. - Shtyp \"Zgjidh çelësin\" për ta rregulluar - Kyçja e kapitaleve aktive. - Kyçja e kapitaleve joaktive. - Kyçja e numrave aktive. - Kyçja e numrave joaktive. - Kyçja e lëvizjes aktive. - Kyçja e lëvizjes joaktive. - Vertikalisht - Horizontalisht - Hiqe - Zgjero - Palos - Rreshti %1$d - Kolona %1$d - %1$d nga %2$d - Titulli - Titulli i rreshtit - Titulli i kolonës - Në %1$s %2$s - Në %1$s - Në listën %1$s - Në listë - Nga %1$s %2$s - Nga %1$s - Jashtë listës %1$s - Jashtë listës - Në rrjetën %1$s - Në rrjetë - Jashtë rrjetës %1$s - Jashtë rrjetës - Në faqosjes %1$s - Në faqosje - Jashtë faqosjes %1$s - Jashtë faqosjes - Në faqosjen vertikale %1$s - Në faqosjen vertikale - Jashtë faqosjes vertikale %1$s - Jashtë faqosjes vertikale - Në faqosjen horizontale %1$s - Në faqosjen horizontale - Jashtë faqosjes horizontale - Në faqosjen e rrjetës %1$s - Në faqosjen e rrjetës - Jashtë faqosjes së rrjetës %1$s - Jashtë faqosjes së rrjetës - Niveli %1$d - - %1$d artikull - %1$d artikuj - - - %1$d rresht - %1$d rreshta - - - %1$d kolonë - %1$d kolona - - - %1$d karakter - %1$d karaktere - - Zmadhimi aktiv %1$d%% - Zmadhimi %1$d%% - Zmadhimi joaktiv - Shpejtësia e të folurit %1$d%% - Rrit - Ul - Maksimumi - Minimumi - %1$d%% - Fjalëkalimet lexohen me zë vetëm kur përdor kufjet - Ofrohet %1$s, përdor %2$s për ta parë. - Ofrohen sugjerime për drejtshkrimin. - Dritarja %1$s - Ikona e zbuluar: %1$s - Teksti: %1$s - diff --git a/compositor/src/main/res/values-sr/strings.xml b/compositor/src/main/res/values-sr/strings.xml deleted file mode 100644 index 6dacdc0d1..000000000 --- a/compositor/src/main/res/values-sr/strings.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - TalkBack је укључен - TalkBack је суспендован - Коришћење TalkBack-а је настављено - TalkBack је искључен - Говорне повратне информације су укључене - Говорне повратне информације су обустављене - Говорне повратне информације су настављене - Говорне повратне информације су искључене - Почетак поља - Крај поља - Режим избора је укључен - Режим избора је искључен - Избор је обрисан - Позив - Порука - Имејл - Догађај - Промоција - Аларм - Напредак - Друштвена мрежа - Грешка - Контрола медијских датотека - Статус система - Услуга - Мени %1$s - Текст %1$s је заменио текст %2$s - Текст %1$s је избрисан - исечено, %1$s - налепљено, %1$s - %1$s, изабрано - Изабрани текст: %1$s - %1$s, избор је опозван - Неважећи унос %1$s - Стари број знакова (%1$s) замењен је новим бројем знакова (%2$s) - %1$s за %2$s - %1$s посто. - - %1$s приказује %2$d ставку. - %1$s приказује %2$d ставке. - %1$s приказује %2$d ставки. - - Error: %1$s - Мрежа - Листа - Трака са картицама - Падајућа листа - Поље за потврду - Дугме за избор - Дугме - Клизач - Прекидач - Оквир за измене - Измена је у току - Слика - Нема ознаку - Приказ са више страница - Страница - Трака напретка - Веб-приказ - лозинка - Клизна фиока је отворена - Опције. - Текст је обрисан - Достигнута је максимална дужина - изабрано је - обележено је - није означено - укључено - искључено - онемогућено је - проширено - скупљено - Додирните двапут - Додирните - Притисните прекидач Изабери - Притисните Изабери - %1$s да бисте активирали. - Притисните %1$s да бисте активирали. - %1$s и задржите за дуги притисак. - Притисните %1$s за дуги притисак. - %1$s да бисте пребацивали. - Притисните %1$s да бисте укључили/искључили. - Да бисте изменили текст: %1$s - Притисните %1$s да бисте изменили текст. - %1$s да бисте променили. - Притисните %1$s да бисте променили. - Превуците са два прста да бисте променили страницу. - Нема више страница. - Користите тастере за јачину звука да бисте прилагодили - %1$s да бисте променили. - Радње: - %1$s за радњу %2$s. - Притисните %1$s да бисте %2$s. - %1$s и задржите за радњу %2$s. - %1$s да бисте се померали. - %1$s за доступне радње. - Притисните прекидач Изабери да бисте подесили - Caps Lock је укључен. - Caps Lock је искључен. - Num Lock је укључен. - Num Lock је искључен. - Scroll Lock је укључен. - Scroll Lock је искључен. - Усправно - Водоравно - Одбаци - Прошири - Скупи - Ред %1$d - Колона %1$d - %1$d. од %2$d - Наслов - Наслов реда - Наслов колоне - У улози %1$s у оквиру колекције %2$s - У улози %1$s - На листи %1$s - На листи - Ван улоге %1$s у оквиру колекције %2$s - Ван улоге %1$s - Ван листе %1$s - Ван листе - На мрежи %1$s - На мрежи - Ван мреже %1$s - Ван мреже - У алатки за преглед страница %1$s - У алатки за преглед страница - Ван алатке за преглед страница %1$s - Ван алатке за преглед страница - У вертикалној алатки за преглед страница %1$s - У вертикалној алатки за преглед страница - Ван вертикалне алатке за преглед страница %1$s - Ван вертикалне алатке за преглед страница - У хоризонталној алатки за преглед страница %1$s - У хоризонталној алатки за преглед страница - Ван хоризонталне алатке за преглед страница - У алатки за преглед страница помоћу мреже %1$s - У алатки за преглед страница помоћу мреже - Ван алатке за преглед страница помоћу мреже %1$s - Ван алатке за преглед страница помоћу мреже - %1$d. ниво - - %1$d ставка - %1$d ставке - %1$d ставки - - - %1$d ред - %1$d реда - %1$d редова - - - %1$d колона - %1$d колоне - %1$d колона - - - %1$d знак - %1$d знака - %1$d знакова - - Увећање је %1$d%% - Увећање %1$d%% - Увећање је искључено - Брзина говора %1$d%% - Повећавање - Смањивање - Максимум - Минимум - %1$d%% - Лозинке се изговарају само када користите слушалице - %1$s вам је на располагању. Прегледајте помоћу покрета %2$s. - Доступни су правописни предлози - Прозор %1$s - %1$s, откривена икона - %1$s, текст - diff --git a/compositor/src/main/res/values-sv/strings.xml b/compositor/src/main/res/values-sv/strings.xml deleted file mode 100644 index 6e2d50b05..000000000 --- a/compositor/src/main/res/values-sv/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack på - TalkBack har inaktiverats - Återuppta TalkBack - TalkBack av - Talad feedback på - Talad feedback avstängd - Talad feedback återupptagen - Talad feedback av - Början av fältet - Slutet av fältet - Markeringsläget har aktiverats - Markeringsläget har inaktiverats - Markeringen har tagits bort - Samtal - Meddelande - E-post - Händelse - Kampanj - Alarm - Förlopp - Socialt - Fel - Mediakontroll - Systemstatus - Tjänst - Menyn %1$s - %1$s har ersatt %2$s - %1$s har raderats - klippte ut, %1$s - klistrade in, %1$s - %1$s, markerat - Markerad text: %1$s - %1$s, avmarkerat - Ogiltig inmatning %1$s - %1$s tecken har ersatts med %2$s tecken. - %1$s för %2$s - %1$s procent. - - %1$s med %2$d post. - %1$s med %2$d poster. - - Error: %1$s - Rutnät - Lista - Flikfält - Rullgardinsmeny - Kryssruta - Alternativknapp - Knapp - Skjutreglage - Reglage - Redigeringsruta - Redigering - Bild - Namnlös - Vy med flera sidor - Sida - Förloppsindikator - Webbvy - lösenord - Lådan är öppen - Alternativ. - Texten har tagits bort - Maximal längd har uppnåtts - markerad - markerad - inte markerad - - av - inaktiverad - utökad - komprimerad - Tryck två gånger - Tryck - trycka på Välj-brytaren - Tryck på Välj - %1$s för att aktivera. - Tryck %1$s om du vill aktivera. - %1$s och håll för att trycka länge. - Tryck %1$s om du vill trycka länge. - %1$s för att aktivera/inaktivera. - Tryck %1$s om du vill aktivera och inaktivera. - %1$s för att redigera text. - Tryck på %1$s för att redigera text. - %1$s om du vill ändra. - Tryck %1$s om du vill ändra. - Svep med två fingrar om du vill byta sida. - Det finns inga fler sidor. - Justera med volymknapparna - %1$s om du vill ändra. - Åtgärder: - %1$s om du vill %2$s. - Tryck %1$s om du vill %2$s. - %1$s och håll ned om du vill %2$s. - Scrolla genom att %1$s. - Se vilka åtgärder som är tillgängliga genom att %1$s. - Tryck på Välj brytare om du vill justera detta - Caps Lock har aktiverats. - Caps Lock har inaktiverats. - Num Lock har aktiverats. - Num Lock har inaktiverats. - Scroll Lock har aktiverats. - Scroll Lock har inaktiverats. - Stående - Liggande - Ignorera - Utöka - Komprimera - Rad %1$d - Kolumn %1$d - %1$d av %2$d - Rubrik - Radrubrik - Kolumnrubrik - I %1$s %2$s - I %1$s - I listan %1$s - I listan - Av %1$s %2$s - Av %1$s - Utanför listan %1$s - Utanför listan - I rutnätet %1$s - I rutnätet - Utanför rutnätet %1$s - Utanför rutnätet - I pager %1$s - I pager - Utanför pager %1$s - Utanför pager - I vertikal pager %1$s - I vertikal pager - Utanför vertikal pager %1$s - Utanför vertikal pager - I horisontell pager %1$s - I horisontell pager - Utanför horisontell pager - I rutnätsbaserad pager %1$s - I rutnätsbaserad pager - Utanför rutnätsbaserad pager %1$s - Utanför rutnätsbaserad pager - Nivå %1$d - - %1$d objekt - %1$d objekt - - - %1$d rad - %1$d rader - - - %1$d kolumn - %1$d kolumner - - - %1$d tecken - %1$d tecken - - Förstoring har aktiverats och är %1$d%% - Förstoring %1$d%% - Förstoring har inaktiverats - Talhastighet %1$d %% - Höja - Sänka - Högsta - Lägsta - %1$d %% - Lösenord läses endast upp när hörlurar används - %1$s är tillgängligt. Visa med hjälp av rörelsen %2$s. - Det finns stavningsförslag. - Fönstret %1$s - %1$s, identifierad ikon - %1$s, text - diff --git a/compositor/src/main/res/values-sw/strings.xml b/compositor/src/main/res/values-sw/strings.xml deleted file mode 100644 index 90a0de92e..000000000 --- a/compositor/src/main/res/values-sw/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack imewashwa - TalkBack imesimamishwa - TalkBack inaendelea - Kipengele cha TalkBack kimezimwa - Kipengele cha Maelezo Yanayotamkwa kimewashwa - Kipengele cha Maelezo Yanayotamkwa kimesimamishwa - Kipengele cha Maelezo Yanayotamkwa kimerejeshwa - Kipengele cha Maelezo Yanayotamka kimezimwa - Mwanzo wa sehemu - Mwisho wa sehemu - Hali ya kuchagua imewashwa - Hali ya kuchagua imezimwa - Uteuzi umefutwa - Simu - Ujumbe - Barua pepe - Tukio - Tangazo - Kengele - Maendeleo - Mitandao Jamii - Hitilafu - Kudhibiti maudhui - Hali ya mfumo - Huduma - Menyu ya %1$s - %1$s yamechukua nafasi ya %2$s - %1$s yamefutwa - %1$s, yamekatwa - %1$s, yamebandikwa - %1$s, yamechaguliwa - Maandishi yaliyochaguliwa: %1$s - %1$s, yameondolewa - Ingizo lisilosahihi %1$s - Herufi %2$s zilichukua nafasi ya herufi %1$s - %1$s cha %2$s - Asilimia %1$s. - - %1$s inaonyesha kipengee %2$d. - %1$s inaonyesha vipengee %2$d. - - Error: %1$s - Gridi - Orodha - Upao wa kichupo - Orodha kunjuzi - Kisanduku cha kuteua - Kitufe cha mviringo - Kitufe - Kitelezi - Swichi - Kisanduku cha kubadilisha - Inabadilisha - Picha - Kisicho na lebo - Mwonekano wa kurasa nyingi - Ukurasa - Upau wa kuonyesha hatua - Mwonekano wa Wavuti - nenosiri - Droo ya kutelezesha imefunguliwa - Chaguo. - Maandishi yaliyofutwa - Urefu hauwezi kuzidi hapa - Iliyochaguliwa - imeteuliwa - haijachaguliwa - Kimewashwa - Kimezimwa - imezimwa - imepanuliwa - imekunjwa - Gusa mara mbili - Gusa - Bonyeza \'Chagua Swichi\' - Bonyeza kitufe cha chagua - %1$s ili uwashe. - Bonyeza %1$s ili uwashe. - %1$s na ushikile ili kubonyeza kwa muda mrefu. - Bofya %1$s ili ubonyeze kwa muda mrefu. - %1$s ili ugeuze. - Bonyeza %1$s ili ugeuze. - %1$s ili ubadilishe matini. - Bonyeza %1$s ili ubadilishe matini. - %1$s ili ubadilishe. - Bonyeza %1$s ili ubadilishe. - Telezesha kwa vidole viwili ili ubadilishe kurasa. - Hakuna kurasa zaidi. - Tumia vitufe vya sauti ili kurekebisha - %1$s ili ubadilishe. - Vitendo: - %1$s ili %2$s. - Bonyeza %1$s ili %2$s. - %1$s na ushikile ili %2$s. - %1$s ili usogeze. - %1$s ili uone vitendo vinavyopatikana. - Bonyeza \'Chagua Swichi\' ili ufanye marekebisho - Caps Lock imewashwa. - Caps lock imezimwa. - Num Lock imewashwa. - Num Lock imezimwa. - Scroll Lock imewashwa. - Scroll Lock imezimwa. - Wima - Mlalo - Ondoa - Panua - Kunja - Safu mlalo %1$d - Safu wima %1$d - %1$d kati ya %2$d - Kichwa - Kichwa cha safu mlalo - Kichwa cha safu wima - Uko katika %1$s %2$s - Uko katika %1$s - Umeorodheshwa katika %1$s - Umeorodheshwa - Hauko katika %1$s %2$s - Hauko katika %1$s - Haujaorodheshwa katika %1$s - Haujaorodheshwa - Uko katika gridi ya %1$s - Uko katika gridi - Hauko katika gridi ya %1$s - Hauko katika gridi - Katika peja %1$s - Katika peja - Nje ya peja %1$s - Nje ya peja - Katika peja wima %1$s - Katika peja wima - Nje ya peja wima %1$s - Nje ya peja wima - Katika peja mlalo %1$s - Katika peja mlalo - Nje ya peja mlalo - Katika peja ya gridi %1$s - Katika peja ya gridi - Nje ya peja ya gridi %1$s - Nje ya peja ya gridi - Kiwango cha %1$d - - Kipengee %1$d - Vipengee %1$d - - - Safu mlalo %1$d - Safu mlalo %1$d - - - Safu wima %1$d - Safu wima %1$d - - - Herufi %1$d - Herufi %1$d - - Imewasha kipengele cha kukuza skrini kwa %1$d%% - Imekuza skrini kwa %1$d%% - Imezima kipengele cha kukuza skrini - Kasi ya matamshi %1$d%% - Ongeza - Punguza - Kiwango cha Juu - Kiwango cha chini zaidi - %1$d%% - Manenosiri hutamkwa wakati unatumia tu vipokea sauti vinavyobanwa kichwani - %1$s inapatikana, tumia %2$s ili uangalie. - Mapendekezo ya tahajia yanapatikana. - Dirisha la %1$s - %1$s, imetambua aikoni - %1$s, tuma SMS - diff --git a/compositor/src/main/res/values-ta/strings.xml b/compositor/src/main/res/values-ta/strings.xml deleted file mode 100644 index cf222b69b..000000000 --- a/compositor/src/main/res/values-ta/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack இயக்கத்தில் - TalkBack இடைநீக்கப்பட்டது - TalkBack மீண்டும் தொடங்கப்பட்டது - TalkBack ஆஃப் செய்யப்பட்டுள்ளது - பேச்சுவடிவில் கருத்துத் தெரிவித்தல் ஆனில் உள்ளது - பேச்சுவடிவில் கருத்துத் தெரிவித்தல் இடைநிறுத்தப்பட்டுள்ளது - பேச்சுவடிவில் கருத்துத் தெரிவித்தல் மீண்டும் தொடங்கப்பட்டது - பேச்சுவடிவில் கருத்துத் தெரிவித்தல் ஆஃப் செய்யப்பட்டுள்ளது - புலத்தின் தொடக்கம் - புலத்தின் முடிவு - தேர்ந்தெடுத்தல் பயன்முறை இயக்கப்பட்டுள்ளது - தேர்ந்தெடுத்தல் பயன்முறை முடக்கப்பட்டுள்ளது - தேர்ந்தெடுத்த உரை அழிக்கப்பட்டது - அழை - செய்தி - மின்னஞ்சல் - நிகழ்வு - விளம்பரம் - அலாரம் - செயல்நிலை - சமூகம் - பிழை - மீடியா கட்டுப்பாடு - சாதன நிலை - சேவை - %1$s மெனு - %1$s, %2$sஐ மாற்றியது - %1$s நீக்கப்பட்டது - %1$s வெட்டப்பட்டது - %1$s ஒட்டப்பட்டது - %1$s தேர்ந்தெடுக்கப்பட்டது - தேர்ந்தெடுத்த உரை: %1$s - %1$s தேர்வுநீக்கப்பட்டது - தவறான உள்ளீடு %1$s - %1$s எழுத்துகள் %2$s எழுத்துகளால் மாற்றப்பட்டன - %2$sக்கான %1$s - %1$s சதவீதம். - - %1$s ஆனது %2$d உருப்படியைக் காட்டுகிறது. - %1$s ஆனது %2$d உருப்படிகளைக் காட்டுகிறது. - - Error: %1$s - கட்டம் - பட்டியல் - தாவல் பட்டி - கீழ் தோன்றுதல் பட்டி - செக்பாக்ஸ் - ரேடியோ பட்டன் - பட்டன் - ஸ்லைடர் - ஸ்விட்ச் - திருத்துதல் பெட்டி - திருத்துகிறீர்கள் - படம் - லேபிளிடப்படாதது - பல பக்கக் காட்சி - பக்கம் - செயல்நிலைப் பட்டி - வெப்வியூ - கடவுச்சொல் - சறுக்கும் டிராயர் திறக்கப்பட்டது - விருப்பங்கள். - உரை அழிக்கப்பட்டது - அதிகபட்ச நீளத்தை அடைந்தது - தேர்ந்தெடுக்கப்பட்டது - தேர்ந்தெடுக்கப்பட்டது - தேர்வுசெய்யப்படவில்லை - ஆன் - ஆஃப் - முடக்கப்பட்டது - விரிக்கப்பட்டது - சுருக்கப்பட்டது - இருமுறை தட்டுதல் - தட்டு - செலக்ட் ஸ்விட்ச்சை அழுத்தவும் - \"தேர்ந்தெடு\" என்பதை அழுத்தவும் - செயல்படுத்த, %1$s. - செயல்படுத்த, %1$sஐ அழுத்தவும். - சிறிதுநேரம் அழுத்திப் பிடிக்க, %1$s பிடிக்கவும். - அழுத்திப் பிடிக்க, %1$sஐ அழுத்தவும். - மாற்ற, %1$s. - நிலைமாற்ற, %1$sஐ அழுத்தவும். - உரையை மாற்ற %1$s. - உரையை மாற்ற %1$sஐ அழுத்தவும். - மாற்ற, %1$s. - மாற்ற, %1$sஐ அழுத்தவும். - பக்கங்களை மாற்ற, இரண்டு விரல்களால் ஸ்வைப் செய்யவும். - மேலும் பக்கங்கள் இல்லை. - நகர்தல் கட்டுப்பாட்டைச் சரிசெய்ய, ஒலியளவு விசைகளைப் பயன்படுத்தவும் - மாற்றுவதற்கு, %1$s. - செயல்கள்: - %2$sக்கு, %1$s. - %2$sக்கு, %1$sஐ அழுத்தவும். - %2$sக்கு, %1$s பிடிக்கவும். - மேலும் கீழும் செல்ல, %1$s. - செய்யக்கூடிய செயல்களுக்கு, %1$s. - சரிசெய்ய, செலக்ட் ஸ்விட்ச்சை அழுத்தவும் - Caps Lock இயக்கப்பட்டது. - Caps Lock முடக்கப்பட்டது. - Num Lock இயக்கப்பட்டது. - Num Lock முடக்கப்பட்டது. - Scroll Lock இயக்கப்பட்டது. - Scroll Lock முடக்கப்பட்டது. - நீளமாக - அகலமாக - நிராகரி - விரி - சுருக்கு - வரிசை %1$d - நெடுவரிசை %1$d - %1$d / %2$d - தலைப்பு - வரிசையின் தலைப்பு - நெடுவரிசையின் தலைப்பு - %2$s %1$s இல் உள்ளீர்கள் - %1$s இல் உள்ளீர்கள் - %1$s பட்டியலில் உள்ளீர்கள் - பட்டியலில் உள்ளீர்கள் - %1$s %2$s இல் இருந்து வெளியேறிவிட்டீர்கள் - %1$s இல் இருந்து வெளியேறிவிட்டீர்கள் - %1$s பட்டியலில் இருந்து வெளியேறிவிட்டீர்கள் - பட்டியலில் இருந்து வெளியேறிவிட்டீர்கள் - %1$s கட்டத்தில் உள்ளீர்கள் - கட்டத்தில் உள்ளீர்கள் - %1$s கட்டத்தில் இருந்து வெளியேறிவிட்டீர்கள் - கட்டத்தில் இருந்து வெளியேறிவிட்டீர்கள் - %1$s பேஜரில் உள்ளீர்கள் - பேஜரில் உள்ளீர்கள் - %1$s பேஜரிலிருந்து விலகி உள்ளீர்கள் - பேஜரிலிருந்து விலகி உள்ளீர்கள் - %1$s செங்குத்துத் திசையமைப்பிலுள்ள பேஜரில் உள்ளீர்கள் - செங்குத்துத் திசையமைப்பிலுள்ள பேஜரில் உள்ளீர்கள் - %1$s செங்குத்து திசையமைப்பிலுள்ள பேஜரிலிருந்து விலகி உள்ளீர்கள் - செங்குத்து திசையமைப்பிலுள்ள பேஜரிலிருந்து விலகி உள்ளீர்கள் - %1$s கிடைமட்டத் திசையமைப்பிலுள்ள பேஜரில் உள்ளீர்கள் - கிடைமட்டத் திசையமைப்பிலுள்ள பேஜரில் உள்ளீர்கள் - கிடைமட்டத் திசையமைப்பிலுள்ள பேஜரிலிருந்து விலகி உள்ளீர்கள் - %1$s பேஜர் கட்டத்தில் உள்ளீர்கள் - பேஜர் கட்டத்தில் உள்ளீர்கள் - %1$s பேஜர் கட்டத்திலிருந்து விலகியுள்ளீர்கள் - பேஜர் கட்டத்திலிருந்து விலகி உள்ளீர்கள் - நிலை %1$d - - %1$d உருப்படி - %1$d உருப்படிகள் - - - %1$d வரிசை - %1$d வரிசைகள் - - - %1$d நெடுவரிசை - %1$d நெடுவரிசைகள் - - - %1$d எழுத்துக்குறி - %1$d எழுத்துக்குறிகள் - - பெரிதாக்கல் இயக்கப்பட்டது %1$d%% - பெரிதாக்கல் %1$d%% - பெரிதாக்கல் முடக்கப்பட்டது - பேச்சு வீதம் %1$d%% - அதிகரித்துள்ளது - குறைந்துள்ளது - அதிகபட்சம் - குறைந்தபட்சம் - %1$d%% - ஹெட்ஃபோன் பயன்படுத்தும் போது மட்டும் கடவுச்சொற்கள் படிக்கப்படும் - %1$s கிடைக்கிறது, அதைப் பார்க்க %2$sஐப் பயன்படுத்துங்கள். - ஸ்பெல்லிங் பரிந்துரைகள் கிடைக்கின்றன. - சாளரம் %1$s - %1$s ஐகான் கண்டறியப்பட்டது - %1$s என்று குறிப்பிடப்பட்டுள்ளது - diff --git a/compositor/src/main/res/values-te/strings.xml b/compositor/src/main/res/values-te/strings.xml deleted file mode 100644 index 3013d1816..000000000 --- a/compositor/src/main/res/values-te/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack ఆన్‌లో ఉంది - TalkBack తాత్కాలికంగా నిలిపివేయబడింది - TalkBack పునఃప్రారంభించబడింది - TalkBack ఆఫ్‌లో ఉంది - మాటల ప్రతిస్పందన ఆన్‌లో ఉంది - మాటల ప్రతిస్పందన తాత్కాలికంగా నిలిపివేయబడింది - మాటల ప్రతిస్పందన మళ్లీ ప్రారంభించబడింది - మాటల ప్రతిస్పందన ఆఫ్‌లో ఉంది - ఫీల్డ్‌లో మొదట్లో ఉంది - ఫీల్డ్‌లో చివర్లో ఉంది - ఎంపిక మోడ్ ఆన్‌లో ఉంది - ఎంపిక మోడ్ ఆఫ్‌లో ఉంది - ఎంపిక తీసివేయబడింది - కాల్ - మెసేజ్‌ - ఈమెయిల్‌ - ఈవెంట్ - ప్రోమో - అలారం - ప్రోగ్రెస్ - సామాజికం - ఎర్రర్ - మీడియా నియంత్రణ - సిస్టమ్ స్టేటస్‌ - సేవ - %1$s మెనూ - %2$s %1$sతో భర్తీ చేయబడింది - %1$s తొలగించబడింది - %1$s, కత్తిరించబడింది - %1$s, అతికించబడింది - %1$s, ఎంచుకోబడింది - ఎంచుకున్న వచనం: %1$s - %1$s, ఎంపిక తీసివేయబడింది - చెల్లని ఇన్‌పుట్ %1$s - %1$s అక్షరాలు %2$s అక్షరాలతో భర్తీ చేయబడ్డాయి - %2$s కోసం %1$s - %1$s శాతం. - - %1$s %2$d అంశాన్ని చూపుతోంది. - %1$s %2$d అంశాలను చూపుతోంది. - - Error: %1$s - గ్రిడ్ - లిస్ట్‌ - ట్యాబ్ బార్ - డ్రాప్ డౌన్ లిస్ట్‌ - తనిఖీ పెట్టె - రేడియో బటన్ - బటన్ - స్లయిడర్ - మార్చేది - ఎడిట్ బాక్స్ - ఎడిట్ చేస్తోంది - చిత్రం - లేబుల్ చేయబడలేదు - బహుళ పేజీల వీక్షణ - పేజీ - ప్రోగ్రెస్ బార్ - వెబ్ వీక్షణ - పాస్‌వర్డ్ - స్లైడింగ్ డ్రాయర్ తెరవబడింది - ఎంపికలు. - వచనం క్లియర్ చేయబడింది - గరిష్ట పరిమితిని చేరుకుంది - ఎంచుకోబడింది - ఎంచుకోబడింది - ఎంచుకోలేదు - ఆన్‌లో ఉంది - ఆఫ్‌లో ఉంది - నిలిపివేయబడింది - విస్తరింపజేయబడింది - కుదించబడింది - రెండుసార్లు నొక్కండి - నొక్కండి - స్విచ్‌ను ఎంచుకోండిను నొక్కండి - ఎంచుకోండి నొక్కండి - సక్రియం చేయడానికి %1$s. - సక్రియం చేయడానికి %1$s నొక్కండి. - ఎక్కువసేపు నొక్కి ఉంచడానికి %1$s, ఉంచండి. - ఎక్కువసేపు నొక్కి ఉంచడానికి %1$s నొక్కండి. - టోగుల్ చేయడానికి %1$s. - టోగుల్ చేయడానికి %1$s నొక్కండి. - టెక్స్ట్‌ను ఎడిట్ చేయడానికి %1$s. - టెక్స్ట్‌ను ఎడిట్ చేయడానికి %1$sను నొక్కండి. - మార్చడానికి %1$s. - మార్చడానికి %1$s నొక్కండి. - పేజీలను మార్చడానికి రెండు వేళ్లతో స్వైప్ చేయండి. - పేజీలు లేవు. - సర్దుబాటు చేయడం కోసం వాల్యూమ్ కీలను ఉపయోగించండి - మార్చడానికి %1$s. - చర్యలు: - %2$s కోసం %1$s. - %2$s కోసం %1$s నొక్కండి. - %2$s కోసం %1$s, ఆపై అలాగే పట్టుకోండి. - స్క్రోల్ చేయడానికి %1$s. - అందుబాటులో ఉన్న చర్యల కోసం %1$s. - సర్దుబాటు చేయడానికి స్విచ్‌ను ఎంచుకోండిని నొక్కండి - Caps Lock ఆన్‌లో ఉంది. - Caps Lock ఆఫ్‌లో ఉంది. - Num Lock ఆన్‌లో ఉంది. - Num Lock ఆఫ్‌లో ఉంది. - Scroll Lock ఆన్‌లో ఉంది. - Scroll Lock ఆఫ్‌లో ఉంది. - పోర్ట్రెయిట్ - ల్యాండ్‌స్కేప్ - తీసివేయి - విస్తరించు - కుదించు - %1$dవ అడ్డు వరుస - %1$dవ నిలువు వరుస - %2$d లో %1$d - ముఖ్య శీర్షిక - అడ్డువరుస ముఖ్యశీర్షిక - నిలువు వరుస ముఖ్యశీర్షిక - %1$s %2$sలో ఉన్నారు - %1$sలో ఉన్నారు - %1$s లిస్ట్‌లో ఉన్నారు - లిస్ట్‌లో ఉన్నారు - %1$s %2$sలో లేరు - %1$sలో లేరు - %1$s లిస్ట్‌లో లేరు - లిస్ట్‌లో లేరు - %1$s గ్రిడ్‌లో ఉన్నారు - గ్రిడ్‌లో ఉన్నారు - %1$s గ్రిడ్‌లో లేరు - గ్రిడ్‌లో లేరు - పేజర్‌లో %1$s - పేజర్‌లో - పేజర్ వెలుపల %1$s - పేజర్ వెలుపల - నిలువు పేజర్‌లో %1$s - నిలువు పేజర్‌లో - నిలువు పేజర్ వెలుపల %1$s - నిలువు పేజర్ వెలుపల - అడ్డు పేజర్‌లో %1$s - అడ్డు పేజర్‌లో - అడ్డు పేజర్‌ వెలుపల - గ్రిడ్ పేజర్‌లో %1$s - గ్రిడ్ పేజర్‌లో - గ్రిడ్ పేజర్ వెలుపల %1$s - గ్రిడ్ పేజర్ వెలుపల - స్థాయి %1$d - - %1$d అంశం - %1$d అంశాలు - - - %1$d అడ్డు వరుస - %1$d అడ్డు వరుసలు - - - %1$d నిలువు వరుస - %1$d నిలువు వరుసలు - - - %1$d అక్షరం - %1$d అక్షరాలు - - మాగ్నిఫికేషన్ ఆన్ చేయబడింది %1$d%% - మాగ్నిఫికేషన్ %1$d%% - మాగ్నిఫికేషన్ ఆఫ్ చేయబడింది - ప్రసంగ రేట్ %1$d%% - వాల్యూమ్‌ను పెంచండి - వాల్యూమ్‌ను తగ్గించండి - గరిష్ఠం - కనిష్ఠం - %1$d%% - హెడ్‌ఫోన్‌లను ఉపయోగించినప్పుడు మాత్రమే పాస్‌వర్డ్‌లు చదివి వినిపించబడతాయి - %1$s అందుబాటులో ఉన్నది, చూడడానికి %2$sను ఉపయోగించండి. - స్పెల్లింగ్ సూచనలు అందుబాటులో ఉన్నాయి. - విండో %1$s - గుర్తించబడిన చిహ్నం, %1$s - టెక్స్ట్, %1$s - diff --git a/compositor/src/main/res/values-th/strings.xml b/compositor/src/main/res/values-th/strings.xml deleted file mode 100644 index 4ee44e428..000000000 --- a/compositor/src/main/res/values-th/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - เปิด TalkBack - TalkBack หยุดทำงานแล้ว - TalkBack ทำงานต่อแล้ว - ปิด TalkBack อยู่ - เปิดการอธิบายและอ่านออกเสียงอยู่ - ระงับการอธิบายและอ่านออกเสียงแล้ว - การอธิบายและอ่านออกเสียงกลับมาทำงานอีกครั้งแล้ว - ปิดการอธิบายและอ่านออกเสียงอยู่ - จุดเริ่มต้นของช่อง - จุดสิ้นสุดของช่อง - โหมดการเลือกเปิดอยู่ - โหมดการเลือกปิดอยู่ - ล้างตัวเลือกแล้ว - โทร - ข้อความ - อีเมล - กิจกรรม - โปรโมชัน - การปลุก - ความคืบหน้า - โซเชียล - ข้อผิดพลาด - ส่วนควบคุมสื่อ - สถานะของระบบ - บริการ - เมนู %1$s - %1$s แทนที่ %2$s แล้ว - ลบ %1$s แล้ว - ตัด %1$s แล้ว - วาง %1$s แล้ว - เลือก %1$s แล้ว - ข้อความที่เลือก: %1$s - ยกเลิกการเลือก %1$s แล้ว - ป้อนข้อมูลไม่ถูกต้อง %1$s - แทนที่ %1$s อักขระด้วย %2$s อักขระ - %1$s สำหรับ %2$s - %1$s เปอร์เซ็นต์ - - %1$s แสดง %2$d รายการ - %1$s แสดง %2$d รายการ - - Error: %1$s - ตาราง - รายการ - แถบแท็บ - รายการแบบเลื่อนลง - ช่องทำเครื่องหมาย - ปุ่มตัวเลือก - ปุ่ม - แถบเลื่อน - สวิตช์ - ช่องแก้ไข - กำลังแก้ไข - รูปภาพ - ไม่มีป้ายกำกับ - การดูแบบหลายหน้า - เพจ - แถบความคืบหน้า - มุมมองเว็บ - รหัสผ่าน - เปิดบานเลื่อนแล้ว - ตัวเลือก - ล้างข้อความแล้ว - ถึงความยาวสูงสุดแล้ว - เลือกแล้ว - เลือกไว้ - ไม่ได้เลือกไว้ - เปิดอยู่ - ปิดอยู่ - ปิดอยู่ - ขยายแล้ว - ยุบแล้ว - การแตะ 2 ครั้ง - แตะ - กด \"เลือกสวิตช์\" - กดเลือก - %1$sเพื่อเปิดใช้งาน - กด %1$s เพื่อเปิดใช้งาน - %1$s ค้างไว้เพื่อกดยาว - กด %1$s เพื่อกดค้าง - %1$s เพื่อสลับ - กด %1$s เพื่อสลับ - %1$sเพื่อแก้ไขข้อความ - กด %1$s เพื่อแก้ไขข้อความ - %1$s เพื่อเปลี่ยน - กด %1$s เพื่อเปลี่ยน - ใช้ 2 นิ้วเลื่อนเพื่อสลับหน้า - ไม่มีหน้าเพิ่มเติม - ใช้ปุ่มปรับระดับเสียงเพื่อปรับ - %1$s เพื่อเปลี่ยน - การดำเนินการ: - %1$s เพื่อ %2$s - กด %1$s เพื่อ %2$s - %1$s ค้างไว้เพื่อ %2$s - %1$sเพื่อเลื่อน - %1$sเพื่อดูการทำงานที่ใช้ได้ - กด \"เลือกสวิตช์\" เพื่อปรับ - เปิด Caps Lock - ปิด Caps Lock - เปิด Num Lock - ปิด Num Lock - เปิด Scroll Lock - ปิด Scroll Lock - แนวตั้ง - แนวนอน - ปิด - ขยาย - ยุบ - แถว %1$d - คอลัมน์ %1$d - %1$d จาก %2$d - ส่วนหัว - ส่วนหัวของแถว - ส่วนหัวคอลัมน์ - อยู่ใน %1$s %2$s - อยู่ใน %1$s - อยู่ในรายการ %1$s - อยู่ในรายการ - ไม่อยู่ใน %1$s %2$s - ไม่อยู่ใน %1$s - ไม่อยู่ในรายการ %1$s - ไม่อยู่ในรายการ - อยู่ในตารางกริด %1$s - อยู่ในตารางกริด - ไม่อยู่ในตารางกริด %1$s - ไม่อยู่ในตารางกริด - อยู่ในเพจเจอร์ %1$s - อยู่ในเพจเจอร์ - ไม่อยู่ในเพจเจอร์ %1$s - ไม่อยู่ในเพจเจอร์ - อยู่ในเพจเจอร์ %1$s ที่มีการวางแนวแบบแนวตั้ง - อยู่ในเพจเจอร์ที่มีการวางแนวแบบแนวตั้ง - ไม่อยู่ในเพจเจอร์ %1$s ที่มีการวางแนวแบบแนวตั้ง - ไม่อยู่ในเพจเจอร์ที่มีการวางแนวแบบแนวตั้ง - อยู่ในเพจเจอร์ %1$s ที่มีการวางแนวแบบแนวนอน - อยู่ในเพจเจอร์ที่มีการวางแนวแบบแนวนอน - ไม่อยู่ในเพจเจอร์ที่มีการวางแนวแบบแนวนอน - อยู่ในเพจเจอร์ %1$s ที่มีการวางแนวแบบตาราง - อยู่ในเพจเจอร์ที่มีการวางแนวแบบตาราง - ไม่อยู่ในเพจเจอร์ %1$s ที่มีการวางแนวแบบตาราง - ไม่อยู่ในเพจเจอร์ที่มีการวางแนวแบบตาราง - ระดับ %1$d - - %1$d รายการ - %1$d รายการ - - - %1$d แถว - %1$d แถว - - - %1$d คอลัมน์ - %1$d คอลัมน์ - - - %1$d ตัว - %1$d ตัว - - เปิดการขยาย %1$d%% - การขยาย %1$d%% - ปิดการขยายแล้ว - ความเร็วในการพูด %1$d%% - เพิ่ม - ลด - สูงสุด - ต่ำสุด - %1$d%% - พูดรหัสผ่านเมื่อใช้หูฟังเท่านั้น - %1$s ใช้งานได้ ใช้ %2$s เพื่อดู - คำแนะนำการสะกดพร้อมใช้งาน - หน้าต่าง %1$s - %1$s, ตรวจพบไอคอน - %1$s, ข้อความ - diff --git a/compositor/src/main/res/values-tl/strings.xml b/compositor/src/main/res/values-tl/strings.xml deleted file mode 100644 index ecd331796..000000000 --- a/compositor/src/main/res/values-tl/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Naka-on ang TalkBack - Sinuspinde ang TalkBack - Ipinagpatuloy ang TalkBack - Naka-off ang TalkBack - Naka-on ang Pasalitang Feedback - Sinuspinde ang Pasalitang Feedback - Ipinagpatuloy ang Pasalitang Feedback - Naka-off ang Pasalitang Feedback - Simula ng field - Dulo ng field - Naka-on ang selection mode - Naka-off ang selection mode - Na-clear ang pinili - Tawag - Mensahe - Email - Event - Promo - Alarm - Pag-usad - Social - Error - Kontrol sa media - Status ng system - Serbisyo - Menu ng %1$s - Pinalitan ng %1$s ang %2$s - Na-delete ang %1$s - na-cut, %1$s - na-paste, %1$s - %1$s, napili - Piniling text: %1$s - %1$s, naalis sa pagkakapili - Hindi wastong input %1$s - Pinalitan ang %1$s (na) character ng %2$s (na) character - %1$s para sa %2$s - %1$s (na) porsyento. - - Nagpapakita ang %1$s ng %2$d item. - Nagpapakita ang %1$s ng %2$d na item. - - Error: %1$s - Grid - Listahan - Tab bar - Drop down na listahan - Check box - Radio button - Button - Slider - Switch - Kahon sa pag-edit - Ine-edit - Larawan - Walang Label - Multi-page na view - Page - Progress bar - Webview - password - Nakabukas ang sliding drawer - Mga Opsyon. - Na-clear na text - Naabot na ang maximum na haba - napili - nasuri - hindi nilagyan ng check - Naka-on - Naka-off - naka-disable - pinalawak - na-collapse - I-double tap - I-tap - Pindutin ang Switch na Piliin - Pindutin ang piliin - %1$s upang i-activate. - Pindutin ang %1$s upang i-activate. - %1$s at pindutin nang matagal. - Pindutin ang %1$s upang pindutin nang matagal. - %1$s upang i-toggle. - Pindutin ang %1$s upang i-toggle. - %1$s para ma-edit ang text. - Pindutin ang %1$s para ma-edit ang text. - %1$s upang baguhin. - Pindutin ang %1$s upang baguhin. - Mag-swipe gamit ang dalawang daliri upang lumipat ng mga page. - Wala nang page. - Gamitin ang mga key ng volume upang isaayos - %1$s upang palitan. - Mga Pagkilos: - %1$s upang %2$s. - Pindutin ang %1$s upang %2$s. - %1$s nang matagal upang %2$s. - %1$s para mag-scroll. - %1$s para sa mga available na pagkilos. - Pindutin ang Switch na Piliin para i-adjust - Naka-on ang Caps Lock. - Naka-off ang Caps Lock. - Naka-on ang Num Lock. - Naka-off ang Num Lock. - Naka-on ang Scroll Lock. - Naka-off ang Scroll Lock. - Larawan - Landscape - I-dismiss - Palawakin - I-collapse - Row na %1$d - Column na %1$d - %1$d ng %2$d - Heading - Heading ng row - Heading ng column - Nasa %1$s %2$s - Nasa %1$s - Nasa listahang %1$s - Nasa listahan - Wala sa %1$s %2$s - Wala sa %1$s - Wala sa listahang %1$s - Wala sa listahan - Nasa grid na %1$s - Nasa grid - Wala sa grid na %1$s - Wala sa grid - Sa pager na %1$s - Sa pager - Wala sa pager na %1$s - Wala sa pager - Sa vertical na pager na %1$s - Sa vertical na pager - Wala sa vertical na pager na %1$s - Wala sa vertical na pager - Sa horizontal na pager na %1$s - Sa horizontal na pager - Wala sa horizontal na pager - Sa grid na pager na %1$s - Sa grid na pager - Wala sa grid na pager na %1$s - Wala sa grid na pager - Antas %1$d - - %1$d item - %1$d na item - - - %1$d row - %1$d na row - - - %1$d column - %1$d na column - - - %1$d character - %1$d na character - - Magnification sa %1$d%% - Magnification %1$d%% - Naka-off ang magnification - Bilis ng pagsasalita %1$d%% - Dagdagan - Bawasan - Maximum - Minimum - %1$d%% - Binibigkas lang ang mga password kapag gumagamit ng headphones - Available ang %1$s, gamitin ang %2$s para tingnan. - Available ang mga suhestyon sa pagbabaybay. - Window na %1$s - %1$s, na-detect na icon - %1$s, text - diff --git a/compositor/src/main/res/values-tr/strings.xml b/compositor/src/main/res/values-tr/strings.xml deleted file mode 100644 index 62fa27fc8..000000000 --- a/compositor/src/main/res/values-tr/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack açık - TalkBack askıya alındı - TalkBack devam ettirildi - TalkBack kapalı - Sözlü Geri Bildirim açık - Sözlü Geri Bildirim askıya alındı - Sözlü Geri Bildirim devam ettirildi - Sözlü Geri Bildirim kapalı - Alanın başı - Alanın sonu - Seçim modu açık - Seçim modu kapalı - Seçim temizlendi - Çağrı - Mesaj - E-posta - Etkinlik - Tanıtım - Alarm - İlerleme durumu - Sosyal - Hata - Medya kontrolü - Sistem durumu - Hizmet - %1$s menüsü - %1$s, %2$s ile değiştirildi - %1$s silindi - kesildi, %1$s - yapıştırıldı, %1$s - %1$s, seçildi - Seçilen metin: %1$s - %1$s, seçimi kaldırıldı - Geçersiz giriş (%1$s) - %1$s karakter, %2$s karakter ile değiştirildi - %2$s için %1$s - Yüzde %1$s. - - %1$s içinde %2$d öğe gösteriliyor. - %1$s içinde %2$d öğe gösteriliyor. - - Error: %1$s - Kılavuz - Liste - Sekme çubuğu - Açılır liste - Onay kutusu - Radyo düğmesi - Düğme - Kaydırma çubuğu - Anahtar - Düzenleme kutusu - Düzenleme - Resim - Etiketsiz - Çok sayfalı görünüm - Sayfa - İlerleme çubuğu - Web görünümü - şifre - Kayan çekmece açıldı - Seçenekler. - Metin temizlendi - Maksimum uzunluğa ulaşıldı - seçili - işaretli - işaretli değil - açık - kapalı - devre dışı - genişletildi - daraltıldı - İki kez dokunma - Dokunun - Seçme Anahtarı\'na basın - Seç\'e basın - Etkinleştirmek için %1$s. - Etkinleştirmek için %1$s tuşlarına basın. - Uzun basmak için %1$s ve basılı tutun. - Uzun basmak için %1$s tuşlarına basın. - Değiştirmek için %1$s. - Açıp kapatmak için %1$s tuşlarına basın. - Metni düzenlemek için %1$s - Metni düzenlemek için %1$s tuşlarına basın. - Değiştirmek için %1$s. - Değiştirmek için %1$s tuşlarına basın. - Sayfaları değiştirmek için iki parmağınızla hızlıca kaydırın. - Başka sayfa yok. - Ayarlamak için ses düzeyi düğmelerini kullanın - Değiştirmek için %1$s. - İşlemler: - %2$s için %1$s. - %2$s için %1$s tuşlarına basın. - %2$s için %1$s ve basılı tutun. - Kaydırmak için %1$s. - Kullanılabilir işlemler için %1$s. - Ayar yapmak için Seçme Anahtarı\'na basın - Caps Lock açık. - Caps Lock kapalı. - Num Lock açık. - Num Lock kapalı. - Scroll Lock açık. - Scroll Lock kapalı. - Dikey - Yatay - Kapat - Genişlet - Daralt - Satır %1$d - Sütun %1$d - %1$d/%2$d - Başlık - Satır başlığı - Sütun başlığı - %1$s %2$s içinde - %1$s içinde - %1$s listesinde - Listede - %1$s %2$s dışında - %1$s modülünde veri tükendi - %1$s listesinin dışında - Liste dışında - %1$s tablosunda - Tabloda - %1$s tablosunun dışında - Tablo dışında - Sayfa ayırıcı (%1$s) içinde - Sayfa ayırıcı içinde - Sayfa ayırıcı (%1$s) dışında - Sayfa ayırıcı dışında - Dikey sayfa ayırıcı (%1$s) içinde - Dikey sayfa ayırıcı içinde - Dikey sayfa ayırıcı (%1$s) dışında - Dikey sayfa ayırıcı dışında - Yatay sayfa ayırıcı (%1$s) içinde - Yatay sayfa ayırıcı içinde - Yatay sayfa ayırıcı dışında - Sayfa ayırıcı (%1$s) içinde - Tablo sayfa ayırıcı içinde - Tablo sayfa ayırıcı (%1$s) dışında - Tablo sayfa ayırıcı dışında - %1$d. seviye - - %1$d öğe - %1$d öğe - - - %1$d satır - %1$d satır - - - %1$d sütun - %1$d sütun - - - %1$d karakter - %1$d karakter - - %%%1$d büyütme açık - %%%1$d büyütme - Büyütme kapalı - Konuşma hızı %%%1$d - Artır - Azalt - Maksimum - Minimum - %%%1$d - Şifreler yalnızca kulaklık kullanılırken sözlü okunur - %1$s kullanılabilir, görüntülemek için %2$s hareketini kullanın - Yazım önerileri mevcut. - %1$s adlı pencere - %1$s, algılanan simge - %1$s, metin - diff --git a/compositor/src/main/res/values-uk/strings.xml b/compositor/src/main/res/values-uk/strings.xml deleted file mode 100644 index 16bbd2d2e..000000000 --- a/compositor/src/main/res/values-uk/strings.xml +++ /dev/null @@ -1,186 +0,0 @@ - - - TalkBack увімкнено - TalkBack призупинено - TalkBack відновлено - TalkBack вимкнено - Голосові підказки ввімкнено - Голосові підказки призупинено - Голосові підказки відновлено - Голосові підказки вимкнено - Початок поля - Кінець поля - Режим виділення ввімкнено - Режим виділення вимкнено - Виділення скасовано - Виклик - Повідомлення - Електронний лист - Подія - Акція - Будильник - Перебіг - Соцмережі - Помилка - Керування медіа-вмістом - Статус системи - Сервіс - Меню \"%1$s\" - \"%1$s\" замінено на текст \"%2$s\" - Текст \"%1$s\" видалено - вирізано: %1$s - вставлено: %1$s - виділено: %1$s - Виділений текст: %1$s - виділення скасовано: %1$s - Недійсні дані: %1$s - Символи %1$s замінено на символи %2$s - %1$s для мітки \"%2$s\" - Відсотків: %1$s. - - %1$s містить %2$d видимий елемент. - %1$s містить %2$d видимі елементи. - %1$s містить %2$d видимих елементів. - %1$s містить %2$d видимого елемента. - - Error: %1$s - Сітка - Список - Панель вкладок - Спадний список - Прапорець - Перемикач - Кнопка - Повзунок - Перемикач - Вікно редагування - Редагування - Зображення - Без мітки - Перегляд кількох сторінок - Сторінка - Панель перебігу - Веб-показ - пароль - Висувна панель відкрита - Параметри. - Текст стерто - Введено максимальну кількість символів - вибрано - позначено - не вибрано - увімкнено - вимкнено - вимкнено - розгорнуто - згорнуто - Двічі торкніться - Торкніться - Натисніть перемикач вибору - Натисніть \"Вибрати ключ\" - %1$s, щоб активувати. - Натисніть комбінацію клавіш %1$s, щоб активувати. - %1$s й утримуйте. - Натисніть комбінацію клавіш %1$s, щоб утримувати. - %1$s, щоб поставити чи зняти прапорець. - Натисніть комбінацію клавіш %1$s, щоб увімкнути/вимкнути. - %1$s, щоб змінити текст. - Натисніть %1$s, щоб змінити текст. - %1$s, щоб змінити. - Натисніть комбінацію клавіш %1$s, щоб змінити. - Гортайте сторінки двома пальцями. - Більше немає сторінок. - Щоб налаштувати, скористайтеся клавішами гучності - %1$s, щоб змінити. - Дії: - %1$s, щоб %2$s. - Натисніть комбінацію клавіш %1$s, щоб %2$s. - %1$s і втримуйте, щоб %2$s. - %1$s, щоб прокрутити. - %1$s, щоб дізнатися про доступні дії. - Натисніть перемикач вибору, щоб налаштувати - Caps Lock увімкнено. - Caps Lock вимкнено. - Num Lock увімкнено. - Num Lock вимкнено. - Scroll Lock увімкнено. - Scroll Lock вимкнено. - Книжкова орієнтація - Альбомна орієнтація - Закрити - Розгорнути - Згорнути - Рядок %1$d - Стовпець %1$d - %1$d з %2$d - Заголовок - Заголовок рядка - Заголовок стовпця - У ролі \"%1$s\" у колекції \"%2$s\" - У ролі \"%1$s\" - У списку \"%1$s\" - У списку - Не в ролі \"%1$s\" у колекції \"%2$s\" - Не в ролі \"%1$s\" - Не в списку \"%1$s\" - Не в списку - У сітці \"%1$s\" - У сітці - Не в сітці \"%1$s\" - Не в сітці - У перегляді сторінок \"%1$s\" - У перегляді сторінок - Поза переглядом сторінок \"%1$s\" - Поза переглядом сторінок - У вертикальному перегляді сторінок \"%1$s\" - У вертикальному перегляді сторінок - Поза вертикальним переглядом сторінок \"%1$s\" - Поза вертикальним переглядом сторінок - У горизонтальному перегляді сторінок \"%1$s\" - У горизонтальному перегляді сторінок - Поза горизонтальним переглядом сторінок - У перегляді сторінок \"%1$s\" у сітці - У перегляді сторінок у сітці - Поза переглядом сторінок \"%1$s\" у сітці - Поза переглядом сторінок у сітці - Рівень %1$d - - %1$d елемент - %1$d елементи - %1$d елементів - %1$d елемента - - - %1$d рядок - %1$d рядки - %1$d рядків - %1$d рядка - - - %1$d стовпець - %1$d стовпці - %1$d стовпців - %1$d стовпця - - - %1$d символ - %1$d символи - %1$d символів - %1$d символу - - Збільшення на %1$d%% увімкнено - Збільшення на %1$d%% - Збільшення вимкнено - Темп мовлення: %1$d%% - Збільшення - Зменшення - Максимум - Мінімум - %1$d%% - Паролі озвучуються, лише якщо підключено навушники - Доступна дія \"%1$s\". Щоб переглянути, використовуйте жест \"%2$s\". - Доступні пропозиції написання. - Вікно \"%1$s\" - %1$s, розпізнаний значок - %1$s, текст - diff --git a/compositor/src/main/res/values-ur/strings.xml b/compositor/src/main/res/values-ur/strings.xml deleted file mode 100644 index 685f25d90..000000000 --- a/compositor/src/main/res/values-ur/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - ‏TalkBack آن ہے - ‏TalkBack معطل ہو گئی - ‏TalkBack دوبارہ شروع ہو گئی - ‏TalkBack آف ہے - صوتی تاثرات آن ہیں - صوتی تاثرات معطل کر دیے گئے ہیں - صوتی تاثرات دوبارہ شروع کر دیے گئے ہیں - صوتی تاثرات آف ہیں - فیلڈ کی شروعات - فیلڈ کا اختتام - انتخاب موڈ آن ہے - انتخاب موڈ آف ہے - انتخاب صاف ہو گیا - کال - پیغام - ای میل - ایونٹ - پرومو - الارم - پیشرفت - سوشل - خرابی - میڈیا کنٹرول - سسٹم کی صورتحال - سروس - %1$s مینو - %2$s کو %1$s سے تبدیل کر دیا گیا - %1$s حذف کیا گیا - کٹ ہو گیا، %1$s - پیسٹ ہو گیا، %1$s - %1$s، منتخب کردہ - منتخب شدہ متن: %1$s - %1$s، غیر منتخب کردہ - غلط ان پٹ %1$s - %1$s حروف کو %2$s حروف کے ساتھ تبدیل کر دیا گیا - %1$s برائے %2$s - %1$s فیصد۔ - - %1$s میں %2$d آئٹم نظر آ رہا ہے۔ - %1$s میں %2$d آئٹمز نظر آ رہے ہیں۔ - - Error: %1$s - گرڈ - فہرست - ٹیب بار - ڈراپ ڈاؤن فہرست - چیک باکس - ریڈیو بٹن - بٹن - سلائیڈر - سوئچ - ترمیمی باکس - ترمیم ہو رہی ہے - تصویر - بغیر لیبل والا - متعدد صفحات منظر - صفحہ - پیش رفت کا بار - ویب منظر - پاس ورڈ - سلائیڈ کرنے والا دراز کھول دیا گیا - اختیارات۔ - متن صاف کر دیا گیا - زیادہ سے زیادہ لمبائی تک پہنچ گیا - منتخب کردہ - چیک کیا گیا - چیک نہیں کیا گیا - آن - آف - غیر فعال ہے - پھیلا ہوا - سکڑا ہوا - دو بار تھپتھپائیں - تھپتھپائیں - سوئچ منتخب کریں کو دبائیں - منتخب کریں دبائیں - فعال کرنے کیلئے %1$s۔ - فعال کرنے کیلئے %1$s دبائیں۔ - دیر تک دبانے کیلئے %1$s اور دبائے رکھیں۔ - دیر تک دبانے کیلئے %1$s دبائیں۔ - ٹوگل کرنے کیلئے %1$s۔ - ٹوگل کرنے کیلئے %1$s دبائیں۔ - متن میں ترمیم کرنے کے ليے %1$s۔ - متن میں ترمیم کرنے کے ليے %1$s پر دبائیں۔ - تبدیل کرنے کیلئے %1$s۔ - تبدیل کرنے کیلئے %1$s دبائیں۔ - صفحات سوئچ کرنے کیلئے دو انگلیوں سے سوائپ کریں۔ - مزید صفحات نہیں ہیں۔ - ایڈجسٹ کرنے کے لیے والیوم کلیدوں کا استعمال کریں - تبدیل کرنے کیلئے %1$s۔ - کارروائیاں: - %1$s پر %2$s۔ - %2$s کیلئے %1$s دبائیں۔ - %1$s اور %2$s کیلئے پکڑے رکھیں۔ - اسکرول کرنے کے لیے %1$s۔ - دستیاب کارروائیوں کے لیے %1$s۔ - ایڈجسٹ کرنے کے لئے سوئچ منتخب کریں - ‏Caps Lock آن ہے۔ - ‏Caps Lock آف ہے۔ - ‏Num Lock آن ہے۔ - ‏Num Lock آف ہے۔ - ‏Scroll Lock آن ہے۔ - ‏Scroll Lock آف ہے۔ - پورٹریٹ - لینڈ اسکیپ - برخاست کریں - پھیلائیں - سکیڑیں - قطار %1$d - کالم %1$d - %2$d کا %1$d - ہیڈنگ - قطار ہیڈنگ - کالم ہیڈنگ - %2$s %1$s میں ہے - %1$s میں - فہرست میں %1$s - فہرست میں - %2$s میں سے %1$s - %1$s کا ڈیٹا ختم ہو گیا ہے - فہرست سے باہر %1$s - فہرست سے باہر - گرڈ میں %1$s - گرڈ میں - گرڈ سے باہر %1$s - گرڈ سے باہر - پیجر میں %1$s - پیجر میں - پیجر کے باہر %1$s - پیجر کے باہر - عمودی پیجر میں %1$s - عمودی پیجر میں - عمودی پیجر کر باہر %1$s - عمودی پیجر کر باہر - افقی پیجر میں %1$s - افقی پیجر میں - افقی پیجر کے باہر - گرڈ پیجر میں %1$s - گرڈ پیجر میں - گرڈ پیجر کے باہر %1$s - گرڈ پیجر کے باہر - سطح %1$d - - %1$d آئٹم - %1$d آئٹمز - - - %1$d قطار - %1$d قطاریں - - - %1$d کالم - %1$d کالمز - - - %1$d کریکٹر - %1$d کریکٹرز - - میگنیفکیشن آن ہے %1$d%% - میگنیفکیشن %1$d%% - میگنیفکیشن آف ہے - اسپیچ کی شرح %%%1$d - بڑھائیں - کم کریں - زیادہ سے زیادہ - کم از کم - %%%1$d - ہیڈ فونز کا استعمال کرتے وقت ہی پاس ورڈز بولے جاتے ہیں - %1$s دستیاب، دیکھنے کے ليے %2$s کا استعمال کریں۔ - ہجے سے متعلق تجاویز دستیاب ہیں۔ - %1$s ونڈو - %1$s، پتہ لگایا گیا آئیکن - %1$s، ٹیکسٹ - diff --git a/compositor/src/main/res/values-uz/strings.xml b/compositor/src/main/res/values-uz/strings.xml deleted file mode 100644 index dcac0e77a..000000000 --- a/compositor/src/main/res/values-uz/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack yoniq - TalkBack to‘xtatildi - TalkBack yana ishga tushdi - TalkBack o‘chiq - O‘qib eshittirish yoniq - O‘qib eshittirish to‘xtatildi - O‘qib eshittirish davom ettirildi - O‘qib eshittirish o‘chiq - Maydonning boshi - Maydonning oxiri - Tanlash rejimi yoniq - Tanlash rejimi o‘chiq - Matn tanlash tozalandi - Chaqiruv - Xabar - Email - Tadbir - Reklama - Signal - Jarayon - Ijtimoiy tarmoqlar - Xato - Multimedia boshqaruvi - Tizim holati - Xizmat - %1$s menyusi - “%1$s” matni “%2$s” bilan almashtirildi - %1$s o‘chirib tashlandi - qirqib olindi: %1$s - joylandi, %1$s - belgilandi: %1$s - Belgilangan matn: %1$s - belgilash bekor qilindi: %1$s - Noto‘g‘ri kiritildi: %1$s - %1$s ta belgi %2$s ta belgi bilan almashtirildi - %1$s uchun %2$s - %1$s foiz. - - %1$s %2$d ta element ko‘rsatilmoqda. - %1$s %2$d ta element ko‘rsatilmoqda. - - Error: %1$s - Jadval - Ro‘yxat - Darchalar paneli - Pastga ochiladigan ro‘yxat - Belgilash katakchasi - Tanlash tugmasi - Tugma - Slayder - Almashtirish - Tahrirlash maydoni - Tahrirlanmoqda - Rasm - Yorliqsiz - Bir nechta sahifali ko‘rinish - Sahifa - Jarayon indikatori - Vebdagi ko‘rinishi - parol - Tortma panel ochildi - Tanlanmalar. - Matn o‘chirib tashlandi - Belgilar soni maksimal miqdorga yetdi - tanlandi - belgilandi - belgilanmadi - yoniq - yoqilmagan - o‘chirib qo‘yildi - yoyildi - yig‘ildi - Ikki marta bosish - Bosish - Belgilash kalit tugmasini bosing - “Tugmani tanlash”ni bosing - Faollashtirish uchun %1$s. - Faollashtirish uchun %1$s tugmalar birikmasini bosing. - %1$s va ushlab turing. - Ushlab turish uchun %1$s tugmalar birikmasini bosing. - Yoqish yoki o‘chirish uchun: %1$s - Yoqish yoki o‘chirish uchun %1$s tugmalar birikmasini bosing. - Matnni tahrirlash uchun %1$s. - Matnni tahrirlash uchun %1$s ustiga bosing. - O‘zgartirish uchun: %1$s - O‘zgartirish uchun %1$s tugmalar birikmasini bosing. - Sahifalarni almashtirish uchun ikki barmoq bilan suring. - Boshqa sahifa yo‘q - Sozlash uchun tovush balandligi tugmalaridan foydalaning - O‘zgartirish uchun: %1$s - Amallar: - %2$s uchun %1$s. - %2$s uchun %1$s tugmalar birikmasini bosing. - %2$s uchun %1$s va ushlab turing. - Aylantirish uchun %1$s. - Mavjud amallar uchun %1$s. - Sozlash uchun belgilash kalit tugmasini bosing - Caps Lock yoniq. - Caps Lock o‘chiq. - Num Lock yoniq. - Num Lock o‘chiq. - Scroll Lock yoniq. - Scroll Lock o‘chiq. - Tik holat - Yotiq - Yopish - Yoyish - Yig‘ish - %1$d-qator - %1$d-ustun - %1$d/%2$d - Sarlavha - Qator sarlavhasi - Ustun sarlavhasi - %2$s termasida %1$s rolida - %1$s rolida - %1$s roʻyxatida - Roʻyxatda - %2$s termasida %1$s rolidan tashqari - %1$s rolidan tashqari - %1$s roʻyxatidan tashqari - Roʻyxatdan tashqarida - %1$s toʻrida - Toʻr ichida - %1$s toʻridan tashqarida - Toʻrdan tashqarida - %1$s sahifasida - Sahifada - %1$s sahifasidan tashqarida - Sahifadan tashqarida - %1$s vertikal sahifasida - Vertikal sahifada - %1$s vertikal sahifasidan tashqarida - Vertikal sahifadan tashqarida - %1$s gorizontal sahifasida - Gorizontal sahifada - Gorizontal sahifadan tashqarida - %1$s katakcha shaklidagi sahifasida - Katakcha shaklidagi sahifada - %1$s katakcha shaklidagi sahifadan tashqarida - Katakcha shaklidagi sahifadan tashqarida - %1$d-daraja - - %1$d ta element - %1$d ta element - - - %1$d ta qator - %1$d ta qator - - - %1$d ta ustun - %1$d ta ustun - - - %1$d ta belgi - %1$d ta belgi - - Kattalashtirish yoniq. Masshtab: %1$d%% - Masshtab: %1$d%% - Kattalashtirish o‘chiq - Nutq tezligi %1$d%% - Balandlatish - Pasaytirish - Maksimum - Minimal - %1$d%% - Quloqliklardan foydalanilgandagina parollar talaffuz qilinadi - %1$s mavjud, ochish uchun %2$s qiling. - Imloviy xatolarni tuzatishga oid takliflar bor. - %1$s oynasi - Aniqlangan belgi: %1$s - Matn: %1$s - diff --git a/compositor/src/main/res/values-vi/strings.xml b/compositor/src/main/res/values-vi/strings.xml deleted file mode 100644 index d1e7a7978..000000000 --- a/compositor/src/main/res/values-vi/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - Bật TalkBack - Đã tạm ngưng TalkBack - Đã tiếp tục TalkBack - TalkBack tắt - Phản hồi bằng giọng nói bật - Phản hồi bằng giọng nói bị tạm ngưng - Phản hồi bằng giọng nói đã được tiếp tục - Phản hồi bằng giọng nói tắt - Phần đầu của trường - Phần cuối của trường - Đã bật chế độ chọn - Đã tắt chế độ chọn - Đã xóa vùng chọn - Cuộc gọi - Tin nhắn - Email - Sự kiện - Khuyến mãi - Báo thức - Tiến trình - Xã hội - Lỗi - Điều khiển phương tiện - Trạng thái hệ thống - Dịch vụ - Menu %1$s - %1$s đã thay thế %2$s - Đã xóa %1$s - đã cắt, %1$s - đã dán, %1$s - %1$s, đã được chọn - Văn bản được chọn: %1$s - %1$s, không được chọn - Mục nhập không hợp lệ %1$s - Các ký tự %1$s được thay thế bằng các ký tự %2$s - %1$s cho %2$s - %1$s phần trăm. - - %1$s hiển thị %2$d mục. - %1$s hiển thị %2$d mục. - - Error: %1$s - Lưới - Danh sách - Thanh tab - Danh sách thả xuống - Hộp kiểm - Nút radio - Nút - Thanh trượt - Nút chuyển - Hộp chỉnh sửa - Chỉnh sửa - Hình ảnh - Chưa được gắn nhãn - Chế độ xem nhiều trang - Trang - Thanh tiến độ - Chế độ xem web - mật khẩu - Đã mở ngăn kéo dạng trượt - Tùy chọn. - Đã xóa văn bản - Đã đạt đến độ dài tối đa - đã chọn - đã chọn - chưa chọn - bật - tắt - đã tắt - đã mở rộng - đã thu gọn - Nhấn đúp - Nhấn - Nhấn công tắc chọn - Nhấn chọn - %1$s để kích hoạt. - Nhấn %1$s để kích hoạt. - %1$s và giữ để nhấn lâu. - Nhấn %1$s để nhấn và giữ. - %1$s để chuyển đổi. - Nhấn %1$s để chuyển đổi. - %1$s để chỉnh sửa văn bản. - Nhấn %1$s để chỉnh sửa văn bản. - %1$s để thay đổi. - Nhấn %1$s để thay đổi. - Vuốt bằng hai ngón tay để chuyển đổi giữa các trang. - Không còn trang nào khác. - Sử dụng các phím âm lượng để điều chỉnh - %1$s để thay đổi. - Hành động: - %1$s để %2$s. - Nhấn %1$s để %2$s. - %1$s và giữ để %2$s. - %1$s để cuộn. - %1$s để xem các hành động có thể thực hiện. - Nhấn nút chuyển Chọn để điều chỉnh - Caps Lock bật. - Caps Lock tắt. - Num Lock bật. - Num Lock tắt. - Scroll Lock bật. - Scroll Lock tắt. - Dọc - Ngang - Loại bỏ - Mở rộng - Thu gọn - Hàng %1$d - Cột %1$d - %1$d/%2$d - Tiêu đề - Tiêu đề hàng - Tiêu đề cột - Trong %1$s %2$s - Trong %1$s - Trong danh sách %1$s - Trong danh sách - Ngoài %1$s %2$s - Ngoài %1$s - Ngoài danh sách %1$s - Ngoài danh sách - Trong lưới %1$s - Trong lưới - Ngoài lưới %1$s - Ngoài lưới - Trong chế độ phân trang %1$s - Trong chế độ phân trang - Ngoài chế độ phân trang %1$s - Ngoài chế độ phân trang - Trong chế độ phân trang dọc %1$s - Trong chế độ phân trang dọc - Ngoài chế độ phân trang dọc %1$s - Ngoài chế độ phân trang dọc - Trong chế độ phân trang ngang %1$s - Trong chế độ phân trang ngang - Ngoài chế độ phân trang ngang - Trong chế độ phân trang lưới %1$s - Trong chế độ phân trang lưới - Ngoài chế độ phân trang lưới %1$s - Ngoài chế độ phân trang lưới - Cấp %1$d - - %1$d mục - %1$d mục - - - %1$d hàng - %1$d hàng - - - %1$d cột - %1$d cột - - - %1$d ký tự - %1$d ký tự - - Phóng to %1$d%% - Phóng to %1$d%% - Tắt phóng to - Tốc độ lời nói %1$d%% - Tăng - Giảm - Tối đa - Tối thiểu - %1$d%% - Chỉ đọc mật khẩu khi dùng tai nghe - Có sẵn %1$s, hãy sử dụng %2$s để xem. - Có đề xuất chính tả. - Cửa sổ %1$s - Đã phát hiện thấy biểu tượng %1$s - Văn bản %1$s - diff --git a/compositor/src/main/res/values-zh-rCN/strings.xml b/compositor/src/main/res/values-zh-rCN/strings.xml deleted file mode 100644 index 5bcc882a3..000000000 --- a/compositor/src/main/res/values-zh-rCN/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack 已开启 - TalkBack 已暂停 - TalkBack 已恢复 - TalkBack 已关闭 - 语音反馈已开启 - 语音反馈已暂停 - 语音反馈已恢复启用 - 语音反馈已关闭 - 字段开头 - 字段结尾 - 已开启选择模式 - 已关闭选择模式 - 已清除选择 - 来电 - 消息 - 电子邮件 - 活动 - 促销 - 闹钟 - 进度 - 社交 - 错误 - 媒体控件 - 系统状态 - 服务 - %1$s菜单 - %1$s替换了%2$s - %1$s已删除 - 已剪切,%1$s - 已粘贴,%1$s - %1$s,已选中 - 所选文字:%1$s - %1$s,未选中 - 输入内容无效:%1$s - 已将 %1$s 个字符替换为 %2$s 个字符 - %2$s对应的%1$s - 百分之 %1$s。 - - %1$s,包含 %2$d 项内容。 - %1$s,包含 %2$d 项内容。 - - Error: %1$s - 网格 - 列表 - 标签栏 - 下拉列表 - 复选框 - 单选按钮 - 按钮 - 滑块 - 开关 - 编辑框 - 正在编辑 - 图片 - 未加标签 - 多页面视图 - 页面 - 进度条 - 网页视图 - 密码 - 滑动抽屉式导航栏已打开 - 选项。 - 文字已清除 - 已达到长度上限 - 已选中 - 已选中 - 未选中 - 已开启 - 已关闭 - 已停用 - 已展开 - 已收起 - 点按两次 - 点按 - 按选择开关 - 按选择按钮 - %1$s即可激活。 - 按 %1$s 即可激活。 - %1$s并按住可长按。 - 按 %1$s 即可长按。 - %1$s可切换。 - 按 %1$s 即可切换。 - %1$s即可编辑文字。 - 按 %1$s 即可修改文字。 - %1$s可进行更改。 - 按 %1$s 即可更改。 - 用双指滑动即可切换页面。 - 没有其他页面。 - 使用音量键即可调节 - %1$s即可进行更改。 - 操作: - %1$s即可%2$s。 - 按 %1$s 即可%2$s。 - %1$s并按住即可%2$s。 - %1$s即可滚动。 - %1$s即可查看可执行的操作。 - 按“选择开关”即可进行调整 - 大写锁定模式已开启。 - 大写锁定模式已关闭。 - 数字锁定模式已开启。 - 数字锁定模式已关闭。 - 滚动锁定模式已开启。 - 滚动锁定模式已关闭。 - 纵向 - 横向 - 关闭 - 展开 - 收起 - 第 %1$d 行 - 第 %1$d 列 - 第 %1$d 个,共 %2$d 个 - 标题 - 行标题 - 列标题 - 您当前位于%1$s“%2$s”中 - 您当前位于%1$s中 - 在“%1$s”列表中 - 在列表中 - 您已离开%1$s“%2$s” - 您已离开%1$s - 在“%1$s”列表外 - 在列表外 - 在“%1$s”网格中 - 在网格中 - 在“%1$s”网格外 - 在网格外 - 在页面控制项“%1$s”中 - 在页面控制项中 - 在页面控制项“%1$s”外 - 在页面控制项外 - 在纵向页面控制项“%1$s”中 - 在纵向页面控制项中 - 在纵向页面控制项“%1$s”外 - 在纵向页面控制项外 - 在横向页面控制项“%1$s”中 - 在横向页面控制项中 - 在横向页面控制项外 - 在网格页面控制项“%1$s”中 - 在网格页面控制项中 - 在网格页面控制项“%1$s”外 - 在网格页面控制项外 - 第 %1$d 级 - - %1$d 项 - %1$d 项 - - - %1$d 行 - %1$d 行 - - - %1$d 列 - %1$d 列 - - - %1$d 个字符 - %1$d 个字符 - - 已开启放大功能,当前放大比例为百分之 %1$d - 当前放大比例为百分之 %1$d - 已关闭放大功能 - 语速为 %1$d%% - 调高 - 调低 - 最大 - 最小 - %1$d%% - 仅在使用耳机时读出密码 - 可执行操作“%1$s”,请使用手势“%2$s”进行查看。 - 有拼写建议。 - “%1$s”窗口 - %1$s - 检测到的图标 - %1$s - 文字 - diff --git a/compositor/src/main/res/values-zh-rHK/strings.xml b/compositor/src/main/res/values-zh-rHK/strings.xml deleted file mode 100644 index 67d9b885c..000000000 --- a/compositor/src/main/res/values-zh-rHK/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack 已開啟 - 已暫停 TalkBack - 已恢復 TalkBack - TalkBack 已關閉 - 朗讀功能已經開咗 - 朗讀功能已經暫停 - 朗讀功能已經重新開咗 - 朗讀功能已經閂咗 - 欄位開始 - 欄位結束 - 已開啟選取模式 - 已關閉選取模式 - 已取消揀文字 - 通話 - 訊息 - 電郵 - 活動 - 宣傳 - 鬧鐘 - 進度 - 社交 - 錯誤 - 媒體控制 - 系統狀態 - 服務 - %1$s選單 - 「%1$s」已取代「%2$s」 - 「%1$s」已刪除 - 已經剪下:%1$s - 已經貼上:%1$s - 已經揀咗:%1$s - 揀咗嘅文字:%1$s - 未揀:%1$s - 無效的輸入:%1$s - 以 %2$s 個字元取代原有的 %1$s 個字元 - %2$s%1$s - 百分之 %1$s。 - - %1$s顯示緊 %2$d 個項目。 - %1$s顯示緊 %2$d 個項目。 - - Error: %1$s - 網格 - 清單 - 標籤列 - 下拉式清單 - 選框 - 圓形按鈕 - 按鈕 - 滑桿 - 切換按鈕 - 編輯框 - 依家改緊野 - 圖片 - 未標明 - 多頁檢視 - 單頁 - 進度列 - 網頁檢視 - 密碼 - 已開啟滑動導覽列 - 選項。 - 已清除文字 - 已達長度上限 - 已選取 - 已勾選 - 尚未勾選 - 開啟 - 關閉 - 已停用 - 已經展開 - 已經收合 - 輕按兩下 - 輕按 - 按下 [選取開關] - 按選擇 - %1$s即可啟用。 - 扲 %1$s 就可以啟動。 - %1$s並按住即可長時間選取。 - 扲 %1$s 就可以長扲。 - %1$s即可切換。 - 扲 %1$s 就可以切換。 - %1$s就可以編輯文字。 - 㩒 %1$s 就可以編輯文字。 - %1$s即可變更。 - 扲 %1$s 就可以改。 - 用兩隻手指滑動就可以切換頁面。 - 無其他頁。 - 用音量鍵嚟調校 - %1$s就可以變更。 - 操作: - %1$s就可以%2$s。 - 扲 %1$s 就可以%2$s。 - %1$s住就可以%2$s。 - %1$s 就可以捲動。 - %1$s 就可以睇返可以執行嘅操作。 - 㩒 [選取開關] 就可以調整 - 大寫鎖定鍵已開啟。 - 大寫鎖定鍵已關閉。 - 數字鎖定鍵已開啟。 - 數字鎖定鍵已關閉。 - 捲動鎖定鍵已開啟。 - 捲動鎖定鍵已關閉。 - 直向 - 橫向 - 拒絕 - 展開 - 收合 - 第 %1$d 列 - 第 %1$d 欄 - 第 %1$d 個,一共有 %2$d 個 - 標題 - 列標題 - 欄標題 - 喺%2$s嘅%1$s範圍入面 - 喺%1$s範圍入面 - 喺%1$s清單範圍入面 - 喺清單入面 - 喺%2$s嘅%1$s範圍外 - 喺%1$s範圍外 - 喺%1$s清單範圍外 - 喺清單外 - 喺%1$s網格範圍入面 - 喺網格範圍入面 - 喺%1$s網格範圍外 - 喺網格範圍外 - 喺頁面巡覽區入面 (%1$s) - 喺頁面巡覽區入面 - 喺頁面巡覽區外面 (%1$s) - 喺頁面巡覽區外面 - 喺垂直頁面巡覽區入面 (%1$s) - 喺垂直頁面巡覽區入面 - 喺垂直頁面巡覽區外面 (%1$s) - 喺垂直頁面巡覽區外面 - 喺水平頁面巡覽區入面 (%1$s) - 喺水平頁面巡覽區入面 - 喺水平頁面巡覽區外面 - 喺網格頁面巡覽區入面 (%1$s) - 喺網格頁面巡覽區入面 - 喺網格頁面巡覽區外面 (%1$s) - 喺網格頁面巡覽區外面 - 第 %1$d 級 - - %1$d 個項目 - %1$d 個項目 - - - %1$d 列 - %1$d 列 - - - %1$d 欄 - %1$d 欄 - - - %1$d 個字元 - %1$d 個字元 - - 已放大去 %1$d%% - 宜家已放大至 %1$d%% - 閂咗放大功能 - 語速係 %1$d%% - 增加 - 減少 - 最大 - 最細 - %1$d%% - 僅在使用耳機時讀出密碼 - %1$s可以用,用%2$s手勢就睇到。 - 有拼字建議功能可以使用。 - 「%1$s」視窗 - %1$s,偵測到嘅圖示 - %1$s,文字 - diff --git a/compositor/src/main/res/values-zh-rTW/strings.xml b/compositor/src/main/res/values-zh-rTW/strings.xml deleted file mode 100644 index 3e5dd1520..000000000 --- a/compositor/src/main/res/values-zh-rTW/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - TalkBack 已開啟 - TalkBack 已暫停 - TalkBack 已恢復 - TalkBack 已停用 - 互動朗讀已啟用 - 互動朗讀已暫停使用 - 互動朗讀已重新啟用 - 互動朗讀已停用 - 欄位開頭 - 欄位結尾 - 已啟用選取模式 - 已停用選取模式 - 已清除所選文字 - 來電 - 訊息 - 電子郵件 - 活動 - 促銷 - 鬧鐘 - 進度 - 社交 - 錯誤 - 媒體管理 - 系統狀態 - 服務 - %1$s選單 - %1$s已取代%2$s - %1$s已刪除 - 已剪下,%1$s - 已貼上,%1$s - %1$s,已選取 - 所選文字:%1$s - %1$s,已取消選取 - 輸入內容無效:%1$s - 以 %2$s 個字元取代原有的 %1$s 個字元 - %2$s %1$s - 百分之 %1$s。 - - %1$s,顯示 %2$d 個項目。 - %1$s,顯示 %2$d 個項目。 - - Error: %1$s - 格狀 - 清單 - 標籤列 - 下拉式清單 - 核取方塊 - 圓形按鈕 - 按鈕 - 滑桿 - 開關 - 編輯方塊 - 編輯中 - 圖片 - 沒有名稱 - 多頁面檢視 - 頁面 - 進度列 - 網頁檢視 - 密碼 - 已開啟滑動導覽匣 - 選項。 - 已清除文字 - 已達長度上限 - 已選取 - 已勾選 - 尚未勾選 - 開啟 - 關閉 - 已停用 - 已展開 - 已收合 - 輕觸兩下 - 輕觸 - 按下 [選取開關] - 按下選取按鈕 - %1$s即可啟用。 - 按下 %1$s 即可啟用。 - %1$s並按住即可執行長按動作。 - 按下 %1$s 即可長按。 - %1$s即可切換。 - 按下 %1$s 即可切換。 - %1$s即可編輯文字。 - 按下 %1$s 鍵即可編輯文字。 - %1$s即可變更。 - 按下 %1$s 即可變更。 - 用雙指滑動即可切換頁面。 - 沒有其他頁面。 - 使用音量鍵即可調整 - %1$s即可進行變更。 - 動作: - %1$s即可%2$s。 - 按下 %1$s 即可%2$s。 - %1$s並按住即可%2$s。 - %1$s 即可捲動。 - %1$s 即可查看可執行的操作。 - 按下 [選取開關] 進行調整 - 大寫鎖定模式已開啟。 - 大寫鎖定模式已關閉。 - 數字鎖定模式已開啟。 - 數字鎖定模式已關閉。 - 捲動鎖定模式已開啟。 - 捲動鎖定模式已關閉。 - 直向 - 橫向 - 關閉 - 展開 - 收合 - 第 %1$d 列 - 第 %1$d 欄 - 第 %1$d 個,共 %2$d 個 - 標題 - 列標題 - 欄標題 - 目前在%2$s的%1$s範圍內 - 目前在%1$s範圍內 - 在%1$s清單內 - 在清單內 - 目前在%2$s的%1$s範圍外 - 目前在%1$s範圍外 - 在%1$s清單外 - 在清單外 - 在%1$s網格內 - 在網格內 - 在%1$s網格外 - 在網格外 - 在頁面控制項 %1$s 中 - 在頁面控制項中 - 不在頁面控制項 %1$s 中 - 不在頁面控制項中 - 在縱向頁面控制項 %1$s 中 - 在縱向頁面控制項中 - 不在縱向頁面控制項 %1$s 中 - 不在縱向頁面控制項中 - 在橫向頁面控制項 %1$s 中 - 在橫向頁面控制項中 - 不在橫向頁面控制項中 - 在格狀頁面控制項 %1$s 中 - 在格狀頁面控制項中 - 不在格狀頁面控制項 %1$s 中 - 不在格狀頁面控制項中 - 第 %1$d 級 - - %1$d 個項目 - %1$d 個項目 - - - %1$d 個列 - %1$d 個列 - - - %1$d 個欄 - %1$d 個欄 - - - %1$d 個字元 - %1$d 個字元 - - 已放大至 %1$d%% - 目前放大至 %1$d%% - 已關閉放大功能 - 語音速率:%1$d%% - 調高 - 調低 - 最大 - 最小 - %1$d%% - 僅在使用耳機時說出密碼 - %1$s可使用,只要%2$s即可查看。 - 有拼字建議。 - 「%1$s」視窗 - %1$s,偵測到的圖示 - %1$s,文字 - diff --git a/compositor/src/main/res/values-zu/strings.xml b/compositor/src/main/res/values-zu/strings.xml deleted file mode 100644 index 1ac4a219b..000000000 --- a/compositor/src/main/res/values-zu/strings.xml +++ /dev/null @@ -1,176 +0,0 @@ - - - I-TalkBack ivuliwe - I-TalkBack imiswe okwesikhashana - I-TalkBack iqhutshwe kabusha - I-TalkBack ivaliwe - Impendulo ekhulunywayo ivuliwe - Impendulo ekhulunywayo imiswe okwesikhashana - Impendulo ekhulunywayo iqaliswe kabusha - Impendulo ekhulunywayo ivaliwe - Ukuqala kwenkambu - Ukuphela kwenkambu - Imodi yokukhetha ivuliwe - Imodi yokukhetha ivaliwe - Ukukhetha kususiwe - Shaya - Umlayezo - I-imeyili - Umcimbi - Iphromo - I-alamu - Ukuqhubeka - Okomphakathi - Iphutha - Isilawuli semidiya - Isimo sesistimu - Isevisi - %1$s imenyu - I-%1$s ingene esikhundleni se-%2$s - I-%1$s isusiwe - ukusika, %1$s - kunamathiselwe, %1$s - I-%1$s, ikhethiwe - Umbhalo okhethiwe: %1$s - I-%1$s, isuswe ukukhethwa - Okokufaka okungavumelekile kwe-%1$s - %1$s izinhlamvu ezingenelwe esikhundleni yizinhlamvu ezingu-%2$s - %1$s ye-%2$s - %1$s amaphesenti. - - %1$s ibonisa izinto ezingu-%2$d. - %1$s ibonisa izinto ezingu-%2$d. - - Error: %1$s - Igridi - Uhlu - Ibha yethebhu - Uhlu olushona ezansi - Ibhokisi lokuthikha - Inkinobho yerediyo - Inkinobho - Isilayida - Shintsha - Hlela ibhokisi - Ukuhlela - Isithombe - Okungenalebuli - Ukubuka kwamakhasi amaningi - Ikhasi - Ibha lokuqhubeka - I-Webview - iphasiwedi - Ikhabethe lokuslayida livuliwe - Izinketho. - Umbhalo osuliwe - Ubude obuphezulu bufinyelelwe - okukhethiwe - kuthikhiwe - akuhloliwe - vuliwe - valiwe - khutshaziwe - kunwetshiwe - kugoqiwe - Thepha kabili - Thepha - Cindezela ukukhetha iswishi - Cindezela ukukhetha - %1$s ukuze usebenzise. - Cindezela u-%1$s ukuze usebenzise. - %1$s uphinde ubambe ukuze ucindezele isikhathi eside. - Cindezela u-%1$s ukuze ucindezele isikhathi eside. - %1$s ukuze ushintshe. - Cindezela u-%1$s ukuze ushintshe. - %1$s ukuze uhlele umbhalo. - Cindezela ku-%1$s ukuze uhlele umbhalo. - %1$s ukuze uguqule. - Cindezela u-%1$s ukuze ushintshe. - Swayipha ngeminwe emibili ukuze ushintshe amakhasi. - Awesekho amakhasi. - Sebenzisa okhiye bevolumu ukuze ulungise - %1$s ukuze ushintshe. - Izenzo: - %1$s ukuya ku-%2$s. - Cindezela u-%1$s ukuze-%2$s. - %1$s uphinde ubambe ukuya ku-%2$s. - %1$s ukuze uskrole. - %1$s yenzenzo ezitholakalayo. - Cindezela okuthi Khetha ukuze ulungise - Ofeleba bavuliwe. - Ofeleba bavaliwe. - Izinombolo zivuliwe. - Izinombolo zivaliwe. - I-Scroll lock sivuliwe. - I-Scroll lock sivaliwe. - Ukuma ngobude - Ukwakheka kwezwe - Susa - Nweba - Goqa - Umugqa %1$d - Ikholomu %1$d - %1$d ku-%2$d - Isihloko - Isihloko serowu - Isihloko sekholomu - Ku-%1$s %2$s - Ku-%1$s - Kuhlu %1$s - Kuhlu - Kokungu-%1$s %2$s - Kokungu-%1$s - Ngaphandle kohlu %1$s - Akukho kuhlu - Ku-grid %1$s - Ku-grid - Ngaphandle kwe-%1$s - Akukho ku-grid - Kupheyija %1$s - Kupheyija - Ngaphandle kwepheyija %1$s - Ngaphandle kwepheyija - Kupheyija evundlile %1$s - Kupheyija evundlile - Ngaphandle kwepheyija eqondile %1$s - Ngaphandle kwepheyija evundlile - Kupheyija eqondile %1$s - Ipheyija eqondile - Phandle kwepheyija eqondile - Kupheyija ye-grid %1$s - Ipheyija ye-grid - Ngaphandle kwepheyija ye-grid %1$s - Ngaphandle kwepheyija ye-grid - Ileveli engu-%1$d - - %1$d izinto - %1$d izinto - - - %1$d amarowu - %1$d amarowu - - - %1$d amakholomu - %1$d amakholomu - - - %1$d izinhlamvu - %1$d izinhlamvu - - Ukukhuliswa ku-%1$d%% - Ukukhuliswa okungu-%1$d%% - Ukukhuliswa kuvaliwe - Ukulinganisela kwenkulumo okungu-%1$d%% - Khulisa - Yehlisa - Ubuningi - Okuncane - %1$d%% - Amaphasiwedi akhulunywa kuphela uma kusetshenziswa ama-headphone - I-%1$s iyatholakala, sebenzisa i-%2$s ukuze ubuke. - Iziphakamiso zokupela ziyatholakala. - I-Window %1$s - %1$s, isithonjana esitholiwe - %1$s, umbhalo - diff --git a/google3/java/com/google/android/accessibility/braille/brailledisplay/proguard_release.pgcfg b/google3/java/com/google/android/accessibility/braille/brailledisplay/proguard_release.pgcfg new file mode 100644 index 000000000..f3d64072a --- /dev/null +++ b/google3/java/com/google/android/accessibility/braille/brailledisplay/proguard_release.pgcfg @@ -0,0 +1,4 @@ +# Keep the names of fields that would be accessed from jni. +-keep class com.google.android.accessibility.braille.brltty.BrailleInputEvent {*;} +-keep class com.google.android.accessibility.braille.translate.TranslationResult {*;} +-keep class com.google.android.accessibility.braille.translate.TranslationResult$Builder {*;} \ No newline at end of file diff --git a/google3/java/com/google/android/accessibility/talkback/overlay/hats/real/com/google/android/accessibility/talkback/HatsSurveyRequester.java b/google3/java/com/google/android/accessibility/talkback/overlay/hats/real/com/google/android/accessibility/talkback/HatsSurveyRequester.java new file mode 100644 index 000000000..705c3fcbf --- /dev/null +++ b/google3/java/com/google/android/accessibility/talkback/overlay/hats/real/com/google/android/accessibility/talkback/HatsSurveyRequester.java @@ -0,0 +1,170 @@ +/* + * Copyright 2021 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.talkback; + +import android.app.Activity; +import android.content.Context; +import android.content.SharedPreferences; +import android.widget.Toast; +import androidx.core.util.Pair; +import com.google.android.accessibility.utils.FeatureSupport; +import com.google.android.accessibility.utils.SettingsUtils; +import com.google.android.accessibility.utils.SharedPreferencesUtils; +import com.google.android.libraries.accessibility.utils.log.LogUtils; +import com.google.android.libraries.surveys.PresentSurveyRequest; +import com.google.android.libraries.surveys.PresentSurveyRequest.SurveyEventListener; +import com.google.android.libraries.surveys.SurveyData; +import com.google.android.libraries.surveys.SurveyMetadata; +import com.google.android.libraries.surveys.SurveyRequest; +import com.google.android.libraries.surveys.SurveyRequest.ErrorType; +import com.google.android.libraries.surveys.SurveyRequest.RequestSurveyCallback; +import com.google.android.libraries.surveys.SurveysClient; +import googledata.experiments.mobile.accessibility_suite.features.HatsSurveyConfig; +import java.util.ArrayList; +import java.util.List; +import org.chromium.net.CronetEngine; + +/** + * The requester of HaTS, it shows a survey on a specific client activity (ex. TalkBack Settings) + * and intents to collect user feedback. The client activity needs to contain a Framelayout with ID + * R.id.survey_prompt_parent_sheet. + */ +public class HatsSurveyRequester { + + private static final String TAG = "HatsSurveyRequesterImpl"; + // MAX_PROMPT_WIDTH has no effect on the prompt for now, see b/78031571 for details. + private static final int MAX_PROMPT_WIDTH = 340; + private static final String MULTI_FINGER_GESTURE_KEY = "multi_finger_gesture"; + private final Activity activity; + private SurveysClient surveysClient; + private SurveyMetadata surveyMetadata; + + public HatsSurveyRequester(Activity activity) { + this.activity = activity; + } + + /** Requests Hats survey. */ + public void requestSurvey() { + Context context = activity.getApplicationContext(); + + if (!allowSurvey(context)) { + return; + } + + // TODO: Use keyless to request HaTS, instead of using API key directly. + CronetEngine.Builder cronetEngineBuilder = new CronetEngine.Builder(context); + surveysClient = SurveysClient.create(context, cronetEngineBuilder.build()); + SurveyRequest surveyRequest = + SurveyRequest.newBuilder(context, HatsSurveyConfig.triggerId(context)) + .setRequestSurveyCallback( + new RequestSurveyCallback() { + @Override + public void onRequestSuccess(SurveyData surveyData) { + presentSurvey(surveysClient, surveyData); + } + + @Override + public void onRequestFailed(String triggerId, ErrorType errorType) { + LogUtils.w( + TAG, + "Survey error : Failed to fetch survey (trigger id: %s, error: %s.)", + triggerId, + errorType); + } + }) + .setEnableProofMode(HatsSurveyConfig.enableProofMode(context)) + .setApiKey(HatsSurveyConfig.apiKey(context)) + .build(); + + surveysClient.requestSurvey(surveyRequest); + } + + private boolean allowSurvey(Context context) { + SharedPreferences sharedPreferences = SharedPreferencesUtils.getSharedPreferences(context); + + // Can't find the FrameLayout to show the survey. + if (activity.findViewById(R.id.survey_prompt_parent_sheet) == null) { + return false; + } + + // Don't request the survey on TV, ARC or wearable devices. + if (FeatureSupport.isArc() || FeatureSupport.isTv(context) || FeatureSupport.isWatch(context)) { + return false; + } + + // The user doesn't enable TalkBack before. + if (sharedPreferences.getBoolean(TalkBackService.PREF_FIRST_TIME_USER, true)) { + return false; + } + + // During setup. + if (!SettingsUtils.allowLinksOutOfSettings(context)) { + return false; + } + + return true; + } + + private void presentSurvey(SurveysClient surveysClient, SurveyData surveyData) { + SurveyEventListener surveyEventListener = + new SurveyEventListener() { + @Override + public void onSurveyPrompted(SurveyMetadata metadata) { + surveyMetadata = metadata; + } + + @Override + public void onSurveyClosed(SurveyMetadata surveyMetadata) { + if (activity.isFinishing()) { + return; + } + + // Notify users that the survey was closed. + Context context = activity.getApplicationContext(); + Toast.makeText(context, R.string.survey_closed, Toast.LENGTH_SHORT).show(); + } + + @Override + public void onPresentSurveyFailed( + SurveyMetadata surveyMetadata, PresentSurveyRequest.ErrorType errorType) { + LogUtils.w(TAG, "Survey onPresentSurveyFailed : %s", errorType); + } + }; + + // Product Specific Data. + List> productData = new ArrayList<>(); + productData.add( + new Pair<>( + MULTI_FINGER_GESTURE_KEY, + String.valueOf(FeatureSupport.isMultiFingerGestureSupported()))); + + PresentSurveyRequest.Builder builder = + PresentSurveyRequest.newBuilder(/* activity= */ activity, surveyData) + .setSurveyEventListener(surveyEventListener) + .insertIntoParent(R.id.survey_prompt_parent_sheet, MAX_PROMPT_WIDTH) + .setPsd(productData); + + surveysClient.presentSurvey(builder.build()); + } + + /** Dismisses Hats survey. */ + public void dismissSurvey() { + if ((surveysClient != null) && (surveyMetadata != null)) { + surveysClient.dismissSurvey(surveyMetadata, activity); + } + } +} diff --git a/google3/java/com/google/android/accessibility/talkback/overlay/hats/stub/com/google/android/accessibility/talkback/HatsSurveyRequester.java b/google3/java/com/google/android/accessibility/talkback/overlay/hats/stub/com/google/android/accessibility/talkback/HatsSurveyRequester.java new file mode 100644 index 000000000..1d4e3ad68 --- /dev/null +++ b/google3/java/com/google/android/accessibility/talkback/overlay/hats/stub/com/google/android/accessibility/talkback/HatsSurveyRequester.java @@ -0,0 +1,36 @@ +/* + * Copyright 2021 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.talkback; + +import android.app.Activity; + +/** The requester of the survey for user feedback. */ +public class HatsSurveyRequester { + public HatsSurveyRequester(Activity activity) { + // Do nothing. + } + + /** Requests Hats survey. */ + public void requestSurvey() { + // Do nothing. + } + + /** Dismisses Hats survey. */ + public void dismissSurvey() { + // Do nothing. + } +} diff --git a/google3/java/com/google/android/accessibility/talkback/proguard_release.pgcfg b/google3/java/com/google/android/accessibility/talkback/proguard_release.pgcfg new file mode 100644 index 000000000..dec55bf7f --- /dev/null +++ b/google3/java/com/google/android/accessibility/talkback/proguard_release.pgcfg @@ -0,0 +1,4 @@ +# Preference fragments are referenced only in XML +-keep class com.google.android.accessibility.talkback.preference.** { + *; +} \ No newline at end of file diff --git a/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotUtil.kt b/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotUtil.kt new file mode 100644 index 000000000..f5f90fc05 --- /dev/null +++ b/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotUtil.kt @@ -0,0 +1,54 @@ +package com.google.android.accessibility.uiunderstanding + +/** Various utility functions used via [Snapshot] */ +object SnapshotUtil { + + /** + * Iterates [SnapshotView] in level order. To use it in java: + * ``` + * SnapshotView view... + * SnapshotUtil.levelOrder(view).next(); + * ``` + */ + @JvmStatic fun SnapshotView.levelOrder(): Iterator = LevelOrderIterator(this) + + /** + * Iterates [SnapshotView.Mutable] in level order. To use it in java: + * ``` + * SnapshotView.Mutable mutableView... + * SnapshotUtil.levelOrder(mutableView).next(); + * ``` + */ + @JvmStatic + fun SnapshotView.Mutable.levelOrder(): Iterator = LevelOrderIterator(this) + + private fun findRoot(view: SnapshotView): SnapshotView = view.root ?: findHighestParent(view) + + private fun findHighestParent(node: T): T { + var curr: T = node + while (curr.parentNode != null) { + curr = curr.parentNode as T + } + return curr + } +} + +/** Level order iterator for [SnapshotView] or [SnapshotWindow] */ +class LevelOrderIterator(node: T) : Iterator { + private val queue = ArrayDeque() + init { + queue.add(node) + } + + override fun hasNext(): Boolean { + return !queue.isEmpty() + } + + override fun next(): T { + val next = queue.removeFirst() + for (i in 0 until next.childNodeCount) { + queue.add(next.getChildNode(i)!! as T) + } + return next + } +} diff --git a/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotViewImpl.kt b/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotViewImpl.kt new file mode 100644 index 000000000..e30dac669 --- /dev/null +++ b/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotViewImpl.kt @@ -0,0 +1,137 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.uiunderstanding + +import android.graphics.Rect +import android.os.Bundle +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.TouchDelegateInfoCompat + +/** + * Default implementation of [SnapshotView] with all of its property mutable internally. This + * provides a way for us an easy implementation of [SnapshotView.Mutable] as well as toMutable / + * toImmutable function that will be implemented in the same module. + */ +internal open class SnapshotViewImpl( + internal var nodeInfo: AccessibilityNodeInfoCompat, + internal var mutableChildren: MutableList = mutableListOf(), + internal var mutableParent: SnapshotView? = null, + internal var mutableLabelFor: SnapshotView? = null, + internal var mutableLabeledBy: SnapshotView? = null, + internal var mutableBefore: SnapshotView? = null, + internal var mutableAfter: SnapshotView? = null, + internal var mutableAnchoringWindows: MutableList? = null, +) : SnapshotViewInternal { + + internal lateinit var mutableRootWindow: SnapshotWindow + + constructor( + view: SnapshotViewImpl, + ) : this( + mutableChildren = view.children.toMutableList(), + mutableParent = view.parent, + nodeInfo = view.getRaw(), + mutableLabelFor = view.labelFor, + mutableLabeledBy = view.labeledBy, + mutableBefore = view.before, + mutableAfter = view.after, + mutableAnchoringWindows = + if (view.anchoredWindowCount == 0) null else view.anchoredWindows.toMutableList(), + ) { + mutableRootWindow = view.rootWindow + } + + override fun getParent(): SnapshotView? = mutableParent + override fun getLabelFor(): SnapshotView? = mutableLabelFor + override fun getLabeledBy(): SnapshotView? = mutableLabeledBy + override fun getAfter(): SnapshotView? = mutableAfter + override fun getBefore(): SnapshotView? = mutableBefore + override fun getChildCount(): Int = mutableChildren.size + override fun getChild(index: Int): SnapshotView? = mutableChildren.getOrNull(index) + override fun getAnchoredWindow(index: Int): SnapshotWindow? = + mutableAnchoringWindows?.getOrNull(index) + override fun getAnchoredWindowCount(): Int = mutableAnchoringWindows?.size ?: 0 + override fun getRootWindow(): SnapshotWindow = mutableRootWindow + override fun canOpenPopup(): Boolean = nodeInfo.canOpenPopup() + override fun getActionList(): List = + nodeInfo.actionList ?: mutableListOf() + override fun getClassName(): CharSequence? = nodeInfo.className + override fun getCollectionInfo(): AccessibilityNodeInfoCompat.CollectionInfoCompat? = + nodeInfo.collectionInfo + override fun getCollectionItemInfo(): AccessibilityNodeInfoCompat.CollectionItemInfoCompat? = + nodeInfo.collectionItemInfo + override fun getContentDescription(): CharSequence? = nodeInfo.contentDescription + override fun getDrawingOrder(): Int = nodeInfo.drawingOrder + override fun getError(): CharSequence? = nodeInfo.error + override fun getHintText(): CharSequence? = nodeInfo.hintText + override fun getInputType(): Int = nodeInfo.inputType + override fun getLiveRegion(): Int = nodeInfo.liveRegion + override fun getMaxTextLength(): Int = nodeInfo.maxTextLength + override fun getMovementGranularities(): Int = nodeInfo.movementGranularities + override fun getPackageName(): CharSequence? = nodeInfo.packageName + override fun getPaneTitle(): CharSequence? = nodeInfo.paneTitle + override fun getRangeInfo(): RangeInfoCompat? = nodeInfo.rangeInfo + override fun getRoleDescription(): CharSequence? = nodeInfo.roleDescription + override fun getStateDescription(): CharSequence? = nodeInfo.stateDescription + override fun getText(): CharSequence? = nodeInfo.text + override fun getTextSelectionEnd(): Int = nodeInfo.textSelectionEnd + override fun getTextSelectionStart(): Int = nodeInfo.textSelectionStart + override fun getTooltipText(): CharSequence? = nodeInfo.tooltipText + override fun getTouchDelegateInfo(): TouchDelegateInfoCompat? = nodeInfo.touchDelegateInfo + override fun getViewIdResourceName(): String? = nodeInfo.viewIdResourceName + override fun getWindowId(): Int = nodeInfo.windowId + override fun isAccessibilityFocused(): Boolean = nodeInfo.isAccessibilityFocused + override fun isCheckable(): Boolean = nodeInfo.isCheckable + override fun isChecked(): Boolean = nodeInfo.isChecked + override fun isClickable(): Boolean = nodeInfo.isClickable + override fun isContentInvalid(): Boolean = nodeInfo.isContentInvalid + override fun isContextClickable(): Boolean = nodeInfo.isContextClickable + override fun isDismissable(): Boolean = nodeInfo.isDismissable + override fun isEditable(): Boolean = nodeInfo.isEditable + override fun isEnabled(): Boolean = nodeInfo.isEnabled + override fun isFocusable(): Boolean = nodeInfo.isFocusable + override fun isFocused(): Boolean = nodeInfo.isFocused + override fun isHeading(): Boolean = nodeInfo.isHeading + override fun isImportantForAccessibility(): Boolean = nodeInfo.isImportantForAccessibility + override fun isLongClickable(): Boolean = nodeInfo.isLongClickable + override fun isMultiLine(): Boolean = nodeInfo.isMultiLine + override fun isPassword(): Boolean = nodeInfo.isPassword + override fun isScreenReaderFocusable(): Boolean = nodeInfo.isScreenReaderFocusable + override fun isScrollable(): Boolean = nodeInfo.isScrollable + override fun isSelected(): Boolean = nodeInfo.isSelected + override fun isShowingHintText(): Boolean = nodeInfo.isShowingHintText + override fun isTextEntryKey(): Boolean = nodeInfo.isTextEntryKey + override fun isVisibleToUser(): Boolean = nodeInfo.isVisibleToUser + + override fun refresh(): SnapshotView? { + return getRootWindow()?.getSnapshot()?.getEventSource()?.refresh(this) + } + + // in Kotlin, operator == is the same as Object.equals() + override fun equalsRaw(other: AccessibilityNodeInfoCompat): Boolean = (nodeInfo == other) + + fun getRaw(): AccessibilityNodeInfoCompat = nodeInfo + override fun refreshRawNode(): Boolean = nodeInfo.refresh() + override fun performActionOnRawNode(actionId: Int, bundle: Bundle?): Boolean = + nodeInfo.performAction(actionId, bundle) + + override fun getBoundsInScreen(outBounds: Rect) { + nodeInfo.getBoundsInScreen(outBounds) + } +} diff --git a/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotViewMutableImpl.kt b/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotViewMutableImpl.kt new file mode 100644 index 000000000..74b8ca0b1 --- /dev/null +++ b/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotViewMutableImpl.kt @@ -0,0 +1,73 @@ +package com.google.android.accessibility.uiunderstanding + +import androidx.annotation.VisibleForTesting +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat + +/** + * Default implementations of [SnapshotView.Mutable]. For now, it assumes implementations of + * [SnapshotView] to be [SnapshotViewImpl]. + * + * It requires an implementation that allows parent/children structure to be internally mutable for + * the purpose of [build]. + */ +internal open class SnapshotViewMutableImpl : SnapshotViewImpl, SnapshotView.Mutable { + + @VisibleForTesting constructor() : super(AccessibilityNodeInfoCompat.obtain()) + + // Will be used soon in subsequent cls for copying trees. + constructor(view: SnapshotViewImpl) : super(view) + + override fun setChildren(children: List) { + mutableChildren.clear() + mutableChildren.addAll(children) + } + + override fun setParent(parent: SnapshotView?) { + mutableParent = parent + } + + override fun setLabelFor(labelFor: SnapshotView?) { + mutableLabelFor = labelFor + } + + override fun setLabeledBy(labeledBy: SnapshotView?) { + mutableLabeledBy = labeledBy + } + + override fun setAfter(after: SnapshotView?) { + mutableAfter = after + } + + override fun setBefore(before: SnapshotView?) { + mutableBefore = before + } + + override fun setRaw(nodeInfo: AccessibilityNodeInfoCompat) { + this.nodeInfo = nodeInfo + } + + override fun setAnchoredWindows(windows: MutableList?) { + if (windows == null) { + mutableAnchoringWindows = null + } else { + mutableAnchoringWindows = mutableListOf() + mutableAnchoringWindows?.addAll(windows) + } + } + + override fun setRootWindow(rootWindow: SnapshotWindow) { + mutableRootWindow = rootWindow + } + + override fun addChild(toAdd: SnapshotView) { + mutableChildren.add(toAdd) + } + + override fun replaceChild(toRemove: SnapshotView, toAdd: SnapshotView) { + val index = mutableChildren.indexOf(toRemove) + if (index == -1) { + return + } + mutableChildren[index] = toAdd + } +} diff --git a/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotWindowImpl.kt b/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotWindowImpl.kt new file mode 100644 index 000000000..55c6b3bfd --- /dev/null +++ b/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotWindowImpl.kt @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.uiunderstanding + +import android.graphics.Rect +import android.graphics.Region +import android.view.accessibility.AccessibilityWindowInfo +import com.google.android.accessibility.utils.BuildVersionUtils + +/** Default implementation of [SnapshotWindow] with all of its property mutable internally. */ +// TODO: (b/225399278) check if some of the internal var can be private val. +internal class SnapshotWindowImpl( + internal var mutableSnapshot: Snapshot, + protected var windowInfo: AccessibilityWindowInfo, + internal val mutableChildren: MutableList = mutableListOf(), + internal var mutableParent: SnapshotWindow? = null, + internal var mutableAnchor: SnapshotView? = null, + internal var mutableRootView: SnapshotView? = null, +) : SnapshotWindow { + + // TODO: (b/225399611) Remove this once we have a factory + MetricsBuilder. + internal lateinit var mutableMetric: SnapshotWindow.WindowMetric + + constructor( + window: SnapshotWindow + ) : this( + mutableSnapshot = window.snapshot, + windowInfo = + when (window) { + is SnapshotWindowImpl -> window.getRaw() + is SnapshotWindowMutableImpl -> window.getRaw() + else -> AccessibilityWindowInfo.obtain() + }, + mutableChildren = window.children.toMutableList(), + mutableParent = window.parent, + mutableAnchor = window.anchor, + mutableRootView = window.root, + ) { + mutableMetric = window.metric + } + + override fun getMetric(): SnapshotWindow.WindowMetric = mutableMetric + override fun getSnapshot(): Snapshot = mutableSnapshot + override fun getRoot(): SnapshotView? = mutableRootView + override fun getAnchor(): SnapshotView? = mutableAnchor + override fun getParent(): SnapshotWindow? = mutableParent + override fun getChild(index: Int): SnapshotWindow? = mutableChildren.getOrNull(index) + override fun getChildCount(): Int = mutableChildren.size + internal fun getRaw(): AccessibilityWindowInfo = windowInfo + override fun getId(): Int = windowInfo.id + override fun getDisplayId(): Int = + if (BuildVersionUtils.isAtLeastR()) windowInfo.displayId else SnapshotWindow.INVALID_DISPLAY_ID + override fun getLayer(): Int = windowInfo.layer + override fun getRegionInScreen(outRegion: Region) { + if (BuildVersionUtils.isAtLeastR()) { + windowInfo.getRegionInScreen(outRegion) + } + } + override fun getType(): Int = windowInfo.type + override fun isAccessibilityFocused(): Boolean = windowInfo.isAccessibilityFocused() + override fun isActive(): Boolean = windowInfo.isActive() + override fun isFocused(): Boolean = windowInfo.isFocused() + override fun isInPictureInPictureMode(): Boolean = windowInfo.isInPictureInPictureMode() + + override fun getBoundsInScreen(outBounds: Rect) { + windowInfo.getBoundsInScreen(outBounds) + } +} diff --git a/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotWindowMutableImpl.kt b/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotWindowMutableImpl.kt new file mode 100644 index 000000000..84e669d7a --- /dev/null +++ b/google3/java/com/google/android/accessibility/uiunderstanding/SnapshotWindowMutableImpl.kt @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.uiunderstanding + +import android.graphics.Rect +import android.graphics.Region +import android.view.accessibility.AccessibilityWindowInfo +import com.google.android.accessibility.utils.BuildVersionUtils + +/** Default implementation of [SnapshotWindow.Mutable]. */ +internal class SnapshotWindowMutableImpl( + private var mutableSnapshot: Snapshot, + private var windowInfo: AccessibilityWindowInfo, + private val mutableChildren: MutableList = mutableListOf(), + private var mutableParent: SnapshotWindow? = null, + private var mutableAnchor: SnapshotView? = null, + private var mutableRootView: SnapshotView? = null, +) : SnapshotWindow.Mutable { + + internal lateinit var mutableMetric: SnapshotWindow.WindowMetric + + constructor( + window: SnapshotWindow + ) : this( + mutableSnapshot = window.snapshot, + windowInfo = + when (window) { + is SnapshotWindowImpl -> window.getRaw() + is SnapshotWindowMutableImpl -> window.getRaw() + else -> AccessibilityWindowInfo.obtain() + }, + mutableChildren = window.children.toMutableList(), + mutableParent = window.parent, + mutableAnchor = window.anchor, + mutableRootView = window.root, + ) { + mutableMetric = window.metric + } + + override fun getMetric(): SnapshotWindow.WindowMetric = mutableMetric + override fun getSnapshot(): Snapshot = mutableSnapshot + override fun getRoot(): SnapshotView? = mutableRootView + override fun getAnchor(): SnapshotView? = mutableAnchor + override fun getParent(): SnapshotWindow? = mutableParent + override fun getChild(index: Int): SnapshotWindow? = mutableChildren.getOrNull(index) + override fun getChildCount(): Int = mutableChildren.size + internal fun getRaw(): AccessibilityWindowInfo = windowInfo + override fun getId(): Int = windowInfo.id + override fun getDisplayId(): Int = + if (BuildVersionUtils.isAtLeastR()) windowInfo.displayId else SnapshotWindow.INVALID_DISPLAY_ID + override fun getLayer(): Int = windowInfo.layer + override fun getRegionInScreen(outRegion: Region) { + if (BuildVersionUtils.isAtLeastR()) { + windowInfo.getRegionInScreen(outRegion) + } + } + override fun getType(): Int = windowInfo.type + override fun isAccessibilityFocused(): Boolean = windowInfo.isAccessibilityFocused() + override fun isActive(): Boolean = windowInfo.isActive() + override fun isFocused(): Boolean = windowInfo.isFocused() + override fun isInPictureInPictureMode(): Boolean = windowInfo.isInPictureInPictureMode() + + override fun getBoundsInScreen(outBounds: Rect) { + windowInfo.getBoundsInScreen(outBounds) + } + + override fun setRoot(root: SnapshotView.Mutable?) { + mutableRootView = root + } + + override fun setMetric(metric: SnapshotWindow.WindowMetric) { + mutableMetric = metric + } + + override fun setParent(parent: SnapshotWindow.Mutable?) { + mutableParent = parent + } + + override fun setChildren(children: MutableList) { + mutableChildren.clear() + mutableChildren += children + } + + override fun addChild(toAdd: SnapshotWindow.Mutable) { + mutableChildren.add(toAdd) + } + + override fun replaceChild(toRemove: SnapshotWindow.Mutable, toAdd: SnapshotWindow.Mutable) { + val index = mutableChildren.indexOf(toRemove) + if (index == -1) { + return + } + mutableChildren[index] = toAdd + } +} diff --git a/google3/java/com/google/android/accessibility/uiunderstanding/dbw/DbwSnapshotUpdater.kt b/google3/java/com/google/android/accessibility/uiunderstanding/dbw/DbwSnapshotUpdater.kt new file mode 100644 index 000000000..e8ed6db63 --- /dev/null +++ b/google3/java/com/google/android/accessibility/uiunderstanding/dbw/DbwSnapshotUpdater.kt @@ -0,0 +1,60 @@ +package com.google.android.accessibility.uiunderstanding.dbw + +import android.view.accessibility.AccessibilityEvent +import com.google.android.accessibility.uiunderstanding.Snapshot +import com.google.intelligence.dbw.androidcore.a11ycache.updater.AccessibilityTreeCacheUpdater +import com.google.intelligence.dbw.androidcore.uichangedetector.UiChangeStabilizer +import java.time.Duration +import javax.inject.Inject + +/** + * Helper function for updating snapshot via drive by wire, and + * also listen to the newest snapshot. + */ +class DbwSnapshotUpdater @Inject constructor( + private val cacheUpdater: AccessibilityTreeCacheUpdater, + private val uiChangeStabilizer: UiChangeStabilizer, +) { + companion object { + private val STABILITY_WAIT_TIME_MS = Duration.ofMillis(100) + } + + private var snapshotListener: SnapshotListener? = null + private val cacheUpdateListener = + AccessibilityTreeCacheUpdater.AccessibilityTreeCacheUpdatedListener { + snapshotListener?.onSnapshotAvailable(SnapshotDbw(it.immutableForest, SnapshotDbwCache(it))) + } + + private var enabled = false + + /** Listens to the newest snapshot. */ + interface SnapshotListener { + /** New snapshot is available. */ + fun onSnapshotAvailable(snapshot: Snapshot) + } + + /** Starting the updater. */ + fun start() { + enabled = true + cacheUpdater.setScreenStabilityWaitTime(STABILITY_WAIT_TIME_MS) + cacheUpdater.addListener(cacheUpdateListener) + } + + /** Stopping the updater. */ + fun stop() { + enabled = false + cacheUpdater.removeListener(cacheUpdateListener) + } + + /** To receive events that determines whether new snapshot should be quarried or not. */ + fun onEvent(event: AccessibilityEvent) { + if (enabled) { + uiChangeStabilizer.onPossibleChangeToUi(event) + } + } + + /** Sets listener for snapshot status. */ + fun setListener(listener: SnapshotListener?) { + snapshotListener = listener + } +} diff --git a/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotDbw.kt b/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotDbw.kt new file mode 100644 index 000000000..5723f82da --- /dev/null +++ b/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotDbw.kt @@ -0,0 +1,64 @@ +package com.google.android.accessibility.uiunderstanding.dbw + +import com.google.android.accessibility.uiunderstanding.Snapshot +import com.google.android.accessibility.uiunderstanding.SnapshotView +import com.google.android.accessibility.uiunderstanding.SnapshotWindow +import com.google.common.collect.ImmutableList +import com.google.intelligence.dbw.android.accessibility.ImmutableAndroidAccessibilityForest + +/** + * Implementation of [Snapshot] using drive by wire [ImmutableAndroidAccessibilityForest]. + * + * Currently [ImmutableAndroidAccessibilityForest] lacks some info to support all APIs available + * in [Snapshot]. This class serves as an adapter allowing us to see how integration of + * drive by wire to talkback would play out. + * + * This is more or less a temporary class where most implementation might move to + * [ImmutableAndroidAccessibilityForest] in the future. + * + * TODO: (b/229417432) Finish unimplemented APIs once dbw supports missing info. + */ +internal class SnapshotDbw( + private val forest: ImmutableAndroidAccessibilityForest, + private val cache: SnapshotDbwCache, +) : Snapshot { + + private val windows: ImmutableList + + init { + val builder = ImmutableList.builder() + forest.trees.forEach { + builder.add(SnapshotWindowDbw(it, this, cache)) + } + windows = builder.build() + } + + override fun getWindows(): ImmutableList = windows + + override fun contains(view: SnapshotView): Boolean { + if (view !is SnapshotViewDbw) { + // Drive by wire snapshot cannot contain non-drive by wire view. + return false + } + + val node = view.immutableNode + val nodeSrc = cache.getInfo(node) ?: return false + forest.trees.forEach { tree -> + // Source check might not be necessary. + tree.findFirst{ + it == node || cache.getInfo(it) == nodeSrc + }?.orElse(null)?.let { + return true + } + } + return false + } + + override fun find(target: SnapshotView?): SnapshotView? { + // Tree cannot contain non-dbw view for now. + return when (target) { + is SnapshotViewDbw -> cache.find(target) + else -> null + } + } +} diff --git a/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotDbwCache.kt b/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotDbwCache.kt new file mode 100644 index 000000000..c324b9a3d --- /dev/null +++ b/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotDbwCache.kt @@ -0,0 +1,51 @@ +package com.google.android.accessibility.uiunderstanding.dbw + +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat +import com.google.android.accessibility.uiunderstanding.SnapshotView +import com.google.intelligence.dbw.android.accessibility.ImmutableAndroidAccessibilityNode +import com.google.intelligence.dbw.androidcore.a11ycache.AccessibilityTreeCache + +/** + * Cache used for creating dbw implementation. It works as a directional hashmap between + * [ImmutableAndroidAccessibilityNode], [SnapshotView] and [AccessibilityNodeInfoCompat]. + * + * These implementations are temporary to support existing [ImmutableAndroidAccessibilityNode]. + */ +internal class SnapshotDbwCache ( + private val treeCache: AccessibilityTreeCache +) { + private var immutableNodeToView: MutableMap? = + null + + /** Retrieves [SnapshotView] from [ImmutableAndroidAccessibilityNode]. */ + fun getViewFromImmutableNode(node: ImmutableAndroidAccessibilityNode): SnapshotView { + if (immutableNodeToView == null) { + immutableNodeToView = HashMap() + } + + immutableNodeToView!![node]?.let { return it } + + val toReturn = SnapshotViewDbw(node, this) + immutableNodeToView!![node] = toReturn + return toReturn + } + + /** Retrieves [AccessibilityNodeInfoCompat] from [ImmutableAndroidAccessibilityNode]. */ + fun getInfo(node: ImmutableAndroidAccessibilityNode): AccessibilityNodeInfoCompat? { + return treeCache.getSourceNode(node.toProto())?.orElse(null) + } + + /** Retrieves [SnapshotView] from [AccessibilityNodeInfoCompat]. */ + fun getViewFromInfo(src: AccessibilityNodeInfoCompat): SnapshotView? { + // TODO use findNode instead. + val node = treeCache.findImmutableNode(src)?.orElse(null) ?: return null + return getViewFromImmutableNode(node) + } + + /** Searches the cache to see if matching view exists in the tree. Return null otherwise. */ + fun find(view: SnapshotViewDbw): SnapshotView? { + val nodeInfo = getInfo(view.immutableNode) + val found = treeCache.findImmutableNode(nodeInfo).orElse(null) ?: return null + return getViewFromImmutableNode(found) + } +} diff --git a/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotViewDbw.kt b/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotViewDbw.kt new file mode 100644 index 000000000..a1b83e724 --- /dev/null +++ b/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotViewDbw.kt @@ -0,0 +1,169 @@ +package com.google.android.accessibility.uiunderstanding.dbw + +import android.graphics.Rect +import android.os.Bundle +import android.text.InputType +import androidx.core.view.ViewCompat +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat +import com.google.android.accessibility.uiunderstanding.Snapshot +import com.google.android.accessibility.uiunderstanding.SnapshotView +import com.google.android.accessibility.uiunderstanding.SnapshotWindow +import com.google.intelligence.dbw.android.accessibility.ImmutableAndroidAccessibilityNode +import java.util.Optional + +/** + * Implementation of [SnapshotView] using drive by wire [ImmutableAndroidAccessibilityNode]. + * + * Currently [ImmutableAndroidAccessibilityNode] lacks some info to support all APIs available + * in [SnapshotView]. This class serves as an adapter allowing us to see how integration of + * drive by wire to talkback would play out. + * + * This is more or less a temporary class where most implementation might move to + * [ImmutableAndroidAccessibilityNode] in the future. + * + * TODO: (b/229417432) Finish unimplemented APIs once dbw supports windowInfo link. + */ +internal class SnapshotViewDbw( + val immutableNode: ImmutableAndroidAccessibilityNode, + private val cache: SnapshotDbwCache, +) : SnapshotView{ + + override fun getChild(index: Int): SnapshotView? { + return try { + cache.getViewFromImmutableNode(immutableNode.getChildOrThrow(index)) + } catch (ie: IndexOutOfBoundsException) { + null + } + } + + override fun getRoot(): SnapshotView? { + val visited = mutableSetOf() + var curr: SnapshotView = this + while (curr.parent != null) { + if (visited.contains(curr.parent)) { + // Loop detected. + return null + } + + curr = curr.parent!! + visited.add(curr) + } + return curr + } + + override fun getBoundsInScreen(outBounds: Rect) { + val dbwRect = immutableNode.boundsInScreen + outBounds.left = dbwRect.left() + outBounds.right = dbwRect.right() + outBounds.top = dbwRect.top() + outBounds.bottom = dbwRect.bottom() + } + + override fun getChildCount(): Int = immutableNode.childCount + override fun getText(): CharSequence? = immutableNode.text + override fun getClassName(): CharSequence? = immutableNode.className + override fun getContentDescription(): CharSequence? = immutableNode.contentDescription + override fun getHintText(): CharSequence? = immutableNode.hintText + override fun getPackageName(): CharSequence? = immutableNode.packageName + override fun getParent(): SnapshotView? = getView{ immutableNode.parent } + override fun getLabelFor(): SnapshotView? = getView { immutableNode.labelFor } + override fun getLabeledBy(): SnapshotView? = getView { immutableNode.labeledBy } + override fun getAfter(): SnapshotView? = getNeighborView { it.traversalAfter } + override fun getBefore(): SnapshotView? = getNeighborView { it.traversalBefore } + override fun performAction(action: Int): Boolean = + getInfoProperty(false) { it.performAction(action) } + override fun performAction(action: Int, bundle: Bundle): Boolean = + getInfoProperty(false) { it.performAction(action, bundle) } + override fun equalsRaw(other: AccessibilityNodeInfoCompat): Boolean = + getInfoProperty(false) { it == other } + override fun canOpenPopup(): Boolean = getInfoProperty(false) { it.canOpenPopup() } + override fun getDrawingOrder(): Int = getInfoProperty(0) { it.drawingOrder } + override fun getError(): CharSequence? = getInfoProperty(null) { it.error } + override fun getCollectionInfo(): AccessibilityNodeInfoCompat.CollectionInfoCompat? = + getInfoProperty(null) { it.collectionInfo } + override fun getActionList(): List = + getInfoProperty(listOf()) { it.actionList } + override fun getCollectionItemInfo(): AccessibilityNodeInfoCompat.CollectionItemInfoCompat? = + getInfoProperty(null) { it.collectionItemInfo } + override fun getInputType(): Int = getInfoProperty(InputType.TYPE_NULL) { it.inputType } + override fun getLiveRegion(): Int = + getInfoProperty(ViewCompat.ACCESSIBILITY_LIVE_REGION_NONE) { it.liveRegion } + override fun getMaxTextLength(): Int = getInfoProperty(-1) { it.maxTextLength } + override fun getMovementGranularities(): Int = getInfoProperty(0) { it.movementGranularities } + override fun getPaneTitle(): CharSequence? = getInfoProperty(null) { it.paneTitle } + override fun getRangeInfo(): AccessibilityNodeInfoCompat.RangeInfoCompat? = + getInfoProperty(null) { it.rangeInfo } + override fun getRoleDescription(): CharSequence? = getInfoProperty(null) { it.roleDescription } + override fun getStateDescription(): CharSequence? = + getInfoProperty(null) { it.stateDescription } + override fun getTextSelectionEnd(): Int = getInfoProperty(-1) { it.textSelectionEnd } + override fun getTextSelectionStart(): Int = getInfoProperty(-1) { it.textSelectionStart } + override fun getTooltipText(): CharSequence? = getInfoProperty(null) { it.tooltipText } + override fun getTouchDelegateInfo(): AccessibilityNodeInfoCompat.TouchDelegateInfoCompat? = + getInfoProperty(null) { it.touchDelegateInfo } + override fun getViewIdResourceName(): String? = immutableNode.viewIdResourceName + override fun getWindowId(): Int = getInfoProperty(-1) { it.windowId } + override fun isAccessibilityFocused(): Boolean = + getInfoProperty(false) { it.isAccessibilityFocused } + override fun isCheckable(): Boolean = immutableNode.isCheckable + override fun isChecked(): Boolean = immutableNode.isChecked + override fun isClickable(): Boolean = immutableNode.isClickable + override fun isContentInvalid(): Boolean = getInfoProperty(false) { it.isContentInvalid } + override fun isContextClickable(): Boolean = getInfoProperty(false) { it.isContextClickable } + override fun isDismissable(): Boolean = getInfoProperty(false) { it.isDismissable } + override fun isEditable(): Boolean = immutableNode.isEditable + override fun isEnabled(): Boolean = immutableNode.isEnabled + override fun isFocusable(): Boolean = immutableNode.isFocusable + override fun isFocused(): Boolean = immutableNode.isFocused + override fun isHeading(): Boolean = getInfoProperty(false) { it.isHeading } + override fun isImportantForAccessibility(): Boolean = + getInfoProperty(true) { it.isImportantForAccessibility } + override fun isLongClickable(): Boolean = immutableNode.isLongClickable + override fun isMultiLine(): Boolean = getInfoProperty(false) { it.isMultiLine } + override fun isPassword(): Boolean = immutableNode.isPassword + override fun isScreenReaderFocusable(): Boolean = + getInfoProperty(false) { it.isScreenReaderFocusable } + override fun isScrollable(): Boolean = immutableNode.isScrollable + override fun isSelected(): Boolean = immutableNode.isSelected + override fun isShowingHintText(): Boolean = getInfoProperty(false) { it.isShowingHintText } + override fun isTextEntryKey(): Boolean = getInfoProperty(false) { it.isTextEntryKey } + override fun isVisibleToUser(): Boolean = immutableNode.isVisibleToUser + + override fun getRootWindow(): SnapshotWindow { + // TODO:b/229417432 implement this methods. + return SnapshotWindow { object : Snapshot { } } + } + + private fun getView(input: () -> Optional): SnapshotView? { + val node = input.invoke().orElse(null) + return if (node == null) { + null + } else { + cache.getViewFromImmutableNode(node) + } + } + + /** + * Returns [SnapshotView] that represents nodeInfo that input param [getNeighborFromInfo] + * points to. + */ + private fun getNeighborView( + getNeighborFromInfo: (AccessibilityNodeInfoCompat) -> AccessibilityNodeInfoCompat?, + ): SnapshotView? { + + val srcNodeInfo = cache.getInfo(immutableNode) ?: return null + val nextNode = getNeighborFromInfo.invoke(srcNodeInfo) ?: return null + return cache.getViewFromInfo(nextNode) + } + + /** + * Returns the property that input param [getPropertyFromInfo] points to. + */ + private fun getInfoProperty( + defaultValue: T, + getPropertyFromInfo: (AccessibilityNodeInfoCompat) -> T, + ): T { + val src = cache.getInfo(immutableNode) ?: return defaultValue + return getPropertyFromInfo.invoke(src) + } +} diff --git a/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotWindowDbw.kt b/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotWindowDbw.kt new file mode 100644 index 000000000..bc70c4789 --- /dev/null +++ b/google3/java/com/google/android/accessibility/uiunderstanding/dbw/SnapshotWindowDbw.kt @@ -0,0 +1,34 @@ +package com.google.android.accessibility.uiunderstanding.dbw + +import com.google.android.accessibility.uiunderstanding.Snapshot +import com.google.android.accessibility.uiunderstanding.SnapshotView +import com.google.android.accessibility.uiunderstanding.SnapshotWindow +import com.google.intelligence.dbw.android.accessibility.ImmutableAndroidAccessibilityTree + +/** + * Implementation of [SnapshotWindow] using drive by wire [ImmutableAndroidAccessibilityTree]. + * + * Currently [ImmutableAndroidAccessibilityTree] lacks some info to support all APIs available + * in [SnapshotWindow]. This class serves as an adapter allowing us to see how integration of + * drive by wire to talkback would play out. + * + * This is more or less a temporary class where most implementation might move to + * [ImmutableAndroidAccessibilityTree] in the future. + * + * TODO: (b/229417432) Update drive by wire cache to support tree to windowInfo link. + */ +internal class SnapshotWindowDbw( + private val tree: ImmutableAndroidAccessibilityTree, + private val forest: Snapshot, + private val cache: SnapshotDbwCache, +) : SnapshotWindow { + + override fun getSnapshot(): Snapshot { + return forest + } + + override fun getRoot(): SnapshotView? { + val rootNode = tree.root.orElse(null) ?: return null + return cache.getViewFromImmutableNode(rootNode) + } +} diff --git a/settings.gradle b/settings.gradle index d8cdf8754..4ba1a344e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,5 +1,4 @@ include ':talkback' -include ':compositor' include ':utils' include ':uiunderstanding' include ':proguard' diff --git a/shared.gradle b/shared.gradle index 3128be35b..1cdba1a15 100644 --- a/shared.gradle +++ b/shared.gradle @@ -2,11 +2,10 @@ ext { talkbackApplicationId = "com.android.talkback" - talkbackMainPermission = "com.android.talkback.permission.TALKBACK" } android { - compileSdkVersion 'android-31' + compileSdkVersion 'android-Tiramisu' compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 @@ -14,7 +13,7 @@ android { defaultConfig { vectorDrawables.useSupportLibrary = true multiDexEnabled true - minSdkVersion 23 + minSdkVersion 26 } flavorDimensions "target" productFlavors { @@ -32,7 +31,8 @@ dependencies { // Google common implementation 'com.google.guava:guava:31.0-jre' implementation 'com.google.android.gms:play-services-mlkit-text-recognition:17.0.1' - implementation 'com.google.android.material:material:1.4.0' + implementation 'com.google.android.material:material:1.5.0' + implementation 'com.google.android.play:core:1.10.3' // Support library implementation 'androidx.annotation:annotation:1.2.0' @@ -55,4 +55,7 @@ dependencies { implementation 'androidx.wear:wear:1.2.0-rc01' implementation 'com.google.android.support:wearable:2.8.1' + + // UI understanding + implementation 'joda-time:joda-time:2.9.9' } diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml index 1a1c1e28a..f323f5328 100644 --- a/src/main/AndroidManifest.xml +++ b/src/main/AndroidManifest.xml @@ -8,15 +8,4 @@ value when a build executes. --> - - - - - - diff --git a/talkback/build.gradle b/talkback/build.gradle index 3c1625beb..1e27c9c6f 100644 --- a/talkback/build.gradle +++ b/talkback/build.gradle @@ -5,16 +5,7 @@ dependencies { implementation project(':proguard') implementation project(':uiunderstanding') implementation project(':utils') - implementation project(':compositor') implementation project(':brailleime') implementation project(':brailleinterfaces') implementation project(':brailledisplay') } - -def talkbackMainPermission = '"com.android.talkback.permission.TALKBACK"' - -android { - defaultConfig { - buildConfigField("String", "TALKBACK_MAIN_PERMISSION", talkbackMainPermission) - } -} diff --git a/talkback/src/main/AndroidManifest.xml b/talkback/src/main/AndroidManifest.xml index cd55c327d..4a2f0d50c 100644 --- a/talkback/src/main/AndroidManifest.xml +++ b/talkback/src/main/AndroidManifest.xml @@ -127,23 +127,6 @@ - - - - - - - - - - - - - - - - - - Views with no content description. *

    • Edit texts which have input focus with an active keyboard. *
    • Webviews. + *
    • View with selectable text that aren't edit texts. *
    */ static boolean shouldHandleGranularityTraversalInTalkback( @@ -107,8 +108,10 @@ static boolean shouldHandleGranularityTraversalInTalkback( LogUtils.v(TAG, "Granularity traversal not handled by Talkback since its a webview"); return false; } - // Edit texts that have input focus are handled by the framework. - if ((Role.getRole(node) == Role.ROLE_EDIT_TEXT) && node.isFocused()) { + // Edit texts that have input focus or non-editable selectable texts are handled by the + // framework. + if ((Role.getRole(node) == Role.ROLE_EDIT_TEXT) && node.isFocused() + || AccessibilityNodeInfoUtils.isNonEditableSelectableText(node)) { LogUtils.v(TAG, "Granularity traversal not handled by Talkback as node is focused"); return false; } @@ -201,7 +204,7 @@ private static TextSegmentIterator getIteratorForGranularity( */ public static CharSequence getIterableTextForAccessibility(AccessibilityNodeInfoCompat node) { @Nullable CharSequence nodeText = AccessibilityNodeInfoUtils.getText(node); - if ((Role.getRole(node) == Role.ROLE_EDIT_TEXT) && !TextUtils.isEmpty(nodeText)) { + if (AccessibilityNodeInfoUtils.isTextSelectable(node) && !TextUtils.isEmpty(nodeText)) { return nodeText; } @@ -278,6 +281,4 @@ private void sendViewTextTraversedAtGranularityEvent( isTalkbackPackage, traversedText.toString(), eventId); } } - - } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/HatsSurveyRequester.java b/talkback/src/main/java/com/google/android/accessibility/talkback/HatsSurveyRequester.java index d802107ca..1d4e3ad68 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/HatsSurveyRequester.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/HatsSurveyRequester.java @@ -24,7 +24,13 @@ public HatsSurveyRequester(Activity activity) { // Do nothing. } + /** Requests Hats survey. */ public void requestSurvey() { // Do nothing. } + + /** Dismisses Hats survey. */ + public void dismissSurvey() { + // Do nothing. + } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/Interpretation.java b/talkback/src/main/java/com/google/android/accessibility/talkback/Interpretation.java index 225486afd..1dc796778 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/Interpretation.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/Interpretation.java @@ -16,23 +16,24 @@ package com.google.android.accessibility.talkback; -import static com.google.android.accessibility.compositor.Compositor.EVENT_UNKNOWN; +import static com.google.android.accessibility.talkback.compositor.Compositor.EVENT_UNKNOWN; import static com.google.android.accessibility.utils.AccessibilityNodeInfoUtils.toStringShort; import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_UNKNOWN; import android.graphics.Rect; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.compositor.Compositor; -import com.google.android.accessibility.compositor.EventInterpretation; +import com.google.android.accessibility.talkback.compositor.Compositor; +import com.google.android.accessibility.talkback.compositor.EventInterpretation; import com.google.android.accessibility.talkback.focusmanagement.interpreter.ScreenState; -import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.StringBuilderUtils; import com.google.android.accessibility.utils.input.CursorGranularity; +import com.google.android.accessibility.utils.input.ScrollEventInterpreter.ScrollEventInterpretation; import com.google.android.accessibility.utils.traversal.TraversalStrategy; import com.google.android.accessibility.utils.traversal.TraversalStrategy.SearchDirection; import com.google.android.accessibility.utils.traversal.TraversalStrategyUtils; import com.google.auto.value.AutoValue; import java.util.Objects; +import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; /** Data-structure classes to hold event-interpretations. Many sub-classes are expected. */ @@ -214,8 +215,7 @@ public abstract static class DirectionNavigation extends Interpretation { /** Caller retains ownership of destination, this class makes a copy. */ public static DirectionNavigation create( @SearchDirection int direction, @Nullable AccessibilityNodeInfoCompat destination) { - return new AutoValue_Interpretation_DirectionNavigation( - direction, AccessibilityNodeInfoUtils.obtain(destination)); + return new AutoValue_Interpretation_DirectionNavigation(direction, destination); } @Override @@ -275,8 +275,7 @@ public static VoiceCommand create( @Nullable AccessibilityNodeInfoCompat targetNode, @Nullable CursorGranularity granularity, @Nullable CharSequence text) { - return new AutoValue_Interpretation_VoiceCommand( - command, AccessibilityNodeInfoUtils.obtain(targetNode), granularity, text); + return new AutoValue_Interpretation_VoiceCommand(command, targetNode, granularity, text); } @Override @@ -296,7 +295,7 @@ public static final class InputFocus extends Interpretation { /** Caller retains ownership of node, this class makes a copy. */ public InputFocus(AccessibilityNodeInfoCompat node) { - this.node = AccessibilityNodeInfoUtils.obtain(node); + this.node = node; } /** Caller does not own returned node. */ @@ -385,7 +384,7 @@ public static enum Action { /** Caller retains ownership of target, this class makes a copy. */ public static Touch create(Touch.Action action, @Nullable AccessibilityNodeInfoCompat target) { - return new AutoValue_Interpretation_Touch(action, AccessibilityNodeInfoUtils.obtain(target)); + return new AutoValue_Interpretation_Touch(action, target); } public static Touch create(Touch.Action action) { @@ -448,10 +447,37 @@ public static UiChange createPartialScreenUiChange( } } + /** Interpretation sub-type for general scroll event from ScrollEventInterpreter. */ + public static final class Scroll extends Interpretation { + // Implemented without AutoValue, to avoid copybara open-sourcing problems. + + public final @NonNull ScrollEventInterpretation scroll; + + public Scroll(@NonNull ScrollEventInterpretation scroll) { + this.scroll = scroll; + } + + @Override + public boolean equals(Object otherObject) { + @Nullable Scroll other = castOrNull(otherObject, Scroll.class); + return (other != null) && Objects.equals(this.scroll, other.scroll); + } + + @Override + public int hashCode() { + return Objects.hash(scroll); + } + + @Override + public String toString() { + return scroll.toString(); + } + } + //////////////////////////////////////////////////////////////////////////////////////////////// // Static utility methods - private static @Nullable T castOrNull(Object object, Class clazz) { + private static @Nullable T castOrNull(Object object, Class clazz) { return (object == null || !clazz.isInstance(object)) ? null : clazz.cast(object); } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/Interpreters.java b/talkback/src/main/java/com/google/android/accessibility/talkback/Interpreters.java index 9cc4291f8..9c428bfd1 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/Interpreters.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/Interpreters.java @@ -27,12 +27,14 @@ import com.google.android.accessibility.talkback.interpreters.DirectionNavigationInterpreter; import com.google.android.accessibility.talkback.interpreters.FullScreenReadInterpreter; import com.google.android.accessibility.talkback.interpreters.InputFocusInterpreter; +import com.google.android.accessibility.talkback.interpreters.ManualScrollInterpreter; import com.google.android.accessibility.talkback.interpreters.PassThroughModeInterpreter; import com.google.android.accessibility.talkback.interpreters.ScrollPositionInterpreter; import com.google.android.accessibility.talkback.interpreters.StateChangeEventInterpreter; import com.google.android.accessibility.talkback.interpreters.SubtreeChangeEventInterpreter; import com.google.android.accessibility.talkback.interpreters.UiChangeEventInterpreter; import com.google.android.accessibility.utils.Performance.EventId; +import com.google.android.accessibility.utils.input.ScrollEventInterpreter; /** Wrapper around all event-interpreters, for use in Pipeline. */ public class Interpreters { @@ -42,9 +44,11 @@ public class Interpreters { // TODO: Move all event-interpreters into pipeline-interpreters. private final InputFocusInterpreter inputFocusInterpreter; + private final ScrollEventInterpreter scrollEventInterpreter; + private final ManualScrollInterpreter manualScrollInterpreter; private final AutoScrollInterpreter autoScrollInterpreter; // Listens to ScrollEventInterpreter private final ScrollPositionInterpreter - scrollPositionInterpreter; // Listens ScrollEventInterpreter + scrollPositionInterpreter; // Listens to ScrollEventInterpreter private final AccessibilityFocusInterpreter accessibilityFocusInterpreter; private final FullScreenReadInterpreter continuousReadInterpreter; private final StateChangeEventInterpreter stateChangeEventInterpreter; @@ -63,6 +67,8 @@ public class Interpreters { public Interpreters( InputFocusInterpreter inputFocusInterpreter, + ScrollEventInterpreter scrollEventInterpreter, + ManualScrollInterpreter manualScrollInterpreter, AutoScrollInterpreter autoScrollInterpreter, ScrollPositionInterpreter scrollPositionInterpreter, AccessibilityFocusInterpreter accessibilityFocusInterpreter, @@ -77,6 +83,8 @@ public Interpreters( UiChangeEventInterpreter uiChangeEventInterpreter) { this.inputFocusInterpreter = inputFocusInterpreter; + this.scrollEventInterpreter = scrollEventInterpreter; + this.manualScrollInterpreter = manualScrollInterpreter; this.autoScrollInterpreter = autoScrollInterpreter; this.scrollPositionInterpreter = scrollPositionInterpreter; this.accessibilityFocusInterpreter = accessibilityFocusInterpreter; @@ -90,8 +98,16 @@ public Interpreters( this.accessibilityEventIdleInterpreter = accessibilityEventIdleInterpreter; this.uiChangeEventInterpreter = uiChangeEventInterpreter; + // Event-interpreters are chained: + // scrollEventInterpreter -> manualScrollInterpreter -> accessibilityFocusInterpreter + manualScrollInterpreter.setListener(accessibilityFocusInterpreter); + scrollEventInterpreter.addListener(manualScrollInterpreter); + scrollEventInterpreter.addListener(scrollPositionInterpreter); + scrollEventInterpreter.addListener(autoScrollInterpreter); + eventTypeMask = inputFocusInterpreter.getEventTypes() + | scrollEventInterpreter.getEventTypes() | continuousReadInterpreter.getEventTypes() | stateChangeEventInterpreter.getEventTypes() | subtreeChangeEventInterpreter.getEventTypes() @@ -102,6 +118,8 @@ public Interpreters( public void setActorState(ActorState actorState) { inputFocusInterpreter.setActorState(actorState); + scrollEventInterpreter.setScrollActorState(actorState.getScrollerState()); + manualScrollInterpreter.setActorState(actorState); autoScrollInterpreter.setActorState(actorState); accessibilityFocusInterpreter.setActorState(actorState); continuousReadInterpreter.setActorState(actorState); @@ -113,6 +131,11 @@ public void setActorState(ActorState actorState) { } public void setPipelineInterpretationReceiver(Pipeline.InterpretationReceiver pipeline) { + // Mappers also listen to scroll-event-interpreter. + scrollEventInterpreter.addListener( + (event, interpretation, eventId) -> + pipeline.input(eventId, event, new Interpretation.Scroll(interpretation))); + autoScrollInterpreter.setPipelineInterpretationReceiver(pipeline); scrollPositionInterpreter.setPipeline(pipeline); accessibilityFocusInterpreter.setPipeline(pipeline); @@ -140,6 +163,7 @@ public int getEventTypes() { /** Handles accessibility-event, asynchronously returning interpretations to pipeline. */ public void onAccessibilityEvent(AccessibilityEvent event, EventId eventId) { inputFocusInterpreter.onAccessibilityEvent(event, eventId); + scrollEventInterpreter.onAccessibilityEvent(event, eventId); continuousReadInterpreter.onAccessibilityEvent(event, eventId); stateChangeEventInterpreter.onAccessibilityEvent(event, eventId); subtreeChangeEventInterpreter.onAccessibilityEvent(event, eventId); diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/KeyboardLockMonitor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/KeyboardLockMonitor.java index a9472649f..508cf89b1 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/KeyboardLockMonitor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/KeyboardLockMonitor.java @@ -17,7 +17,7 @@ package com.google.android.accessibility.talkback; import android.view.KeyEvent; -import com.google.android.accessibility.compositor.Compositor; +import com.google.android.accessibility.talkback.compositor.Compositor; import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.ServiceKeyEventListener; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/Mappers.java b/talkback/src/main/java/com/google/android/accessibility/talkback/Mappers.java index 28a5b1e5a..626938d20 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/Mappers.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/Mappers.java @@ -16,16 +16,16 @@ package com.google.android.accessibility.talkback; -import static com.google.android.accessibility.compositor.Compositor.EVENT_SPEAK_HINT; -import static com.google.android.accessibility.compositor.Compositor.EVENT_UNKNOWN; import static com.google.android.accessibility.talkback.Feedback.ContinuousRead.Action.INTERRUPT; import static com.google.android.accessibility.talkback.Feedback.ContinuousRead.Action.READ_FOCUSED_CONTENT; import static com.google.android.accessibility.talkback.Feedback.Focus.Action.ENSURE_ACCESSIBILITY_FOCUS_ON_SCREEN; import static com.google.android.accessibility.talkback.Feedback.PassThroughMode.Action.DISABLE_PASSTHROUGH; import static com.google.android.accessibility.talkback.Feedback.PassThroughMode.Action.STOP_TIMER; import static com.google.android.accessibility.talkback.Interpretation.VoiceCommand.Action.VOICE_COMMAND_UNKNOWN; +import static com.google.android.accessibility.talkback.compositor.Compositor.EVENT_SPEAK_HINT; +import static com.google.android.accessibility.talkback.compositor.Compositor.EVENT_UNKNOWN; import static com.google.android.accessibility.talkback.focusmanagement.FocusProcessorForTapAndTouchExploration.DOUBLE_TAP; -import static com.google.android.accessibility.utils.keyboard.KeyComboManager.ACTION_UNKNOWN; +import static com.google.android.accessibility.talkback.keyboard.KeyComboManager.ACTION_UNKNOWN; import static com.google.android.accessibility.utils.output.FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_AUDIO_PLAYBACK_ACTIVE; import static com.google.android.accessibility.utils.output.FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_MICROPHONE_ACTIVE; import static com.google.android.accessibility.utils.output.FeedbackItem.FLAG_NO_HISTORY; @@ -38,9 +38,6 @@ import android.text.TextUtils; import android.view.accessibility.AccessibilityEvent; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.compositor.Compositor; -import com.google.android.accessibility.compositor.EventInterpretation; -import com.google.android.accessibility.compositor.HintEventInterpretation; import com.google.android.accessibility.talkback.Feedback.Focus; import com.google.android.accessibility.talkback.Feedback.Speech; import com.google.android.accessibility.talkback.Feedback.UiChange.Action; @@ -48,8 +45,10 @@ import com.google.android.accessibility.talkback.Interpretation.UiChange; import com.google.android.accessibility.talkback.Interpretation.UiChange.UiChangeType; import com.google.android.accessibility.talkback.Interpretation.VoiceCommand; -import com.google.android.accessibility.talkback.actor.DirectionNavigationMapper; import com.google.android.accessibility.talkback.actor.voicecommands.VoiceCommandMapper; +import com.google.android.accessibility.talkback.compositor.Compositor; +import com.google.android.accessibility.talkback.compositor.EventInterpretation; +import com.google.android.accessibility.talkback.compositor.HintEventInterpretation; import com.google.android.accessibility.talkback.focusmanagement.FocusFeedbackMapper; import com.google.android.accessibility.talkback.focusmanagement.FocusProcessorForTapAndTouchExploration.TypingMethod; import com.google.android.accessibility.talkback.focusmanagement.interpreter.ScreenState; @@ -265,8 +264,6 @@ public void setMonitors(Monitors.State monitors) { | FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_MICROPHONE_ACTIVE); return Feedback.create( eventId, Feedback.Part.builder().speech(announcement, speakOptions).build()); - } else if (interpretation instanceof Interpretation.KeyCombo) { - return DirectionNavigationMapper.onComboPerformed(eventId, variables, depth); } else if (interpretation instanceof Interpretation.VoiceCommand) { return VoiceCommandMapper.handleSpeechCommand(eventId, variables, depth); } else if (interpretation instanceof Interpretation.DirectionNavigation) { @@ -320,6 +317,21 @@ public void setMonitors(Monitors.State monitors) { sourceBounds) .build()); } + } else if (interpretation instanceof Interpretation.Scroll) { + if (variables.isMediaPlayerAutoScroll(depth) || !variables.isFromScrollable(depth)) { + return null; + } + float rate = (float) Math.pow(2.0f, (variables.scrollPercent(depth) / 50.0f) - 1); + float volume = rate; + long minSeparationMillisec = 250; + Feedback feedback = + Feedback.create( + eventId, + Feedback.part() + .setSound( + Feedback.Sound.create(R.raw.scroll_tone, rate, volume, minSeparationMillisec)) + .build()); + return feedback; } return null; @@ -568,6 +580,28 @@ public UiChangeType uiChangeType(int depth) { return uiChangeType; } + public boolean isMediaPlayerAutoScroll(int depth) { + boolean result = + (interpretation instanceof Interpretation.Scroll) + && ((Interpretation.Scroll) interpretation).scroll.isMediaPlayerAutoScroll; + LogDepth.logVar(LOG_TAG, ++depth, "isMediaPlayerAutoScroll", result); + return result; + } + + public boolean isFromScrollable(int depth) { + boolean result = + (interpretation instanceof Interpretation.Scroll) + && ((Interpretation.Scroll) interpretation).scroll.isFromScrollable; + LogDepth.logVar(LOG_TAG, ++depth, "isFromScrollable", result); + return result; + } + + public float scrollPercent(int depth) { + float percent = AccessibilityEventUtils.getScrollPercent(event, 50.0f); + LogDepth.logVar(LOG_TAG, ++depth, "scrollPercent", percent); + return percent; + } + @Override public String toString() { return "interpretation=" + interpretation + " event=" + event; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/Monitors.java b/talkback/src/main/java/com/google/android/accessibility/talkback/Monitors.java index c13fc98d8..caf3edea1 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/Monitors.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/Monitors.java @@ -16,7 +16,10 @@ package com.google.android.accessibility.talkback; +import android.view.accessibility.AccessibilityEvent; import com.google.android.accessibility.talkback.Pipeline.InterpretationReceiver; +import com.google.android.accessibility.utils.input.SpeechStateMonitor; +import com.google.android.accessibility.utils.monitor.TouchMonitor; import org.checkerframework.checker.nullness.qual.NonNull; /** @@ -46,16 +49,39 @@ public boolean isPhoneCallActive() { private final BatteryMonitor batteryMonitor; private final CallStateMonitor callMonitor; + private final @NonNull TouchMonitor touchMonitor; + private final SpeechStateMonitor speechStateMonitor; + + private final int eventTypeMask; // Union of all monitor masks //////////////////////////////////////////////////////////////////////////////////////////////// // Construction - public Monitors(BatteryMonitor batteryMonitor, CallStateMonitor callMonitor) { + public Monitors( + BatteryMonitor batteryMonitor, + CallStateMonitor callMonitor, + @NonNull TouchMonitor touchMonitor, + SpeechStateMonitor speechStateMonitor) { this.batteryMonitor = batteryMonitor; this.callMonitor = callMonitor; + this.touchMonitor = touchMonitor; + this.speechStateMonitor = speechStateMonitor; + + eventTypeMask = touchMonitor.getEventTypes() | speechStateMonitor.getEventTypes(); } public void setPipelineInterpretationReceiver(@NonNull InterpretationReceiver pipeline) { batteryMonitor.setPipeline(pipeline); } + + //////////////////////////////////////////////////////////////////////////////////////////////// + // Methods + public int getEventTypes() { + return eventTypeMask; + } + + public void onAccessibilityEvent(@NonNull AccessibilityEvent event) { + touchMonitor.onAccessibilityEvent(event); + speechStateMonitor.onAccessibilityEvent(event); + } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/OrientationMonitor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/OrientationMonitor.java index afaf86b05..7df92563e 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/OrientationMonitor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/OrientationMonitor.java @@ -19,7 +19,7 @@ import android.content.Context; import android.content.res.Configuration; import android.os.PowerManager; -import com.google.android.accessibility.compositor.Compositor; +import com.google.android.accessibility.talkback.compositor.Compositor; import com.google.android.accessibility.utils.Performance; import com.google.android.accessibility.utils.Performance.EventId; import java.util.ArrayList; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/Pipeline.java b/talkback/src/main/java/com/google/android/accessibility/talkback/Pipeline.java index d1ddd1a50..fb27772b5 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/Pipeline.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/Pipeline.java @@ -29,8 +29,8 @@ import android.view.accessibility.AccessibilityEvent; import androidx.annotation.VisibleForTesting; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.compositor.Compositor; import com.google.android.accessibility.talkback.TalkBackService.ProximitySensorListener; +import com.google.android.accessibility.talkback.compositor.Compositor; import com.google.android.accessibility.talkback.eventprocessor.AccessibilityEventProcessor.AccessibilityEventIdleListener; import com.google.android.accessibility.talkback.utils.DiagnosticOverlayControllerImpl; import com.google.android.accessibility.talkback.utils.VerbosityPreferences; @@ -276,11 +276,12 @@ public ActorState getActorState() { @Override public int getEventTypes() { - return interpreters.getEventTypes(); + return interpreters.getEventTypes() | monitors.getEventTypes(); } @Override public void onAccessibilityEvent(AccessibilityEvent event, EventId eventId) { + monitors.onAccessibilityEvent(event); interpreters.onAccessibilityEvent(event, eventId); } @@ -360,7 +361,7 @@ boolean execute(Feedback feedback) { if (part.interruptGentle()) { actors.interruptGentle(feedback.eventId()); } - this.diagnosticOverlayController.appendLog(feedback); + diagnosticOverlayController.displayFeedback(feedback); boolean success = true; if (part.delayMs() <= 0) { diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/RingerModeAndScreenMonitor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/RingerModeAndScreenMonitor.java index b87ff8c8a..157e42f50 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/RingerModeAndScreenMonitor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/RingerModeAndScreenMonitor.java @@ -245,7 +245,10 @@ private void handleScreenOff(EventId eventId) { } // Normally we'll play the volume beep on the ring stream. pipeline.returnFeedback( - eventId, Feedback.sound(R.raw.volume_beep, 1.0f, volume).speech(ttsText, speakOptions)); + eventId, + Feedback.part() + .setSound(Feedback.Sound.create(R.raw.volume_beep, 1.0f, volume)) + .speech(ttsText, speakOptions)); } else { pipeline.returnFeedback(eventId, Feedback.speech(ttsText, speakOptions)); } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackService.java b/talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackService.java index cc254a98c..99c3ffd42 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackService.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackService.java @@ -16,41 +16,27 @@ package com.google.android.accessibility.talkback; -import static com.google.android.accessibility.talkback.Feedback.ContinuousRead.Action.START_AT_NEXT; -import static com.google.android.accessibility.talkback.Feedback.ContinuousRead.Action.START_AT_TOP; -import static com.google.android.accessibility.talkback.Feedback.FocusDirection.Action.NEXT_GRANULARITY; -import static com.google.android.accessibility.talkback.Feedback.FocusDirection.Action.PREVIOUS_GRANULARITY; import static com.google.android.accessibility.talkback.Feedback.PassThroughMode.Action.DISABLE_PASSTHROUGH; import static com.google.android.accessibility.talkback.Feedback.PassThroughMode.Action.LOCK_PASS_THROUGH; import static com.google.android.accessibility.talkback.focusmanagement.FocusProcessorForTapAndTouchExploration.FORCE_LIFT_TO_TYPE_ON_IME; import static com.google.android.accessibility.talkback.training.PageConfig.PageId.PAGE_ID_FINISHED; -import static com.google.android.accessibility.utils.PackageManagerUtils.TALBACK_PACKAGE; import static com.google.android.accessibility.utils.Performance.EVENT_ID_UNTRACKED; -import static com.google.android.accessibility.utils.PreferencesActivity.FRAGMENT_NAME; import static com.google.android.accessibility.utils.input.TextEventFilter.PREF_ECHO_CHARACTERS; import static com.google.android.accessibility.utils.input.TextEventFilter.PREF_ECHO_CHARACTERS_AND_WORDS; -import static com.google.android.accessibility.utils.keyboard.KeyComboManager.ACTION_NAVIGATE_NEXT; -import static com.google.android.accessibility.utils.keyboard.KeyComboManager.ACTION_NAVIGATE_NEXT_DEFAULT; -import static com.google.android.accessibility.utils.keyboard.KeyComboManager.ACTION_NAVIGATE_PREVIOUS; -import static com.google.android.accessibility.utils.keyboard.KeyComboManager.ACTION_NAVIGATE_PREVIOUS_DEFAULT; import static com.google.android.accessibility.utils.output.SpeechControllerImpl.CAPITAL_LETTERS_TYPE_SPEAK_CAP; import android.accessibilityservice.AccessibilityGestureEvent; import android.accessibilityservice.AccessibilityService; -import android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener; import android.accessibilityservice.AccessibilityServiceInfo; import android.accessibilityservice.FingerprintGestureController; import android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback; -import android.annotation.TargetApi; -import android.app.Notification; +import android.accessibilityservice.TouchInteractionController; import android.app.NotificationManager; -import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.ClipboardManager; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; -import android.content.IntentFilter; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.content.res.Configuration; @@ -61,13 +47,13 @@ import android.provider.Settings; import android.text.TextUtils; import android.util.Log; +import android.view.Display; import android.view.KeyEvent; import android.view.WindowManager; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; import androidx.annotation.VisibleForTesting; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.android.talkback.TalkBackPreferencesActivity; import com.google.android.accessibility.braille.brailledisplay.BrailleDisplay; import com.google.android.accessibility.braille.interfaces.BrailleDisplayForTalkBack; import com.google.android.accessibility.braille.interfaces.BrailleImeForBrailleDisplay; @@ -75,9 +61,6 @@ import com.google.android.accessibility.braille.interfaces.TalkBackForBrailleDisplay; import com.google.android.accessibility.braille.interfaces.TalkBackForBrailleIme; import com.google.android.accessibility.brailleime.BrailleIme; -import com.google.android.accessibility.compositor.Compositor; -import com.google.android.accessibility.compositor.EventFilter; -import com.google.android.accessibility.compositor.GlobalVariables; import com.google.android.accessibility.talkback.Feedback.DeviceInfo.Action; import com.google.android.accessibility.talkback.PrimesController.Timer; import com.google.android.accessibility.talkback.actor.AutoScrollActor; @@ -99,11 +82,14 @@ import com.google.android.accessibility.talkback.actor.TextEditActor; import com.google.android.accessibility.talkback.actor.VolumeAdjustor; import com.google.android.accessibility.talkback.actor.search.SearchScreenNodeStrategy; -import com.google.android.accessibility.talkback.actor.search.SearchScreenOverlay; +import com.google.android.accessibility.talkback.actor.search.UniversalSearchActor; import com.google.android.accessibility.talkback.actor.search.UniversalSearchManager; import com.google.android.accessibility.talkback.actor.voicecommands.SpeechRecognizerActor; import com.google.android.accessibility.talkback.actor.voicecommands.VoiceCommandProcessor; import com.google.android.accessibility.talkback.brailledisplay.BrailleDisplayHelper; +import com.google.android.accessibility.talkback.compositor.Compositor; +import com.google.android.accessibility.talkback.compositor.EventFilter; +import com.google.android.accessibility.talkback.compositor.GlobalVariables; import com.google.android.accessibility.talkback.contextmenu.ListMenuManager; import com.google.android.accessibility.talkback.controller.TelevisionNavigationController; import com.google.android.accessibility.talkback.eventprocessor.AccessibilityEventProcessor; @@ -137,11 +123,12 @@ import com.google.android.accessibility.talkback.interpreters.SubtreeChangeEventInterpreter; import com.google.android.accessibility.talkback.interpreters.UiChangeEventInterpreter; import com.google.android.accessibility.talkback.ipc.IpcService; +import com.google.android.accessibility.talkback.keyboard.KeyComboManager; import com.google.android.accessibility.talkback.labeling.CustomLabelManager; import com.google.android.accessibility.talkback.labeling.LabelDialogManager; import com.google.android.accessibility.talkback.labeling.PackageRemovalReceiver; import com.google.android.accessibility.talkback.menurules.NodeMenuRuleProcessor; -import com.google.android.accessibility.talkback.preference.base.TalkBackKeyboardShortcutPreferenceFragment; +import com.google.android.accessibility.talkback.preference.PreferencesActivityUtils; import com.google.android.accessibility.talkback.selector.SelectorController; import com.google.android.accessibility.talkback.speech.SpeakPasswordsManager; import com.google.android.accessibility.talkback.training.OnboardingInitiator; @@ -151,9 +138,8 @@ import com.google.android.accessibility.talkback.utils.DiagnosticOverlayControllerImpl; import com.google.android.accessibility.talkback.utils.ExperimentalUtils; import com.google.android.accessibility.talkback.utils.FocusIndicatorUtils; -import com.google.android.accessibility.talkback.utils.NotificationUtils; +import com.google.android.accessibility.talkback.utils.SplitCompatUtils; import com.google.android.accessibility.talkback.utils.VerbosityPreferences; -import com.google.android.accessibility.uiunderstanding.PreferenceProvider; import com.google.android.accessibility.utils.AccessibilityEventListener; import com.google.android.accessibility.utils.AccessibilityEventUtils; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; @@ -162,6 +148,7 @@ import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.FocusFinder; import com.google.android.accessibility.utils.ImageContents; +import com.google.android.accessibility.utils.KeyboardUtils; import com.google.android.accessibility.utils.PackageManagerUtils; import com.google.android.accessibility.utils.Performance; import com.google.android.accessibility.utils.Performance.EventId; @@ -171,18 +158,21 @@ import com.google.android.accessibility.utils.SettingsUtils; import com.google.android.accessibility.utils.SharedKeyEvent; import com.google.android.accessibility.utils.SharedPreferencesUtils; +import com.google.android.accessibility.utils.WindowUtils; import com.google.android.accessibility.utils.caption.ImageCaptionStorage; import com.google.android.accessibility.utils.input.CursorGranularity; import com.google.android.accessibility.utils.input.InputModeManager; +import com.google.android.accessibility.utils.input.PreferenceProvider; +import com.google.android.accessibility.utils.input.ScrollEventInterpreter; +import com.google.android.accessibility.utils.input.SpeechStateMonitor; import com.google.android.accessibility.utils.input.TextCursorTracker; import com.google.android.accessibility.utils.input.TextEventFilter.KeyboardEchoType; import com.google.android.accessibility.utils.input.TextEventHistory; import com.google.android.accessibility.utils.input.TextEventInterpreter; -import com.google.android.accessibility.utils.keyboard.KeyComboManager; import com.google.android.accessibility.utils.labeling.Label; import com.google.android.accessibility.utils.monitor.AudioPlaybackMonitor; import com.google.android.accessibility.utils.monitor.HeadphoneStateMonitor; -import com.google.android.accessibility.utils.monitor.ScreenMonitor; +import com.google.android.accessibility.utils.monitor.TouchMonitor; import com.google.android.accessibility.utils.output.ActorStateProvider; import com.google.android.accessibility.utils.output.FeedbackController; import com.google.android.accessibility.utils.output.SpeechController; @@ -194,8 +184,12 @@ import com.google.common.collect.ImmutableMap; import java.lang.Thread.UncaughtExceptionHandler; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Locale; +import java.util.Map; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; @@ -219,21 +213,21 @@ public void setCurrentLanguage(@Nullable Locale speechLanguage) { } } + /** Interface for asking service flags to an {@link AccessibilityService}. */ + public interface ServiceFlagRequester { + /** + * Attempts to change the service info flag. + * + * @param flag to specify the service flag to change. + * @param requestedState {@code true} to request the service flag, or {@code false} to disable + * the flag from the service. + */ + void requestFlag(int flag, boolean requestedState); + } + /** Whether the user has seen the TalkBack tutorial. */ public static final String PREF_FIRST_TIME_USER = "first_time_user"; - /** Permission required to perform gestures. */ - public static final String PERMISSION_TALKBACK = BuildConfig.TALKBACK_MAIN_PERMISSION; - - /** The intent action used to perform a custom gesture action. */ - public static final String ACTION_PERFORM_GESTURE_ACTION = "performCustomGestureAction"; - - /** - * The gesture action to pass with {@link #ACTION_PERFORM_GESTURE_ACTION} as a string extra. - * Expected to be the name of the shortcut pref value, like R.strings.shortcut_value_previous - */ - public static final String EXTRA_GESTURE_ACTION = "gestureAction"; - /** Intent to open text-to-speech settings. */ public static final String INTENT_TTS_SETTINGS = "com.android.settings.TTS_SETTINGS"; @@ -243,10 +237,6 @@ public void setCurrentLanguage(@Nullable Locale speechLanguage) { /** Default interactive UI timeout in milliseconds. */ public static final int DEFAULT_INTERACTIVE_UI_TIMEOUT_MILLIS = 10000; - /** Action used to resume feedback. */ - private static final String ACTION_RESUME_FEEDBACK = - "com.google.android.marvin.talkback.RESUME_FEEDBACK"; - /** Timeout to turn off TalkBack without waiting for callback from TTS. */ private static final long TURN_OFF_TIMEOUT_MS = 5000; @@ -255,6 +245,9 @@ public void setCurrentLanguage(@Nullable Locale speechLanguage) { /** An active instance of TalkBack. */ private static @Nullable TalkBackService instance = null; + /* Call setAnimationScale with this value will disable animation. */ + private static float ANIMATION_OFF = 0; + private static final String TAG = "TalkBackService"; /** @@ -302,6 +295,9 @@ public void setCurrentLanguage(@Nullable Locale speechLanguage) { /** Monitors voice actions from other applications */ private VoiceActionMonitor voiceActionMonitor; + /** Monitors speech actions from other applications */ + private SpeechStateMonitor speechStateMonitor; + /** Maintains cursor state during explore-by-touch by working around EBT problems. */ private ProcessorCursorState processorCursorState; @@ -367,9 +363,6 @@ public void setCurrentLanguage(@Nullable Locale speechLanguage) { /** Processor for voice commands */ private VoiceCommandProcessor voiceCommandProcessor; - /** Alert dialog shown when the user attempts to suspend feedback. */ - private TalkBackSuspendDialog talkBackSuspendDialog; - /** Shared preferences used within TalkBack. */ private SharedPreferences prefs; @@ -379,9 +372,6 @@ public void setCurrentLanguage(@Nullable Locale speechLanguage) { /** The system feature if the device supports touch screen */ private boolean supportsTouchScreen = true; - /** Preference specifying when TalkBack should automatically resume. */ - private String automaticResume; - /** Whether the current root node is dirty or not. */ private boolean isRootNodeDirty = true; /** Keep Track of current root node. */ @@ -395,7 +385,7 @@ public void setCurrentLanguage(@Nullable Locale speechLanguage) { private final InputModeManager inputModeManager = new InputModeManager(); private ProcessorAccessibilityHints processorHints; private ProcessorScreen processorScreen; - private OnMagnificationChangedListener onMagnificationChangedListener; + @Nullable private ProcessorMagnification processorMagnification; private final DisableTalkBackCompleteAction disableTalkBackCompleteAction = new DisableTalkBackCompleteAction(); private SpeakPasswordsManager speakPasswordsManager; @@ -422,6 +412,10 @@ public void setCurrentLanguage(@Nullable Locale speechLanguage) { private boolean isBrailleKeyboardActivated; private ImageCaptioner imageCaptioner; private ImageContents imageContents; + private @Nullable Boolean useServiceGestureDetection; + + private final @NonNull Map displayIdToTouchInteractionMonitor = + new HashMap<>(); @Override public void onCreate() { @@ -518,11 +512,17 @@ public boolean onUnbind(Intent intent) { } } } + // Resume animation if necessary. + enableAnimation(/* enable= */ true); return false; } @Override public void onDestroy() { + if (shouldUseTalkbackGestureDetection()) { + unregisterGestureDetection(); + } + if (passThroughModeActor != null) { passThroughModeActor.onDestroy(); } @@ -531,7 +531,7 @@ public void onDestroy() { SharedKeyEvent.unregister(this); if (isServiceActive()) { - suspendInfrastructure(/* isShuttingDown= */ true); + suspendInfrastructure(); } instance = null; @@ -552,7 +552,9 @@ public void onConfigurationChanged(Configuration newConfig) { // onConfigurationChanged may be called before TalkBack initialization. To avoid crash, each // listener should checks the instance is null or not. if (universalSearchManager != null) { - universalSearchManager.renewOverlay(newConfig); + pipeline + .getFeedbackReturner() + .returnFeedback(EVENT_ID_UNTRACKED, Feedback.renewOverlay(newConfig)); } if (isServiceActive() && (orientationMonitor != null)) { @@ -582,6 +584,14 @@ public void onAccessibilityEvent(AccessibilityEvent event) { if (brailleDisplay != null) { brailleDisplay.onAccessibilityEvent(event); } + + // Re-apply diagnosis-mode logging, in case other accessibility-services changed the shared + // log-level preference. + enforceDiagnosisModeLogging(); + + if (diagnosticOverlayController != null) { + diagnosticOverlayController.displayEvent(event); + } } public boolean supportsTouchScreen() { @@ -634,87 +644,6 @@ public void clearQueues() { // TODO: Clear queues wherever there are message handlers that delay event processing. } - /** Suspends TalkBack, showing a confirmation dialog if applicable. */ - public void requestSuspendTalkBack(EventId eventId) { - if (talkBackSuspendDialog == null) { - talkBackSuspendDialog = new TalkBackSuspendDialog(this); - } - - final boolean showConfirmation = talkBackSuspendDialog.getShouldShowDialogPref(); - if (showConfirmation) { - // Shows a dialog asking the user to confirm suspension of TalkBack. - talkBackSuspendDialog.confirmSuspendTalkBack(automaticResume); - } else { - suspendTalkBack(eventId); - } - } - - /** Suspends TalkBack and Explore by Touch. */ - public void suspendTalkBack(EventId eventId) { - - // Ensure that talkback does not suspend on system with accessibility shortcut. - if (FeatureSupport.hasAccessibilityShortcut(this)) { - SharedPreferencesUtils.storeBooleanAsync(prefs, getString(R.string.pref_suspended), false); - return; - } - - if (!isServiceActive()) { - LogUtils.e(TAG, "Attempted to suspend TalkBack while already suspended."); - return; - } - - SharedPreferencesUtils.storeBooleanAsync(prefs, getString(R.string.pref_suspended), true); - feedbackController.playAuditory(R.raw.paused_feedback, eventId); - - if (supportsTouchScreen) { - requestTouchExploration(false); - } - - inputModeManager.clear(); - - final IntentFilter filter = new IntentFilter(); - filter.addAction(ACTION_RESUME_FEEDBACK); - filter.addAction(Intent.ACTION_SCREEN_ON); - registerReceiver(suspendedReceiver, filter, PERMISSION_TALKBACK, null); - - // Suspending infrastructure sets sIsTalkBackSuspended to true. - suspendInfrastructure(/* isShuttingDown= */ false); - - final Intent resumeIntent = new Intent(ACTION_RESUME_FEEDBACK); - resumeIntent.setPackage(TALBACK_PACKAGE); - final PendingIntent pendingIntent = - PendingIntent.getBroadcast( - this, - 0, - resumeIntent, - PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); - final Notification notification = - NotificationUtils.createNotification( - this, - null, - getString(R.string.notification_title_talkback_suspended), - getString(R.string.notification_message_talkback_suspended), - pendingIntent); - startForeground(R.id.notification_suspended, notification); - - compositor.handleEvent(Compositor.EVENT_SPOKEN_FEEDBACK_SUSPENDED, eventId); - } - - /** Resumes TalkBack and Explore by Touch. */ - public void resumeTalkBack(EventId eventId) { - if (isServiceActive()) { - LogUtils.e(TAG, "Attempted to resume TalkBack when not suspended."); - return; - } - - SharedPreferencesUtils.storeBooleanAsync(prefs, getString(R.string.pref_suspended), false); - - unregisterReceiver(suspendedReceiver); - resumeInfrastructure(); - - compositor.handleEvent(Compositor.EVENT_SPOKEN_FEEDBACK_RESUMED, eventId); - } - private boolean shouldInterruptByAnyKeyEvent() { return !fullScreenReadActor.isActive(); } @@ -905,37 +834,6 @@ public void unregisterDialog(DialogInterface dialog) { } } - private void showTalkbackContextMenu(EventId eventId) { - if (supportsTouchScreen) { - menuManager.showMenu(R.menu.context_menu, eventId); - } - } - - private void showCustomActions(EventId eventId) { - if (supportsTouchScreen) { - menuManager.showMenu(R.id.custom_action_menu, eventId); - } - } - - private void showLanguageOptions(EventId eventId) { - if (supportsTouchScreen) { - menuManager.showMenu(R.menu.language_menu, eventId); - } - } - - private void openManageKeyboardShortcuts() { - Intent intent = new Intent(this, TalkBackPreferencesActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.putExtra(FRAGMENT_NAME, TalkBackKeyboardShortcutPreferenceFragment.getFragmentName()); - startActivity(intent); - } - - private void openTalkBackSettings() { - Intent intent = new Intent(this, TalkBackPreferencesActivity.class); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - startActivity(intent); - } - @Override public void onInterrupt() { if (processorScreen != null && FeatureSupport.isArc()) { @@ -1023,25 +921,12 @@ protected void onServiceConnected() { final TalkBackUpdateHelper helper = new TalkBackUpdateHelper(this); helper.checkUpdate(); - EventId eventId = EVENT_ID_UNTRACKED; // Performance not tracked for service events. - if (prefs.getBoolean(getString(R.string.pref_suspended), false)) { - if (FeatureSupport.hasAccessibilityShortcut(this)) { - // Announce that talkback is still on. Even though talkback is not suspendable on android O, - // talkback might start suspended if user downgrades, suspends, then upgrades talkback, or - // it could happen if user restored settings from older talkback that was suspended. - SharedPreferencesUtils.storeBooleanAsync(prefs, getString(R.string.pref_suspended), false); - compositor.handleEvent(Compositor.EVENT_SPOKEN_FEEDBACK_ON, eventId); - } else { - suspendTalkBack(eventId); - } - } else { - compositor.handleEvent(Compositor.EVENT_SPOKEN_FEEDBACK_ON, eventId); - } + compositor.handleEvent(Compositor.EVENT_SPOKEN_FEEDBACK_ON, EVENT_ID_UNTRACKED); // If the locked-boot-completed intent was fired before onServiceConnected, we queued it, // so now we need to run it. if (lockedBootCompletedPending) { - onLockedBootCompletedInternal(eventId); + onLockedBootCompletedInternal(); lockedBootCompletedPending = false; } @@ -1056,6 +941,11 @@ protected void onServiceConnected() { OnboardingInitiator.showOnboardingIfNecessary(this); } + // Service gesture detection. + if (shouldUseTalkbackGestureDetection()) { + registerGestureDetection(); + } + primesController.stopTimer(Timer.START_UP); } @@ -1080,7 +970,9 @@ public boolean isInstanceActive() { return serviceState == ServiceStateListener.SERVICE_STATE_ACTIVE; } - /** @return {@code true} if TalkBack is running and initialized, {@code false} otherwise. */ + /** + * @return {@code true} if TalkBack is running and initialized, {@code false} otherwise. + */ public static boolean isServiceActive() { return (getServiceState() == ServiceStateListener.SERVICE_STATE_ACTIVE); } @@ -1091,7 +983,6 @@ public static boolean isServiceActive() { } /** Initialize {@link FingerprintGestureCallback} for detecting fingerprint gestures. */ - @TargetApi(Build.VERSION_CODES.O) private void initializeFingerprintGestureCallback() { if (fingerprintGestureCallback != null || !FeatureSupport.isFingerprintGestureSupported(this)) { return; @@ -1142,12 +1033,9 @@ private void initializeInfrastructure() { accessibilityEventProcessor = new AccessibilityEventProcessor(this); feedbackController = new FeedbackController(this); speechController = new SpeechControllerImpl(this, this, feedbackController); + speechStateMonitor = new SpeechStateMonitor(); diagnosticOverlayController = new DiagnosticOverlayControllerImpl(this); - keyComboManager = KeyComboManager.create(this); - keyComboManager.addListener(keyComboListener); - keyComboManager.setKeyUpListener(keyUpListener); - gestureShortcutMapping = new GestureShortcutMapping(this); globalVariables = @@ -1171,52 +1059,31 @@ private void initializeInfrastructure() { getCompositorFlavor()); // TODO: Make pipeline run Compositor, which returns speech feedback, no callback. - onMagnificationChangedListener = - FeatureSupport.supportMagnificationController() - ? new OnMagnificationChangedListener() { - private float lastScale = 1.0f; - - @Override - public void onMagnificationChanged( - MagnificationController magnificationController, - Region region, - float scale, - float centerX, - float centerY) { - // Do nothing if scale hasn't changed. - if (scale == lastScale) { - return; - } - - globalVariables.setScreenMagnificationLastScale(lastScale); - globalVariables.setScreenMagnificationCurrentScale(scale); - - lastScale = scale; - if (FeatureSupport.supportAnnounceMagnificationChanged()) { - compositor.handleEvent( - Compositor.EVENT_SCREEN_MAGNIFICATION_CHANGED, - Performance.EVENT_ID_UNTRACKED); - } - } - } - : null; - analytics = new TalkBackAnalyticsImpl(this); processorPhoneticLetters = new ProcessorPhoneticLetters(this); FocusFinder focusFinder = new FocusFinder(this); + // Construct system-monitors. + batteryMonitor = new BatteryMonitor(this); + callStateMonitor = new CallStateMonitor(this); + audioPlaybackMonitor = new AudioPlaybackMonitor(this); + @NonNull TouchMonitor touchMonitor = new TouchMonitor(); + // Construct event-interpreters. AutoScrollInterpreter autoScrollInterpreter = new AutoScrollInterpreter(); screenStateMonitor = new ScreenStateMonitor(/* service= */ this); FullScreenReadInterpreter fullScreenReadInterpreter = new FullScreenReadInterpreter(); scrollPositionInterpreter = new ScrollPositionInterpreter(); + ScrollEventInterpreter scrollEventInterpreter = + new ScrollEventInterpreter(audioPlaybackMonitor, touchMonitor); + ManualScrollInterpreter manualScrollInterpreter = new ManualScrollInterpreter(); // Constructor output-actor-state. textCursorTracker = new TextCursorTracker(); editTextActionHistory = new EditTextActionHistory(); - AccessibilityFocusActionHistory focusHistory = new AccessibilityFocusActionHistory(); + AccessibilityFocusActionHistory focusHistory = new AccessibilityFocusActionHistory(this); // Construct output-actors. AutoScrollActor scroller = new AutoScrollActor(); @@ -1274,6 +1141,11 @@ public void onMagnificationChanged( new SelectorController( this, accessibilityFocusMonitor, analytics, gestureShortcutMapping, processorHints); + UniversalSearchActor universalSearchActor = + new UniversalSearchActor(this, screenStateMonitor.state, focusFinder, labelManager); + + autoScrollInterpreter.setUniversalSearchActor(universalSearchActor); + voiceCommandProcessor = new VoiceCommandProcessor(this, accessibilityFocusMonitor, selectorController, analytics); speechRecognizer = new SpeechRecognizerActor(this, voiceCommandProcessor, analytics); @@ -1282,17 +1154,15 @@ public void onMagnificationChanged( UserInterface userInterface = new UserInterface(selectorController); - // Constructor system-monitors. - batteryMonitor = new BatteryMonitor(this); - callStateMonitor = new CallStateMonitor(this); - // Construct pipeline. pipeline = new Pipeline( this, - new Monitors(batteryMonitor, callStateMonitor), + new Monitors(batteryMonitor, callStateMonitor, touchMonitor, speechStateMonitor), new Interpreters( inputFocusInterpreter, + scrollEventInterpreter, + manualScrollInterpreter, autoScrollInterpreter, scrollPositionInterpreter, accessibilityFocusInterpreter, @@ -1331,7 +1201,9 @@ public void onMagnificationChanged( new VolumeAdjustor(this), speechRecognizer, new GestureReporter(this, new GestureHistory()), - imageCaptioner), + imageCaptioner, + universalSearchActor, + this::requestServiceFlag), proximitySensorListener, speechController, diagnosticOverlayController, @@ -1356,25 +1228,24 @@ public void onMagnificationChanged( compositor.setSpeaker(pipeline.getSpeaker()); - // Event-interpreters are chained: - // scrollEventInterpreter -> manualScrollInterpreter -> accessibilityFocusInterpreter - ManualScrollInterpreter manualScrollInterpreter = - new ManualScrollInterpreter(accessibilityFocusInterpreter, pipeline.getActorState()); - - ScrollEventInterpreter scrollEventInterpreter = - new ScrollEventInterpreter(pipeline.getActorState()); - addEventListener(scrollEventInterpreter); - scrollEventInterpreter.addListener(scrollPositionInterpreter); - scrollEventInterpreter.setAutoScrollInterpreter(autoScrollInterpreter); - scrollEventInterpreter.addListener(manualScrollInterpreter); - TouchExplorationInterpreter touchExplorationInterpreter = new TouchExplorationInterpreter(inputModeManager); + if (FeatureSupport.supportMagnificationController()) { + processorMagnification = + new ProcessorMagnification( + getMagnificationController(), + globalVariables, + compositor, + FeatureSupport.supportWindowMagnification(this)); + } + // Register AccessibilityEventListeners addEventListener(touchExplorationInterpreter); addEventListener(directionNavigationInterpreter); - addEventListener(new ProcessorMagnification(/* service= */ this)); + if (processorMagnification != null) { + addEventListener(processorMagnification); + } addEventListener(pipeline); touchExplorationInterpreter.addTouchExplorationActionListener(accessibilityFocusInterpreter); @@ -1382,7 +1253,7 @@ public void onMagnificationChanged( screenStateMonitor.addScreenStateChangeListener(inputFocusInterpreter); - voiceActionMonitor = new VoiceActionMonitor(this, callStateMonitor); + voiceActionMonitor = new VoiceActionMonitor(this, callStateMonitor, speechStateMonitor); accessibilityEventProcessor.setVoiceActionMonitor(voiceActionMonitor); keyEventListeners.add(inputModeManager); @@ -1397,6 +1268,14 @@ public void onMagnificationChanged( analytics); voiceCommandProcessor.setListMenuManager(menuManager); + keyComboManager = + new KeyComboManager( + this, + pipeline.getFeedbackReturner(), + selectorController, + menuManager, + fullScreenReadActor); + ringerModeAndScreenMonitor = new RingerModeAndScreenMonitor( menuManager, @@ -1432,7 +1311,7 @@ public void onMagnificationChanged( // Add event processors. These will process incoming AccessibilityEvents // in the order they are added. - eventFilter = new EventFilter(compositor, this, audioPlaybackMonitor, globalVariables); + eventFilter = new EventFilter(compositor, this, touchMonitor, globalVariables); eventFilter.setVoiceActionDelegate(voiceActionMonitor); eventFilter.setAccessibilityFocusEventInterpreter(accessibilityFocusInterpreter); ActorStateProvider actorStateProvider = @@ -1483,6 +1362,7 @@ public boolean shouldSpeakPasswords() { processorScreen.getWindowEventInterpreter().addListener(menuManager); processorScreen.getWindowEventInterpreter().addListener(screenStateMonitor); processorScreen.getWindowEventInterpreter().addListener(uiChangeEventInterpreter); + processorScreen.getWindowEventInterpreter().addListener(imageCaptioner); } processorCursorState = @@ -1498,20 +1378,12 @@ public boolean shouldSpeakPasswords() { addEventListener(new ProcessorGestureVibrator(pipeline.getFeedbackReturner())); - // Search mode should receive key combos immediately after the TalkBackService. - SearchScreenOverlay searchScreenOverlay = - new SearchScreenOverlay(this, focusFinder, labelManager, pipeline.getFeedbackReturner()); universalSearchManager = new UniversalSearchManager( - this, - searchScreenOverlay, pipeline.getFeedbackReturner(), ringerModeAndScreenMonitor, processorScreen.getWindowEventInterpreter()); - keyComboManager.addListener(universalSearchManager); - autoScrollInterpreter.setSearchManager(universalSearchManager); - keyComboManager.addListener(directionNavigationInterpreter); keyEventListeners.add(keyComboManager); serviceStateListeners.add(keyComboManager); @@ -1541,15 +1413,13 @@ public boolean shouldSpeakPasswords() { private final TalkBackForBrailleDisplay talkBackForBrailleDisplay = new TalkBackForBrailleDisplay() { @Override - public boolean performAction(ScreenReaderAction action) { + public boolean performAction(ScreenReaderAction action, Object... args) { // TODO: implement the screen reader actions. - if (action == ScreenReaderAction.SCREEN_SEARCH) { - universalSearchManager.toggleSearch(EVENT_ID_UNTRACKED); - return true; - } else if (action == ScreenReaderAction.OPEN_TALKBACK_MENU) { + if (action == ScreenReaderAction.OPEN_TALKBACK_MENU) { return menuManager.showMenu(R.menu.context_menu, EVENT_ID_UNTRACKED); } - return BrailleDisplayHelper.performAction(pipeline.getFeedbackReturner(), action); + return BrailleDisplayHelper.performAction( + getInstance(), pipeline.getFeedbackReturner(), action, args); } @Override @@ -1600,6 +1470,15 @@ public boolean needsLabel(AccessibilityNodeInfoCompat node) { ? null : brailleImeForTalkBack.getBrailleImeForBrailleDisplay(); } + + @Override + public void speak(CharSequence textToSpeak, int delayMs, SpeakOptions speakOptions) { + pipeline + .getFeedbackReturner() + .returnFeedback( + Performance.EVENT_ID_UNTRACKED, + Feedback.speech(textToSpeak, speakOptions).setDelayMs(delayMs)); + } }; private final TalkBackForBrailleIme talkBackForBrailleIme = @@ -1646,6 +1525,18 @@ public void onBrailleImeInactivated(boolean usePassThrough) { } } + @Override + public boolean setInputMethodEnabled() { + if (FeatureSupport.supportEnableDisableIme() && getInstance() != null) { + return getSoftKeyboardController() + .setInputMethodEnabled( + KeyboardUtils.getImeId(getInstance(), getPackageName()), + /* enabled= */ true) + == SoftKeyboardController.ENABLE_IME_SUCCESS; + } + return false; + } + @Override public WindowManager getWindowManager() { return (WindowManager) getSystemService(Context.WINDOW_SERVICE); @@ -1653,10 +1544,6 @@ public WindowManager getWindowManager() { @Override public ServiceStatus getServiceStatus() { - if (TalkBackService.getServiceState() == ServiceStateListener.SERVICE_STATE_SUSPENDED - && prefs.getBoolean(getString(R.string.pref_suspended), false)) { - return ServiceStatus.SUSPEND; - } return isServiceActive() ? ServiceStatus.ON : ServiceStatus.OFF; } @@ -1707,7 +1594,13 @@ public boolean isVibrationFeedbackEnabled() { @Override public boolean shouldAnnounceCharacter() { - @KeyboardEchoType int echoType = readOnScreenKeyboardEcho(); + @KeyboardEchoType + int echoType = + brailleDisplay + .getBrailleDisplayForBrailleIme() + .isBrailleDisplayConnectedAndNotSuspended() + ? readPhysicalKeyboardEcho() + : readOnScreenKeyboardEcho(); return echoType == PREF_ECHO_CHARACTERS || echoType == PREF_ECHO_CHARACTERS_AND_WORDS; } @@ -1804,47 +1697,37 @@ private void resumeInfrastructure() { AccessibilityServiceInfo info = getServiceInfo(); if (info == null) { - info = new AccessibilityServiceInfo(); - } - info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK; - info.feedbackType |= AccessibilityServiceInfo.FEEDBACK_SPOKEN; - info.feedbackType |= AccessibilityServiceInfo.FEEDBACK_AUDIBLE; - info.feedbackType |= AccessibilityServiceInfo.FEEDBACK_HAPTIC; - info.flags |= AccessibilityServiceInfo.DEFAULT; - info.flags |= AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS; - info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_FILTER_KEY_EVENTS; - info.flags |= AccessibilityServiceInfo.FLAG_RETRIEVE_INTERACTIVE_WINDOWS; - if (BuildVersionUtils.isAtLeastO()) { - info.flags |= AccessibilityServiceInfo.FLAG_ENABLE_ACCESSIBILITY_VOLUME; - } - info.flags |= ExperimentalUtils.getAddtionalTalkBackServiceFlags(); - if (FeatureSupport.isMultiFingerGestureSupported()) { - info.flags |= - AccessibilityServiceInfo.FLAG_REQUEST_MULTI_FINGER_GESTURES - | AccessibilityServiceInfo.FLAG_REQUEST_2_FINGER_PASSTHROUGH; - resetTouchExplorePassThrough(); + LogUtils.e(TAG, "Fail to get service flag!"); } else { - info.flags &= - ~(AccessibilityServiceInfo.FLAG_REQUEST_MULTI_FINGER_GESTURES - | AccessibilityServiceInfo.FLAG_REQUEST_2_FINGER_PASSTHROUGH); - } - if (GestureReporter.ENABLED) { - info.flags |= AccessibilityServiceInfo.FLAG_SEND_MOTION_EVENTS; - } - info.notificationTimeout = 0; - if (BuildVersionUtils.isAtLeastQ()) { - info.setInteractiveUiTimeoutMillis(DEFAULT_INTERACTIVE_UI_TIMEOUT_MILLIS); - } + info.flags |= ExperimentalUtils.getAdditionalTalkBackServiceFlags(); + if (FeatureSupport.isMultiFingerGestureSupported()) { + info.flags |= + AccessibilityServiceInfo.FLAG_REQUEST_MULTI_FINGER_GESTURES + | AccessibilityServiceInfo.FLAG_REQUEST_2_FINGER_PASSTHROUGH; + resetTouchExplorePassThrough(); + } else { + info.flags &= + ~(AccessibilityServiceInfo.FLAG_REQUEST_MULTI_FINGER_GESTURES + | AccessibilityServiceInfo.FLAG_REQUEST_2_FINGER_PASSTHROUGH); + } + if (GestureReporter.ENABLED) { + info.flags |= AccessibilityServiceInfo.FLAG_SEND_MOTION_EVENTS; + } + info.notificationTimeout = 0; + if (BuildVersionUtils.isAtLeastQ()) { + info.setInteractiveUiTimeoutMillis(DEFAULT_INTERACTIVE_UI_TIMEOUT_MILLIS); + } - // Ensure the initial touch exploration request mode is correct. - if (supportsTouchScreen - && getBooleanPref( - R.string.pref_explore_by_touch_key, R.bool.pref_explore_by_touch_default)) { - info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_TOUCH_EXPLORATION_MODE; - } + // Ensure the initial touch exploration request mode is correct. + if (supportsTouchScreen + && getBooleanPref( + R.string.pref_explore_by_touch_key, R.bool.pref_explore_by_touch_default)) { + info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_TOUCH_EXPLORATION_MODE; + } - LogUtils.v(TAG, "Accessibility Service flag set: 0x%X", info.flags); - setServiceInfo(info); + LogUtils.v(TAG, "Accessibility Service flag set: 0x%X", info.flags); + setServiceInfo(info); + } if (callStateMonitor != null) { if (!isFirstTimeUser()) { @@ -1893,16 +1776,8 @@ && getBooleanPref( prefs.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); prefs.registerOnSharedPreferenceChangeListener(analytics); - // Add the broadcast listener for gestures. - final IntentFilter filter = new IntentFilter(); - filter.addAction(ACTION_PERFORM_GESTURE_ACTION); - registerReceiver(activeReceiver, filter, PERMISSION_TALKBACK, null); - - if (FeatureSupport.supportMagnificationController()) { - MagnificationController magnificationController = getMagnificationController(); - if (magnificationController != null && onMagnificationChangedListener != null) { - magnificationController.addListener(onMagnificationChangedListener); - } + if (processorMagnification != null) { + processorMagnification.onResumeInfrastructure(); } if ((fingerprintGestureCallback != null) && (getFingerprintGestureController() != null)) { @@ -1949,15 +1824,13 @@ private void unregisterReceivers(BroadcastReceiver... receivers) { * Registers listeners, sets service info, loads preferences. This should be called from {@link * #onServiceConnected} and when TalkBack resumes from a suspended state. */ - private void suspendInfrastructure(boolean isShuttingDown) { + private void suspendInfrastructure() { if (!isServiceActive()) { LogUtils.e(TAG, "Attempted to suspend while already suspended"); return; } - if (isShuttingDown) { - setServiceState(ServiceStateListener.SERVICE_STATE_SHUTTING_DOWN); - } + setServiceState(ServiceStateListener.SERVICE_STATE_SHUTTING_DOWN); if (callStateMonitor != null) { callStateMonitor.stopMonitoring(); @@ -1973,8 +1846,7 @@ private void suspendInfrastructure(boolean isShuttingDown) { dimScreenController.suspend(); - interruptAllFeedback(false /* stopTtsSpeechCompletely */); - setServiceState(ServiceStateListener.SERVICE_STATE_SUSPENDED); + interruptAllFeedback(/* stopTtsSpeechCompletely */ false); // Some apps depend on these being set to false when TalkBack is disabled. if (supportsTouchScreen) { @@ -1984,8 +1856,7 @@ private void suspendInfrastructure(boolean isShuttingDown) { prefs.unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); prefs.unregisterOnSharedPreferenceChangeListener(analytics); - unregisterReceivers( - activeReceiver, ringerModeAndScreenMonitor, batteryMonitor, packageReceiver, volumeMonitor); + unregisterReceivers(ringerModeAndScreenMonitor, batteryMonitor, packageReceiver, volumeMonitor); if (volumeMonitor != null) { volumeMonitor.releaseControl(); @@ -1999,11 +1870,8 @@ private void suspendInfrastructure(boolean isShuttingDown) { final NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); nm.cancelAll(); - if (FeatureSupport.supportMagnificationController()) { - MagnificationController magnificationController = getMagnificationController(); - if (magnificationController != null && onMagnificationChangedListener != null) { - magnificationController.removeListener(onMagnificationChangedListener); - } + if (processorMagnification != null) { + processorMagnification.onSuspendInfrastructure(); } if ((fingerprintGestureCallback != null) && (getFingerprintGestureController() != null)) { @@ -2083,16 +1951,67 @@ private boolean getBooleanPref(int prefKeyResId, int prefDefaultResId) { prefs, getResources(), prefKeyResId, prefDefaultResId); } + /** + * When the device supports {@link AccessibilityService#setAnimationScale(float)}, system will + * determine to disable animation feature when TalkBack is on, and resume it after TalkBack is + * off. + * + * @param enable {@code false} to request the disable of animation, and {@code true} to resume the + * animation. + */ + private void enableAnimation(boolean enable) { + if (!FeatureSupport.supportsServiceControlOfGlobalAnimations()) { + return; + } + if (enable) { + if (prefs.contains(getString(R.string.pref_previous_global_window_animation_scale_key))) { + float scale = + SharedPreferencesUtils.getFloatFromStringPref( + prefs, + getResources(), + R.string.pref_previous_global_window_animation_scale_key, + R.string.pref_window_animation_scale_default); + if (scale > ANIMATION_OFF && SettingsUtils.isAnimationDisabled(this)) { + // Resume animation when the record value is meaningful (greater than zero); + setAnimationScale(scale); + } + prefs + .edit() + .remove(getString(R.string.pref_previous_global_window_animation_scale_key)) + .apply(); + } + } else { + if (!SettingsUtils.isAnimationDisabled(this)) { + prefs + .edit() + .putString( + getString(R.string.pref_previous_global_window_animation_scale_key), + Float.toString( + Settings.Global.getFloat( + getContentResolver(), Settings.Global.WINDOW_ANIMATION_SCALE, 1))) + .apply(); + } + // Disable animation; + setAnimationScale(ANIMATION_OFF); + } + } + /** Reloads service preferences. */ private void reloadPreferences() { final Resources res = getResources(); + LogUtils.v( + TAG, + "TalkBackService.reloadPreferences() diagnostic mode=%s", + PreferencesActivityUtils.isDiagnosisModeOn(prefs, res)); + // Preferece to reduce window announcement delay. boolean reduceDelayPref = getBooleanPref( R.string.pref_reduce_window_delay_key, R.bool.pref_reduce_window_delay_default); if (processorScreen != null && processorScreen.getWindowEventInterpreter() != null) { processorScreen.getWindowEventInterpreter().setReduceDelayPref(reduceDelayPref); + enableAnimation(!reduceDelayPref); } // If performance statistics changing enabled setting... clear collected stats. @@ -2106,7 +2025,8 @@ private void reloadPreferences() { } boolean logOverlayEnabled = - getBooleanPref(R.string.pref_log_overlay_key, R.bool.pref_log_overlay_default); + PreferencesActivityUtils.getDiagnosticPref( + prefs, res, R.string.pref_log_overlay_key, R.bool.pref_log_overlay_default); diagnosticOverlayController.setLogOverlayEnabled(logOverlayEnabled); accessibilityEventProcessor.setSpeakWhenScreenOff( @@ -2119,10 +2039,6 @@ private void reloadPreferences() { accessibilityEventProcessor.setDumpEventMask( prefs.getInt(res.getString(R.string.pref_dump_event_mask_key), 0)); - automaticResume = - prefs.getString( - res.getString(R.string.pref_resume_talkback_key), getString(R.string.resume_screen_on)); - reloadSilenceOnProximity(); reloadPreferenceLogLevel(); @@ -2136,6 +2052,12 @@ private void reloadPreferences() { res, R.string.pref_typing_confirmation_key, R.string.pref_typing_confirmation_default)); + accessibilityFocusInterpreter.setTypingLongPressDurationMs( + SharedPreferencesUtils.getIntFromStringPref( + prefs, + res, + R.string.pref_typing_long_press_duration_key, + R.string.pref_typing_long_press_duration_default)); globalVariables.setInterpretAsEntryKey( accessibilityFocusInterpreter.getTypingMethod() == FORCE_LIFT_TO_TYPE_ON_IME); @@ -2152,7 +2074,7 @@ private void reloadPreferences() { requestServiceFlag( AccessibilityServiceInfo.FLAG_REQUEST_MULTI_FINGER_GESTURES | AccessibilityServiceInfo.FLAG_REQUEST_2_FINGER_PASSTHROUGH, - /* requestedState= */ true); + /* newValue= */ true); resetTouchExplorePassThrough(); } @@ -2160,13 +2082,15 @@ private void reloadPreferences() { processorPermissionsDialogs.onReloadPreferences(this); voiceCommandProcessor.setEchoRecognizedTextEnabled( - getBooleanPref( + PreferencesActivityUtils.getDiagnosticPref( + this, R.string.pref_echo_recognized_text_speech_key, R.bool.pref_echo_recognized_text_default)); // Reload speech preferences. pipeline.setOverlayEnabled( - getBooleanPref(R.string.pref_tts_overlay_key, R.bool.pref_tts_overlay_default)); + PreferencesActivityUtils.getDiagnosticPref( + this, R.string.pref_tts_overlay_key, R.bool.pref_tts_overlay_default)); pipeline.setUseIntonation( VerbosityPreferences.getPreferenceValueBool( prefs, @@ -2196,13 +2120,7 @@ private void reloadPreferences() { int onScreenKeyboardPref = readOnScreenKeyboardEcho(); textEventInterpreter.setOnScreenKeyboardEcho(onScreenKeyboardPref); - int physicalKeyboardPref = - Integer.parseInt( - VerbosityPreferences.getPreferenceValueString( - prefs, - res, - res.getString(R.string.pref_keyboard_echo_physical_key), - res.getString(R.string.pref_keyboard_echo_default))); + int physicalKeyboardPref = readPhysicalKeyboardEcho(); textEventInterpreter.setPhysicalKeyboardEcho(physicalKeyboardPref); boolean useAudioFocus = @@ -2268,7 +2186,7 @@ private void reloadPreferences() { res, res.getString(R.string.pref_speak_container_element_positions_key), res.getBoolean(R.bool.pref_speak_container_element_positions_default)); - compositor.setSpeakCollectionInfo(speakCollectionInfo); + globalVariables.setSpeakCollectionInfo(speakCollectionInfo); // Update preference: speak roles. boolean speakRoles = @@ -2277,7 +2195,7 @@ private void reloadPreferences() { res, res.getString(R.string.pref_speak_roles_key), res.getBoolean(R.bool.pref_speak_roles_default)); - compositor.setSpeakRoles(speakRoles); + globalVariables.setSpeakRoles(speakRoles); // Update preference: speak system window titles. boolean speakWindowTitle = @@ -2286,19 +2204,19 @@ private void reloadPreferences() { res, res.getString(R.string.pref_speak_system_window_titles_key), res.getBoolean(R.bool.pref_speak_system_window_titles_default)); - compositor.setSpeakSystemWindowTitles(speakWindowTitle); + globalVariables.setSpeakSystemWindowTitles(speakWindowTitle); // Update preference: description order. String descriptionOrder = SharedPreferencesUtils.getStringPref( prefs, res, R.string.pref_node_desc_order_key, R.string.pref_node_desc_order_default); - compositor.setDescriptionOrder(prefValueToDescriptionOrder(res, descriptionOrder)); + globalVariables.setDescriptionOrder(prefValueToDescriptionOrder(res, descriptionOrder)); // Update preference: speak element IDs. boolean speakElementIds = getBooleanPref( R.string.pref_speak_element_ids_key, R.bool.pref_speak_element_ids_default); - compositor.setSpeakElementIds(speakElementIds); + globalVariables.setSpeakElementIds(speakElementIds); // Update preference: speak usage hints. boolean speakUsageHints = @@ -2308,9 +2226,6 @@ private void reloadPreferences() { res.getString(R.string.pref_a11y_hints_key), res.getBoolean(R.bool.pref_a11y_hints_default)); globalVariables.setUsageHintEnabled(speakUsageHints); - - // Reload compositor configuration. - compositor.refreshParseTreeIfNeeded(); } FocusIndicatorUtils.applyFocusAppearancePreference(this, prefs, res); @@ -2325,10 +2240,27 @@ private int readOnScreenKeyboardEcho() { getResources().getString(R.string.pref_keyboard_echo_default))); } + private int readPhysicalKeyboardEcho() { + return Integer.parseInt( + VerbosityPreferences.getPreferenceValueString( + prefs, + getResources(), + getResources().getString(R.string.pref_keyboard_echo_physical_key), + getResources().getString(R.string.pref_keyboard_echo_default))); + } + private void reloadPreferenceLogLevel() { LogUtils.setLogLevel( SharedPreferencesUtils.getIntFromStringPref( prefs, getResources(), R.string.pref_log_level_key, R.string.pref_log_level_default)); + enforceDiagnosisModeLogging(); + } + + private void enforceDiagnosisModeLogging() { + if ((LogUtils.getLogLevel() != Log.VERBOSE) + && PreferencesActivityUtils.isDiagnosisModeOn(prefs, getResources())) { + LogUtils.setLogLevel(Log.VERBOSE); + } } private void reloadSilenceOnProximity() { @@ -2391,24 +2323,27 @@ private static int prefValueToDescriptionOrder(Resources resources, String value /** * Attempts to change the service info flag. * - * @param flag to specify the service flag to change. - * @param requestedState {@code true} to request service flag change. + * @param flags to specify the service flags to change. + * @param newValue {@code true} to request service flag change. */ - private void requestServiceFlag(int flag, boolean requestedState) { + private void requestServiceFlag(int flags, boolean newValue) { final AccessibilityServiceInfo info = getServiceInfo(); if (info == null) { return; } - boolean currentState = (info.flags & flag) == flag; - if (currentState == requestedState) { + // No need to make changes if + // 1. newValue is true and current value of the requested flags are all set, or + // 2. newValue is false and current value of the requested flags are all clear. + boolean noChange = newValue ? ((info.flags & flags) == flags) : ((info.flags & flags) == 0); + if (noChange) { return; } - if (requestedState) { - info.flags |= flag; + if (newValue) { + info.flags |= flags; } else { - info.flags &= ~flag; + info.flags &= ~flags; } LogUtils.v(TAG, "Accessibility Service flag changed: 0x%X", info.flags); @@ -2447,164 +2382,20 @@ private boolean isFirstTimeUser() { return prefs.getBoolean(PREF_FIRST_TIME_USER, true); } - private final KeyComboManager.KeyComboListener keyComboListener = - new KeyComboManager.KeyComboListener() { - // TODO: Move event-mapping's feedback logics to Mappers - @Override - public boolean onComboPerformed(int id, String name, EventId eventId) { - switch (id) { - case KeyComboManager.ACTION_SUSPEND_OR_RESUME: - if (serviceState == ServiceStateListener.SERVICE_STATE_SUSPENDED) { - resumeTalkBack(eventId); - } else if (serviceState == ServiceStateListener.SERVICE_STATE_ACTIVE) { - requestSuspendTalkBack(eventId); - } - return true; - case KeyComboManager.ACTION_BACK: - pipeline - .getFeedbackReturner() - .returnFeedback(eventId, Feedback.systemAction(GLOBAL_ACTION_BACK)); - return true; - case KeyComboManager.ACTION_HOME: - pipeline - .getFeedbackReturner() - .returnFeedback(eventId, Feedback.systemAction(GLOBAL_ACTION_HOME)); - return true; - case KeyComboManager.ACTION_NOTIFICATION: - pipeline - .getFeedbackReturner() - .returnFeedback(eventId, Feedback.systemAction(GLOBAL_ACTION_NOTIFICATIONS)); - return true; - case KeyComboManager.ACTION_RECENTS: - pipeline - .getFeedbackReturner() - .returnFeedback(eventId, Feedback.systemAction(GLOBAL_ACTION_RECENTS)); - return true; - case KeyComboManager.ACTION_PLAY_PAUSE_MEDIA: - pipeline - .getFeedbackReturner() - .returnFeedback( - eventId, - Feedback.systemAction( - SystemActionPerformer.GLOBAL_ACTION_KEYCODE_HEADSETHOOK)); - return true; - case KeyComboManager.ACTION_SCROLL_FORWARD_READING_MENU: - selectorController.selectPreviousOrNextSetting(eventId, true); - return true; - case KeyComboManager.ACTION_SCROLL_BACKWARD_READING_MENU: - selectorController.selectPreviousOrNextSetting(eventId, false); - return true; - case KeyComboManager.ACTION_ADJUST_READING_SETTING_PREVIOUS: - selectorController.adjustSelectedSetting(eventId, false); - return true; - case KeyComboManager.ACTION_ADJUST_READING_SETTING_NEXT: - selectorController.adjustSelectedSetting(eventId, true); - return true; - case KeyComboManager.ACTION_GRANULARITY_INCREASE: - pipeline - .getFeedbackReturner() - .returnFeedback(eventId, Feedback.focusDirection(NEXT_GRANULARITY)); - return true; - case KeyComboManager.ACTION_GRANULARITY_DECREASE: - pipeline - .getFeedbackReturner() - .returnFeedback(eventId, Feedback.focusDirection(PREVIOUS_GRANULARITY)); - return true; - case KeyComboManager.ACTION_READ_FROM_TOP: - pipeline.execute( - Feedback.create(eventId, Feedback.continuousRead(START_AT_TOP).build())); - return true; - case KeyComboManager.ACTION_READ_FROM_NEXT_ITEM: - pipeline.execute( - Feedback.create(eventId, Feedback.continuousRead(START_AT_NEXT).build())); - return true; - case KeyComboManager.ACTION_TALKBACK_CONTEXT_MENU: - showTalkbackContextMenu(eventId); - return true; - case KeyComboManager.ACTION_CUSTOM_ACTIONS: - showCustomActions(eventId); - return true; - case KeyComboManager.ACTION_LANGUAGE_OPTIONS: - showLanguageOptions(eventId); - return true; - case KeyComboManager.ACTION_OPEN_MANAGE_KEYBOARD_SHORTCUTS: - openManageKeyboardShortcuts(); - return true; - case KeyComboManager.ACTION_OPEN_TALKBACK_SETTINGS: - if (SettingsUtils.allowLinksOutOfSettings(getApplicationContext())) { - openTalkBackSettings(); - } - return true; - default: // fall out - } - - return false; - } - }; - - private final KeyComboManager.KeyUpListener keyUpListener = - new KeyComboManager.KeyUpListener() { - @Override - public void onKeyUpShouldInterrupt(int performedActionId) { - if (performedActionId == ACTION_NAVIGATE_NEXT_DEFAULT /* next in default keymap */ - || performedActionId - == ACTION_NAVIGATE_PREVIOUS_DEFAULT /* previous in default keymap */ - || performedActionId == ACTION_NAVIGATE_NEXT /* next in classic keymap */ - || performedActionId == ACTION_NAVIGATE_PREVIOUS /* previous in classic keymap */) { - return; - } - if (fullScreenReadActor.isActive()) { - fullScreenReadActor.interrupt(); - } - } - }; - /** Reloads preferences whenever their values change. */ private final OnSharedPreferenceChangeListener sharedPreferenceChangeListener = new OnSharedPreferenceChangeListener() { @Override public void onSharedPreferenceChanged(SharedPreferences prefs, String key) { LogUtils.d(TAG, "A shared preference changed: %s", key); - reloadPreferences(); - } - }; - - /** Broadcast receiver for actions that happen while the service is active. */ - private final BroadcastReceiver activeReceiver = - new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - final String action = intent.getAction(); - - if (ACTION_PERFORM_GESTURE_ACTION.equals(action)) { - int gestureId = - intent.getIntExtra(EXTRA_GESTURE_ACTION, R.string.shortcut_value_unassigned); - EventId eventId = Performance.getInstance().onGestureEventReceived(gestureId); - gestureController.onGesture(gestureId, eventId); - Performance.getInstance().onHandlerDone(eventId); - } - } - }; - - /** Broadcast receiver for actions that happen while the service is inactive. */ - private final BroadcastReceiver suspendedReceiver = - new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - final String action = intent.getAction(); - - EventId eventId = EVENT_ID_UNTRACKED; // Performance not tracked for broadcasts. - if (ACTION_RESUME_FEEDBACK.equals(action)) { - resumeTalkBack(eventId); - } else if (Intent.ACTION_SCREEN_ON.equals(action)) { - if (automaticResume.equals(getString(R.string.resume_screen_keyguard))) { - if (ScreenMonitor.isDeviceLocked(instance)) { - resumeTalkBack(eventId); - } - } else if (automaticResume.equals(getString(R.string.resume_screen_on))) { - resumeTalkBack(eventId); - } + if (getResources() + .getString(R.string.pref_previous_global_window_animation_scale_key) + .equals(key)) { + // The stored animation factor is no related to TalkBack Settings at all. We skip to + // reloadPreferences to avoid the additional of Talkback re-configuration. + return; } + reloadPreferences(); } }; @@ -2646,22 +2437,16 @@ public void onLockedBootCompleted(EventId eventId) { lockedBootCompletedPending = true; } else { // onServiceConnected has already completed, so we should run the callback now. - onLockedBootCompletedInternal(eventId); + onLockedBootCompletedInternal(); } } - private void onLockedBootCompletedInternal(EventId eventId) { + private void onLockedBootCompletedInternal() { // Update TTS quietly. // If the TTS changes here, it is probably a non-FBE TTS that didn't appear in the TTS // engine list when TalkBack initialized during system boot, so we want the change to be // invisible to the user. pipeline.onBoot(/* quiet= */ true); - - if (!isServiceActive() - && automaticResume != null - && !automaticResume.equals(getString(R.string.resume_screen_manual))) { - resumeTalkBack(eventId); - } } public void onUnlockedBootCompleted() { @@ -2678,6 +2463,16 @@ public void onUnlockedBootCompleted() { if (labelManager != null) { labelManager.ensureLabelsLoaded(); } + + // The invocation of installActivity() enables immediate access to code and resources of split + // APKs. It can be invoked even though we are a Service and not an Activity. + // Call SplitCompat.install after local filesystem accessible in boot process. + boolean splitCompatInstallSuccess = SplitCompatUtils.installActivity(this); + + // In theory, the boolean returned by installActivity will be false only for API 20 or lower. + if (!splitCompatInstallSuccess) { + Log.e(TAG, "SplitCompatUtils.installActivity() failed"); + } } @Override @@ -2690,10 +2485,6 @@ public void uncaughtException(Thread thread, Throwable ex) { if (menuManager != null && menuManager.isMenuShowing()) { menuManager.dismissAll(); } - - if (talkBackSuspendDialog != null) { - talkBackSuspendDialog.dismissDialog(); - } } catch (Exception e) { // Do nothing. } finally { @@ -2756,20 +2547,7 @@ public class ProximitySensorListener { private boolean screenIsOn; public ProximitySensorListener(TalkBackService service) { - this.service = service; - service.addServiceStateListener( - new ServiceStateListener() { - @Override - public void onServiceStateChanged(int newState) { - if (newState == ServiceStateListener.SERVICE_STATE_ACTIVE) { - setProximitySensorState(true); - } else if (newState == ServiceStateListener.SERVICE_STATE_SUSPENDED) { - setProximitySensorState(false); - } - } - }); - screenIsOn = true; } @@ -2858,4 +2636,55 @@ private void resetTouchExplorePassThrough() { Performance.EVENT_ID_UNTRACKED, Feedback.passThroughMode(DISABLE_PASSTHROUGH)); } } + + protected boolean shouldUseTalkbackGestureDetection() { + // TODO: Control the feature by p/h flag. + if (useServiceGestureDetection == null) { + SharedPreferences sharedPreferences = SharedPreferencesUtils.getSharedPreferences(this); + useServiceGestureDetection = + sharedPreferences.getBoolean( + getString(R.string.pref_talkback_gesture_detection_key), true); + } + return useServiceGestureDetection; + } + + private void registerGestureDetection() { + if (BuildVersionUtils.isAtLeastT()) { + List displays = WindowUtils.getAllDisplays(getApplicationContext()); + Executor gestureExecutor = Executors.newSingleThreadExecutor(); + for (Display display : displays) { + Context context = createDisplayContext(display); + @Nullable TouchInteractionController touchInteractionController = + getTouchInteractionController(display.getDisplayId()); + if (touchInteractionController == null) { + continue; + } + TouchInteractionMonitor touchInteractionMonitor = + new TouchInteractionMonitor(context, touchInteractionController, this); + touchInteractionMonitor.setMultiFingerGesturesEnabled(true); + touchInteractionMonitor.setTwoFingerPassthroughEnabled(true); + touchInteractionMonitor.setServiceHandlesDoubleTap(true); + touchInteractionController.registerCallback(gestureExecutor, touchInteractionMonitor); + displayIdToTouchInteractionMonitor.put(display.getDisplayId(), touchInteractionMonitor); + LogUtils.i(TAG, "Enabling service gesture detection on display %d", display.getDisplayId()); + } + } + } + + private void unregisterGestureDetection() { + if (BuildVersionUtils.isAtLeastT()) { + List displays = WindowUtils.getAllDisplays(getApplicationContext()); + for (Display display : displays) { + @Nullable TouchInteractionController touchInteractionController = + getTouchInteractionController(display.getDisplayId()); + TouchInteractionMonitor touchInteractionMonitor = + displayIdToTouchInteractionMonitor.get(display.getDisplayId()); + if (touchInteractionController == null || touchInteractionMonitor == null) { + continue; + } + touchInteractionController.unregisterCallback(touchInteractionMonitor); + } + displayIdToTouchInteractionMonitor.clear(); + } + } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackSuspendDialog.java b/talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackSuspendDialog.java deleted file mode 100644 index 8b1754baa..000000000 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackSuspendDialog.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2018 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package com.google.android.accessibility.talkback; - -import static com.google.android.accessibility.utils.Performance.EVENT_ID_UNTRACKED; - -import android.content.DialogInterface; -import com.google.android.accessibility.talkback.dialog.FirstTimeUseDialog; -import com.google.android.accessibility.utils.Performance.EventId; - -/** - * Shows a confirmation dialog when user suspends TalkBack. {@link - * TalkBackService#requestSuspendTalkBack} - */ -public class TalkBackSuspendDialog extends FirstTimeUseDialog { - - private final TalkBackService service; - - public TalkBackSuspendDialog(TalkBackService service) { - super( - service, - /* showDialogPreference= */ R.string.pref_show_suspension_confirmation_dialog, - /* dialogTitleResId= */ R.string.dialog_title_suspend_talkback, - /* dialogMainMessageResId= */ R.string.dialog_message_suspend_talkback, - /* checkboxTextResId= */ R.string.show_suspend_warning_label); - this.service = service; - } - - @Override - public void handleDialogClick(int buttonClicked) { - super.handleDialogClick(buttonClicked); - - if (buttonClicked == DialogInterface.BUTTON_POSITIVE) { - EventId eventId = EVENT_ID_UNTRACKED; // Not tracking menu events performance. - service.suspendTalkBack(eventId); - } - } - - /** - * Shows a dialog asking the user to confirm suspension of TalkBack. - * - * @param automaticResume preference specifying when TalkBack should automatically resume {@link - * TalkBackService#automaticResume} - */ - public void confirmSuspendTalkBack(String automaticResume) { - int messageResId; - if (automaticResume.equals(service.getString(R.string.resume_screen_keyguard))) { - messageResId = R.string.message_resume_keyguard; - } else if (automaticResume.equals(service.getString(R.string.resume_screen_manual))) { - messageResId = R.string.message_resume_manual; - } else { // screen on is the default value - messageResId = R.string.message_resume_screen_on; - } - setCustomizedDialogMessageResId(messageResId, INVALID_RES_ID); - showDialog(); - } -} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackUpdateHelper.java b/talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackUpdateHelper.java index b01033fe0..d7d188c00 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackUpdateHelper.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/TalkBackUpdateHelper.java @@ -31,14 +31,17 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.os.Handler; +import androidx.annotation.VisibleForTesting; +import com.google.android.accessibility.talkback.keyboard.KeyComboManager; import com.google.android.accessibility.talkback.preference.GestureChangeNotificationActivity; import com.google.android.accessibility.talkback.preference.PreferencesActivityUtils; import com.google.android.accessibility.talkback.selector.SelectorController; +import com.google.android.accessibility.talkback.training.OnboardingInitiator; import com.google.android.accessibility.talkback.utils.NotificationUtils; import com.google.android.accessibility.talkback.utils.VerbosityPreferences; import com.google.android.accessibility.utils.AccessibilityEventUtils; +import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.SharedPreferencesUtils; -import com.google.android.accessibility.utils.keyboard.KeyComboManager; import com.google.android.libraries.accessibility.utils.log.LogUtils; /** Class provides Talkback update information */ @@ -53,6 +56,7 @@ public class TalkBackUpdateHelper { private static final int BUILT_IN_GESTURE_CHANGE_NOTIFICATION_ID = 3; private static final int SIDE_TAP_REMOVED_CHANGE_NOTIFICATION_ID = 4; + @VisibleForTesting static final int TALKBACK_UPDATED_NOTIFICATION_ID = 5; private final Handler handler = new Handler(); @@ -146,12 +150,30 @@ public void checkUpdate() { } // TalkBack 12.2, Reset Log Level to default - // TODO: update build id when 12.2 is final. - if (previousVersion < Integer.MAX_VALUE) { + // 12.2.0.442723463 (talkback_12.2_4_RC04) + if (previousVersion < 60123270) { editor.remove(service.getString(R.string.pref_log_level_key)); PreferencesActivityUtils.removeEditingKey(service.getApplicationContext()); } + // TalkBack 13.0, activate the window transition delay reduction + // TODO: update build id when 13.0 is final. + if (previousVersion < Integer.MAX_VALUE) { + if (FeatureSupport.supportsServiceControlOfGlobalAnimations() + && sharedPreferences.contains(service.getString(R.string.pref_reduce_window_delay_key))) { + // The turn-off animation feature is enabled by default in 13.0. But it needs extra + // configuration to activate it by disabling animation for devices running on Pre-Android T. + // For migration the devices which update to Android T before updating to Android 13, we + // will turn on the feature, too. + editor.remove(service.getString(R.string.pref_reduce_window_delay_key)); + } + } + + if (!OnboardingInitiator.hasOnboardingBeenShown( + SharedPreferencesUtils.getSharedPreferences(service), service)) { + notifyTalkBackUpdated(); + } + // Update key combo model. KeyComboManager keyComboManager = service.getKeyComboManager(); if (keyComboManager != null) { @@ -161,6 +183,18 @@ public void checkUpdate() { editor.apply(); } + /** + * Shows the notification after a delay. + * + * @param notification The notification to show. + * @param notificationId The notification id. + */ + private void showNotification(Notification notification, int notificationId) { + NotificationPosterRunnable runnable = + new NotificationPosterRunnable(notification, notificationId); + handler.postDelayed(runnable, NOTIFICATION_DELAY); + } + /** * Changes to use one single pref as dump event bit mask instead of having one pref per event * type. @@ -296,10 +330,8 @@ private void showPendingNotifications() { notificationIntent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); notificationIntent.setPackage(TALBACK_PACKAGE); - NotificationPosterRunnable runnable = - new NotificationPosterRunnable( - buildGestureChangeNotification(notificationIntent), GESTURE_CHANGE_NOTIFICATION_ID); - handler.postDelayed(runnable, NOTIFICATION_DELAY); + showNotification( + buildGestureChangeNotification(notificationIntent), GESTURE_CHANGE_NOTIFICATION_ID); } } @@ -340,10 +372,8 @@ private void notifyUserOfGestureChanges() { notificationIntent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); notificationIntent.setPackage(TALBACK_PACKAGE); - NotificationPosterRunnable runnable = - new NotificationPosterRunnable( - buildGestureChangeNotification(notificationIntent), GESTURE_CHANGE_NOTIFICATION_ID); - handler.postDelayed(runnable, NOTIFICATION_DELAY); + showNotification( + buildGestureChangeNotification(notificationIntent), GESTURE_CHANGE_NOTIFICATION_ID); } private void notifyUserOfBuiltInGestureChanges() { @@ -423,9 +453,7 @@ private void notifyGestureChange(int messageResId, int notificationId) { notificationIntent.putExtra(NotificationActivity.EXTRA_INT_NOTIFICATION_ID, notificationId); // Build notification, and run it after a delay. - Notification notification = buildGestureChangeNotification(notificationIntent); - handler.postDelayed( - () -> notificationManager.notify(notificationId, notification), NOTIFICATION_DELAY); + showNotification(buildGestureChangeNotification(notificationIntent), notificationId); } /** @@ -558,12 +586,35 @@ private void remapUpDownGestures() { } } + /** + * Posts a notification to notify TalkBack has been updated, and redirects to the onboarding page. + */ + private void notifyTalkBackUpdated() { + if (FeatureSupport.isTv(service) || FeatureSupport.isWatch(service)) { + return; + } + + showNotification( + NotificationUtils.createNotification( + service, + service.getString(R.string.talkback_updated_notification_title), + service.getString(R.string.talkback_updated_notification_title), + service.getString(R.string.talkback_updated_notification_content), + PendingIntent.getActivity( + service, + /* requestCode= */ 0, + OnboardingInitiator.createOnboardingIntent(service), + PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE), + /* autoCancel= */ true), + TALKBACK_UPDATED_NOTIFICATION_ID); + } + /** * Runnable used for posting notifications to the {@link NotificationManager} after a short delay. */ private class NotificationPosterRunnable implements Runnable { - private Notification notification; - private int id; + private final Notification notification; + private final int id; NotificationPosterRunnable(Notification n, int id) { notification = n; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/TouchInteractionMonitor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/TouchInteractionMonitor.java new file mode 100644 index 000000000..f420650f2 --- /dev/null +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/TouchInteractionMonitor.java @@ -0,0 +1,520 @@ +package com.google.android.accessibility.talkback; + +import static android.accessibilityservice.TouchInteractionController.STATE_CLEAR; +import static android.accessibilityservice.TouchInteractionController.STATE_DRAGGING; +import static android.accessibilityservice.TouchInteractionController.STATE_TOUCH_INTERACTING; +import static android.view.MotionEvent.ACTION_DOWN; +import static android.view.MotionEvent.ACTION_MOVE; +import static android.view.MotionEvent.INVALID_POINTER_ID; + +import android.accessibilityservice.AccessibilityGestureEvent; +import android.accessibilityservice.AccessibilityService; +import android.accessibilityservice.TouchInteractionController; +import android.content.Context; +import android.os.Build; +import android.os.Handler; +import android.util.DisplayMetrics; +import android.view.MotionEvent; +import android.view.ViewConfiguration; +import androidx.annotation.RequiresApi; +import com.google.android.accessibility.utils.gestures.GestureManifold; +import com.google.android.accessibility.utils.gestures.GestureUtils; +import com.google.android.libraries.accessibility.utils.log.LogUtils; + +/** + * This class receives motion events from the framework for the purposes of figuring out whether an + * interaction is a gesture, touch exploration, or passthrough . If the gesture detector clasifies + * an interaction as a gesture this class will relay that back to the service. If an interaction + * qualifies as touch exploration or a passthrough this class will relay that to the framework. + */ +@RequiresApi(Build.VERSION_CODES.TIRAMISU) +public class TouchInteractionMonitor + implements TouchInteractionController.Callback, GestureManifold.Listener { + private static final String LOG_TAG = "TouchInteractionMonitor"; + private static final float MAX_DRAGGING_ANGLE_COS = 0.525321989f; // cos(pi/4) + // The height of the top and bottom edges for edge-swipes. + // For now this is only used to allow three-finger edge-swipes from the bottom. + private static final float EDGE_SWIPE_HEIGHT_CM = 0.25f; + + private int state; + private TouchInteractionController controller; + private Context context; + private ReceivedPointerTracker receivedPointerTracker; + private int draggingPointerId = INVALID_POINTER_ID; + private AccessibilityService service; + private Handler mainHandler; + private int displayId; + private GestureManifold gestureDetector; + private boolean gestureStarted = false; + // Whether double tap and double tap and hold will be dispatched to the service or handled in + // the framework. + private boolean serviceHandlesDoubleTap = false; + // The acceptable distance the pointer can move and still count as a tap. + private int touchSlop; + // The calculated edge height for the top and bottom edges. + private final float edgeSwipeHeightPixels; + + // Timeout before trying to decide what the user is trying to do. + private final int determineUserIntentTimeout; + private RequestTouchExplorationDelayed requestTouchExplorationDelayed; + + public TouchInteractionMonitor( + Context context, TouchInteractionController controller, AccessibilityService service) { + this.context = context; + this.controller = controller; + receivedPointerTracker = new ReceivedPointerTracker(); + this.service = service; + mainHandler = new Handler(context.getMainLooper()); + this.displayId = context.getDisplay().getDisplayId(); + gestureDetector = new GestureManifold(context, this, this.displayId); + touchSlop = ViewConfiguration.get(context).getScaledTouchSlop(); + determineUserIntentTimeout = ViewConfiguration.getDoubleTapTimeout(); + requestTouchExplorationDelayed = new RequestTouchExplorationDelayed(determineUserIntentTimeout); + DisplayMetrics metrics = context.getResources().getDisplayMetrics(); + edgeSwipeHeightPixels = metrics.ydpi / GestureUtils.CM_PER_INCH * EDGE_SWIPE_HEIGHT_CM; + + LogUtils.v(LOG_TAG, "Touch Slop: %s", touchSlop); + clear(); + } + + @SuppressWarnings("Override") + @Override + public void onMotionEvent(MotionEvent event) { + if (event != null) { + LogUtils.v(LOG_TAG, "Received motion event : %s", event.toString()); + } else { + LogUtils.e(LOG_TAG, "Event is null."); + } + receivedPointerTracker.onMotionEvent(event); + gestureDetector.onMotionEvent(event); + if (!gestureStarted) { + switch (state) { + case STATE_TOUCH_INTERACTING: + handleMotionEventStateTouchInteracting(event); + break; + case STATE_DRAGGING: + handleMotionEventStateDragging(event); + break; + default: + break; + } + } + } + + public void handleMotionEventStateTouchInteracting(MotionEvent event) { + switch (event.getActionMasked()) { + case ACTION_DOWN: + requestTouchExplorationDelayed.post(); + break; + case ACTION_MOVE: + switch (event.getPointerCount()) { + case 1: + // Do nothing. Touch exploration will fire on a delay. + break; + case 2: + if (gestureDetector.isTwoFingerPassthroughEnabled()) { + for (int index = 0; index < event.getPointerCount(); ++index) { + int id = event.getPointerId(index); + if (!receivedPointerTracker.isReceivedPointerDown(id)) { + // Something is wrong with the event stream. + LogUtils.e(LOG_TAG, "Invalid pointer id: %d", id); + return; + } + final float deltaX = + receivedPointerTracker.getReceivedPointerDownX(id) - event.getX(index); + final float deltaY = + receivedPointerTracker.getReceivedPointerDownY(id) - event.getY(index); + final double moveDelta = Math.hypot(deltaX, deltaY); + if (moveDelta < (2 * touchSlop)) { + return; + } + } + } + if (isDraggingGesture(event)) { + computeDraggingPointerIdIfNeeded(event); + controller.requestDragging(draggingPointerId); + } else { + controller.requestDelegating(); + } + break; + case 3: + if (allPointersDownOnBottomEdge(event)) { + controller.requestDelegating(); + } + break; + default: + break; + } + break; + default: + requestTouchExplorationDelayed.cancel(); + break; + } + } + + public void handleMotionEventStateDragging(MotionEvent event) { + switch (event.getActionMasked()) { + case ACTION_MOVE: + if (draggingPointerId == INVALID_POINTER_ID) { + break; + } + switch (event.getPointerCount()) { + case 1: + // do nothing + break; + case 2: + if (isDraggingGesture(event)) { + // Do nothing. The system will continue the drag on its own. + } else { + // The two pointers are moving either in different directions or + // no close enough => delegate the gesture to the view hierarchy. + controller.requestDelegating(); + } + break; + default: + if (!gestureDetector.isMultiFingerGesturesEnabled()) { + controller.requestDelegating(); + } + } + break; + default: + break; + } + } + + @SuppressWarnings("Override") + @Override + public void onStateChanged(int state) { + LogUtils.v( + LOG_TAG, + "%s -> %s", + TouchInteractionController.stateToString(this.state), + TouchInteractionController.stateToString(state)); + if (this.state == STATE_CLEAR) { + // Clear on transition to a new interaction + clear(); + } + this.state = state; + requestTouchExplorationDelayed.cancel(); + } + + private void clear() { + gestureStarted = false; + gestureDetector.clear(); + receivedPointerTracker.clear(); + requestTouchExplorationDelayed.cancel(); + } + + private boolean allPointersDownOnBottomEdge(MotionEvent event) { + final long screenHeight = context.getResources().getDisplayMetrics().heightPixels; + for (int i = 0; i < event.getPointerCount(); ++i) { + final int pointerId = event.getPointerId(i); + final float pointerDownY = receivedPointerTracker.getReceivedPointerDownY(pointerId); + if (pointerDownY < (screenHeight - edgeSwipeHeightPixels)) { + return false; + } + } + return true; + } + + /** + * Computes {@link #mDraggingPointerId} if it is invalid. The pointer will be the finger closet to + * an edge of the screen. + */ + private void computeDraggingPointerIdIfNeeded(MotionEvent event) { + if (draggingPointerId != INVALID_POINTER_ID) { + // If we have a valid pointer ID, we should be good + final int pointerIndex = event.findPointerIndex(draggingPointerId); + if (event.findPointerIndex(pointerIndex) >= 0) { + return; + } + } + // Use the pointer that is closest to its closest edge. + final float firstPtrX = event.getX(0); + final float firstPtrY = event.getY(0); + final int firstPtrId = event.getPointerId(0); + final float secondPtrX = event.getX(1); + final float secondPtrY = event.getY(1); + final int secondPtrId = event.getPointerId(1); + draggingPointerId = + (getDistanceToClosestEdge(firstPtrX, firstPtrY) + < getDistanceToClosestEdge(secondPtrX, secondPtrY)) + ? firstPtrId + : secondPtrId; + } + + private float getDistanceToClosestEdge(float x, float y) { + final long width = this.context.getResources().getDisplayMetrics().widthPixels; + final long height = this.context.getResources().getDisplayMetrics().heightPixels; + float distance = Float.MAX_VALUE; + if (x < (width - x)) { + distance = x; + } else { + distance = width - x; + } + if (distance > y) { + distance = y; + } + if (distance > (height - y)) { + distance = (height - y); + } + return distance; + } + /** + * Determines whether a two pointer gesture is a dragging one. + * + * @param event The event with the pointer data. + * @return True if the gesture is a dragging one. + */ + private boolean isDraggingGesture(MotionEvent event) { + + final float firstPtrX = event.getX(0); + final float firstPtrY = event.getY(0); + final float secondPtrX = event.getX(1); + final float secondPtrY = event.getY(1); + + final float firstPtrDownX = receivedPointerTracker.getReceivedPointerDownX(0); + final float firstPtrDownY = receivedPointerTracker.getReceivedPointerDownY(0); + final float secondPtrDownX = receivedPointerTracker.getReceivedPointerDownX(1); + final float secondPtrDownY = receivedPointerTracker.getReceivedPointerDownY(1); + + return GestureUtils.isDraggingGesture( + firstPtrDownX, + firstPtrDownY, + secondPtrDownX, + secondPtrDownY, + firstPtrX, + firstPtrY, + secondPtrX, + secondPtrY, + MAX_DRAGGING_ANGLE_COS); + } + /** This class tracks where and when a pointer went down. It does not track its movement. */ + class ReceivedPointerTracker { + + private final PointerDownInfo[] mReceivedPointers; + + // Which pointers are down. + private int mReceivedPointersDown; + + ReceivedPointerTracker() { + mReceivedPointers = new PointerDownInfo[controller.getMaxPointerCount()]; + clear(); + } + + /** Clears the internals state. */ + public void clear() { + mReceivedPointersDown = 0; + for (int i = 0; i < controller.getMaxPointerCount(); ++i) { + mReceivedPointers[i] = new PointerDownInfo(); + } + } + + /** + * Processes a received {@link MotionEvent} event. + * + * @param event The event to process. + */ + public void onMotionEvent(MotionEvent event) { + final int action = event.getActionMasked(); + switch (action) { + case MotionEvent.ACTION_DOWN: + handleReceivedPointerDown(event.getActionIndex(), event); + break; + case MotionEvent.ACTION_POINTER_DOWN: + handleReceivedPointerDown(event.getActionIndex(), event); + break; + case MotionEvent.ACTION_UP: + handleReceivedPointerUp(event.getActionIndex(), event); + break; + case MotionEvent.ACTION_POINTER_UP: + handleReceivedPointerUp(event.getActionIndex(), event); + break; + default: + break; + } + } + + /** @return The number of received pointers that are down. */ + public int getReceivedPointerDownCount() { + return Integer.bitCount(mReceivedPointersDown); + } + + /** + * Whether an received pointer is down. + * + * @param pointerId The unique pointer id. + * @return True if the pointer is down. + */ + public boolean isReceivedPointerDown(int pointerId) { + final int pointerFlag = (1 << pointerId); + return (mReceivedPointersDown & pointerFlag) != 0; + } + + /** + * @param pointerId The unique pointer id. + * @return The X coordinate where the pointer went down. + */ + public float getReceivedPointerDownX(int pointerId) { + return mReceivedPointers[pointerId].mX; + } + + /** + * @param pointerId The unique pointer id. + * @return The Y coordinate where the pointer went down. + */ + public float getReceivedPointerDownY(int pointerId) { + return mReceivedPointers[pointerId].mY; + } + + /** + * @param pointerId The unique pointer id. + * @return The time when the pointer went down. + */ + public long getReceivedPointerDownTime(int pointerId) { + return mReceivedPointers[pointerId].mTime; + } + + /** + * Handles a received pointer down event. + * + * @param pointerIndex The index of the pointer that has changed. + * @param event The event to be handled. + */ + private void handleReceivedPointerDown(int pointerIndex, MotionEvent event) { + final int pointerId = event.getPointerId(pointerIndex); + final int pointerFlag = (1 << pointerId); + mReceivedPointersDown |= pointerFlag; + mReceivedPointers[pointerId].set( + event.getX(pointerIndex), event.getY(pointerIndex), event.getEventTime()); + } + + /** + * Handles a received pointer up event. + * + * @param pointerIndex The index of the pointer that has changed. + * @param event The event to be handled. + */ + private void handleReceivedPointerUp(int pointerIndex, MotionEvent event) { + final int pointerId = event.getPointerId(pointerIndex); + final int pointerFlag = (1 << pointerId); + mReceivedPointersDown &= ~pointerFlag; + mReceivedPointers[pointerId].clear(); + } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("========================="); + builder.append("\nDown pointers #"); + builder.append(getReceivedPointerDownCount()); + builder.append(" [ "); + for (int i = 0; i < controller.getMaxPointerCount(); i++) { + if (isReceivedPointerDown(i)) { + builder.append(i); + builder.append(" "); + } + } + builder.append("]"); + builder.append(" ]"); + builder.append("\n========================="); + return builder.toString(); + } + } + + /** + * This class tracks where and when an individual pointer went down. Note that it does not track + * when it went up. + */ + static class PointerDownInfo { + private float mX; + private float mY; + private long mTime; + + public void set(float x, float y, long time) { + mX = x; + mY = y; + mTime = time; + } + + public void clear() { + mX = 0; + mY = 0; + mTime = 0; + } + } + + @Override + public void onGestureCompleted(AccessibilityGestureEvent gestureEvent) { + if (gestureEvent.getGestureId() == AccessibilityService.GESTURE_DOUBLE_TAP) { + if (serviceHandlesDoubleTap) { + dispatchGestureToMainThread(gestureEvent); + } else { + controller.performClick(); + } + } else if (gestureEvent.getGestureId() == AccessibilityService.GESTURE_DOUBLE_TAP_AND_HOLD) { + if (serviceHandlesDoubleTap) { + dispatchGestureToMainThread(gestureEvent); + } else { + controller.performLongClickAndStartDrag(); + } + } else { + dispatchGestureToMainThread(gestureEvent); + } + } + + /** Dispatch a gesture event to the main thread of the service. */ + private void dispatchGestureToMainThread(AccessibilityGestureEvent gestureEvent) { + mainHandler.post( + () -> { + service.onGesture(gestureEvent); + }); + clear(); + } + + @Override + public void onGestureCancelled() {} + + @Override + public void onGestureStarted() { + gestureStarted = true; + requestTouchExplorationDelayed.cancel(); + } + + public void setMultiFingerGesturesEnabled(boolean mode) { + gestureDetector.setMultiFingerGesturesEnabled(mode); + } + + public void setTwoFingerPassthroughEnabled(boolean mode) { + gestureDetector.setTwoFingerPassthroughEnabled(mode); + } + + public void setServiceHandlesDoubleTap(boolean mode) { + serviceHandlesDoubleTap = mode; + } + + private class RequestTouchExplorationDelayed implements Runnable { + private final int mDelay; + + public RequestTouchExplorationDelayed(int delay) { + mDelay = delay; + } + + public void cancel() { + mainHandler.removeCallbacks(this); + } + + public void post() { + mainHandler.postDelayed(this, mDelay); + } + + public boolean isPending() { + return mainHandler.hasCallbacks(this); + } + + @Override + public void run() { + controller.requestTouchExploration(); + } + } +} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/UserInterface.java b/talkback/src/main/java/com/google/android/accessibility/talkback/UserInterface.java index 8dc544c99..ed250ac92 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/UserInterface.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/UserInterface.java @@ -40,7 +40,7 @@ public void setPipeline(Pipeline.FeedbackReturner pipeline) { /** Notify the state of selection mode on an editable is changed. */ public void setSelectionMode(boolean active) { - selectorController.editTextSelected(active); + selectorController.editTextOrSelectableTextSelected(active); } public void handleEvent( diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/VoiceActionMonitor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/VoiceActionMonitor.java index b1d07f6d7..de0111111 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/VoiceActionMonitor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/VoiceActionMonitor.java @@ -20,6 +20,7 @@ import android.content.Intent; import android.os.Build; import android.telephony.TelephonyManager; +import com.google.android.accessibility.utils.input.SpeechStateMonitor; import com.google.android.accessibility.utils.monitor.AudioPlaybackMonitor; import com.google.android.accessibility.utils.monitor.HeadphoneStateMonitor; import com.google.android.accessibility.utils.monitor.MediaRecorderMonitor; @@ -34,6 +35,7 @@ public class VoiceActionMonitor implements VoiceActionDelegate { private final MediaRecorderMonitor mediaRecorderMonitor; private final AudioPlaybackMonitor audioPlaybackMonitor; private final CallStateMonitor callStateMonitor; + private final SpeechStateMonitor speechStateMonitor; private final MediaRecorderMonitor.MicrophoneStateChangedListener microphoneStateChangedListener = new MediaRecorderMonitor.MicrophoneStateChangedListener() { @@ -64,9 +66,14 @@ public void onCallStateChanged(int oldState, int newState) { } }; - public VoiceActionMonitor(TalkBackService service, CallStateMonitor callStateMonitor) { + public VoiceActionMonitor( + TalkBackService service, + CallStateMonitor callStateMonitor, + SpeechStateMonitor speechStateMonitor) { this.service = service; + this.speechStateMonitor = speechStateMonitor; + mediaRecorderMonitor = new MediaRecorderMonitor(service); mediaRecorderMonitor.setMicrophoneStateChangedListener(microphoneStateChangedListener); @@ -94,12 +101,12 @@ public void onSpeakingForcedFeedback() { /** Returns {@code true} if audio play back is active. */ public boolean isAudioPlaybackActive() { - return audioPlaybackMonitor.isAudioPlaybackActive(); + return audioPlaybackMonitor.isAudioPlaybackActive() || speechStateMonitor.isSpeaking(); } /** Returns {@code true} if microphone is active and the user is not using a headset. */ public boolean isMicrophoneActiveAndHeadphoneOff() { - return mediaRecorderMonitor.isMicrophoneActive() && !isHeadphoneOn(); + return isMicrophoneActive() && !isHeadphoneOn(); } /** @@ -107,7 +114,7 @@ public boolean isMicrophoneActiveAndHeadphoneOff() { * headset. */ public boolean isSsbActiveAndHeadphoneOff() { - return false; + return mediaRecorderMonitor.isVoiceRecognitionActive() && !isHeadphoneOn(); } /** Returns {@code true} if phone call is active. */ @@ -152,7 +159,7 @@ public boolean isVoiceRecognitionActive() { @Override public boolean isMicrophoneActive() { - return mediaRecorderMonitor.isMicrophoneActive(); + return mediaRecorderMonitor.isMicrophoneActive() || speechStateMonitor.isListening(); } private void interruptTalkBackAudio() { diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/VolumeMonitor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/VolumeMonitor.java index c9e721e39..f0fc004e0 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/VolumeMonitor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/VolumeMonitor.java @@ -28,7 +28,6 @@ import android.telephony.TelephonyManager; import android.util.SparseIntArray; import androidx.annotation.VisibleForTesting; -import com.google.android.accessibility.utils.BuildVersionUtils; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.WeakReferenceHandler; @@ -51,9 +50,7 @@ public class VolumeMonitor extends BroadcastReceiver { STREAM_NAMES.put(AudioManager.STREAM_ALARM, R.string.value_stream_alarm); STREAM_NAMES.put(AudioManager.STREAM_NOTIFICATION, R.string.value_stream_notification); STREAM_NAMES.put(AudioManager.STREAM_DTMF, R.string.value_stream_dtmf); - if (BuildVersionUtils.isAtLeastO()) { - STREAM_NAMES.put(AudioManager.STREAM_ACCESSIBILITY, R.string.value_stream_accessibility); - } + STREAM_NAMES.put(AudioManager.STREAM_ACCESSIBILITY, R.string.value_stream_accessibility); } /** Keep track of adjustments made by this class. */ @@ -339,22 +336,28 @@ public void onReceive(Context context, Intent intent) { } /** - * Returns the stream volume as a percentage of maximum volume in increments of 5%, e.g. 73% is - * returned as 70. On TV, do not round the volume value, since some partners adjust volumes +/- by - * 1%, instead of 5% + * Returns the stream volume as a percentage of maximum volume. * * @param streamType A stream type constant. * @return The stream volume as a percentage. */ private int getStreamVolume(int streamType) { - final int currentVolume = audioManager.getStreamVolume(streamType); - final int maxVolume = audioManager.getStreamMaxVolume(streamType); - - if (FeatureSupport.isTv(context)) { - return (int) (currentVolume * 1.0 / maxVolume * 100); + final int totalVolume = + audioManager.getStreamMaxVolume(streamType) - audioManager.getStreamMinVolume(streamType); + final int currentVolume = + audioManager.getStreamVolume(streamType) - audioManager.getStreamMinVolume(streamType); + + if (totalVolume != 0) { + int result = 100 * currentVolume / totalVolume; + if (result < 0) { + result = 0; + } else if (result > 100) { + result = 100; + } + return result; } - - return 5 * (int) (20 * currentVolume / maxVolume + 0.5); + LogUtils.e(TAG, "Volume of stream-type:%d incorrect", streamType); + return 0; } private final VolumeHandler handler = new VolumeHandler(this); diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/AutoScrollActor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/AutoScrollActor.java index a759815e0..848cbc8dd 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/AutoScrollActor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/AutoScrollActor.java @@ -26,15 +26,16 @@ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.accessibility.talkback.Pipeline; import com.google.android.accessibility.talkback.Pipeline.SyntheticEvent; -import com.google.android.accessibility.talkback.ScrollEventInterpreter; -import com.google.android.accessibility.talkback.ScrollEventInterpreter.ScrollTimeout; -import com.google.android.accessibility.talkback.ScrollEventInterpreter.UserAction; import com.google.android.accessibility.utils.AccessibilityNode; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.DelayHandler; import com.google.android.accessibility.utils.PerformActionUtils; import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.Performance.EventIdAnd; +import com.google.android.accessibility.utils.Supplier; +import com.google.android.accessibility.utils.input.ScrollActionRecord; +import com.google.android.accessibility.utils.input.ScrollActionRecord.UserAction; +import com.google.android.accessibility.utils.input.ScrollEventInterpreter.ScrollTimeout; import com.google.android.libraries.accessibility.utils.log.LogUtils; /** @@ -51,92 +52,17 @@ public class AutoScrollActor { public static final int UNKNOWN_SCROLL_INSTANCE_ID = -1; - /////////////////////////////////////////////////////////////////////////////////////// - // Scroll record classes - - /** - * Caches information of auto-scroll action, and used to match event to action when {@link - * AccessibilityEvent#TYPE_VIEW_SCROLLED} event is received. - */ - public static class AutoScrollRecord { - - /** Types of scroll callers. */ - public static enum Source { - FOCUS, - SEARCH; - } - - public final int scrollInstanceId; - @UserAction public final int userAction; - - /** - * During transition from AccessibilityNodeInfoCompat to AccessibilityNode, some callers provide - * AccessibilityNode, others provide compat -- either works. AutoScrollRecord recyles node. - */ - @Nullable public final AccessibilityNode scrolledNode; - - // TODO: Switch focus-management to use AccessibilityNode, and remove this - // redundant field. - @Nullable public final AccessibilityNodeInfoCompat scrolledNodeCompat; - - // SystemClock.uptimeMillis(), used to compare with AccessibilityEvent.getEventTime(). - public final long autoScrolledTime; - public final AutoScrollRecord.Source scrollSource; - - /** Creates scroll-record, with copy of node. Caller keeps ownership of scrolledNode/Compat. */ - public AutoScrollRecord( - int scrollInstanceId, - @Nullable AccessibilityNode scrolledNode, - @Nullable AccessibilityNodeInfoCompat scrolledNodeCompat, - @UserAction int userAction, - long autoScrolledTime, - AutoScrollRecord.Source scrollSource) { - this.scrollInstanceId = scrollInstanceId; - this.userAction = userAction; - this.scrolledNode = (scrolledNode == null) ? null : scrolledNode.obtainCopy(); - this.scrolledNodeCompat = - (scrolledNodeCompat == null) - ? null - : AccessibilityNodeInfoUtils.obtain(scrolledNodeCompat); - this.autoScrolledTime = autoScrolledTime; - this.scrollSource = scrollSource; - } - - /** Caller retains ownership of node argument. */ - public boolean scrolledNodeMatches(@Nullable AccessibilityNodeInfoCompat node) { - if (node == null) { - return false; - } - if (scrolledNodeCompat != null) { - return scrolledNodeCompat.equals(node); - } else if (scrolledNode != null) { - return scrolledNode.equalTo(node); - } else { - return false; - } - } - - public void refresh() { - if (scrolledNode != null) { - scrolledNode.refresh(); - } - if (scrolledNodeCompat != null) { - scrolledNodeCompat.refresh(); - } - } - } - /////////////////////////////////////////////////////////////////////////////////////// // Read-only interface /** Limited read-only interface to pull state data. */ - public class StateReader { - public AutoScrollRecord getAutoScrollRecord() { - return AutoScrollActor.this.autoScrollRecord; + public class StateReader implements Supplier { + public ScrollActionRecord get() { + return AutoScrollActor.this.scrollActionRecord; } - public AutoScrollRecord getFailedAutoScrollRecord() { - return AutoScrollActor.this.failedAutoScrollRecord; + public ScrollActionRecord getFailedScrollActionRecord() { + return AutoScrollActor.this.failedScrollActionRecord; } } @@ -168,8 +94,8 @@ public void handle(EventIdAnd args) { }; } - @Nullable private AutoScrollRecord autoScrollRecord = null; - @Nullable private AutoScrollRecord failedAutoScrollRecord = null; + @Nullable private ScrollActionRecord scrollActionRecord = null; + @Nullable private ScrollActionRecord failedScrollActionRecord = null; public void setPipelineEventReceiver(Pipeline.EventReceiver pipeline) { this.pipeline = pipeline; @@ -200,7 +126,7 @@ public boolean scroll( @Nullable AccessibilityNode node, @Nullable AccessibilityNodeInfoCompat nodeCompat, int scrollAccessibilityAction, - AutoScrollRecord.Source scrollSource, + String scrollSource, ScrollTimeout scrollTimeout, EventId eventId) { if (node == null && nodeCompat == null) { @@ -222,7 +148,7 @@ public boolean scroll( node, nodeCompat, AccessibilityNodeInfoUtils.actionToString(scrollAccessibilityAction), - ScrollEventInterpreter.userActionToString(userAction)); + ScrollActionRecord.userActionToString(userAction)); return result; } @@ -230,7 +156,7 @@ public boolean ensureOnScreen( @UserAction int userAction, @NonNull AccessibilityNodeInfoCompat nodeCompat, @NonNull AccessibilityNodeInfoCompat actionNodeCompat, - AutoScrollRecord.Source scrollSource, + String scrollSource, ScrollTimeout scrollTimeout, EventId eventId) { if (actionNodeCompat == null || nodeCompat == null) { @@ -252,7 +178,7 @@ public boolean ensureOnScreen( result, nodeCompat, actionNodeCompat, - ScrollEventInterpreter.userActionToString(userAction)); + ScrollActionRecord.userActionToString(userAction)); return result; } @@ -260,12 +186,12 @@ private void setScrollRecord( @UserAction int userAction, @Nullable AccessibilityNode node, @Nullable AccessibilityNodeInfoCompat nodeCompat, - AutoScrollRecord.Source scrollSource, + String scrollSource, long currentTime, ScrollTimeout scrollTimeout) { final int scrollInstanceId = createScrollInstanceId(); setAutoScrollRecord( - new AutoScrollRecord( + new ScrollActionRecord( scrollInstanceId, node, nodeCompat, userAction, currentTime, scrollSource)); postDelayHandler.removeMessages(); @@ -273,22 +199,22 @@ private void setScrollRecord( scrollTimeout.getTimeoutMillis(), /* handlerArg= */ new EventIdAnd<>(false, null)); } - private void setAutoScrollRecord(AutoScrollRecord newRecord) { + private void setAutoScrollRecord(ScrollActionRecord newRecord) { // Ignores previous failed auto-scroll record if there is a new auto-scroll record (when next // auto-scroll action performs). - failedAutoScrollRecord = null; - autoScrollRecord = newRecord; + failedScrollActionRecord = null; + scrollActionRecord = newRecord; } private void handleAutoScrollFailed() { - if (autoScrollRecord == null) { + if (scrollActionRecord == null) { return; } // Caches the failed auto-scroll record, which will be used at {@link // AutoScrollInterpreter#handleAutoScrollFailed()}. - failedAutoScrollRecord = autoScrollRecord; + failedScrollActionRecord = scrollActionRecord; // Clear cached auto scroll record before invoking callback. REFERTO for detail. - autoScrollRecord = null; + scrollActionRecord = null; pipeline.input(SyntheticEvent.Type.SCROLL_TIMEOUT); } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DimScreenActor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DimScreenActor.java index 43f8ef18d..d1b7e6596 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DimScreenActor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DimScreenActor.java @@ -29,7 +29,6 @@ import android.view.WindowManager; import android.view.WindowManager.LayoutParams; import androidx.annotation.Nullable; -import com.google.android.accessibility.compositor.Compositor; import com.google.android.accessibility.talkback.DimmingOverlayView; import com.google.android.accessibility.talkback.Feedback; import com.google.android.accessibility.talkback.Feedback.Speech; @@ -37,6 +36,7 @@ import com.google.android.accessibility.talkback.Pipeline; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.TalkBackService; +import com.google.android.accessibility.talkback.compositor.Compositor; import com.google.android.accessibility.talkback.gesture.GestureShortcutMapping; import com.google.android.accessibility.utils.SharedPreferencesUtils; import com.google.android.accessibility.utils.monitor.ScreenMonitor; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DimScreenDialog.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DimScreenDialog.java index bb89d53e2..992b71b2e 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DimScreenDialog.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DimScreenDialog.java @@ -32,7 +32,7 @@ public DimScreenDialog(TalkBackService service, DimScreenActor dimScreenControll /* showDialogPreference= */ R.string.pref_show_dim_screen_confirmation_dialog, /* dialogTitleResId= */ R.string.dialog_title_dim_screen, /* dialogMainMessageResId= */ R.string.dialog_message_dim_screen, - /* checkboxTextResId= */ R.string.show_suspend_warning_label); + /* checkboxTextResId= */ R.string.always_show_warning_checkbox); this.dimScreenController = dimScreenController; } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DirectionNavigationActor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DirectionNavigationActor.java index 7b6d83258..49354309d 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DirectionNavigationActor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DirectionNavigationActor.java @@ -21,8 +21,6 @@ import android.accessibilityservice.AccessibilityService; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.compositor.Compositor; -import com.google.android.accessibility.compositor.GlobalVariables; import com.google.android.accessibility.talkback.ActorState; import com.google.android.accessibility.talkback.CursorGranularityManager; import com.google.android.accessibility.talkback.Feedback; @@ -30,6 +28,8 @@ import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.UserInterface; import com.google.android.accessibility.talkback.analytics.TalkBackAnalytics; +import com.google.android.accessibility.talkback.compositor.Compositor; +import com.google.android.accessibility.talkback.compositor.GlobalVariables; import com.google.android.accessibility.talkback.eventprocessor.ProcessorPhoneticLetters; import com.google.android.accessibility.talkback.focusmanagement.AccessibilityFocusMonitor; import com.google.android.accessibility.talkback.focusmanagement.FocusProcessorForLogicalNavigation; @@ -38,7 +38,6 @@ import com.google.android.accessibility.talkback.focusmanagement.action.NavigationAction; import com.google.android.accessibility.talkback.focusmanagement.action.NavigationAction.ActionType; import com.google.android.accessibility.talkback.focusmanagement.interpreter.ScreenStateMonitor; -import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.AccessibilityServiceCompatUtils; import com.google.android.accessibility.utils.Filter; import com.google.android.accessibility.utils.FocusFinder; @@ -259,8 +258,8 @@ public boolean navigate( } private boolean isEditingFocusedNode(boolean useInputFocusAsPivotIfEmpty) { - AccessibilityNodeInfoCompat currentFocus = null; - currentFocus = accessibilityFocusMonitor.getAccessibilityFocus(useInputFocusAsPivotIfEmpty); + AccessibilityNodeInfoCompat currentFocus = + accessibilityFocusMonitor.getAccessibilityFocus(useInputFocusAsPivotIfEmpty); return (currentFocus != null) && (currentFocus.isEditable() || (Role.getRole(currentFocus) == Role.ROLE_EDIT_TEXT)) && currentFocus.isFocused(); @@ -518,11 +517,10 @@ public boolean setGranularity( @Nullable AccessibilityNodeInfoCompat node, boolean isFromUser, EventId eventId) { - AccessibilityNodeInfoCompat current = null; - current = + AccessibilityNodeInfoCompat current = (node == null) ? accessibilityFocusMonitor.getAccessibilityFocus(/* useInputFocusIfEmpty= */ true) - : AccessibilityNodeInfoUtils.obtain(node); + : node; if (current == null) { // Even if there's no focused node on screen, DEFAULT granularity should be acceptable. @@ -569,8 +567,8 @@ public CursorGranularity getCurrentGranularity() { // Usage: SelectorController public boolean supportedGranularity(CursorGranularity granularity, EventId eventId) { - AccessibilityNodeInfoCompat current = null; - current = accessibilityFocusMonitor.getAccessibilityFocus(/* useInputFocusIfEmpty= */ true); + AccessibilityNodeInfoCompat current = + accessibilityFocusMonitor.getAccessibilityFocus(/* useInputFocusIfEmpty= */ true); return cursorGranularityManager.supportedGranularity(current, granularity, eventId); } @@ -608,9 +606,9 @@ private void granularityUpdatedAnnouncement( * than the default. */ private boolean adjustGranularity(int direction, EventId eventId) { - AccessibilityNodeInfoCompat currentNode = null; - currentNode = accessibilityFocusMonitor.getAccessibilityFocus(/* useInputFocusIfEmpty= */ true); + AccessibilityNodeInfoCompat currentNode = + accessibilityFocusMonitor.getAccessibilityFocus(/* useInputFocusIfEmpty= */ true); final boolean wasAdjusted = cursorGranularityManager.adjustGranularityAt(currentNode, direction, eventId); @@ -645,8 +643,10 @@ private boolean adjustGranularity(int direction, EventId eventId) { public void setSelectionModeActive(AccessibilityNodeInfoCompat node, EventId eventId) { if (!cursorGranularityManager.isLockedTo(node)) { // If we're not navigating with micro granularity at node, force set granularity to CHARACTER. + // And pass in the node to clear the lockedNode, if it is not null. This means the next action + // of iterating over text won't turn off selection mode. setGranularity( - CursorGranularity.CHARACTER, /* node= */ null, /* isFromUser= */ false, eventId); + CursorGranularity.CHARACTER, /* node= */ node, /* isFromUser= */ false, eventId); } cursorGranularityManager.setSelectionModeActive(/* active= */ true); diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DirectionNavigationMapper.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DirectionNavigationMapper.java deleted file mode 100644 index bde955e3d..000000000 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/DirectionNavigationMapper.java +++ /dev/null @@ -1,283 +0,0 @@ -/* - * Copyright (C) 2020 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package com.google.android.accessibility.talkback.actor; - -import static com.google.android.accessibility.talkback.Feedback.Focus.Action.CLICK_CURRENT; -import static com.google.android.accessibility.talkback.Feedback.Focus.Action.LONG_CLICK_CURRENT; -import static com.google.android.accessibility.utils.input.CursorGranularity.CHARACTER; -import static com.google.android.accessibility.utils.input.CursorGranularity.DEFAULT; -import static com.google.android.accessibility.utils.input.CursorGranularity.WORD; -import static com.google.android.accessibility.utils.input.InputModeManager.INPUT_MODE_KEYBOARD; -import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_BACKWARD; -import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_DOWN; -import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_FORWARD; -import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_UP; - -import com.google.android.accessibility.talkback.Feedback; -import com.google.android.accessibility.talkback.Mappers; -import com.google.android.accessibility.talkback.focusmanagement.NavigationTarget; -import com.google.android.accessibility.talkback.focusmanagement.NavigationTarget.TargetType; -import com.google.android.accessibility.utils.Performance.EventId; -import com.google.android.accessibility.utils.keyboard.KeyComboManager; -import com.google.android.accessibility.utils.traversal.TraversalStrategy; -import com.google.android.accessibility.utils.traversal.TraversalStrategy.SearchDirection; -import org.checkerframework.checker.nullness.qual.Nullable; - -/** - * Feedback-mapper for directional navigation. This class reacts to navigation actions, and either - * traverses with intra-node granularity or changes accessibility focus. - */ -public class DirectionNavigationMapper { - - private DirectionNavigationMapper() {} // Not instantiatable. - - ////////////////////////////////////////////////////////////////////////////////////////////////// - // Methods handling KeyCombo shortcuts. - - public static @Nullable Feedback onComboPerformed( - EventId eventId, Mappers.Variables variables, int depth) { - - switch (variables.keyCombo(depth)) { - case KeyComboManager.ACTION_NAVIGATE_NEXT: - return toFeedback( - eventId, - Feedback.focusDirection(SEARCH_FOCUS_FORWARD) - .setInputMode(INPUT_MODE_KEYBOARD) - .setWrap(true) - .setScroll(true) - .setDefaultToInputFocus(true)); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS: - return toFeedback( - eventId, - Feedback.focusDirection(SEARCH_FOCUS_BACKWARD) - .setInputMode(INPUT_MODE_KEYBOARD) - .setWrap(true) - .setScroll(true) - .setDefaultToInputFocus(true)); - case KeyComboManager.ACTION_NAVIGATE_NEXT_DEFAULT: - return toFeedback( - eventId, - Feedback.focusDirection(SEARCH_FOCUS_FORWARD) - .setInputMode(INPUT_MODE_KEYBOARD) - .setWrap(true) - .setScroll(true) - .setDefaultToInputFocus(true) - .setGranularity(DEFAULT)); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_DEFAULT: - return toFeedback( - eventId, - Feedback.focusDirection(SEARCH_FOCUS_BACKWARD) - .setInputMode(INPUT_MODE_KEYBOARD) - .setWrap(true) - .setScroll(true) - .setDefaultToInputFocus(true) - .setGranularity(DEFAULT)); - case KeyComboManager.ACTION_NAVIGATE_UP: - return toFeedback( - eventId, - Feedback.focusDirection(SEARCH_FOCUS_UP) - .setInputMode(INPUT_MODE_KEYBOARD) - .setWrap(true) - .setScroll(true) - .setDefaultToInputFocus(true)); - case KeyComboManager.ACTION_NAVIGATE_DOWN: - return toFeedback( - eventId, - Feedback.focusDirection(SEARCH_FOCUS_DOWN) - .setInputMode(INPUT_MODE_KEYBOARD) - .setWrap(true) - .setScroll(true) - .setDefaultToInputFocus(true)); - case KeyComboManager.ACTION_NAVIGATE_FIRST: - return Feedback.create(eventId, Feedback.focusTop(INPUT_MODE_KEYBOARD).build()); - case KeyComboManager.ACTION_NAVIGATE_LAST: - return Feedback.create(eventId, Feedback.focusBottom(INPUT_MODE_KEYBOARD).build()); - case KeyComboManager.ACTION_PERFORM_CLICK: - return toFeedback(eventId, Feedback.focus(CLICK_CURRENT)); - case KeyComboManager.ACTION_NAVIGATE_NEXT_WORD: - return toFeedback( - eventId, - Feedback.focusDirection(SEARCH_FOCUS_FORWARD) - .setInputMode(INPUT_MODE_KEYBOARD) - .setGranularity(WORD)); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_WORD: - return toFeedback( - eventId, - Feedback.focusDirection(SEARCH_FOCUS_BACKWARD) - .setInputMode(INPUT_MODE_KEYBOARD) - .setGranularity(WORD)); - case KeyComboManager.ACTION_NAVIGATE_NEXT_CHARACTER: - return toFeedback( - eventId, - Feedback.focusDirection(SEARCH_FOCUS_FORWARD) - .setInputMode(INPUT_MODE_KEYBOARD) - .setGranularity(CHARACTER)); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_CHARACTER: - return toFeedback( - eventId, - Feedback.focusDirection(SEARCH_FOCUS_BACKWARD) - .setInputMode(INPUT_MODE_KEYBOARD) - .setGranularity(CHARACTER)); - case KeyComboManager.ACTION_PERFORM_LONG_CLICK: - return toFeedback(eventId, Feedback.focus(LONG_CLICK_CURRENT)); - case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_BUTTON: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_BUTTON, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_BUTTON: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_BUTTON, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_CHECKBOX: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_CHECKBOX, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_CHECKBOX: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_CHECKBOX, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_ARIA_LANDMARK: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_ARIA_LANDMARK, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_ARIA_LANDMARK: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_ARIA_LANDMARK, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_EDIT_FIELD: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_EDIT_FIELD, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_EDIT_FIELD: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_EDIT_FIELD, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_FOCUSABLE_ITEM: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_FOCUSABLE_ITEM, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_FOCUSABLE_ITEM: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_FOCUSABLE_ITEM, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_1: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_1, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_1: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_1, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_2: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_2, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_2: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_2, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_3: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_3, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_3: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_3, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_4: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_4, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_4: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_4, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_5: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_5, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_5: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_5, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_6: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_6, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_6: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_HEADING_6, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_LINK: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_LINK, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_LINK: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_LINK, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_CONTROL: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_CONTROL, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_CONTROL: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_CONTROL, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_GRAPHIC: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_GRAPHIC, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_GRAPHIC: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_GRAPHIC, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_LIST_ITEM: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_LIST_ITEM, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_LIST_ITEM: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_LIST_ITEM, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_LIST: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_LIST, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_LIST: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_LIST, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_TABLE: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_TABLE, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_TABLE: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_TABLE, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_COMBOBOX: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_COMBOBOX, true /* forward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_COMBOBOX: - return performWebNavigationKeyCombo( - NavigationTarget.TARGET_HTML_ELEMENT_COMBOBOX, false /* backward */, eventId); - case KeyComboManager.ACTION_NAVIGATE_NEXT_WINDOW: - return toFeedback( - eventId, Feedback.nextWindow(INPUT_MODE_KEYBOARD).setDefaultToInputFocus(true)); - case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_WINDOW: - return toFeedback( - eventId, Feedback.previousWindow(INPUT_MODE_KEYBOARD).setDefaultToInputFocus(true)); - default: - return null; - } - } - - private static Feedback performWebNavigationKeyCombo( - @TargetType int targetType, boolean forward, EventId eventId) { - @SearchDirection - int direction = - forward ? TraversalStrategy.SEARCH_FOCUS_FORWARD : TraversalStrategy.SEARCH_FOCUS_BACKWARD; - return toFeedback( - eventId, - Feedback.focusDirection(direction) - .setInputMode(INPUT_MODE_KEYBOARD) - .setHtmlTargetType(targetType)); - } - - private static Feedback toFeedback( - @Nullable EventId eventId, Feedback.FocusDirection.Builder focusDirection) { - return Feedback.create( - eventId, Feedback.part().setFocusDirection(focusDirection.build()).build()); - } - - private static Feedback toFeedback(@Nullable EventId eventId, Feedback.Focus.Builder focus) { - return Feedback.create(eventId, Feedback.part().setFocus(focus.build()).build()); - } -} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusActor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusActor.java index 00b347989..8a108998f 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusActor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusActor.java @@ -17,6 +17,11 @@ package com.google.android.accessibility.talkback.actor; import android.accessibilityservice.AccessibilityService; +import android.accessibilityservice.GestureDescription; +import android.accessibilityservice.GestureDescription.StrokeDescription; +import android.graphics.Path; +import android.graphics.Rect; +import android.view.ViewConfiguration; import android.view.accessibility.AccessibilityWindowInfo; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.core.view.accessibility.AccessibilityWindowInfoCompat; @@ -38,10 +43,12 @@ public class FocusActor { private static final String TAG = "FocusActor"; + private static final int STROKE_TIME_GAP_MS = 40; /** The only class in TalkBack which has direct access to accessibility focus from framework. */ private final FocusManagerInternal focusManagerInternal; + private final AccessibilityService service; private final AccessibilityFocusActionHistory history; private final AccessibilityFocusMonitor accessibilityFocusMonitor; @@ -59,6 +66,7 @@ public FocusActor( ScreenStateMonitor.State screenState, AccessibilityFocusActionHistory accessibilityFocusActionHistory, AccessibilityFocusMonitor accessibilityFocusMonitor) { + this.service = service; this.history = accessibilityFocusActionHistory; this.accessibilityFocusMonitor = accessibilityFocusMonitor; focusManagerInternal = @@ -87,11 +95,32 @@ public AccessibilityFocusActionHistory.Reader getHistory() { // Methods public boolean clickCurrentFocus(EventId eventId) { - return performActionOnCurrentFocus(AccessibilityNodeInfoCompat.ACTION_CLICK, eventId); + AccessibilityNodeInfoCompat currentFocus = + accessibilityFocusMonitor.getAccessibilityFocus(/* useInputFocusIfEmpty= */ false); + return clickNode(currentFocus, eventId); + } + + public boolean clickNode(AccessibilityNodeInfoCompat node, EventId eventId) { + if (node == null) { + return false; + } + if (!performActionOnNode(AccessibilityNodeInfoCompat.ACTION_CLICK, node, eventId)) { + simulateClickOnNode(service, node); + } + return true; } public boolean longClickCurrentFocus(EventId eventId) { - return performActionOnCurrentFocus(AccessibilityNodeInfoCompat.ACTION_LONG_CLICK, eventId); + AccessibilityNodeInfoCompat currentFocus = + accessibilityFocusMonitor.getAccessibilityFocus(/* useInputFocusIfEmpty= */ false); + return longClickNode(currentFocus, eventId); + } + + public boolean longClickNode(AccessibilityNodeInfoCompat node, EventId eventId) { + if (node == null) { + return false; + } + return performActionOnNode(AccessibilityNodeInfoCompat.ACTION_LONG_CLICK, node, eventId); } public boolean clickCurrentHierarchical(EventId eventId) { @@ -218,11 +247,25 @@ public boolean ensureAccessibilityFocusOnScreen(EventId eventId) { return focusManagerInternal.ensureAccessibilityFocusOnScreen(eventId); } - private boolean performActionOnCurrentFocus(int action, EventId eventId) { - AccessibilityNodeInfoCompat currentFocus = - accessibilityFocusMonitor.getAccessibilityFocus(/* useInputFocusIfEmpty= */ false); - return (currentFocus != null) - && PerformActionUtils.performAction(currentFocus, action, eventId); + private boolean performActionOnNode( + int action, AccessibilityNodeInfoCompat node, EventId eventId) { + return (node != null) && PerformActionUtils.performAction(node, action, eventId); } + /** Simulates a click on the center of a view. */ + private boolean simulateClickOnNode( + AccessibilityService accessibilityService, AccessibilityNodeInfoCompat node) { + Rect rect = new Rect(); + node.getBoundsInScreen(rect); + Path path = new Path(); + path.moveTo(rect.centerX(), rect.centerY()); + int durationMs = ViewConfiguration.getTapTimeout(); + GestureDescription gestureDescription = + new GestureDescription.Builder() + .addStroke(new StrokeDescription(path, /* startTime= */ 0, durationMs)) + .addStroke(new StrokeDescription(path, durationMs + STROKE_TIME_GAP_MS, durationMs)) + .build(); + return accessibilityService.dispatchGesture( + gestureDescription, /* callback= */ null, /* handler= */ null); + } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusActorForTapAndTouchExploration.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusActorForTapAndTouchExploration.java index 9c7af51a2..cf0fbdb0b 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusActorForTapAndTouchExploration.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusActorForTapAndTouchExploration.java @@ -17,7 +17,6 @@ package com.google.android.accessibility.talkback.actor; import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLICK; -import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_FOCUS; import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_LONG_CLICK; import androidx.annotation.Nullable; @@ -28,7 +27,6 @@ import com.google.android.accessibility.talkback.Pipeline; import com.google.android.accessibility.talkback.focusmanagement.record.FocusActionInfo; import com.google.android.accessibility.utils.Performance.EventId; -import com.google.android.accessibility.utils.Role; import com.google.android.accessibility.utils.WebInterfaceUtils; /** The feedback-actor to handle accessibility focus during touch interaction. */ @@ -108,13 +106,6 @@ public boolean performClick(@Nullable AccessibilityNodeInfoCompat node, EventId return false; } - // Performing a click on an EditText does not show the IME, so we need - // to place input focus on it. If the IME was already connected and is - // hidden, there is nothing we can do. - if (Role.getRole(node) == Role.ROLE_EDIT_TEXT) { - return pipeline.returnFeedback(eventId, Feedback.nodeAction(node, ACTION_FOCUS.getId())); - } - // If a user quickly touch explores in web content (event stream < // TAP_TIMEOUT_MS), we'll send an unintentional ACTION_CLICK. Switch // off clicking on web content for now. diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusManagerInternal.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusManagerInternal.java index 6030ae69e..94cedd168 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusManagerInternal.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FocusManagerInternal.java @@ -216,17 +216,22 @@ boolean ensureAccessibilityFocusOnScreen(EventId eventId) { return true; } + @Nullable FocusActionRecord record = history.getLastFocusActionRecord(); + if (record != null && record.getExtraInfo().isSourceEnsureOnScreen()) { + // If the last focus record is also from the source ENSURE_ON_SCREEN, doesn't request to + // ensure the focus repeatedly. + return false; + } + // TODO: Consider to use the information of subtree change event to find the // initial focus. // Try to generate the focus on the same window with the last focused node. It avoids the focus // jumping to another window after a node tree changed. (Especially on IME windows.) - @Nullable - AccessibilityNodeInfoCompat nodeToFocus = - findFocusableNodeFromFocusRecord(history.getLastFocusActionRecord()); + @Nullable AccessibilityNodeInfoCompat nodeToFocus = findFocusableNodeFromFocusRecord(record); if (nodeToFocus != null) { FocusActionInfo focusActionInfo = - FocusActionInfo.builder().setSourceAction(FocusActionInfo.SCREEN_STATE_CHANGE).build(); + FocusActionInfo.builder().setSourceAction(FocusActionInfo.ENSURE_ON_SCREEN).build(); return pipeline.returnFeedback( eventId, Focus.builder() diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FullScreenReadDialog.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FullScreenReadDialog.java index 775eced50..c853c3af3 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FullScreenReadDialog.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/FullScreenReadDialog.java @@ -53,6 +53,7 @@ public FullScreenReadDialog(TalkBackService service) { /* dialogTitleResId= */ R.string.dialog_title_continuous_reading_mode, /* dialogMainMessageResId= */ R.string.dialog_message_continuous_reading_mode, /* checkboxTextResId= */ R.string.always_show_this_message_label); + setIncludeNegativeButton(false); } public void setPipeline(Pipeline.FeedbackReturner pipeline) { diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/ImageCaptioner.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/ImageCaptioner.java index 7adc4eb92..751381929 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/ImageCaptioner.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/ImageCaptioner.java @@ -16,15 +16,18 @@ package com.google.android.accessibility.talkback.actor; +import static com.google.android.accessibility.talkback.Feedback.Focus.Action.MUTE_NEXT_FOCUS; import static com.google.android.accessibility.utils.Performance.EVENT_ID_UNTRACKED; import android.accessibilityservice.AccessibilityService; import android.content.Context; +import android.content.SharedPreferences; import android.graphics.Bitmap; import android.graphics.Rect; import android.text.SpannableStringBuilder; import android.text.TextUtils; import androidx.annotation.Nullable; +import androidx.annotation.StringRes; import androidx.annotation.VisibleForTesting; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.accessibility.talkback.ActorState; @@ -34,22 +37,29 @@ import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.focusmanagement.AccessibilityFocusMonitor; import com.google.android.accessibility.talkback.icondetection.IconAnnotationsDetectorFactory; +import com.google.android.accessibility.talkback.icondetection.IconDetectionModuleDownloadPrompter; +import com.google.android.accessibility.talkback.icondetection.IconDetectionModuleDownloadPrompter.DownloadStateListener; import com.google.android.accessibility.talkback.imagecaption.CaptionRequest; import com.google.android.accessibility.talkback.imagecaption.CharacterCaptionRequest; import com.google.android.accessibility.talkback.imagecaption.IconDetectionRequest; import com.google.android.accessibility.talkback.imagecaption.RequestList; import com.google.android.accessibility.talkback.imagecaption.ScreenshotCaptureRequest; +import com.google.android.accessibility.talkback.utils.SplitCompatUtils; import com.google.android.accessibility.utils.AccessibilityNode; import com.google.android.accessibility.utils.FeatureSupport; +import com.google.android.accessibility.utils.Performance; +import com.google.android.accessibility.utils.SharedPreferencesUtils; import com.google.android.accessibility.utils.StringBuilderUtils; import com.google.android.accessibility.utils.caption.ImageCaptionStorage; import com.google.android.accessibility.utils.caption.ImageNode; +import com.google.android.accessibility.utils.input.WindowEventInterpreter.EventInterpretation; +import com.google.android.accessibility.utils.input.WindowEventInterpreter.WindowEventHandler; import com.google.android.accessibility.utils.screenunderstanding.IconAnnotationsDetector; import com.google.android.libraries.accessibility.utils.log.LogUtils; import java.util.Locale; /** Performs image caption and manages related state. */ -public class ImageCaptioner { +public class ImageCaptioner implements WindowEventHandler { private static final String TAG = "ImageCaptioner"; public static final int CAPTION_REQUEST_CAPACITY = 10; @@ -60,8 +70,10 @@ public class ImageCaptioner { private ActorState actorState; private final ImageCaptionStorage imageCaptionStorage; private final AccessibilityFocusMonitor accessibilityFocusMonitor; + private final IconDetectionModuleDownloadPrompter iconDetectionModuleDownloadPrompter; @VisibleForTesting @Nullable IconAnnotationsDetector iconAnnotationsDetector; private boolean iconAnnotationsDetectorStarted = false; + @Nullable private AccessibilityNodeInfoCompat queuedNode; private final RequestList screenshotRequests = new RequestList<>(CAPTION_REQUEST_CAPACITY); @@ -77,13 +89,48 @@ public ImageCaptioner( this.service = service; this.imageCaptionStorage = imageCaptionStorage; this.accessibilityFocusMonitor = accessibilityFocusMonitor; - if (supportsIconDetection(service)) { - iconAnnotationsDetector = - IconAnnotationsDetectorFactory.create(service.getApplicationContext()); - if (iconAnnotationsDetector != null) { - imageCaptionStorage.setIconAnnotationsDetector(iconAnnotationsDetector); - } - } + this.iconDetectionModuleDownloadPrompter = + new IconDetectionModuleDownloadPrompter( + service, + /* triggeredByTalkBackMenu= */ true, + new DownloadStateListener() { + @Override + public void onInstalled() { + returnFeedback(R.string.download_icon_detection_successful_hint); + } + + @Override + public void onFailed() { + returnFeedback(R.string.download_icon_detection_failed_hint); + } + + @Override + public void onAccepted() { + // Clears the node which is waiting for recognition because it's unnecessary to + // perform other captions if the user accepts the download. + returnFeedback(R.string.downloading_icon_detection_hint); + } + + @Override + public void onRejected() { + // Records how many times the button is tapped because the dialog shouldn't be shown + // if the download is rejected more than three times. + SharedPreferences prefs = SharedPreferencesUtils.getSharedPreferences(service); + String dialogShownTimesKey = + service.getString(R.string.pref_icon_detection_download_dialog_shown_times); + int dialogShownTimes = prefs.getInt(dialogShownTimesKey, /* defValue= */ 0); + prefs.edit().putInt(dialogShownTimesKey, ++dialogShownTimes).apply(); + + returnFeedback(R.string.confirm_download_icon_detection_negative_button_hint); + } + + @Override + public void onDialogDismissed(@Nullable AccessibilityNodeInfoCompat queuedNode) { + pipeline.returnFeedback(EVENT_ID_UNTRACKED, Feedback.focus(MUTE_NEXT_FOCUS)); + // Image captioning for the node will be executed when windows are stable. + ImageCaptioner.this.queuedNode = queuedNode; + } + }); } public static boolean supportsImageCaption(Context context) { @@ -97,6 +144,24 @@ public static boolean supportsIconDetection(Context context) { && SUPPORT_ICON_DETECTION; } + public boolean initIconDetection() { + if (!supportsIconDetection(service)) { + return false; + } + + // Allows immediate access to the code and resource of the dynamic feature module. + SplitCompatUtils.installActivity(service); + + iconAnnotationsDetector = + IconAnnotationsDetectorFactory.create(service.getApplicationContext()); + if (iconAnnotationsDetector == null) { + return false; + } + + imageCaptionStorage.setIconAnnotationsDetector(iconAnnotationsDetector); + return true; + } + public void start() { if (iconAnnotationsDetector != null) { synchronized (this) { @@ -117,16 +182,62 @@ public void shutdown() { } } } + iconDetectionModuleDownloadPrompter.shutdown(); } public void setPipeline(Pipeline.FeedbackReturner pipeline) { this.pipeline = pipeline; + iconDetectionModuleDownloadPrompter.setPipeline(pipeline); } public void setActorState(ActorState actorState) { this.actorState = actorState; } + @Override + public void handle(EventInterpretation interpretation, @Nullable Performance.EventId eventId) { + // Performs other image captions if there is a node waited for recognition. + if (interpretation.areWindowsStable() && queuedNode != null) { + pipeline.returnFeedback( + EVENT_ID_UNTRACKED, + Feedback.performImageCaptions(queuedNode, /* isUserRequested= */ true)); + queuedNode = null; + } + } + + /** + * Shows the confirmation dialog to download the icon detection module and perform image captions + * for the given node. + * + * @return false, the caption request has not been performed and must wait until the icon + * detection module is installed or the dialog is cancelled. + */ + public boolean confirmDownloadAndPerformCaption(AccessibilityNodeInfoCompat node) { + if (iconAnnotationsDetector != null) { + caption(node, /* isUserRequested= */ true); + return true; + } + + if (iconDetectionModuleDownloadPrompter.isIconDetectionModuleAvailable()) { + if (iconAnnotationsDetector == null) { + initIconDetection(); + } + caption(node, /* isUserRequested= */ true); + return true; + } + + // Icon detection module hasn't been downloaded. + // Checks if it is necessary to show the download confirmation dialog. + if (iconDetectionModuleDownloadPrompter.needDownloadDialog()) { + iconDetectionModuleDownloadPrompter.setCaptionNode(node); + iconDetectionModuleDownloadPrompter.showConfirmationDialog(); + return false; + } + + caption(node, /* isUserRequested= */ true); + return true; + } + /** * Creates a {@link CaptionRequest} to perform corresponding image caption or reads out the result * if it exists in the cache. @@ -398,6 +509,10 @@ private void returnNoResultFeedbackForUserRequest() { returnFeedback(service.getString(R.string.image_caption_no_text_found)); } + private void returnFeedback(@StringRes int text) { + returnFeedback(service.getString(text)); + } + private void returnFeedback(String caption) { // TODO: Delay announcement until all results arrive or 200ms. pipeline.returnFeedback( diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/PassThroughModeActor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/PassThroughModeActor.java index 4e487e119..666f1b339 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/PassThroughModeActor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/PassThroughModeActor.java @@ -26,6 +26,7 @@ import android.view.Display; import com.google.android.accessibility.talkback.Feedback; import com.google.android.accessibility.talkback.Pipeline; +import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.libraries.accessibility.utils.log.LogUtils; import java.util.Timer; @@ -93,16 +94,12 @@ public void setTouchExplorePassThrough(boolean enable) { Display.DEFAULT_DISPLAY, getRegionOfFullScreen(service)); startPassThroughGuardTimer(); LogUtils.v(TAG, "Enter touch explore pass-through mode."); - pipeline.returnFeedback( - EVENT_ID_UNTRACKED, - Feedback.sound(com.google.android.accessibility.compositor.R.raw.chime_up)); + pipeline.returnFeedback(EVENT_ID_UNTRACKED, Feedback.sound(R.raw.chime_up)); } else { service.setTouchExplorationPassthroughRegion(Display.DEFAULT_DISPLAY, new Region()); if (touchExplorePassThroughActive) { LogUtils.v(TAG, "Leave touch explore pass-through mode."); - pipeline.returnFeedback( - EVENT_ID_UNTRACKED, - Feedback.sound(com.google.android.accessibility.compositor.R.raw.chime_down)); + pipeline.returnFeedback(EVENT_ID_UNTRACKED, Feedback.sound(R.raw.chime_down)); } } touchExplorePassThroughActive = enable; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/SystemActionPerformer.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/SystemActionPerformer.java index 52df1d1da..f54067691 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/SystemActionPerformer.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/SystemActionPerformer.java @@ -1,5 +1,7 @@ package com.google.android.accessibility.talkback.actor; +import static android.accessibilityservice.AccessibilityService.GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS; + import android.accessibilityservice.AccessibilityService; import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction; import com.google.android.accessibility.utils.FeatureSupport; @@ -19,9 +21,6 @@ public final class SystemActionPerformer { public static final int GLOBAL_ACTION_ACCESSIBILITY_BUTTON = 11; public static final int GLOBAL_ACTION_ACCESSIBILITY_BUTTON_CHOOSER = 12; public static final int GLOBAL_ACTION_ACCESSIBILITY_SHORTCUT = 13; - // TODO: Uses AccessibilityService.GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS and also - // removes GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS_LEGACY in Android S - public static final int GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS = 14; private static final int GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS_LEGACY = 100; public static final ImmutableList EXCLUDED_ACTIONS = @@ -41,7 +40,12 @@ public final class SystemActionPerformer { AccessibilityService.GLOBAL_ACTION_POWER_DIALOG, // 6 AccessibilityService.GLOBAL_ACTION_LOCK_SCREEN, // 8 AccessibilityService.GLOBAL_ACTION_TAKE_SCREENSHOT, // 9 - GLOBAL_ACTION_ACCESSIBILITY_SHORTCUT)); // 13 + GLOBAL_ACTION_ACCESSIBILITY_SHORTCUT, // 13 + AccessibilityService.GLOBAL_ACTION_DPAD_UP, // 16 + AccessibilityService.GLOBAL_ACTION_DPAD_DOWN, // 17 + AccessibilityService.GLOBAL_ACTION_DPAD_LEFT, // 18 + AccessibilityService.GLOBAL_ACTION_DPAD_RIGHT, // 19 + AccessibilityService.GLOBAL_ACTION_DPAD_CENTER)); // 20 public SystemActionPerformer(AccessibilityService service) { this.service = service; @@ -50,7 +54,8 @@ public SystemActionPerformer(AccessibilityService service) { public boolean performAction(int id) { // AccessibilityService.GLOBAL_ACTION_KEYCODE_HEADSETHOOK won't be displayed in the list until S // TODO remove this headset check in S - if (FeatureSupport.supportSystemActions(service) && id != GLOBAL_ACTION_KEYCODE_HEADSETHOOK) { + if (FeatureSupport.supportGetSystemActions(service) + && id != GLOBAL_ACTION_KEYCODE_HEADSETHOOK) { List actionList = service.getSystemActions(); // Equality is by id if (actionList.contains(new AccessibilityAction(id, null))) { diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/TextEditActor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/TextEditActor.java index d4952bd15..cf37fe514 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/TextEditActor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/TextEditActor.java @@ -19,7 +19,6 @@ import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE; import static androidx.core.view.accessibility.AccessibilityNodeInfoCompat.ACTION_SET_TEXT; import static com.google.android.accessibility.talkback.Feedback.FocusDirection.Action.SELECTION_MODE_OFF; -import static com.google.android.accessibility.talkback.Feedback.FocusDirection.Action.SELECTION_MODE_ON; import static com.google.android.accessibility.utils.output.FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_AUDIO_PLAYBACK_ACTIVE; import static com.google.android.accessibility.utils.output.FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_MICROPHONE_ACTIVE; import static com.google.android.accessibility.utils.output.FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_SSB_ACTIVE; @@ -47,7 +46,7 @@ import com.google.android.libraries.accessibility.utils.log.LogUtils; import org.checkerframework.checker.nullness.qual.Nullable; -/** Executes text-editing actions on EditText views. */ +/** Executes text-manipulation actions on editable or non-editable selectable text views. */ public class TextEditActor { ///////////////////////////////////////////////////////////////////////////////////////////// @@ -153,12 +152,12 @@ public boolean cursorToBeginning( /** Executes and announces start selecting text in edit-text. */ public boolean startSelect(AccessibilityNodeInfoCompat node, EventId eventId) { - if (node == null || Role.getRole(node) != Role.ROLE_EDIT_TEXT) { + if (node == null || !AccessibilityNodeInfoUtils.isTextSelectable(node)) { return false; } // Start selecting. - pipeline.returnFeedback(eventId, Feedback.focusDirection(SELECTION_MODE_ON)); + pipeline.returnFeedback(eventId, Feedback.selectionModeOn(node)); // Announce selecting started. pipeline.returnFeedback( @@ -169,10 +168,10 @@ public boolean startSelect(AccessibilityNodeInfoCompat node, EventId eventId) { return true; } - /** Executes and announces end select text in edit-text. Modifies edit history. */ + /** Executes and announces end select text in selectable text. Modifies edit history. */ public boolean endSelect(AccessibilityNodeInfoCompat node, EventId eventId) { - if (node == null || Role.getRole(node) != Role.ROLE_EDIT_TEXT) { + if (node == null || !AccessibilityNodeInfoUtils.isTextSelectable(node)) { return false; } @@ -185,8 +184,7 @@ public boolean endSelect(AccessibilityNodeInfoCompat node, EventId eventId) { Feedback.speech( context.getString(R.string.notification_type_selection_mode_off), SPEAK_OPTIONS)); - @Nullable - CharSequence textSelected = + @Nullable CharSequence textSelected = AccessibilityNodeInfoUtils.subsequenceSafe( AccessibilityNodeInfoUtils.getText(node), node.getTextSelectionStart(), @@ -207,10 +205,10 @@ public boolean endSelect(AccessibilityNodeInfoCompat node, EventId eventId) { return true; } - /** Executes and announces select-all text in edit-text. Modifies edit history. */ + /** Executes and announces select-all text in selectable. Modifies edit history. */ public boolean selectAll(AccessibilityNodeInfoCompat node, EventId eventId) { - if (node == null || Role.getRole(node) != Role.ROLE_EDIT_TEXT) { + if (node == null || !AccessibilityNodeInfoUtils.isTextSelectable(node)) { return false; } @@ -246,8 +244,8 @@ public boolean selectAll(AccessibilityNodeInfoCompat node, EventId eventId) { } /** - * Executes and announces copy text. If the node is edit-text, it would copy the selected text or - * it would copy the first non-empty node text within the root node. + * Executes and announces copy text. If the node is edit-text or has selectable text, it would + * copy the selected text or it would copy the first non-empty node text within the root node. */ public boolean copy(@Nullable AccessibilityNodeInfoCompat node, EventId eventId) { @@ -263,7 +261,7 @@ public boolean copy(@Nullable AccessibilityNodeInfoCompat node, EventId eventId) @Nullable CharSequence selectedNodeText = AccessibilityNodeInfoUtils.getSelectedNodeText(node); // Perform copy action on target node. If the selection is not set, the primary clip will be // the node text. - if (Role.getRole(node) == Role.ROLE_EDIT_TEXT && !TextUtils.isEmpty(selectedNodeText)) { + if (AccessibilityNodeInfoUtils.isTextSelectable(node) && !TextUtils.isEmpty(selectedNodeText)) { copyData = selectedNodeText; result = PerformActionUtils.performAction(node, AccessibilityNodeInfoCompat.ACTION_COPY, eventId); @@ -291,12 +289,14 @@ public boolean cut(AccessibilityNodeInfoCompat node, EventId eventId) { return false; } + // Saved the selected text before performing the CUT action. + CharSequence cutData = AccessibilityNodeInfoUtils.getSelectedNodeText(node); + editTextActionHistory.beforeCut(); boolean result = PerformActionUtils.performAction(node, AccessibilityNodeInfoCompat.ACTION_CUT, eventId); editTextActionHistory.afterCut(); - CharSequence cutData = AccessibilityNodeInfoUtils.getSelectedNodeText(node); pipeline.returnFeedback( eventId, Feedback.speech( diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/SearchScreenOverlay.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/SearchScreenOverlay.java index 9c771a7ae..28d585485 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/SearchScreenOverlay.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/SearchScreenOverlay.java @@ -16,7 +16,6 @@ package com.google.android.accessibility.talkback.actor.search; -import static com.google.android.accessibility.talkback.ScrollEventInterpreter.ACTION_AUTO_SCROLL; import static com.google.android.accessibility.talkback.actor.TalkBackUIActor.Type.SELECTOR_ITEM_ACTION_OVERLAY; import static com.google.android.accessibility.talkback.actor.TalkBackUIActor.Type.SELECTOR_MENU_ITEM_OVERLAY_MULTI_FINGER; import static com.google.android.accessibility.talkback.actor.TalkBackUIActor.Type.SELECTOR_MENU_ITEM_OVERLAY_SINGLE_FINGER; @@ -57,7 +56,6 @@ import com.google.android.accessibility.talkback.Pipeline; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.TalkBackService; -import com.google.android.accessibility.talkback.actor.AutoScrollActor.AutoScrollRecord.Source; import com.google.android.accessibility.talkback.actor.search.SearchState.MatchedNodeInfo; import com.google.android.accessibility.talkback.actor.search.StringMatcher.MatchResult; import com.google.android.accessibility.talkback.focusmanagement.NavigationTarget; @@ -71,6 +69,7 @@ import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.Role; import com.google.android.accessibility.utils.SharedPreferencesUtils; +import com.google.android.accessibility.utils.input.ScrollActionRecord; import com.google.android.accessibility.utils.traversal.OrderedTraversalStrategy; import com.google.android.accessibility.utils.traversal.TraversalStrategy; import com.google.android.accessibility.utils.traversal.TraversalStrategyUtils; @@ -85,6 +84,8 @@ */ public class SearchScreenOverlay implements SearchObserver { + public static final String SEARCH = "SEARCH"; // Scroll source id + /** The delay in milliseconds for focusable node finder. */ static final int DELAY_FIND_NODE_MILLISEC = 50; @@ -149,7 +150,7 @@ public boolean accept(AccessibilityNodeInfoCompat node) { private AccessibilityNode initialFocusedNode; /** The scroll actors used for previous/next screen. */ - private final Pipeline.FeedbackReturner pipeline; + private Pipeline.FeedbackReturner pipeline; /** Caches the ttsOverlay config before showing screen search overlay. */ private boolean ttsOverlayWasOn = false; @@ -174,22 +175,20 @@ private interface Action { * @param service the parent service * @param focusFinder find input/accessibility focus * @param labelManager the custom label manager - * @param pipeline the actors which need to perform scroll event */ public SearchScreenOverlay( - TalkBackService service, - FocusFinder focusFinder, - CustomLabelManager labelManager, - Pipeline.FeedbackReturner pipeline) { + TalkBackService service, FocusFinder focusFinder, CustomLabelManager labelManager) { this.service = service; this.focusFinder = focusFinder; - this.pipeline = pipeline; this.toastHandler = new Handler(); // Create search strategy object. searchStrategy = new SearchScreenNodeStrategy(this, labelManager); } - + /** pipeline the actors which need to perform scroll event */ + public void setPipeline(Pipeline.FeedbackReturner pipeline) { + this.pipeline = pipeline; + } /** Creates search overlay window and necessary widgets. */ private void createUIElements() { WindowManager wm = (WindowManager) service.getSystemService(Context.WINDOW_SERVICE); @@ -460,10 +459,11 @@ public void onAutoScrollFailed(AccessibilityNode nodeToScroll) { boolean result = false; - pipeline.returnFeedback( - EVENT_ID_UNTRACKED, - Feedback.scroll(scrollableNode, ACTION_AUTO_SCROLL, action, Source.SEARCH)); - + if (pipeline != null) { + pipeline.returnFeedback( + EVENT_ID_UNTRACKED, + Feedback.scroll(scrollableNode, ScrollActionRecord.ACTION_AUTO_SCROLL, action, SEARCH)); + } if (result) { // Screen is scrolled, clears previous search results. clearSearchResult(); @@ -696,17 +696,19 @@ public void show() { false); } // Turns off quick menu overlays when search screen is showing on Android O. - pipeline.returnFeedback( - EVENT_ID_UNTRACKED, - Feedback.talkBackUI( - TalkBackUI.Action.NOT_SUPPORT, SELECTOR_MENU_ITEM_OVERLAY_SINGLE_FINGER)); - pipeline.returnFeedback( - EVENT_ID_UNTRACKED, - Feedback.talkBackUI( - TalkBackUI.Action.NOT_SUPPORT, SELECTOR_MENU_ITEM_OVERLAY_MULTI_FINGER)); - pipeline.returnFeedback( - EVENT_ID_UNTRACKED, - Feedback.talkBackUI(TalkBackUI.Action.NOT_SUPPORT, SELECTOR_ITEM_ACTION_OVERLAY)); + if (pipeline != null) { + pipeline.returnFeedback( + EVENT_ID_UNTRACKED, + Feedback.talkBackUI( + TalkBackUI.Action.NOT_SUPPORT, SELECTOR_MENU_ITEM_OVERLAY_SINGLE_FINGER)); + pipeline.returnFeedback( + EVENT_ID_UNTRACKED, + Feedback.talkBackUI( + TalkBackUI.Action.NOT_SUPPORT, SELECTOR_MENU_ITEM_OVERLAY_MULTI_FINGER)); + pipeline.returnFeedback( + EVENT_ID_UNTRACKED, + Feedback.talkBackUI(TalkBackUI.Action.NOT_SUPPORT, SELECTOR_ITEM_ACTION_OVERLAY)); + } } // Updates initial focused window before overlay UI show up, for caching nodes info to search. @@ -759,16 +761,17 @@ public void hide() { R.string.pref_tts_overlay_key, true); } - pipeline.returnFeedback( - EVENT_ID_UNTRACKED, - Feedback.talkBackUI(TalkBackUI.Action.SUPPORT, SELECTOR_MENU_ITEM_OVERLAY_SINGLE_FINGER)); - pipeline.returnFeedback( - EVENT_ID_UNTRACKED, - Feedback.talkBackUI(TalkBackUI.Action.SUPPORT, SELECTOR_MENU_ITEM_OVERLAY_MULTI_FINGER)); - pipeline.returnFeedback( - EVENT_ID_UNTRACKED, - Feedback.talkBackUI(TalkBackUI.Action.SUPPORT, SELECTOR_ITEM_ACTION_OVERLAY)); - + if (pipeline != null) { + pipeline.returnFeedback( + EVENT_ID_UNTRACKED, + Feedback.talkBackUI(TalkBackUI.Action.SUPPORT, SELECTOR_MENU_ITEM_OVERLAY_SINGLE_FINGER)); + pipeline.returnFeedback( + EVENT_ID_UNTRACKED, + Feedback.talkBackUI(TalkBackUI.Action.SUPPORT, SELECTOR_MENU_ITEM_OVERLAY_MULTI_FINGER)); + pipeline.returnFeedback( + EVENT_ID_UNTRACKED, + Feedback.talkBackUI(TalkBackUI.Action.SUPPORT, SELECTOR_ITEM_ACTION_OVERLAY)); + } if (overlayPanel == null) { return; } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/UniversalSearchActor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/UniversalSearchActor.java new file mode 100644 index 000000000..e5a9f40d6 --- /dev/null +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/UniversalSearchActor.java @@ -0,0 +1,229 @@ +/* + * Copyright (C) 2022 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.android.accessibility.talkback.actor.search; + +import static android.content.pm.ActivityInfo.CONFIG_DENSITY; +import static android.content.pm.ActivityInfo.CONFIG_FONT_SCALE; +import static android.content.pm.ActivityInfo.CONFIG_LAYOUT_DIRECTION; +import static com.google.android.accessibility.talkback.Feedback.HINT; + +import android.content.Context; +import android.content.res.Configuration; +import android.view.accessibility.AccessibilityWindowInfo; +import com.google.android.accessibility.talkback.Feedback; +import com.google.android.accessibility.talkback.Pipeline; +import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.TalkBackService; +import com.google.android.accessibility.talkback.focusmanagement.interpreter.ScreenStateMonitor; +import com.google.android.accessibility.talkback.labeling.CustomLabelManager; +import com.google.android.accessibility.utils.AccessibilityNode; +import com.google.android.accessibility.utils.AccessibilityServiceCompatUtils; +import com.google.android.accessibility.utils.FocusFinder; +import com.google.android.accessibility.utils.Performance.EventId; +import com.google.android.accessibility.utils.output.FeedbackItem; +import com.google.android.accessibility.utils.output.SpeechController.SpeakOptions; +import com.google.android.libraries.accessibility.utils.log.LogUtils; +import java.util.List; +import org.checkerframework.checker.nullness.qual.Nullable; + +/** Toggle search actions performer */ +public class UniversalSearchActor { + private Context context; + private TalkBackService talkBackService; + private SearchScreenOverlay searchScreenOverlay; + private ScreenStateMonitor.State screenState; + private Pipeline.FeedbackReturner pipeline; + private static final String TAG = "UniversalSearchActor"; + + /** + * Monitor the components of configuration. When any of the components changed, the screen overlay + * has to be refreshed + */ + private static final int CONFIG_CHANGE_TRACKING_MASK = + CONFIG_FONT_SCALE | CONFIG_DENSITY | CONFIG_LAYOUT_DIRECTION; + + /** + * Record current configuration so that when configuration changed, we can tell whether the + * changed parts affect the overlay + */ + private Configuration currentConfig; + + public UniversalSearchActor( + TalkBackService talkBackService, + ScreenStateMonitor.State screenState, + FocusFinder focusFinder, + CustomLabelManager labelManager) { + this.context = talkBackService; + this.talkBackService = talkBackService; + this.screenState = screenState; + + // Search mode should receive key combos immediately after the TalkBackService. + searchScreenOverlay = new SearchScreenOverlay(talkBackService, focusFinder, labelManager); + + currentConfig = new Configuration(context.getResources().getConfiguration()); + } + + // For testing + public void setSearchScreenOverlay(SearchScreenOverlay searchScreenOverlay) { + this.searchScreenOverlay = searchScreenOverlay; + } + + public void setPipeline(Pipeline.FeedbackReturner pipeline) { + this.pipeline = pipeline; + searchScreenOverlay.setPipeline(pipeline); + } + + /** Toggles search mode. */ + public void toggleSearch(EventId eventId) { + if (isUiVisible()) { + cancelSearch(eventId); + } else { + startSearch(); + } + } + + // Called when configuration change. Then determine whether densityDPI, fontScale or layout + // direction are changed which causes the overlay invalid. + public void renewOverlay(Configuration newConfig) { + if ((currentConfig.diff(newConfig) & CONFIG_CHANGE_TRACKING_MASK) != 0) { + searchScreenOverlay.invalidateUIElements(); + currentConfig = new Configuration(newConfig); + } + } + + public void handleScreenState(EventId eventId) { + if (!screenState.areMainWindowsStable()) { + return; + } + + if (!isUiVisible()) { + return; + } + + if (!isScreenSearchPresent()) { + // This might happened in old platform under API28 because of design changed in framework. + LogUtils.v( + TAG, + "Search overlay exist but framework didn't aware yet, we can ignore the false alarm and" + + " wait for next window event."); + return; + } + + if (isTargetWindowAccessibleBelowTalkbackOverlays()) { + return; + } + + // We need to cancel search when focused window gone or above the overlay so that we + // won't perform search on wrong screen content. + LogUtils.v( + TAG, + "Search canceled due to can't find initialFocusedWindow below screen search after window" + + " changed."); + cancelSearch(eventId); + } + + /** Starts search mode. */ + private void startSearch() { + searchScreenOverlay.show(); + } + + /** Cancel the current search. Return accessibility focus to the initial node. */ + public void cancelSearch(@Nullable EventId eventId) { + if (!isUiVisible()) { + return; + } + searchScreenOverlay.hide(); + + // Speak stop search hint. + CharSequence hint = context.getString(R.string.search_mode_cancel); + // Use {@link FeedbackItem#FLAG_NO_HISTORY} not to save this utterance to history. + // Use {@link FeedbackItem#FLAG_FORCE_FEEDBACK_EVEN_IF_AUDIO_PLAYBACK_ACTIVE} force to speak + // while playing audio. + // Use {@link FeedbackItem#FLAG_FORCE_FEEDBACK_EVEN_IF_MICROPHONE_ACTIVE} force to speak while + // using microphone. + // Use {@link FeedbackItem#FLAG_FORCE_FEEDBACK_EVEN_IF_SSB_ACTIVE} force to speak while speech + // recognition. + SpeakOptions speakOptions = + SpeakOptions.create() + .setFlags( + FeedbackItem.FLAG_NO_HISTORY + | FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_AUDIO_PLAYBACK_ACTIVE + | FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_MICROPHONE_ACTIVE + | FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_SSB_ACTIVE); + + if (pipeline != null) { + pipeline.returnFeedback( + eventId, + Feedback.speech(hint, speakOptions) + .setInterruptGroup(HINT) + .setInterruptLevel(1) + .setSenderName(TAG)); + } + } + + /** Returns if current search UI is visible. */ + public boolean isUiVisible() { + return searchScreenOverlay.isVisible(); + } + + private int getOverlayId() { + return searchScreenOverlay.getOverlayId(); + } + + private int getInitialFocusedWindowId() { + return searchScreenOverlay.getInitialFocusedWindowId(); + } + + private boolean isScreenSearchPresent() { + if (getOverlayId() < 0) { + return false; + } + List windows = + AccessibilityServiceCompatUtils.getWindows(talkBackService); + return windows.stream().anyMatch(w -> w != null && w.getId() == getOverlayId()); + } + + /** + * In normal case the target window should be accessible under screen search overlay, otherwise we + * should close screen search overlay because it can't find anything. + * REFERTO + */ + private boolean isTargetWindowAccessibleBelowTalkbackOverlays() { + if (getOverlayId() < 0 || getInitialFocusedWindowId() < 0) { + return false; + } + List windows = + AccessibilityServiceCompatUtils.getWindows(talkBackService); + int targetWindowLayer = -1; + int overlayWindowLayer = -1; + for (AccessibilityWindowInfo window : windows) { + if (getInitialFocusedWindowId() == window.getId()) { + targetWindowLayer = window.getLayer(); + } else if (getOverlayId() == window.getId()) { + overlayWindowLayer = window.getLayer(); + } + } + return ((targetWindowLayer > -1) && (overlayWindowLayer > targetWindowLayer)); + } + + public void onAutoScrolled(AccessibilityNode scrolledNode, EventId eventId) { + searchScreenOverlay.onAutoScrolled(scrolledNode, eventId); + } + + public void onAutoScrollFailed(AccessibilityNode scrolledNode) { + searchScreenOverlay.onAutoScrollFailed(scrolledNode); + } +} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/UniversalSearchManager.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/UniversalSearchManager.java index 2902e728c..71a7d9a4e 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/UniversalSearchManager.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/search/UniversalSearchManager.java @@ -16,76 +16,36 @@ package com.google.android.accessibility.talkback.actor.search; -import static android.content.pm.ActivityInfo.CONFIG_DENSITY; -import static android.content.pm.ActivityInfo.CONFIG_FONT_SCALE; -import static android.content.pm.ActivityInfo.CONFIG_LAYOUT_DIRECTION; -import static com.google.android.accessibility.talkback.Feedback.HINT; +import static com.google.android.accessibility.talkback.Feedback.UniversalSearch.Action.CANCEL_SEARCH; +import static com.google.android.accessibility.talkback.Feedback.UniversalSearch.Action.HANDLE_SCREEN_STATE; -import android.content.res.Configuration; -import android.view.KeyEvent; -import android.view.accessibility.AccessibilityWindowInfo; -import androidx.annotation.VisibleForTesting; import com.google.android.accessibility.talkback.Feedback; import com.google.android.accessibility.talkback.Pipeline; -import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.RingerModeAndScreenMonitor; -import com.google.android.accessibility.talkback.TalkBackService; -import com.google.android.accessibility.utils.AccessibilityNode; -import com.google.android.accessibility.utils.AccessibilityServiceCompatUtils; import com.google.android.accessibility.utils.Performance.EventId; -import com.google.android.accessibility.utils.ServiceKeyEventListener; import com.google.android.accessibility.utils.input.WindowEventInterpreter; import com.google.android.accessibility.utils.input.WindowEventInterpreter.EventInterpretation; -import com.google.android.accessibility.utils.keyboard.KeyComboManager; -import com.google.android.accessibility.utils.output.FeedbackItem; -import com.google.android.accessibility.utils.output.SpeechController.SpeakOptions; -import com.google.android.libraries.accessibility.utils.log.LogUtils; -import java.util.List; -import org.checkerframework.checker.nullness.qual.Nullable; /** Handles keyword search of the nodes on the screen. REFERTO */ -public class UniversalSearchManager - implements ServiceKeyEventListener, - KeyComboManager.KeyComboListener, - WindowEventInterpreter.WindowEventHandler { - private static String TAG = "ScreenSearch"; - /** - * Monitor the components of configuration. When any of the components changed, the screen overlay - * has to be refreshed - */ - private static final int CONFIG_CHANGE_TRACKING_MASK = - CONFIG_FONT_SCALE | CONFIG_DENSITY | CONFIG_LAYOUT_DIRECTION; +public class UniversalSearchManager implements WindowEventInterpreter.WindowEventHandler { + private static final String TAG = "ScreenSearch"; - /** The parent context. */ - private final TalkBackService talkbackService; - - /** SearchScreenOverlay object for control UI display. */ - private SearchScreenOverlay searchScreenOverlay; - - private Pipeline.FeedbackReturner pipeline; - - /** - * Record current configuration so that when configuration changed, we can tell whether the - * changed parts affect the overlay - */ - private Configuration currentConfig; + private final Pipeline.FeedbackReturner pipeline; public UniversalSearchManager( - TalkBackService talkbackservice, - SearchScreenOverlay searchScreenOverlay, Pipeline.FeedbackReturner pipeline, RingerModeAndScreenMonitor ringerModeAndScreenMonitor, WindowEventInterpreter windowInterpreter) { - this.talkbackService = talkbackservice; this.pipeline = pipeline; - this.searchScreenOverlay = searchScreenOverlay; - currentConfig = new Configuration(talkbackservice.getResources().getConfiguration()); // Registers screen state changed listener. if (ringerModeAndScreenMonitor != null) { ringerModeAndScreenMonitor.addScreenChangedListener( (isScreenOn, eventId) -> { - cancelSearchWhenScreenOff(isScreenOn, eventId); + // Cancels search when screen off. + if (!isScreenOn) { + pipeline.returnFeedback(eventId, Feedback.universalSearch(CANCEL_SEARCH)); + } }); } @@ -94,169 +54,8 @@ public UniversalSearchManager( } } - // Called when configuration change. Then determine whether densityDPI, fontScale or layout - // direction are changed which causes the overlay invalid. - public void renewOverlay(Configuration newConfig) { - if ((currentConfig.diff(newConfig) & CONFIG_CHANGE_TRACKING_MASK) != 0) { - searchScreenOverlay.invalidateUIElements(); - currentConfig = new Configuration(newConfig); - } - } - - // Cancels search when screen off. - @VisibleForTesting - protected void cancelSearchWhenScreenOff(boolean isScreenOn, EventId eventId) { - if (!isUiVisible()) { - return; - } - if (!isScreenOn) { - cancelSearch(eventId); - } - } - - /** Toggle search mode. */ - public void toggleSearch(EventId eventId) { - if (isUiVisible()) { - cancelSearch(eventId); - } else { - startSearch(eventId); - } - } - @Override public void handle(EventInterpretation interpretation, EventId eventId) { - if (!interpretation.areWindowsStable()) { - return; - } - - if (!isUiVisible()) { - return; - } - - if (!isScreenSearchPresent()) { - // This might happened in old platform under API28 because of design changed in framework. - LogUtils.v( - TAG, - "Search overlay exist but framework didn't aware yet, we can ignore the false alarm and" - + " wait for next window event."); - return; - } - - if (isTargetWindowAccessibleBelowTalkbackOverlays()) { - return; - } - - // We need to cancel search when focused window gone or above the overlay so that we - // won't perform search on wrong screen content. - LogUtils.v( - TAG, - "Search canceled due to can't find initialFocusedWindow below screen search after window" - + " changed."); - cancelSearch(eventId); - } - - @Override - public boolean onKeyEvent(KeyEvent event, EventId eventId) { - return false; - } - - @Override - public boolean processWhenServiceSuspended() { - return false; - } - - @Override - public boolean onComboPerformed(int id, String name, EventId eventId) { - if (id == KeyComboManager.ACTION_TOGGLE_SEARCH) { - toggleSearch(eventId); - return true; - } - return false; - } - - /** Start search mode. */ - private void startSearch(EventId eventId) { - searchScreenOverlay.show(); - } - - /** Cancel the current search. Return accessibility focus to the initial node. */ - private void cancelSearch(@Nullable EventId eventId) { - searchScreenOverlay.hide(); - - // Speak stop search hint. - CharSequence hint = talkbackService.getString(R.string.search_mode_cancel); - // Use {@link FeedbackItem#FLAG_NO_HISTORY} not to save this utterance to history. - // Use {@link FeedbackItem#FLAG_FORCE_FEEDBACK_EVEN_IF_AUDIO_PLAYBACK_ACTIVE} force to speak - // while playing audio. - // Use {@link FeedbackItem#FLAG_FORCE_FEEDBACK_EVEN_IF_MICROPHONE_ACTIVE} force to speak while - // using microphone. - // Use {@link FeedbackItem#FLAG_FORCE_FEEDBACK_EVEN_IF_SSB_ACTIVE} force to speak while speech - // recognition. - SpeakOptions speakOptions = - SpeakOptions.create() - .setFlags( - FeedbackItem.FLAG_NO_HISTORY - | FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_AUDIO_PLAYBACK_ACTIVE - | FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_MICROPHONE_ACTIVE - | FeedbackItem.FLAG_FORCE_FEEDBACK_EVEN_IF_SSB_ACTIVE); - pipeline.returnFeedback( - eventId, - Feedback.speech(hint, speakOptions) - .setInterruptGroup(HINT) - .setInterruptLevel(1) - .setSenderName(TAG)); - } - - /** Returns if current search UI is visible. */ - public boolean isUiVisible() { - return searchScreenOverlay.isVisible(); - } - - private int getOverlayId() { - return searchScreenOverlay.getOverlayId(); - } - - private int getInitialFocusedWindowId() { - return searchScreenOverlay.getInitialFocusedWindowId(); - } - - private boolean isScreenSearchPresent() { - if (getOverlayId() < 0) { - return false; - } - List windows = - AccessibilityServiceCompatUtils.getWindows(talkbackService); - return windows.stream().anyMatch(w -> w != null && w.getId() == getOverlayId()); - } - - /** - * In normal case the target window should be accessible under screen search overlay, otherwise we - * should close screen search overlay because it can't find anything. - * REFERTO - */ - private boolean isTargetWindowAccessibleBelowTalkbackOverlays() { - if (getOverlayId() < 0 || getInitialFocusedWindowId() < 0) { - return false; - } - List windows = - AccessibilityServiceCompatUtils.getWindows(talkbackService); - int targetWindowLayer = -1; - int overlayWindowLayer = -1; - for (AccessibilityWindowInfo window : windows) { - if (getInitialFocusedWindowId() == window.getId()) { - targetWindowLayer = window.getLayer(); - } else if (getOverlayId() == window.getId()) { - overlayWindowLayer = window.getLayer(); - } - } - return ((targetWindowLayer > -1) && (overlayWindowLayer > targetWindowLayer)); - } - - public void onAutoScrolled(AccessibilityNode scrolledNode, EventId eventId) { - searchScreenOverlay.onAutoScrolled(scrolledNode, eventId); - } - - public void onAutoScrollFailed(AccessibilityNode scrolledNode) { - searchScreenOverlay.onAutoScrollFailed(scrolledNode); + pipeline.returnFeedback(eventId, Feedback.universalSearch(HANDLE_SCREEN_STATE)); } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/voicecommands/VoiceCommandMapper.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/voicecommands/VoiceCommandMapper.java index 2a01c8432..eb8dfe14f 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/voicecommands/VoiceCommandMapper.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/voicecommands/VoiceCommandMapper.java @@ -15,6 +15,7 @@ */ package com.google.android.accessibility.talkback.actor.voicecommands; +import static android.accessibilityservice.AccessibilityService.GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS; import static com.google.android.accessibility.talkback.Feedback.ContinuousRead.Action.START_AT_NEXT; import static com.google.android.accessibility.talkback.Feedback.ContinuousRead.Action.START_AT_TOP; import static com.google.android.accessibility.talkback.Feedback.DimScreen.Action.BRIGHTEN; @@ -29,7 +30,6 @@ import static com.google.android.accessibility.talkback.Feedback.EditText.Action.START_SELECT; import static com.google.android.accessibility.talkback.Feedback.Speech.Action.COPY_SAVED; import static com.google.android.accessibility.talkback.Feedback.VoiceRecognition.Action.SHOW_COMMAND_LIST; -import static com.google.android.accessibility.talkback.actor.SystemActionPerformer.GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS; import static com.google.android.accessibility.utils.input.InputModeManager.INPUT_MODE_TOUCH; import android.accessibilityservice.AccessibilityService; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/voicecommands/VoiceCommandProcessor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/voicecommands/VoiceCommandProcessor.java index 10b1ccb3e..a2bf9a952 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/actor/voicecommands/VoiceCommandProcessor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/actor/voicecommands/VoiceCommandProcessor.java @@ -15,6 +15,7 @@ */ package com.google.android.accessibility.talkback.actor.voicecommands; +import static com.google.android.accessibility.talkback.Feedback.UniversalSearch.Action.TOGGLE_SEARCH; import static com.google.android.accessibility.talkback.Interpretation.VoiceCommand.Action.VOICE_COMMAND_ALL_APPS; import static com.google.android.accessibility.talkback.Interpretation.VoiceCommand.Action.VOICE_COMMAND_BACK; import static com.google.android.accessibility.talkback.Interpretation.VoiceCommand.Action.VOICE_COMMAND_BRIGHTEN_SCREEN; @@ -287,7 +288,7 @@ public boolean handleSpeechCommand(String command) { if (!FeatureSupport.isWatch(service) && (equals(command, R.string.voice_commands_screen_search) || equals(command, R.string.voice_commands_search_on_screen))) { - service.getUniversalSearchManager().toggleSearch(eventId); + pipeline.returnFeedback(eventId, Feedback.universalSearch(TOGGLE_SEARCH)); handleVoiceCommandRecognized(); return true; } @@ -662,7 +663,7 @@ && containsWord(verbosityCommand, R.string.voice_commands_homophone_high_and_hi) // all apps command // command format: * apps * if (containsWord(command, R.string.voice_commands_apps) - && FeatureSupport.supportSystemActions(service) + && FeatureSupport.supportGetSystemActions(service) && !containsWord(command, R.string.voice_commands_recent) && !containsWord(command, R.string.voice_commands_recents)) { boolean result = sendInterpretation(VOICE_COMMAND_ALL_APPS, eventId); diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/brailledisplay/BrailleDisplayHelper.java b/talkback/src/main/java/com/google/android/accessibility/talkback/brailledisplay/BrailleDisplayHelper.java index cae9f0c45..d10ac86ee 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/brailledisplay/BrailleDisplayHelper.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/brailledisplay/BrailleDisplayHelper.java @@ -1,31 +1,51 @@ package com.google.android.accessibility.talkback.brailledisplay; +import static com.google.android.accessibility.talkback.Feedback.Focus.Action.CLICK_CURRENT; +import static com.google.android.accessibility.talkback.Feedback.Focus.Action.CLICK_NODE; +import static com.google.android.accessibility.talkback.Feedback.Focus.Action.LONG_CLICK_CURRENT; +import static com.google.android.accessibility.talkback.Feedback.Focus.Action.LONG_CLICK_NODE; import static com.google.android.accessibility.talkback.Feedback.FocusDirection.Action.NEXT_PAGE; import static com.google.android.accessibility.talkback.Feedback.FocusDirection.Action.PREVIOUS_PAGE; +import static com.google.android.accessibility.talkback.Feedback.UniversalSearch.Action.TOGGLE_SEARCH; import static com.google.android.accessibility.utils.input.CursorGranularity.DEFAULT; -import static com.google.android.accessibility.utils.input.InputModeManager.INPUT_MODE_TOUCH; +import static com.google.android.accessibility.utils.input.CursorGranularity.WEB_CONTROL; +import static com.google.android.accessibility.utils.input.CursorGranularity.WEB_HEADING; +import static com.google.android.accessibility.utils.input.CursorGranularity.WEB_LINK; +import static com.google.android.accessibility.utils.input.CursorGranularity.WINDOWS; +import static com.google.android.accessibility.utils.input.InputModeManager.INPUT_MODE_BRAILLE_DISPLAY; +import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_BACKWARD; +import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_DOWN; +import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_FORWARD; +import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_UP; import android.accessibilityservice.AccessibilityService; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.accessibility.braille.interfaces.TalkBackForBrailleDisplay.ScreenReaderAction; import com.google.android.accessibility.talkback.Feedback; import com.google.android.accessibility.talkback.Pipeline.FeedbackReturner; import com.google.android.accessibility.utils.Performance; -import com.google.android.accessibility.utils.input.InputModeManager; -import com.google.android.accessibility.utils.traversal.TraversalStrategy; +import com.google.android.accessibility.utils.input.CursorGranularity; /** Helper that handles the screen reader actions come from brille display. */ public final class BrailleDisplayHelper { public static boolean performAction( - FeedbackReturner feedbackReturner, ScreenReaderAction action) { + AccessibilityService accessibilityService, + FeedbackReturner feedbackReturner, + ScreenReaderAction action, + Object... args) { switch (action) { case NEXT_ITEM: - return performFocusAction(feedbackReturner, TraversalStrategy.SEARCH_FOCUS_FORWARD); + return performFocusAction(feedbackReturner, SEARCH_FOCUS_FORWARD); case PREVIOUS_ITEM: - return performFocusAction(feedbackReturner, TraversalStrategy.SEARCH_FOCUS_BACKWARD); + return performFocusAction(feedbackReturner, SEARCH_FOCUS_BACKWARD); case NEXT_LINE: - return performFocusAction(feedbackReturner, TraversalStrategy.SEARCH_FOCUS_DOWN); + return performFocusAction(feedbackReturner, SEARCH_FOCUS_DOWN); case PREVIOUS_LINE: - return performFocusAction(feedbackReturner, TraversalStrategy.SEARCH_FOCUS_UP); + return performFocusAction(feedbackReturner, SEARCH_FOCUS_UP); + case NEXT_WINDOW: + return performGranularityFocusAction(feedbackReturner, SEARCH_FOCUS_FORWARD, WINDOWS); + case PREVIOUS_WINDOW: + return performGranularityFocusAction(feedbackReturner, SEARCH_FOCUS_BACKWARD, WINDOWS); case GLOBAL_HOME: return performGlobalAction(feedbackReturner, AccessibilityService.GLOBAL_ACTION_HOME); case GLOBAL_BACK: @@ -41,6 +61,9 @@ public static boolean performAction( case GLOBAL_ALL_APPS: return performGlobalAction( feedbackReturner, AccessibilityService.GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS); + case SCREEN_SEARCH: + return feedbackReturner.returnFeedback( + Performance.EVENT_ID_UNTRACKED, Feedback.universalSearch(TOGGLE_SEARCH)); case SCROLL_FORWARD: return feedbackReturner.returnFeedback( Performance.EVENT_ID_UNTRACKED, Feedback.focusDirection(NEXT_PAGE)); @@ -49,10 +72,54 @@ public static boolean performAction( Performance.EVENT_ID_UNTRACKED, Feedback.focusDirection(PREVIOUS_PAGE)); case NAVIGATE_TO_TOP: return feedbackReturner.returnFeedback( - Performance.EVENT_ID_UNTRACKED, Feedback.focusTop(INPUT_MODE_TOUCH)); + Performance.EVENT_ID_UNTRACKED, Feedback.focusTop(INPUT_MODE_BRAILLE_DISPLAY)); case NAVIGATE_TO_BOTTOM: return feedbackReturner.returnFeedback( - Performance.EVENT_ID_UNTRACKED, Feedback.focusBottom(INPUT_MODE_TOUCH)); + Performance.EVENT_ID_UNTRACKED, Feedback.focusBottom(INPUT_MODE_BRAILLE_DISPLAY)); + case WEB_NEXT_HEADING: + return performGranularityFocusAction(feedbackReturner, SEARCH_FOCUS_FORWARD, WEB_HEADING); + case WEB_PREVIOUS_HEADING: + return performGranularityFocusAction(feedbackReturner, SEARCH_FOCUS_BACKWARD, WEB_HEADING); + case WEB_NEXT_CONTROL: + return performGranularityFocusAction(feedbackReturner, SEARCH_FOCUS_FORWARD, WEB_CONTROL); + case WEB_PREVIOUS_CONTROL: + return performGranularityFocusAction(feedbackReturner, SEARCH_FOCUS_BACKWARD, WEB_CONTROL); + case WEB_NEXT_LINK: + return performGranularityFocusAction(feedbackReturner, SEARCH_FOCUS_FORWARD, WEB_LINK); + case WEB_PREVIOUS_LINK: + return performGranularityFocusAction(feedbackReturner, SEARCH_FOCUS_BACKWARD, WEB_LINK); + case CLICK_CURRENT: + return feedbackReturner.returnFeedback( + Performance.EVENT_ID_UNTRACKED, Feedback.focus(CLICK_CURRENT)); + case LONG_CLICK_CURRENT: + return feedbackReturner.returnFeedback( + Performance.EVENT_ID_UNTRACKED, Feedback.focus(LONG_CLICK_CURRENT)); + case CLICK_NODE: + { + if (args[0] != null && args[0] instanceof AccessibilityNodeInfoCompat) { + AccessibilityNodeInfoCompat node = (AccessibilityNodeInfoCompat) args[0]; + return feedbackReturner.returnFeedback( + Feedback.create( + Performance.EVENT_ID_UNTRACKED, + Feedback.part() + .setFocus(Feedback.focus(CLICK_NODE).setTarget(node).build()) + .build())); + } + return false; + } + case LONG_CLICK_NODE: + { + if (args[0] != null && args[0] instanceof AccessibilityNodeInfoCompat) { + AccessibilityNodeInfoCompat node = (AccessibilityNodeInfoCompat) args[0]; + return feedbackReturner.returnFeedback( + Feedback.create( + Performance.EVENT_ID_UNTRACKED, + Feedback.part() + .setFocus(Feedback.focus(LONG_CLICK_NODE).setTarget(node).build()) + .build())); + } + return false; + } default: // fall through } @@ -71,11 +138,25 @@ private static boolean performFocusAction(FeedbackReturner feedbackReturner, int // Sets granularity to default because braille display navigation actions always moves // at default granularity. .setGranularity(DEFAULT) - .setInputMode(InputModeManager.INPUT_MODE_KEYBOARD) + .setInputMode(INPUT_MODE_BRAILLE_DISPLAY) .setWrap(true) .setScroll(true) .setDefaultToInputFocus(true)); } + private static boolean performGranularityFocusAction( + FeedbackReturner feedbackReturner, int focusAction, CursorGranularity granularity) { + feedbackReturner.returnFeedback( + Performance.EVENT_ID_UNTRACKED, Feedback.granularity(granularity)); + return feedbackReturner.returnFeedback( + Performance.EVENT_ID_UNTRACKED, + Feedback.focusDirection(focusAction) + .setInputMode(INPUT_MODE_BRAILLE_DISPLAY) + .setToWindow(granularity.equals(CursorGranularity.WINDOWS)) + .setDefaultToInputFocus(true) + .setScroll(true) + .setWrap(true)); + } + private BrailleDisplayHelper() {} } diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/AccessibilityFocusEventInterpretation.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/AccessibilityFocusEventInterpretation.java similarity index 98% rename from compositor/src/main/java/com/google/android/accessibility/compositor/AccessibilityFocusEventInterpretation.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/AccessibilityFocusEventInterpretation.java index 94d0fe9f4..349db22e2 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/AccessibilityFocusEventInterpretation.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/AccessibilityFocusEventInterpretation.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; import android.view.accessibility.AccessibilityEvent; import com.google.android.accessibility.utils.ReadOnly; diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/AccessibilityFocusEventInterpreter.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/AccessibilityFocusEventInterpreter.java similarity index 94% rename from compositor/src/main/java/com/google/android/accessibility/compositor/AccessibilityFocusEventInterpreter.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/AccessibilityFocusEventInterpreter.java index c47795824..2a3cb31ee 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/AccessibilityFocusEventInterpreter.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/AccessibilityFocusEventInterpreter.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; import android.view.accessibility.AccessibilityEvent; import androidx.annotation.Nullable; diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/ActionVariables.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/ActionVariables.java similarity index 97% rename from compositor/src/main/java/com/google/android/accessibility/compositor/ActionVariables.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/ActionVariables.java index e349ac582..ea69c4fab 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/ActionVariables.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/ActionVariables.java @@ -14,15 +14,15 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; import android.content.Context; import androidx.annotation.Nullable; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTree; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.output.SpeechCleanupUtils; -import com.google.android.accessibility.utils.parsetree.ParseTree; import java.util.HashMap; /** A VariableDelegate that maps AccessbilityAction from AccessibilityNodeInfoCompat */ diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/Compositor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/Compositor.java similarity index 88% rename from compositor/src/main/java/com/google/android/accessibility/compositor/Compositor.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/Compositor.java index a48308809..ae9822077 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/Compositor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/Compositor.java @@ -14,8 +14,9 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; +import static android.view.accessibility.AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED; import static com.google.android.accessibility.utils.output.SpeechController.QUEUE_MODE_INTERRUPT; import static com.google.android.accessibility.utils.output.SpeechController.QUEUE_MODE_UNINTERRUPTIBLE_BY_NEW_SPEECH; @@ -32,6 +33,8 @@ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.core.view.accessibility.AccessibilityRecordCompat; import androidx.core.view.accessibility.AccessibilityWindowInfoCompat; +import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTree; import com.google.android.accessibility.utils.AccessibilityEventUtils; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.ImageContents; @@ -46,7 +49,6 @@ import com.google.android.accessibility.utils.output.SpeechController.SpeakOptions; import com.google.android.accessibility.utils.output.SpeechController.UtteranceCompleteRunnable; import com.google.android.accessibility.utils.output.Utterance; -import com.google.android.accessibility.utils.parsetree.ParseTree; import com.google.android.libraries.accessibility.utils.log.LogUtils; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -79,8 +81,6 @@ public class Compositor { @IntDef({ EVENT_UNKNOWN, EVENT_SPOKEN_FEEDBACK_ON, - EVENT_SPOKEN_FEEDBACK_SUSPENDED, - EVENT_SPOKEN_FEEDBACK_RESUMED, EVENT_SPOKEN_FEEDBACK_DISABLED, EVENT_CAPS_LOCK_ON, EVENT_CAPS_LOCK_OFF, @@ -111,9 +111,25 @@ public class Compositor { EVENT_TYPE_INPUT_SELECTION_SELECT_ALL_WITH_KEYBOARD, EVENT_TYPE_INPUT_SELECTION_RESET_SELECTION, EVENT_SPEAK_HINT, - EVENT_SCREEN_MAGNIFICATION_CHANGED, + EVENT_MAGNIFICATION_CHANGED, EVENT_SCROLL_POSITION, EVENT_INPUT_DESCRIBE_NODE, + EVENT_TYPE_VIEW_ACCESSIBILITY_FOCUSED, + EVENT_TYPE_VIEW_FOCUSED, + EVENT_TYPE_VIEW_HOVER_ENTER, + EVENT_TYPE_VIEW_CLICKED, + EVENT_TYPE_VIEW_LONG_CLICKED, + EVENT_TYPE_NOTIFICATION_STATE_CHANGED, + EVENT_TYPE_WINDOW_CONTENT_CHANGED, + EVENT_TYPE_VIEW_SELECTED, + EVENT_TYPE_VIEW_SCROLLED, + EVENT_TYPE_ANNOUNCEMENT, + EVENT_TYPE_WINDOW_STATE_CHANGED, + EVENT_TYPE_TOUCH_INTERACTION_START, + EVENT_TYPE_TOUCH_INTERACTION_END, + EVENT_TYPE_VIEW_TEXT_CHANGED, + EVENT_TYPE_VIEW_TEXT_SELECTION_CHANGED, + EVENT_TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY, }) @Retention(RetentionPolicy.SOURCE) public @interface Event {} @@ -122,8 +138,6 @@ public class Compositor { private static final int BASE_EVENT_ID = TextEventInterpretation.AFTER_TEXT_EVENTS; public static final int EVENT_UNKNOWN = BASE_EVENT_ID - 1; public static final int EVENT_SPOKEN_FEEDBACK_ON = BASE_EVENT_ID; - public static final int EVENT_SPOKEN_FEEDBACK_SUSPENDED = BASE_EVENT_ID + 1; - public static final int EVENT_SPOKEN_FEEDBACK_RESUMED = BASE_EVENT_ID + 2; public static final int EVENT_SPOKEN_FEEDBACK_DISABLED = BASE_EVENT_ID + 3; public static final int EVENT_CAPS_LOCK_ON = BASE_EVENT_ID + 4; public static final int EVENT_CAPS_LOCK_OFF = BASE_EVENT_ID + 5; @@ -136,7 +150,7 @@ public class Compositor { public static final int EVENT_SPEAK_HINT = BASE_EVENT_ID + 12; public static final int EVENT_SCROLL_POSITION = BASE_EVENT_ID + 13; public static final int EVENT_INPUT_DESCRIBE_NODE = BASE_EVENT_ID + 14; - public static final int EVENT_SCREEN_MAGNIFICATION_CHANGED = BASE_EVENT_ID + 15; + public static final int EVENT_MAGNIFICATION_CHANGED = BASE_EVENT_ID + 15; public static final int BASE_TEXT_EVENT_ID = BASE_EVENT_ID + 100; public static final int EVENT_TYPE_INPUT_TEXT_CLEAR = TextEventInterpretation.TEXT_CLEAR; @@ -174,11 +188,77 @@ public class Compositor { public static final int EVENT_TYPE_INPUT_SELECTION_RESET_SELECTION = TextEventInterpretation.SELECTION_RESET_SELECTION; + // Accessibility events + public static final int EVENT_TYPE_VIEW_ACCESSIBILITY_FOCUSED = + AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED; + public static final int EVENT_TYPE_VIEW_FOCUSED = AccessibilityEvent.TYPE_VIEW_FOCUSED; + public static final int EVENT_TYPE_VIEW_HOVER_ENTER = AccessibilityEvent.TYPE_VIEW_HOVER_ENTER; + public static final int EVENT_TYPE_VIEW_CLICKED = AccessibilityEvent.TYPE_VIEW_CLICKED; + public static final int EVENT_TYPE_VIEW_LONG_CLICKED = AccessibilityEvent.TYPE_VIEW_LONG_CLICKED; + public static final int EVENT_TYPE_NOTIFICATION_STATE_CHANGED = + AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED; + public static final int EVENT_TYPE_WINDOW_CONTENT_CHANGED = + AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED; + public static final int EVENT_TYPE_VIEW_SELECTED = AccessibilityEvent.TYPE_VIEW_SELECTED; + public static final int EVENT_TYPE_VIEW_SCROLLED = AccessibilityEvent.TYPE_VIEW_SCROLLED; + public static final int EVENT_TYPE_ANNOUNCEMENT = AccessibilityEvent.TYPE_ANNOUNCEMENT; + public static final int EVENT_TYPE_WINDOW_STATE_CHANGED = + AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED; + public static final int EVENT_TYPE_TOUCH_INTERACTION_START = + AccessibilityEvent.TYPE_TOUCH_INTERACTION_START; + public static final int EVENT_TYPE_TOUCH_INTERACTION_END = + AccessibilityEvent.TYPE_TOUCH_INTERACTION_END; + public static final int EVENT_TYPE_VIEW_TEXT_CHANGED = AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED; + public static final int EVENT_TYPE_VIEW_TEXT_SELECTION_CHANGED = + AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED; + public static final int EVENT_TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY = + AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY; + @Event public static int toCompositorEvent(@TextEventInterpretation.TextEvent int textEvent) { return textEvent; } + @Event + public static int toCompositorEvent(AccessibilityEvent event) { + final int eventType = event.getEventType(); + if (eventType == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED) { + return EVENT_TYPE_VIEW_ACCESSIBILITY_FOCUSED; + } else if (eventType == AccessibilityEvent.TYPE_VIEW_FOCUSED) { + return EVENT_TYPE_VIEW_FOCUSED; + } else if (eventType == AccessibilityEvent.TYPE_VIEW_HOVER_ENTER) { + return EVENT_TYPE_VIEW_HOVER_ENTER; + } else if (eventType == AccessibilityEvent.TYPE_VIEW_CLICKED) { + return EVENT_TYPE_VIEW_CLICKED; + } else if (eventType == AccessibilityEvent.TYPE_VIEW_LONG_CLICKED) { + return EVENT_TYPE_VIEW_LONG_CLICKED; + } else if (eventType == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) { + return EVENT_TYPE_NOTIFICATION_STATE_CHANGED; + } else if (eventType == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED) { + return EVENT_TYPE_WINDOW_CONTENT_CHANGED; + } else if (eventType == AccessibilityEvent.TYPE_VIEW_SELECTED) { + return EVENT_TYPE_VIEW_SELECTED; + } else if (eventType == AccessibilityEvent.TYPE_VIEW_SCROLLED) { + return EVENT_TYPE_VIEW_SCROLLED; + } else if (eventType == AccessibilityEvent.TYPE_ANNOUNCEMENT) { + return EVENT_TYPE_ANNOUNCEMENT; + } else if (eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) { + return EVENT_TYPE_WINDOW_STATE_CHANGED; + } else if (eventType == AccessibilityEvent.TYPE_TOUCH_INTERACTION_START) { + return EVENT_TYPE_TOUCH_INTERACTION_START; + } else if (eventType == AccessibilityEvent.TYPE_TOUCH_INTERACTION_END) { + return EVENT_TYPE_TOUCH_INTERACTION_END; + } else if (eventType == AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED) { + return EVENT_TYPE_VIEW_TEXT_CHANGED; + } else if (eventType == AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED) { + return EVENT_TYPE_VIEW_TEXT_SELECTION_CHANGED; + } else if (eventType == AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY) { + return EVENT_TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY; + } else { + return EVENT_UNKNOWN; + } + } + // IDs of the output types. private static final int OUTPUT_TTS_OUTPUT = 0; private static final int OUTPUT_TTS_QUEUE_MODE = 1; @@ -206,7 +286,7 @@ public static int toCompositorEvent(@TextEventInterpretation.TextEvent int textE static final int ENUM_ROLE = 2; static final int ENUM_LIVE_REGION = 3; static final int ENUM_WINDOW_TYPE = 4; - private static final int ENUM_VERBOSITY_DESCRIPTION_ORDER = 5; + static final int ENUM_VERBOSITY_DESCRIPTION_ORDER = 5; static final int ENUM_RANGE_INFO_TYPE = 6; static final int RANGE_INFO_UNDEFINED = -1; @@ -246,8 +326,6 @@ public static int toCompositorEvent(@TextEventInterpretation.TextEvent int textE private ParseTree mParseTree; private final VariablesFactory mVariablesFactory; - private boolean mParseTreeIsStale = false; - ///////////////////////////////////////////////////////////////////////////////// // Inner classes @@ -256,18 +334,6 @@ public interface Speaker { void speak(CharSequence text, @Nullable EventId eventId, SpeakOptions options); } - // Verbosity setting constants. - static class Constants { - @Flavor int mFlavor = FLAVOR_NONE; - boolean mSpeakRoles = true; - boolean mSpeakCollectionInfo = true; - @DescriptionOrder int mDescriptionOrder = DESC_ORDER_ROLE_NAME_STATE_POSITION; - boolean mSpeakElementIds = false; - boolean mSpeakSystemWindowTitles = true; - } - - private final Constants mConstants = new Constants(); - ///////////////////////////////////////////////////////////////////////////////// // Construction methods @@ -279,11 +345,10 @@ public Compositor( @Flavor int flavor) { this.speechController = speechController; mVariablesFactory = new VariablesFactory(context, globalVariables, imageContents); - mConstants.mFlavor = flavor; mContext = context; long startTime = SystemClock.uptimeMillis(); - mParseTree = refreshParseTree(mContext, mVariablesFactory, mConstants); + mParseTree = refreshParseTree(mContext, mVariablesFactory, flavor); long endTime = SystemClock.uptimeMillis(); LogUtils.i( TAG, @@ -310,48 +375,6 @@ public void setUserPreferredLanguage(Locale locale) { mVariablesFactory.setUserPreferredLocale(locale); } - public void setSpeakCollectionInfo(boolean speakCollectionInfo) { - if (speakCollectionInfo != mConstants.mSpeakCollectionInfo) { - mConstants.mSpeakCollectionInfo = speakCollectionInfo; - mParseTreeIsStale = true; - } - } - - public void setSpeakRoles(boolean speakRoles) { - if (speakRoles != mConstants.mSpeakRoles) { - mConstants.mSpeakRoles = speakRoles; - mParseTreeIsStale = true; - } - } - - public void setSpeakSystemWindowTitles(boolean speakSystemWindowTitles) { - if (speakSystemWindowTitles != mConstants.mSpeakSystemWindowTitles) { - mConstants.mSpeakSystemWindowTitles = speakSystemWindowTitles; - mParseTreeIsStale = true; - } - } - - public void setDescriptionOrder(@DescriptionOrder int descOrderInt) { - if (descOrderInt != mConstants.mDescriptionOrder) { - mConstants.mDescriptionOrder = descOrderInt; - mParseTreeIsStale = true; - } - } - - public void setSpeakElementIds(boolean speakElementIds) { - if (speakElementIds != mConstants.mSpeakElementIds) { - mConstants.mSpeakElementIds = speakElementIds; - mParseTreeIsStale = true; - } - } - - public void refreshParseTreeIfNeeded() { - if (mParseTreeIsStale) { - mParseTreeIsStale = false; - mParseTree = refreshParseTree(mContext, mVariablesFactory, mConstants); - } - } - ///////////////////////////////////////////////////////////////////////////////// // Feedback mapping methods @@ -674,10 +697,9 @@ private int getSpeechFlags(int event, int clearQueueGroup, ParseTree.VariableDel } private static ParseTree refreshParseTree( - Context context, VariablesFactory variablesFactory, Constants constants) { + Context context, VariablesFactory variablesFactory, @Flavor int flavor) { ParseTree parseTree = new ParseTree(context.getResources(), context.getPackageName()); - declareConstants(parseTree, constants); declareEnums(parseTree); declareEvents(parseTree); variablesFactory.declareVariables(parseTree); @@ -693,19 +715,6 @@ private static ParseTree refreshParseTree( return parseTree; } - private static void declareConstants(ParseTree parseTree, Constants constants) { - // Declare constans from verbosity settings. - parseTree.setConstantBool("VERBOSITY_SPEAK_ROLE", constants.mSpeakRoles); - parseTree.setConstantBool("VERBOSITY_SPEAK_COLLECTION_INFO", constants.mSpeakCollectionInfo); - parseTree.setConstantBool( - "VERBOSITY_SPEAK_SYSTEM_WINDOW_TITLE", constants.mSpeakSystemWindowTitles); - parseTree.setConstantEnum( - "VERBOSITY_DESCRIPTION_ORDER", - ENUM_VERBOSITY_DESCRIPTION_ORDER, - constants.mDescriptionOrder); - parseTree.setConstantBool("VERBOSITY_SPEAK_ELEMENT_IDS", constants.mSpeakElementIds); - } - private static void declareEnums(ParseTree parseTree) { Map queueModes = new HashMap<>(); queueModes.put(SpeechController.QUEUE_MODE_INTERRUPT, "interrupt"); @@ -804,8 +813,6 @@ private static void declareEnums(ParseTree parseTree) { private static void declareEvents(ParseTree parseTree) { // Service events. parseTree.addEvent("SpokenFeedbackOn", EVENT_SPOKEN_FEEDBACK_ON); - parseTree.addEvent("SpokenFeedbackSuspended", EVENT_SPOKEN_FEEDBACK_SUSPENDED); - parseTree.addEvent("SpokenFeedbackResumed", EVENT_SPOKEN_FEEDBACK_RESUMED); parseTree.addEvent("SpokenFeedbackDisabled", EVENT_SPOKEN_FEEDBACK_DISABLED); parseTree.addEvent("CapsLockOn", EVENT_CAPS_LOCK_ON); parseTree.addEvent("CapsLockOff", EVENT_CAPS_LOCK_OFF); @@ -816,7 +823,7 @@ private static void declareEvents(ParseTree parseTree) { parseTree.addEvent("OrientationPortrait", EVENT_ORIENTATION_PORTRAIT); parseTree.addEvent("OrientationLandscape", EVENT_ORIENTATION_LANDSCAPE); parseTree.addEvent("Hint", EVENT_SPEAK_HINT); - parseTree.addEvent("ScreenMagnificationChanged", EVENT_SCREEN_MAGNIFICATION_CHANGED); + parseTree.addEvent("MagnificationChanged", EVENT_MAGNIFICATION_CHANGED); // Accessibility events. parseTree.addEvent( @@ -826,7 +833,7 @@ private static void declareEvents(ParseTree parseTree) { parseTree.addEvent("TYPE_VIEW_CLICKED", AccessibilityEvent.TYPE_VIEW_CLICKED); parseTree.addEvent("TYPE_VIEW_LONG_CLICKED", AccessibilityEvent.TYPE_VIEW_LONG_CLICKED); parseTree.addEvent( - "TYPE_NOTIFICATION_STATE_CHANGED", AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED); + "TYPE_NOTIFICATION_STATE_CHANGED", TYPE_NOTIFICATION_STATE_CHANGED); parseTree.addEvent( "TYPE_WINDOW_CONTENT_CHANGED", AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED); parseTree.addEvent("TYPE_VIEW_SELECTED", AccessibilityEvent.TYPE_VIEW_SELECTED); @@ -913,10 +920,6 @@ public static String eventTypeToString(int eventType) { return "EVENT_UNKNOWN"; case EVENT_SPOKEN_FEEDBACK_ON: return "EVENT_SPOKEN_FEEDBACK_ON"; - case EVENT_SPOKEN_FEEDBACK_SUSPENDED: - return "EVENT_SPOKEN_FEEDBACK_SUSPENDED"; - case EVENT_SPOKEN_FEEDBACK_RESUMED: - return "EVENT_SPOKEN_FEEDBACK_RESUMED"; case EVENT_SPOKEN_FEEDBACK_DISABLED: return "EVENT_SPOKEN_FEEDBACK_DISABLED"; case EVENT_CAPS_LOCK_ON: @@ -941,6 +944,8 @@ public static String eventTypeToString(int eventType) { return "EVENT_SCROLL_POSITION"; case EVENT_INPUT_DESCRIBE_NODE: return "EVENT_INPUT_DESCRIBE_NODE"; + case EVENT_MAGNIFICATION_CHANGED: + return "EVENT_MAGNIFICATION_CHANGED"; case EVENT_TYPE_INPUT_TEXT_CLEAR: return "EVENT_TYPE_INPUT_TEXT_CLEAR"; case EVENT_TYPE_INPUT_TEXT_REMOVE: diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/EventFilter.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/EventFilter.java new file mode 100644 index 000000000..68e08a140 --- /dev/null +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/EventFilter.java @@ -0,0 +1,165 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.talkback.compositor; + +import android.app.Notification; +import android.content.Context; +import android.view.accessibility.AccessibilityEvent; +import com.google.android.accessibility.utils.AccessibilityEventUtils; +import com.google.android.accessibility.utils.Performance.EventId; +import com.google.android.accessibility.utils.Role; +import com.google.android.accessibility.utils.input.TextEventInterpreter; +import com.google.android.accessibility.utils.monitor.TouchMonitor; +import com.google.android.accessibility.utils.monitor.VoiceActionDelegate; +import com.google.android.libraries.accessibility.utils.log.LogUtils; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.nullness.qual.Nullable; + +/** + * Determines whether events should be passed on to the compositor. Also interprets events into more + * specific event types, and extracts data from events. + */ +public class EventFilter { + + private static final String TAG = "EventFilter"; + + /////////////////////////////////////////////////////////////////////////////////// + // Constants + + /** The minimum interval (in milliseconds) between scroll feedback events. */ + private static final long MIN_SCROLL_INTERVAL = 250; + + /////////////////////////////////////////////////////////////////////////////////// + // Member variables + + private final Compositor compositor; + private VoiceActionDelegate voiceActionDelegate; + + private AccessibilityFocusEventInterpreter accessibilityFocusEventInterpreter; + private final GlobalVariables globalVariables; + + private final @NonNull TouchMonitor touchMonitor; + + // ///////////////////////////////////////////////////////////////////////////////// + // Construction + + public EventFilter( + Compositor compositor, + Context context, + @NonNull TouchMonitor touchMonitor, + GlobalVariables globalVariables) { + this.compositor = compositor; + this.touchMonitor = touchMonitor; + this.globalVariables = globalVariables; + } + + /////////////////////////////////////////////////////////////////////////////////// + // Methods + + public void setVoiceActionDelegate(VoiceActionDelegate delegate) { + voiceActionDelegate = delegate; + } + + public void setAccessibilityFocusEventInterpreter( + AccessibilityFocusEventInterpreter interpreter) { + accessibilityFocusEventInterpreter = interpreter; + } + + public void sendEvent(AccessibilityEvent event, @Nullable EventId eventId) { + // Update persistent state. + globalVariables.updateStateFromEvent(event); + + // Interpret event more specifically, and extract data from event. + EventInterpretation eventInterpreted = + new EventInterpretation(Compositor.toCompositorEvent(event)); + AccessibilityFocusEventInterpretation a11yFocusEventInterpreted = + (accessibilityFocusEventInterpreter == null) + ? null + : accessibilityFocusEventInterpreter.interpret(event); + if (a11yFocusEventInterpreted != null) { + eventInterpreted.setEvent(a11yFocusEventInterpreted.getEvent()); + eventInterpreted.setAccessibilityFocusInterpretation(a11yFocusEventInterpreted); + } + + eventInterpreted.setReadOnly(); + + int eventType = eventInterpreted.getEvent(); + if (eventType == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED) { + // Drop accessibility-focus events based on EventState. + // TODO: Remove this when focus management is done. + { + if (globalVariables.checkAndClearRecentFlag( + GlobalVariables.EVENT_SKIP_FOCUS_PROCESSING_AFTER_GRANULARITY_MOVE) + || globalVariables.checkAndClearRecentFlag( + GlobalVariables.EVENT_SKIP_FOCUS_PROCESSING_AFTER_CURSOR_CONTROL) + || globalVariables.checkAndClearRecentFlag( + GlobalVariables.EVENT_SKIP_FOCUS_PROCESSING_AFTER_IME_CLOSED)) { + return; + } + if ((a11yFocusEventInterpreted != null) + && a11yFocusEventInterpreted.getShouldMuteFeedback()) { + return; + } + } + } else if (eventType == AccessibilityEvent.TYPE_VIEW_HOVER_ENTER) { + // For focus fallback events, drop events with a source node. + if (AccessibilityEventUtils.sourceCompat(event) != null) { + return; + } + } else if (eventType == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) { + // Event notification + // REFERTO. If the user is touching on screen, skip event. + // For toast events, the notification parcel is null. (Use event text instead.) + Notification notification = AccessibilityEventUtils.extractNotification(event); + if ((notification != null) && touchMonitor.isUserTouchingScreen()) { + return; + } + if ((voiceActionDelegate != null) + && voiceActionDelegate.isVoiceRecognitionActive() + && (Role.getSourceRole(event) == Role.ROLE_TOAST)) { + LogUtils.d(TAG, "Do not announce the toast: Voice recognition is active."); + return; + } + } else if (eventType == AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED + || eventType == AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED + || eventType == AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY) { + return; // Text-events only travel through TextEventInterpreter. + } else { + // Let event go to compositor. + } + + compositor.handleEvent(event, eventId, eventInterpreted); + } + + /** Passes text-event-interpretation to compositor. */ + public void accept(TextEventInterpreter.Interpretation textEventInterpreted) { + AccessibilityEvent event = textEventInterpreted.event; + globalVariables.setLastTextEditIsPassword(event.isPassword()); + + int eventType = + (textEventInterpreted.interpretation == null) + ? Compositor.toCompositorEvent(event) + : Compositor.toCompositorEvent(textEventInterpreted.interpretation.getEvent()); + EventInterpretation eventInterpreted = new EventInterpretation(eventType); + eventInterpreted.setTextEventInterpretation(textEventInterpreted.interpretation); + eventInterpreted.setPackageName(event.getPackageName()); + eventInterpreted.setReadOnly(); + + compositor.handleEvent(event, textEventInterpreted.eventId, eventInterpreted); + } + +} diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/EventInterpretation.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/EventInterpretation.java similarity index 98% rename from compositor/src/main/java/com/google/android/accessibility/compositor/EventInterpretation.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/EventInterpretation.java index 3369a779f..116cfce97 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/EventInterpretation.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/EventInterpretation.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; import androidx.annotation.Nullable; import com.google.android.accessibility.utils.ReadOnly; diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/EventVariables.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/EventVariables.java similarity index 93% rename from compositor/src/main/java/com/google/android/accessibility/compositor/EventVariables.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/EventVariables.java index 0c207a184..52dac9d29 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/EventVariables.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/EventVariables.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; import android.app.Notification; import android.content.Context; @@ -22,6 +22,8 @@ import android.view.View; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTree; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTree.VariableDelegate; import com.google.android.accessibility.utils.AccessibilityEventUtils; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.LocaleUtils; @@ -29,8 +31,6 @@ import com.google.android.accessibility.utils.Role; import com.google.android.accessibility.utils.StringBuilderUtils; import com.google.android.accessibility.utils.output.SpeechCleanupUtils; -import com.google.android.accessibility.utils.parsetree.ParseTree; -import com.google.android.accessibility.utils.parsetree.ParseTree.VariableDelegate; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -75,6 +75,9 @@ class EventVariables implements VariableDelegate { private static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 8402; private static final int CONTENT_CHANGE_TYPE_TEXT = 8403; private static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 8404; + private static final int CONTENT_CHANGE_TYPE_DRAG_STARTED = 8405; + private static final int CONTENT_CHANGE_TYPE_DRAG_DROPPED = 8406; + private static final int CONTENT_CHANGE_TYPE_DRAG_CANCELLED = 8407; // Constants used for ENUM_NOTIFICATION_CATEGORY. private static final int NOTIFICATION_CATEGORY_NONE = -1; @@ -124,7 +127,7 @@ public boolean getBoolean(int variableId) { case EVENT_SOURCE_IS_NULL: return (mSource == null); case EVENT_SOURCE_IS_KEYBOARD: - return AccessibilityNodeInfoUtils.isKeyboard(mEvent, mSource); + return AccessibilityNodeInfoUtils.isKeyboard(mSource); case EVENT_IS_WINDOW_CONTENT_CHANGED: return mEvent.getEventType() == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED; case EVENT_SOURCE_IS_LIVE_REGION: @@ -312,6 +315,9 @@ static void declareVariables(ParseTree parseTree) { contentChangeTypes.put(CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION, "content_description"); contentChangeTypes.put(CONTENT_CHANGE_TYPE_TEXT, "text"); contentChangeTypes.put(CONTENT_CHANGE_TYPE_STATE_DESCRIPTION, "state_description"); + contentChangeTypes.put(CONTENT_CHANGE_TYPE_DRAG_STARTED, "drag_started"); + contentChangeTypes.put(CONTENT_CHANGE_TYPE_DRAG_DROPPED, "drag_dropped"); + contentChangeTypes.put(CONTENT_CHANGE_TYPE_DRAG_CANCELLED, "drag_cancelled"); parseTree.addEnum(ENUM_CONTENT_CHANGE_TYPE, contentChangeTypes); // Variables. @@ -352,6 +358,17 @@ private static int getContentChangeType(int contentChangeTypes) { if ((contentChangeTypes & AccessibilityEvent.CONTENT_CHANGE_TYPE_STATE_DESCRIPTION) != 0) { return CONTENT_CHANGE_TYPE_STATE_DESCRIPTION; } + if ((contentChangeTypes & AccessibilityEvent.CONTENT_CHANGE_TYPE_DRAG_STARTED) != 0) { + return CONTENT_CHANGE_TYPE_DRAG_STARTED; + } + + if ((contentChangeTypes & AccessibilityEvent.CONTENT_CHANGE_TYPE_DRAG_DROPPED) != 0) { + return CONTENT_CHANGE_TYPE_DRAG_DROPPED; + } + + if ((contentChangeTypes & AccessibilityEvent.CONTENT_CHANGE_TYPE_DRAG_CANCELLED) != 0) { + return CONTENT_CHANGE_TYPE_DRAG_CANCELLED; + } if (contentChangeTypes == AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED) { return CONTENT_CHANGE_TYPE_UNDEFINED; } diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/GestureShortcutProvider.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/GestureShortcutProvider.java similarity index 93% rename from compositor/src/main/java/com/google/android/accessibility/compositor/GestureShortcutProvider.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/GestureShortcutProvider.java index c536195a9..41561da5b 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/GestureShortcutProvider.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/GestureShortcutProvider.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; import androidx.annotation.Nullable; diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/GlobalVariables.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/GlobalVariables.java similarity index 85% rename from compositor/src/main/java/com/google/android/accessibility/compositor/GlobalVariables.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/GlobalVariables.java index 03e8e0c71..673553b44 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/GlobalVariables.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/GlobalVariables.java @@ -14,8 +14,13 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; +import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_FULLSCREEN; +import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_WINDOW; +import static com.google.android.accessibility.talkback.compositor.Compositor.DESC_ORDER_ROLE_NAME_STATE_POSITION; +import static com.google.android.accessibility.talkback.compositor.Compositor.ENUM_VERBOSITY_DESCRIPTION_ORDER; +import static com.google.android.accessibility.talkback.eventprocessor.ProcessorMagnification.STATE_OFF; import static com.google.android.accessibility.utils.input.InputModeManager.INPUT_MODE_KEYBOARD; import static com.google.android.accessibility.utils.input.InputModeManager.INPUT_MODE_NON_ALPHABETIC_KEYBOARD; import static com.google.android.accessibility.utils.input.InputModeManager.INPUT_MODE_TOUCH; @@ -29,23 +34,27 @@ import android.view.Display; import android.view.accessibility.AccessibilityEvent; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.compositor.Compositor.DescriptionOrder; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTree; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTree.VariableDelegate; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTreeJoinNode; +import com.google.android.accessibility.talkback.eventprocessor.ProcessorMagnification; +import com.google.android.accessibility.talkback.eventprocessor.ProcessorMagnification.MagnificationState; +import com.google.android.accessibility.talkback.keyboard.KeyComboManager; +import com.google.android.accessibility.talkback.keyboard.KeyComboModel; import com.google.android.accessibility.utils.AccessibilityEventUtils; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.CollectionState; import com.google.android.accessibility.utils.FeatureSupport; +import com.google.android.accessibility.utils.KeyboardUtils; import com.google.android.accessibility.utils.Role; import com.google.android.accessibility.utils.SpannableUtils; import com.google.android.accessibility.utils.TimedFlags; import com.google.android.accessibility.utils.compat.provider.SettingsCompatUtils; import com.google.android.accessibility.utils.input.InputModeManager; import com.google.android.accessibility.utils.input.WindowsDelegate; -import com.google.android.accessibility.utils.keyboard.KeyComboManager; -import com.google.android.accessibility.utils.keyboard.KeyComboModel; -import com.google.android.accessibility.utils.keyboard.KeyboardUtils; import com.google.android.accessibility.utils.output.SpeechCleanupUtils; -import com.google.android.accessibility.utils.parsetree.ParseTree; -import com.google.android.accessibility.utils.parsetree.ParseTree.VariableDelegate; -import com.google.android.accessibility.utils.parsetree.ParseTreeJoinNode; import com.google.android.apps.common.proguard.UsedByReflection; import com.google.android.libraries.accessibility.utils.log.LogUtils; import com.google.common.base.Ascii; @@ -61,6 +70,7 @@ public class GlobalVariables extends TimedFlags implements ParseTree.VariableDel private static final String TAG = "GlobalVariables"; // Parameters used in join statement. private static final CharSequence SEPARATOR = ", "; + private static final CharSequence EMPTY_STRING = ""; private static final boolean PRUNE_EMPTY = true; public static final int EVENT_SKIP_FOCUS_PROCESSING_AFTER_GRANULARITY_MOVE = 1; @@ -131,11 +141,17 @@ public class GlobalVariables extends TimedFlags implements ParseTree.VariableDel private static final int KEY_COMBO_HAS_KEY_FOR_LONG_CLICK = 6402; private static final int KEY_COMBO_STRING_FOR_LONG_CLICK = 6403; - private static final int SCREEN_MAGNIFICATION_LAST_SCALE = 6500; - private static final int SCREEN_MAGNIFICATION_CURRENT_SCALE = 6501; + private static final int MAGNIFICATION_STATE_CHANGED = 6500; private static final int GESTURE_STRING_FOR_NODE_ACTIONS = 6600; + // Verbosity + private static final int VERBOSITY_SPEAK_ROLES = 10001; + private static final int VERBOSITY_SPEAK_COLLECTION_INFO = 10002; + private static final int VERBOSITY_DESCRIPTION_ORDER = 10003; + private static final int VERBOSITY_SPEAK_ELEMENT_IDS = 10004; + private static final int VERBOSITY_SPEAK_SYSTEM_WINDOW_TITLES = 10005; + private final Context mContext; private final AccessibilityService mService; private final InputModeManager mInputModeManager; @@ -151,8 +167,10 @@ public class GlobalVariables extends TimedFlags implements ParseTree.VariableDel private int mCurrentWindowId = -1; private int currentDisplayId = Display.INVALID_DISPLAY; - private float mScreenMagnificationLastScale = -1.0f; - private float mScreenMagnificationCurrentScale = -1.0f; + private Integer magnificationMode = null; + private float magnificationCurrentScale = -1.0f; + private @MagnificationState int magnificationState = STATE_OFF; + private boolean mSelectionModeActive; private boolean mLastTextEditIsPassword; @@ -170,6 +188,13 @@ public class GlobalVariables extends TimedFlags implements ParseTree.VariableDel // It's enabled when [Say capital] is configured. private boolean sayCapital = false; + // Verbosity settings + private boolean speakRoles = true; + private boolean speakCollectionInfo = true; + @DescriptionOrder private int descriptionOrder = DESC_ORDER_ROLE_NAME_STATE_POSITION; + private boolean speakElementIds = false; + private boolean speakSystemWindowTitles = true; + public GlobalVariables( AccessibilityService service, InputModeManager inputModeManager, @@ -270,12 +295,21 @@ void declareVariables(ParseTree parseTree) { parseTree.addStringVariable( "keyCombo.stringRepresentationForLongClick", KEY_COMBO_STRING_FOR_LONG_CLICK); - parseTree.addNumberVariable("screenMagnification.lastScale", SCREEN_MAGNIFICATION_LAST_SCALE); - parseTree.addNumberVariable( - "screenMagnification.currentScale", SCREEN_MAGNIFICATION_CURRENT_SCALE); + parseTree.addStringVariable("magnification.stateChanged", MAGNIFICATION_STATE_CHANGED); parseTree.addStringVariable("gesture.nodeMenuShortcut", GESTURE_STRING_FOR_NODE_ACTIONS); + // Verbosity + parseTree.addBooleanVariable("verbosity.speakRole", VERBOSITY_SPEAK_ROLES); + parseTree.addBooleanVariable("verbosity.speakCollectionInfo", VERBOSITY_SPEAK_COLLECTION_INFO); + parseTree.addBooleanVariable( + "verbosity.speakSystemWindowTitles", VERBOSITY_SPEAK_SYSTEM_WINDOW_TITLES); + parseTree.addEnumVariable( + "verbosity.descriptionOrder", + VERBOSITY_DESCRIPTION_ORDER, + ENUM_VERBOSITY_DESCRIPTION_ORDER); + parseTree.addBooleanVariable("verbosity.speakElementIds", VERBOSITY_SPEAK_ELEMENT_IDS); + // Functions parseTree.addFunction("cleanUp", this); parseTree.addFunction("collapseRepeatedCharactersAndCleanUp", this); @@ -285,6 +319,7 @@ void declareVariables(ParseTree parseTree) { parseTree.addFunction("getWindowTitle", this); parseTree.addFunction("round", this); parseTree.addFunction("roundForProgressPercent", this); + parseTree.addFunction("roundForProgressInt", this); parseTree.addFunction("spelling", this); parseTree.addFunction("equals", this); parseTree.addFunction("dedupJoin", this); @@ -292,27 +327,23 @@ void declareVariables(ParseTree parseTree) { } public void updateStateFromEvent(AccessibilityEvent event) { - switch (event.getEventType()) { - case AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED: - { - final AccessibilityNodeInfoCompat sourceNode = - AccessibilityNodeInfoUtils.toCompat(event.getSource()); - // Transition the collection state if necessary. - mCollectionState.updateCollectionInformation(sourceNode, event); - if (sourceNode != null) { - final AccessibilityNodeInfoCompat scrollableNode = - AccessibilityNodeInfoUtils.getSelfOrMatchingAncestor( - sourceNode, AccessibilityNodeInfoUtils.FILTER_SCROLLABLE); - mIsLastFocusInScrollableNode = mIsCurrentFocusInScrollableNode; - mIsCurrentFocusInScrollableNode = (scrollableNode != null); - - mLastWindowId = mCurrentWindowId; - mCurrentWindowId = sourceNode.getWindowId(); - currentDisplayId = AccessibilityEventUtils.getDisplayId(event); - } - } - break; - default: // fall out + int eventType = event.getEventType(); + if (eventType == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED) { + final AccessibilityNodeInfoCompat sourceNode = + AccessibilityNodeInfoUtils.toCompat(event.getSource()); + // Transition the collection state if necessary. + mCollectionState.updateCollectionInformation(sourceNode, event); + if (sourceNode != null) { + final AccessibilityNodeInfoCompat scrollableNode = + AccessibilityNodeInfoUtils.getSelfOrMatchingAncestor( + sourceNode, AccessibilityNodeInfoUtils.FILTER_SCROLLABLE); + mIsLastFocusInScrollableNode = mIsCurrentFocusInScrollableNode; + mIsCurrentFocusInScrollableNode = (scrollableNode != null); + + mLastWindowId = mCurrentWindowId; + mCurrentWindowId = sourceNode.getWindowId(); + currentDisplayId = AccessibilityEventUtils.getDisplayId(event); + } } } @@ -336,12 +367,11 @@ public void setUseAudioFocus(boolean value) { mUseAudioFocus = value; } - public void setScreenMagnificationLastScale(float scale) { - mScreenMagnificationLastScale = scale; - } - - public void setScreenMagnificationCurrentScale(float scale) { - mScreenMagnificationCurrentScale = scale; + public void updateMagnificationState( + @Nullable Integer mode, float currentScale, @MagnificationState int state) { + magnificationMode = mode; + magnificationCurrentScale = currentScale; + magnificationState = state; } public void setSelectionModeActive(boolean value) { @@ -385,6 +415,26 @@ public void setInterpretAsEntryKey(boolean interpretAsEntryKey) { isInterpretAsEntryKey = interpretAsEntryKey; } + public void setSpeakCollectionInfo(boolean value) { + speakCollectionInfo = value; + } + + public void setSpeakRoles(boolean value) { + speakRoles = value; + } + + public void setSpeakSystemWindowTitles(boolean value) { + speakSystemWindowTitles = value; + } + + public void setDescriptionOrder(@DescriptionOrder int value) { + descriptionOrder = value; + } + + public void setSpeakElementIds(boolean value) { + speakElementIds = value; + } + @Override public boolean getBoolean(int variableId) { switch (variableId) { @@ -447,6 +497,16 @@ public boolean getBoolean(int variableId) { != KeyComboModel.KEY_COMBO_CODE_UNASSIGNED; case GLOBAL_INTERPRET_AS_ENTRY_KEY: return isInterpretAsEntryKey; + + // Verbosity + case VERBOSITY_SPEAK_ROLES: + return speakRoles; + case VERBOSITY_SPEAK_COLLECTION_INFO: + return speakCollectionInfo; + case VERBOSITY_SPEAK_ELEMENT_IDS: + return speakElementIds; + case VERBOSITY_SPEAK_SYSTEM_WINDOW_TITLES: + return speakSystemWindowTitles; default: return false; } @@ -485,10 +545,6 @@ public int getInteger(int variableId) { @Override public double getNumber(int variableId) { switch (variableId) { - case SCREEN_MAGNIFICATION_LAST_SCALE: - return mScreenMagnificationLastScale; - case SCREEN_MAGNIFICATION_CURRENT_SCALE: - return mScreenMagnificationCurrentScale; case GLOBAL_SPEECH_RATE_CHANGE: return mSpeechRate; default: @@ -563,6 +619,31 @@ public double getNumber(int variableId) { : mContext.getString(R.string.template_hint_seek_control); } return result; + + case MAGNIFICATION_STATE_CHANGED: + int currentScale = (int) (magnificationCurrentScale * 100); + if (magnificationState == ProcessorMagnification.STATE_ON) { + if (magnificationMode == null) { + return mContext.getString(R.string.template_magnification_on, currentScale); + } else if (magnificationMode.equals(MAGNIFICATION_MODE_FULLSCREEN)) { + return mContext.getString(R.string.template_fullscreen_magnification_on, currentScale); + } else if (magnificationMode.equals(MAGNIFICATION_MODE_WINDOW)) { + return mContext.getString(R.string.template_partial_magnification_on, currentScale); + } + } else if (magnificationState == STATE_OFF) { + return mContext.getString(R.string.magnification_off); + } else if (magnificationState == ProcessorMagnification.STATE_SCALE_CHANGED) { + if (magnificationMode == null) { + return mContext.getString(R.string.template_magnification_scale_changed, currentScale); + } else if (magnificationMode.equals(MAGNIFICATION_MODE_FULLSCREEN)) { + return mContext.getString( + R.string.template_fullscreen_magnification_scale_changed, currentScale); + } else if (magnificationMode.equals(MAGNIFICATION_MODE_WINDOW)) { + return mContext.getString( + R.string.template_partial_magnification_scale_changed, currentScale); + } + } + return ""; default: return ""; } @@ -735,6 +816,9 @@ private CharSequence getCollectionName(int stringResId, int withNameStringResId) } private CharSequence getCollectionNameWithRoleDescriptionEnter() { + if (TextUtils.isEmpty(mCollectionState.getCollectionRoleDescription())) { + return EMPTY_STRING; + } if (mCollectionState.getCollectionName() != null) { return mContext.getString( R.string.in_collection_role_description_with_name, @@ -747,6 +831,9 @@ private CharSequence getCollectionNameWithRoleDescriptionEnter() { } private CharSequence getCollectionNameWithRoleDescriptionExit() { + if (TextUtils.isEmpty(mCollectionState.getCollectionRoleDescription())) { + return EMPTY_STRING; + } if (mCollectionState.getCollectionName() != null) { return mContext.getString( R.string.out_of_role_description_with_name, @@ -838,6 +925,8 @@ public int getEnum(int variableId) { CollectionState.TableItemState itemState = mCollectionState.getTableItemState(); return itemState != null ? itemState.getHeadingType() : 0; } + case VERBOSITY_DESCRIPTION_ORDER: + return descriptionOrder; default: return 0; } @@ -1008,6 +1097,11 @@ private static int roundForProgressPercent(double value) { return AccessibilityNodeInfoUtils.roundForProgressPercent(value); } + @UsedByReflection("compositor.json") + private static int roundForProgressInt(double value) { + return (int) (value); + } + @UsedByReflection("compositor.json") private CharSequence prependCapital(CharSequence s) { if (TextUtils.isEmpty(s) || !sayCapital) { diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/HintEventInterpretation.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/HintEventInterpretation.java similarity index 98% rename from compositor/src/main/java/com/google/android/accessibility/compositor/HintEventInterpretation.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/HintEventInterpretation.java index 5cd657601..87d54d346 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/HintEventInterpretation.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/HintEventInterpretation.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; import androidx.annotation.IntDef; import androidx.annotation.Nullable; diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/InterpretationVariables.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/InterpretationVariables.java similarity index 98% rename from compositor/src/main/java/com/google/android/accessibility/compositor/InterpretationVariables.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/InterpretationVariables.java index 006318722..0381efe04 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/InterpretationVariables.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/InterpretationVariables.java @@ -14,15 +14,15 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; import android.content.Context; import androidx.annotation.Nullable; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTree; import com.google.android.accessibility.utils.LocaleUtils; import com.google.android.accessibility.utils.PackageManagerUtils; import com.google.android.accessibility.utils.input.TextEventInterpretation; import com.google.android.accessibility.utils.output.SpeechCleanupUtils; -import com.google.android.accessibility.utils.parsetree.ParseTree; import com.google.android.libraries.accessibility.utils.log.LogUtils; import java.util.HashMap; import java.util.Locale; diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/NodeMenuProvider.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/NodeMenuProvider.java similarity index 94% rename from compositor/src/main/java/com/google/android/accessibility/compositor/NodeMenuProvider.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/NodeMenuProvider.java index 50e30eb06..64629fac7 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/NodeMenuProvider.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/NodeMenuProvider.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import java.util.List; diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/NodeVariables.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/NodeVariables.java similarity index 97% rename from compositor/src/main/java/com/google/android/accessibility/compositor/NodeVariables.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/NodeVariables.java index 4a11104c5..5262bc640 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/NodeVariables.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/NodeVariables.java @@ -14,17 +14,18 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; -import android.annotation.TargetApi; import android.content.Context; -import android.os.Build; import android.text.Spannable; import android.text.style.LocaleSpan; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat; import androidx.core.view.accessibility.AccessibilityWindowInfoCompat; +import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTree; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTree.VariableDelegate; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.BuildVersionUtils; import com.google.android.accessibility.utils.ImageContents; @@ -33,8 +34,6 @@ import com.google.android.accessibility.utils.Role; import com.google.android.accessibility.utils.WebInterfaceUtils; import com.google.android.accessibility.utils.output.SpeechCleanupUtils; -import com.google.android.accessibility.utils.parsetree.ParseTree; -import com.google.android.accessibility.utils.parsetree.ParseTree.VariableDelegate; import com.google.android.accessibility.utils.traversal.ReorderedChildrenIterator; import com.google.android.libraries.accessibility.utils.log.LogUtils; import com.google.common.base.Joiner; @@ -202,11 +201,10 @@ private static boolean isKeyboardEvent(AccessibilityNodeInfoCompat node) { private void setVisitedNodes(Set visitedNodes) { mVisitedNodes = visitedNodes; if (mVisitedNodes != null && !mVisitedNodes.contains(mNode)) { - mVisitedNodes.add(AccessibilityNodeInfoUtils.obtain(mNode)); + mVisitedNodes.add(mNode); } } - @TargetApi(Build.VERSION_CODES.O) @Override public boolean getBoolean(int variableId) { switch (variableId) { @@ -452,7 +450,7 @@ public int getEnum(int variableId) { imageContents, nodeMenuProvider, mParentVariables, - AccessibilityNodeInfoUtils.obtain(mLabelNode), + mLabelNode, mUserPreferredLocale); } case NODE_PARENT: @@ -470,7 +468,7 @@ public int getEnum(int variableId) { imageContents, nodeMenuProvider, mParentVariables, - AccessibilityNodeInfoUtils.obtain(mParentNode), + mParentNode, mUserPreferredLocale); } case NODE_ACTION_CLICK: @@ -523,19 +521,18 @@ public int getArrayLength(int variableId) { imageContents, nodeMenuProvider, mParentVariables, - AccessibilityNodeInfoUtils.obtain(mChildNodes.get(index)), + mChildNodes.get(index), mVisitedNodes, mUserPreferredLocale); } case NODE_CHILDREN_ASCENDING: { - return constructForChildNode( mContext, imageContents, nodeMenuProvider, mParentVariables, - AccessibilityNodeInfoUtils.obtain(mChildNodesAscending.get(index)), + mChildNodesAscending.get(index), mVisitedNodes, mUserPreferredLocale); } @@ -603,7 +600,7 @@ private void collectChildNodesAscending() { private void createVisitedNodes() { if (mIsRoot) { mVisitedNodes = new HashSet<>(); - mVisitedNodes.add(AccessibilityNodeInfoUtils.obtain(mNode)); + mVisitedNodes.add(mNode); } } diff --git a/compositor/src/main/java/com/google/android/accessibility/compositor/VariablesFactory.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/VariablesFactory.java similarity index 89% rename from compositor/src/main/java/com/google/android/accessibility/compositor/VariablesFactory.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/VariablesFactory.java index c540b23d1..0482ebf06 100644 --- a/compositor/src/main/java/com/google/android/accessibility/compositor/VariablesFactory.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/VariablesFactory.java @@ -14,15 +14,15 @@ * the License. */ -package com.google.android.accessibility.compositor; +package com.google.android.accessibility.talkback.compositor; import android.content.Context; import android.view.accessibility.AccessibilityEvent; import androidx.annotation.Nullable; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTree; +import com.google.android.accessibility.talkback.compositor.parsetree.ParseTree.VariableDelegate; import com.google.android.accessibility.utils.ImageContents; -import com.google.android.accessibility.utils.parsetree.ParseTree; -import com.google.android.accessibility.utils.parsetree.ParseTree.VariableDelegate; import java.util.Locale; /** Provides an interface for creating VariableDelegates for the Compositor. */ @@ -82,12 +82,7 @@ VariableDelegate createLocalVariableDelegate( if (node != null) { delegate = new NodeVariables( - mContext, - imageContents, - nodeMenuProvider, - delegate, - AccessibilityNodeInfoCompat.obtain(node), - mUserPreferredLocale); + mContext, imageContents, nodeMenuProvider, delegate, node, mUserPreferredLocale); } return delegate; } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTree.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTree.java similarity index 95% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTree.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTree.java index be3dbd14f..f8c1a76ef 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTree.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTree.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import android.content.res.Resources; import android.text.TextUtils; @@ -267,7 +267,6 @@ *

    References

    * *
      - *
    • Constants: "#\w+", e.g. "#CONSTANT_NAME" *
    • Named nodes: "%\w+", e.g. "%node_name" *
    • Resources: "@(string|plurals|raw|array)/\w+" e.g. "@string/resource_name" *
        @@ -422,7 +421,6 @@ private static class TreeInfo { private final Map mEventNames = new HashMap<>(); private final Map mOutputNames = new HashMap<>(); private final Map mOutputs = new HashMap<>(); - private final Map mConstants = new HashMap<>(); private final Map mVariables = new HashMap<>(); private final Map> mEnums = new HashMap<>(); private final Map> mFunctions = new HashMap<>(); @@ -441,7 +439,6 @@ private TreeInfo(Resources resources, String packageName) { // Data used to build the parse tree. It's released once the tree is built. @Nullable private TreeInfo mTreeInfo; - private static final Pattern CONSTANT_PATTERN = Pattern.compile("#\\w+"); private static final Pattern NODE_PATTERN = Pattern.compile("%\\w+"); private static final Pattern RESOURCE_PATTERN = Pattern.compile("@(string|plurals|raw|array)/\\w+"); @@ -727,46 +724,6 @@ public void mergeTree(JSONObject definition) { } } - public void setConstantBool(String name, boolean value) { - if (mTreeInfo != null) { - mTreeInfo.mConstants.put(name, new ParseTreeBooleanConstantNode(value)); - } else { - LogUtils.w(TAG, "Parse tree has been built and is immutable"); - } - } - - public void setConstantInteger(String name, int value) { - if (mTreeInfo != null) { - mTreeInfo.mConstants.put(name, new ParseTreeIntegerConstantNode(value)); - } else { - LogUtils.w(TAG, "Parse tree has been built and is immutable"); - } - } - - public void setConstantNumber(String name, double value) { - if (mTreeInfo != null) { - mTreeInfo.mConstants.put(name, new ParseTreeNumberConstantNode(value)); - } else { - LogUtils.w(TAG, "Parse tree has been built and is immutable"); - } - } - - public void setConstantEnum(String name, int enumType, int value) { - if (mTreeInfo != null) { - mTreeInfo.mConstants.put(name, new ParseTreeIntegerConstantNode(value, enumType)); - } else { - LogUtils.w(TAG, "Parse tree has been built and is immutable"); - } - } - - public void setConstantString(String name, CharSequence value) { - if (mTreeInfo != null) { - mTreeInfo.mConstants.put(name, new ParseTreeStringConstantNode(value)); - } else { - LogUtils.w(TAG, "Parse tree has been built and is immutable"); - } - } - /** * Build the parse tree. Once this function is called, the parse tree can no longer be modified. * The only valid functions to call then are parseEventTo* @@ -1105,12 +1062,6 @@ private static ParseTreeNode createParseTreeFromStatement( String name = value.substring(offset + 1, tokenEnd); lvalue = createVariableNode(treeInfo, name); offset = tokenEnd; - } else if (current == '#') { - // Constant follows. - int tokenEnd = findTokenEnd(value, offset); - String name = value.substring(offset + 1, tokenEnd); - lvalue = createConstantNode(treeInfo, name); - offset = tokenEnd; } else if (current == '@') { // Resource follows. int tokenEnd = findTokenEnd(value, offset); @@ -1243,10 +1194,6 @@ private static ParseTreeNode createStringParseTreeFromString(TreeInfo treeInfo, parts.add(createVariableNode(treeInfo, value.substring(offset + 1, tokenEnd))); offset = tokenEnd; break; - case '#': - parts.add(createConstantNode(treeInfo, value.substring(offset + 1, tokenEnd))); - offset = tokenEnd; - break; case '@': ParseTreeResourceNode node = new ParseTreeResourceNode( @@ -1315,9 +1262,7 @@ private static ParseTreeNode createEnumParseTreeFromString( private static ParseTreeNode createArrayChildParseTreeFromString( TreeInfo treeInfo, String value) { - if (CONSTANT_PATTERN.matcher(value).matches()) { - return createConstantNode(treeInfo, value.substring(1)); - } else if (NODE_PATTERN.matcher(value).matches()) { + if (NODE_PATTERN.matcher(value).matches()) { String variableText = value.substring(1); return getOrCreateNamedNode( treeInfo, variableText, new VariableInfo(variableText, VARIABLE_ARRAY)); @@ -1424,8 +1369,6 @@ private static ParseTreeNode createSwitchParseTreeFromObject( } switchNode = createVariableNode(treeInfo, switchVariableName); - } else if (CONSTANT_PATTERN.matcher(switchVariable).matches()) { - switchNode = createConstantNode(treeInfo, switchVariable.substring(1)); } else { throw new IllegalStateException( "'switch' condition must be a variable or constant: " + switchVariable); @@ -1569,14 +1512,6 @@ private static ParseTreeNode createVariableNode(TreeInfo treeInfo, String name) } } - private static ParseTreeNode createConstantNode(TreeInfo treeInfo, String name) { - ParseTreeNode node = treeInfo.mConstants.get(name); - if (node == null) { - throw new IllegalStateException("Unknown constant: " + name); - } - return node; - } - private static ParseTreeNode createFunctionNode( TreeInfo treeInfo, String value, int nameOffset, int paramOffset, int paramEnd) { ParseTreeNode result = null; @@ -1681,11 +1616,7 @@ private static int findNextTokenStartInString(String value, int offset) { /** Returns true if the character at offset starts a token */ private static boolean isTokenStart(String value, int offset) { char current = value.charAt(offset); - return current == '@' - || current == '#' - || current == '$' - || current == '%' - || isFunctionStart(current); + return current == '@' || current == '$' || current == '%' || isFunctionStart(current); } /** Returns true if the character at offset starts a number */ @@ -1805,15 +1736,6 @@ private static int findTokenEnd(String value, int offset) { return matcher.end(); } - case '#': - { - Matcher matcher = CONSTANT_PATTERN.matcher(value); - if (!matcher.find(offset)) { - throw new IllegalStateException("Invalid constant string: " + value); - } - return matcher.end(); - } - case '$': { Matcher matcher = VARIABLE_PATTERN.matcher(value); @@ -2042,17 +1964,11 @@ private static String getString(String value, int start, int end) { } private static boolean isValidLvalueType(@VariableType int varType) { - switch (varType) { - case VARIABLE_BOOL: - case VARIABLE_INTEGER: - case VARIABLE_NUMBER: - case VARIABLE_STRING: - case VARIABLE_ENUM: - return true; - - default: - return false; - } + return varType == VARIABLE_BOOL + || varType == VARIABLE_INTEGER + || varType == VARIABLE_NUMBER + || varType == VARIABLE_STRING + || varType == VARIABLE_ENUM; } private static boolean isValidRvalueType(@VariableType int varType) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeArrayNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeArrayNode.java similarity index 95% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeArrayNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeArrayNode.java index 2fe845c20..55b5719cf 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeArrayNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeArrayNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import java.util.ArrayList; import java.util.List; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeBooleanConstantNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeBooleanConstantNode.java similarity index 93% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeBooleanConstantNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeBooleanConstantNode.java index fa5849bc9..acda61afa 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeBooleanConstantNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeBooleanConstantNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; class ParseTreeBooleanConstantNode extends ParseTreeNode { private final boolean mValue; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeCommentNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeCommentNode.java similarity index 98% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeCommentNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeCommentNode.java index 2075cd72c..3ae58e167 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeCommentNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeCommentNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import androidx.annotation.Nullable; import com.google.android.libraries.accessibility.utils.log.LogUtils; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeFallbackNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeFallbackNode.java similarity index 96% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeFallbackNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeFallbackNode.java index edd405c21..1627b0916 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeFallbackNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeFallbackNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import android.text.TextUtils; import java.util.ArrayList; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeForEachChildNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeForEachChildNode.java similarity index 96% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeForEachChildNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeForEachChildNode.java index 6f48f4f41..4adabc676 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeForEachChildNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeForEachChildNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import com.google.android.libraries.accessibility.utils.log.LogUtils; import java.util.ArrayList; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeForReferenceNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeForReferenceNode.java similarity index 98% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeForReferenceNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeForReferenceNode.java index c6a27605d..ec8ac2c19 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeForReferenceNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeForReferenceNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import androidx.annotation.Nullable; import java.util.ArrayList; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeFunctionNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeFunctionNode.java similarity index 93% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeFunctionNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeFunctionNode.java index 6e9359fc0..72c5752bc 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeFunctionNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeFunctionNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import com.google.android.libraries.accessibility.utils.log.LogUtils; import java.lang.reflect.Method; @@ -66,19 +66,10 @@ public boolean canCoerceTo(@ParseTree.VariableType int type) { return true; } - switch (mType) { - case ParseTree.VARIABLE_INTEGER: - return type == ParseTree.VARIABLE_NUMBER; - - case ParseTree.VARIABLE_BOOL: - case ParseTree.VARIABLE_NUMBER: - case ParseTree.VARIABLE_STRING: - case ParseTree.VARIABLE_ENUM: - case ParseTree.VARIABLE_ARRAY: - case ParseTree.VARIABLE_CHILD_ARRAY: - default: - return false; + if (mType == ParseTree.VARIABLE_INTEGER) { + return type == ParseTree.VARIABLE_NUMBER; } + return false; } @Override diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeIfNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeIfNode.java similarity index 98% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeIfNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeIfNode.java index 3c3d56c07..690068bcf 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeIfNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeIfNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import androidx.annotation.Nullable; import java.util.List; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeIntegerConstantNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeIntegerConstantNode.java similarity index 96% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeIntegerConstantNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeIntegerConstantNode.java index 32a176d3b..d749c7a0c 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeIntegerConstantNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeIntegerConstantNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; class ParseTreeIntegerConstantNode extends ParseTreeNode { private final int mValue; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeJoinNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeJoinNode.java similarity index 97% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeJoinNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeJoinNode.java index a6cc5842a..c4462f5b3 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeJoinNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeJoinNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import android.text.SpannableStringBuilder; import android.text.TextUtils; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeLengthNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeLengthNode.java similarity index 96% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeLengthNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeLengthNode.java index b5f12f702..a007a608d 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeLengthNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeLengthNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; class ParseTreeLengthNode extends ParseTreeNode { private final ParseTreeNode mParam; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeNode.java similarity index 97% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeNode.java index c6dfed4b6..c4f18293a 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import androidx.annotation.Nullable; import com.google.android.libraries.accessibility.utils.log.LogUtils; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeNotNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeNotNode.java similarity index 94% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeNotNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeNotNode.java index 372c56fb6..6e87c21c6 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeNotNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeNotNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; class ParseTreeNotNode extends ParseTreeNode { private final ParseTreeNode mChild; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeNumberConstantNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeNumberConstantNode.java similarity index 95% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeNumberConstantNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeNumberConstantNode.java index 83312b376..4d9ef9147 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeNumberConstantNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeNumberConstantNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; class ParseTreeNumberConstantNode extends ParseTreeNode { private final double mValue; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeOperatorNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeOperatorNode.java similarity index 99% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeOperatorNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeOperatorNode.java index f09b9a3e9..0fb387d9b 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeOperatorNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeOperatorNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import com.google.android.libraries.accessibility.utils.log.LogUtils; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeResourceNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeResourceNode.java similarity index 93% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeResourceNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeResourceNode.java index 2bbf26dc7..8d2ee5721 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeResourceNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeResourceNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import android.content.res.Resources; import android.text.Spannable; @@ -146,29 +146,18 @@ private static Object[] getParamList( String logIndent) { List result = new ArrayList<>(); for (ParseTreeNode node : params.subList(start, params.size())) { - switch (node.getType()) { - case ParseTree.VARIABLE_BOOL: - result.add(node.resolveToBoolean(delegate, logIndent)); - break; - - case ParseTree.VARIABLE_STRING: - result.add(node.resolveToString(delegate, logIndent)); - break; - - case ParseTree.VARIABLE_INTEGER: - result.add(node.resolveToInteger(delegate, logIndent)); - break; - - case ParseTree.VARIABLE_NUMBER: - result.add(node.resolveToNumber(delegate, logIndent)); - break; - - case ParseTree.VARIABLE_ENUM: - case ParseTree.VARIABLE_ARRAY: - case ParseTree.VARIABLE_CHILD_ARRAY: - LogUtils.e(TAG, "Cannot format string with type: " + node.getType()); - break; - default: // fall out + int type = node.getType(); + if (type == ParseTree.VARIABLE_BOOL) { + result.add(node.resolveToBoolean(delegate, logIndent)); + } else if (type == ParseTree.VARIABLE_STRING) { + result.add(node.resolveToString(delegate, logIndent)); + } else if (type == ParseTree.VARIABLE_INTEGER) { + result.add(node.resolveToInteger(delegate, logIndent)); + } else if (type == ParseTree.VARIABLE_NUMBER) { + result.add(node.resolveToNumber(delegate, logIndent)); + } else if (type == ParseTree.VARIABLE_ENUM || type == ParseTree.VARIABLE_ARRAY + || type == ParseTree.VARIABLE_CHILD_ARRAY) { + LogUtils.e(TAG, "Cannot format string with type: " + node.getType()); } } return result.toArray(); diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeStringConstantNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeStringConstantNode.java similarity index 94% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeStringConstantNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeStringConstantNode.java index a9ae679fa..cf5ab6b75 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeStringConstantNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeStringConstantNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; class ParseTreeStringConstantNode extends ParseTreeNode { private final CharSequence mValue; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeSwitchNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeSwitchNode.java similarity index 98% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeSwitchNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeSwitchNode.java index 340cffdc9..8778d9cb6 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeSwitchNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeSwitchNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import androidx.annotation.Nullable; import java.util.HashMap; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeVariableNode.java b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeVariableNode.java similarity index 99% rename from utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeVariableNode.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeVariableNode.java index d17fc8b8a..c3dc65535 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/parsetree/ParseTreeVariableNode.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/compositor/parsetree/ParseTreeVariableNode.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.parsetree; +package com.google.android.accessibility.talkback.compositor.parsetree; import android.text.TextUtils; import androidx.annotation.Nullable; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/AbstractOnContextMenuItemClickListener.java b/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/AbstractOnContextMenuItemClickListener.java index 591c7d0ed..7a5bd0c36 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/AbstractOnContextMenuItemClickListener.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/AbstractOnContextMenuItemClickListener.java @@ -18,7 +18,6 @@ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.accessibility.talkback.Pipeline; import com.google.android.accessibility.talkback.analytics.TalkBackAnalytics; -import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; /** * AbstractOnContextMenuItemClickListener implements {@link OnContextMenuItemClickListener} and is a @@ -35,7 +34,7 @@ protected AbstractOnContextMenuItemClickListener( AccessibilityNodeInfoCompat node, Pipeline.FeedbackReturner pipeline, TalkBackAnalytics analytics) { - this.node = AccessibilityNodeInfoUtils.obtain(node); + this.node = node; this.pipeline = pipeline; this.analytics = analytics; } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/ContextMenuItemClickProcessor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/ContextMenuItemClickProcessor.java index 567e13b15..a8063de5a 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/ContextMenuItemClickProcessor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/ContextMenuItemClickProcessor.java @@ -23,6 +23,7 @@ import static com.google.android.accessibility.talkback.Feedback.Speech.Action.COPY_SAVED; import static com.google.android.accessibility.talkback.Feedback.Speech.Action.REPEAT_SAVED; import static com.google.android.accessibility.talkback.Feedback.Speech.Action.SPELL_SAVED; +import static com.google.android.accessibility.talkback.Feedback.UniversalSearch.Action.TOGGLE_SEARCH; import static com.google.android.accessibility.talkback.Feedback.VoiceRecognition.Action.START_LISTENING; import static com.google.android.accessibility.utils.Performance.EVENT_ID_UNTRACKED; import static com.google.android.accessibility.utils.PreferencesActivity.FRAGMENT_NAME; @@ -81,8 +82,7 @@ public boolean isItemSupported(MenuItem menuItem) { || (itemId == R.id.enable_dimming) || (itemId == R.id.disable_dimming) || (itemId == R.id.screen_search) - || (itemId == R.id.voice_commands) - || (itemId == R.id.pause_feedback); + || (itemId == R.id.voice_commands); } public boolean onMenuItemClicked(MenuItem menuItem) { @@ -110,7 +110,7 @@ public boolean onMenuItemClicked(MenuItem menuItem) { } else if (itemId == R.id.verbosity) { Intent intent = new Intent(service, TalkBackPreferencesActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.putExtra(FRAGMENT_NAME, VerbosityPrefFragment.getFragmentName()); + intent.putExtra(FRAGMENT_NAME, VerbosityPrefFragment.class.getName()); service.startActivity(intent); } else if (itemId == R.id.audio_ducking) { switchValueAndEcho( @@ -142,13 +142,10 @@ public boolean onMenuItemClicked(MenuItem menuItem) { } else if (itemId == R.id.disable_dimming) { pipeline.returnFeedback(eventId, Feedback.dimScreen(BRIGHTEN)); } else if (itemId == R.id.screen_search) { - service.getUniversalSearchManager().toggleSearch(eventId); + pipeline.returnFeedback(eventId, Feedback.universalSearch(TOGGLE_SEARCH)); } else if (itemId == R.id.voice_commands) { pipeline.returnFeedback( eventId, Feedback.voiceRecognition(START_LISTENING, /* checkDialog= */ true)); - } else if (itemId == R.id.pause_feedback) { - // Toggle talkback suspended state. - service.requestSuspendTalkBack(eventId); } return true; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/ListMenuManager.java b/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/ListMenuManager.java index be840cc90..85610eaf0 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/ListMenuManager.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/ListMenuManager.java @@ -275,6 +275,11 @@ protected void showDialogMenu( menuItem.onClickPerformed(); } }); + // WindowEventInterpreter on T+ only handles window state change event with pane title. + if (FeatureSupport.windowStateChangeRequiresPane()) { + customview.setAccessibilityPaneTitle(title); + } + builder.setView(customview); builder.setNegativeButton( android.R.string.cancel, diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/TalkbackMenuProcessor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/TalkbackMenuProcessor.java index 7d71d0eb1..9a48673d2 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/TalkbackMenuProcessor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/contextmenu/TalkbackMenuProcessor.java @@ -29,7 +29,6 @@ import com.google.android.accessibility.talkback.actor.DimScreenActor; import com.google.android.accessibility.talkback.contextmenu.ContextMenuItem.DeferredType; import com.google.android.accessibility.talkback.menurules.NodeMenuRuleProcessor; -import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.SettingsUtils; import com.google.android.accessibility.utils.SharedPreferencesUtils; @@ -58,7 +57,6 @@ public class TalkbackMenuProcessor { * ORDER_VOICE_COMMANDS = 21; * ORDER_TALKBACK_SETTINGS = 22; * ORDER_TTS_SETTINGS = 23; - * ORDER_SUSPEND_TALKBACK = 24; */ private static final int ORDER_ACTIONS = 1; private static final int ORDER_LINKS = 3; @@ -182,13 +180,6 @@ private boolean showMenuItem(@StringRes int prefKeyId, @BoolRes int defaultValue private void addContextMenuXMLMenu(ContextMenu menu) { new MenuInflater(service).inflate(R.menu.context_menu, menu); - if (FeatureSupport.hasAccessibilityShortcut(service) - || !showMenuItem( - R.string.pref_show_context_menu_pause_feedback_setting_key, - R.bool.pref_show_context_menu_pause_feedback_default)) { - menu.removeItem(R.id.pause_feedback); - } - // Removes talkback TTS settings if phone is locked, Setup Wizard doesn't complete or uncheck // show item. if (ScreenMonitor.isDeviceLocked(service) @@ -352,7 +343,7 @@ private void addItemOrSubMenuForCurrentNode( if (currentNode == null) { return; } - AccessibilityNodeInfoCompat node = AccessibilityNodeInfoUtils.obtain(currentNode); + AccessibilityNodeInfoCompat node = currentNode; nodeMenuRuleProcessor.prepareTalkbackMenuForNode(menu, node, itemId, titleId, itemOrder); } @@ -427,7 +418,7 @@ private void addWindowActionMenu(ContextMenu menu) { return; } - if (!FeatureSupport.supportSystemActions(service) + if (!FeatureSupport.supportGetSystemActions(service) || ScreenMonitor.isDeviceLocked(service) || !SettingsUtils.allowLinksOutOfSettings(service)) { return; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/controller/TelevisionNavigationController.java b/talkback/src/main/java/com/google/android/accessibility/talkback/controller/TelevisionNavigationController.java index e5b54a6f6..5c5edc9ee 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/controller/TelevisionNavigationController.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/controller/TelevisionNavigationController.java @@ -49,9 +49,9 @@ import com.google.android.accessibility.talkback.TalkBackService; import com.google.android.accessibility.talkback.TvNavigation; import com.google.android.accessibility.talkback.focusmanagement.AccessibilityFocusMonitor; +import com.google.android.accessibility.talkback.preference.PreferencesActivityUtils; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.AccessibilityServiceCompatUtils; -import com.google.android.accessibility.utils.BuildVersionUtils; import com.google.android.accessibility.utils.ClassLoadingCache; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.Filter; @@ -377,10 +377,6 @@ private boolean shouldHandleEvent(AccessibilityNodeInfoCompat cursor, KeyEvent e if (!shouldProcessDPadKeyEvent) { return false; } - if (!BuildVersionUtils.isAtLeastN()) { - // For before N platforms, only handle when we are not ignoring UP/DOWN key - return !AccessibilityNodeInfoUtils.isOrHasMatchingAncestor(cursor, IGNORE_UP_DOWN_M); - } return true; case KeyEvent.KEYCODE_DPAD_LEFT: case KeyEvent.KEYCODE_DPAD_RIGHT: @@ -538,7 +534,7 @@ public void postDirectionalKeyEvent( public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (key != null && key.equals(treeDebugPrefKey)) { treeDebugEnabled = - SharedPreferencesUtils.getBooleanPref( + PreferencesActivityUtils.getDiagnosticPref( sharedPreferences, service.getResources(), R.string.pref_tree_debug_key, diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/dialog/BaseDialog.java b/talkback/src/main/java/com/google/android/accessibility/talkback/dialog/BaseDialog.java index 25642f67a..577a7af8c 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/dialog/BaseDialog.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/dialog/BaseDialog.java @@ -47,11 +47,12 @@ public abstract class BaseDialog { @Nullable private FeedbackReturner pipeline; private boolean isSoftInputMode = false; private boolean needToRestoreFocus = false; + private boolean includeNegativeButton = true; private int positiveButtonStringRes; private int negativeButtonStringRes; private int neutralButtonStringRes; - public BaseDialog(Context context, int dialogTitleResId, FeedbackReturner pipeline) { + public BaseDialog(Context context, int dialogTitleResId, @Nullable FeedbackReturner pipeline) { this.context = context; this.dialogTitleResId = dialogTitleResId; this.pipeline = pipeline; @@ -141,6 +142,15 @@ public void setNeutralButtonStringRes(int res) { this.neutralButtonStringRes = res; } + public void setPipeline(@Nullable FeedbackReturner pipeline) { + this.pipeline = pipeline; + } + + /** Sets cancel Button on the dialog depending on the boolean value. */ + public void setIncludeNegativeButton(boolean includeNegativeButton) { + this.includeNegativeButton = includeNegativeButton; + } + //////////////////////////////////////////////////////////////////////////// // Status controller for dialog @@ -162,10 +172,12 @@ public A11yAlertDialogWrapper showDialog() { A11yAlertDialogWrapper.Builder dialogBuilder = A11yAlertDialogWrapper.materialDialogBuilder(context) .setTitle(dialogTitleResId) - .setNegativeButton(negativeButtonStringRes, onClickListener) .setPositiveButton(positiveButtonStringRes, onClickListener) .setOnDismissListener(onDismissListener) .setCancelable(true); + if (includeNegativeButton) { + dialogBuilder.setNegativeButton(negativeButtonStringRes, onClickListener); + } if (neutralButtonStringRes != RESOURCE_ID_UNKNOWN) { dialogBuilder.setNeutralButton(neutralButtonStringRes, onClickListener); diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/dialog/FirstTimeUseDialog.java b/talkback/src/main/java/com/google/android/accessibility/talkback/dialog/FirstTimeUseDialog.java index e4dbc0960..5de4499fc 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/dialog/FirstTimeUseDialog.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/dialog/FirstTimeUseDialog.java @@ -36,7 +36,6 @@ *
      • DimScreen {@link DimScreenDialog} *
      • FullScreenRead {@link FullScreenReadDialog} *
      • Voice commands {@link SpeechRecognitionDialog} - *
      • SuspendTalkBack {@link com.google.android.accessibility.talkback.TalkBackSuspendDialog} */ public abstract class FirstTimeUseDialog extends BaseDialog { @@ -134,19 +133,6 @@ protected void setMainMessage(String mainMessage) { this.dialogMainMessage = mainMessage; } - /** - * Sets dialog message text resource ID if customization is needed. And it's only for - * TalkBackSuspendDialog used now. - * - * @param dialogSecondMessageResId text resource ID for the second dialog message - * @param dialogThirdMessageResId text resource ID for the third dialog message - */ - protected void setCustomizedDialogMessageResId( - int dialogSecondMessageResId, int dialogThirdMessageResId) { - this.dialogSecondMessageResId = dialogSecondMessageResId; - this.dialogThirdMessageResId = dialogThirdMessageResId; - } - /** * Sets dialog preference setting. * diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/dynamicfeature/FeatureDownloader.java b/talkback/src/main/java/com/google/android/accessibility/talkback/dynamicfeature/FeatureDownloader.java new file mode 100644 index 000000000..f4b2cd799 --- /dev/null +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/dynamicfeature/FeatureDownloader.java @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2022 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.talkback.dynamicfeature; + +import android.content.Context; +import androidx.annotation.VisibleForTesting; +import com.google.android.libraries.accessibility.utils.log.LogUtils; +import com.google.android.play.core.splitinstall.SplitInstallManager; +import com.google.android.play.core.splitinstall.SplitInstallManagerFactory; +import com.google.android.play.core.splitinstall.SplitInstallRequest; +import com.google.android.play.core.splitinstall.SplitInstallSessionState; +import com.google.android.play.core.splitinstall.SplitInstallStateUpdatedListener; +import com.google.android.play.core.splitinstall.model.SplitInstallErrorCode; +import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus; +import com.google.android.play.core.splitinstall.testing.FakeSplitInstallManager; +import com.google.android.play.core.splitinstall.testing.FakeSplitInstallManagerFactory; +import com.google.common.collect.ImmutableList; +import java.util.ArrayList; + +/** Downloads the dynamic feature via {@link SplitInstallManager} */ +public class FeatureDownloader { + + private static final String TAG = "FeatureDownloader"; + public static final SplitInstallSessionState DOWNLOAD_FAILED = + SplitInstallSessionState.create( + /* sessionId= */ 0, + SplitInstallSessionStatus.FAILED, + SplitInstallErrorCode.NETWORK_ERROR, + /* bytesDownloaded= */ 0, + /* totalBytesToDownload= */ 0, + new ArrayList<>(), + new ArrayList<>()); + + private final String moduleName; + private final SplitInstallManager splitInstallManager; + private SplitInstallStateUpdatedListener installStateListener; + // For testing the download locally. + @VisibleForTesting boolean forTest = false; + + public FeatureDownloader( + Context context, String moduleName, SplitInstallStateUpdatedListener installStateListener) { + this.moduleName = moduleName; + splitInstallManager = + forTest + ? FakeSplitInstallManagerFactory.create(context) + : SplitInstallManagerFactory.create(context); + this.installStateListener = installStateListener; + splitInstallManager.registerListener(installStateListener); + } + + /** Creates a request to install the module. */ + public void download() { + splitInstallManager + .startInstall(SplitInstallRequest.newBuilder().addModule(moduleName).build()) + .addOnSuccessListener(sessionId -> LogUtils.v(TAG, "Started to download %s.", moduleName)) + .addOnFailureListener( + exception -> { + LogUtils.v(TAG, "Failed to download. error=%s.", exception); + installStateListener.onStateUpdate(DOWNLOAD_FAILED); + }); + } + + /** Uninstalls the module. */ + public void uninstall() { + splitInstallManager.deferredUninstall(ImmutableList.of(moduleName)); + } + + /** Checks if the modules is installed. */ + public boolean isInstalled() { + return splitInstallManager.getInstalledModules().contains(moduleName); + } + + public void registerListener(SplitInstallStateUpdatedListener installStateListener) { + this.installStateListener = installStateListener; + splitInstallManager.registerListener(installStateListener); + } + + public void unregisterListener() { + if (installStateListener == null) { + return; + } + + splitInstallManager.unregisterListener(installStateListener); + installStateListener = null; + } + + /** Local test of the download with the network error. */ + @VisibleForTesting + void setNetworkError(boolean hasError) { + if (splitInstallManager instanceof FakeSplitInstallManager) { + ((FakeSplitInstallManager) splitInstallManager).setShouldNetworkError(hasError); + } + } +} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/AccessibilityEventProcessor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/AccessibilityEventProcessor.java index 04ca79626..116ba776d 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/AccessibilityEventProcessor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/AccessibilityEventProcessor.java @@ -352,6 +352,11 @@ private boolean shouldDropEvent(AccessibilityEvent event) { return true; } + // Do not drop TYPE_SPEECH_STATE_CHANGE event to avoid SpeechStateMonitor has any missing. + if (event.getEventType() == AccessibilityEvent.TYPE_SPEECH_STATE_CHANGE) { + return false; + } + // If touch exploration is enabled, drop automatically generated events // that are sent immediately after a window state change... unless we // decide to keep the event. diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorAccessibilityHints.java b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorAccessibilityHints.java index f56e4f88a..f888cae81 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorAccessibilityHints.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorAccessibilityHints.java @@ -18,8 +18,8 @@ import static android.view.accessibility.AccessibilityEvent.TYPE_VIEW_FOCUSED; import static android.view.accessibility.AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED; -import static com.google.android.accessibility.compositor.Compositor.EVENT_SPEAK_HINT; import static com.google.android.accessibility.talkback.Feedback.HINT; +import static com.google.android.accessibility.talkback.compositor.Compositor.EVENT_SPEAK_HINT; import static com.google.android.accessibility.utils.Performance.EVENT_ID_UNTRACKED; import android.text.Spannable; @@ -28,13 +28,13 @@ import android.view.accessibility.AccessibilityEvent; import androidx.core.view.accessibility.AccessibilityEventCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.compositor.Compositor; -import com.google.android.accessibility.compositor.EventInterpretation; -import com.google.android.accessibility.compositor.HintEventInterpretation; import com.google.android.accessibility.talkback.ActorState; import com.google.android.accessibility.talkback.Feedback; import com.google.android.accessibility.talkback.Interpretation; import com.google.android.accessibility.talkback.Pipeline; +import com.google.android.accessibility.talkback.compositor.Compositor; +import com.google.android.accessibility.talkback.compositor.EventInterpretation; +import com.google.android.accessibility.talkback.compositor.HintEventInterpretation; import com.google.android.accessibility.talkback.focusmanagement.record.FocusActionInfo; import com.google.android.accessibility.utils.AccessibilityEventListener; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorCursorState.java b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorCursorState.java index 627fc7e4f..58066dbc6 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorCursorState.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorCursorState.java @@ -28,13 +28,13 @@ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.core.view.accessibility.AccessibilityRecordCompat; import androidx.core.view.accessibility.AccessibilityWindowInfoCompat; -import com.google.android.accessibility.compositor.GlobalVariables; import com.google.android.accessibility.talkback.Feedback; import com.google.android.accessibility.talkback.NodeBlockingOverlay; import com.google.android.accessibility.talkback.NodeBlockingOverlay.OnDoubleTapListener; import com.google.android.accessibility.talkback.Pipeline; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.TalkBackService; +import com.google.android.accessibility.talkback.compositor.GlobalVariables; import com.google.android.accessibility.utils.AccessibilityEventListener; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.BuildVersionUtils; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorEventQueue.java b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorEventQueue.java index 6c3a1af71..dcd5f58b2 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorEventQueue.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorEventQueue.java @@ -18,8 +18,8 @@ import android.os.Message; import android.view.accessibility.AccessibilityEvent; -import com.google.android.accessibility.compositor.Compositor; -import com.google.android.accessibility.compositor.EventFilter; +import com.google.android.accessibility.talkback.compositor.Compositor; +import com.google.android.accessibility.talkback.compositor.EventFilter; import com.google.android.accessibility.utils.AccessibilityEventListener; import com.google.android.accessibility.utils.Performance; import com.google.android.accessibility.utils.Performance.EventId; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorMagnification.java b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorMagnification.java index bc6ca7a47..4e8f0f299 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorMagnification.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorMagnification.java @@ -16,37 +16,165 @@ package com.google.android.accessibility.talkback.eventprocessor; -import android.accessibilityservice.AccessibilityService; +import static android.accessibilityservice.MagnificationConfig.MAGNIFICATION_MODE_FULLSCREEN; + import android.accessibilityservice.AccessibilityService.MagnificationController; -import android.annotation.TargetApi; +import android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener; +import android.accessibilityservice.MagnificationConfig; import android.graphics.Rect; import android.graphics.Region; -import android.os.Build; import android.text.TextUtils; import android.view.accessibility.AccessibilityEvent; +import android.view.accessibility.AccessibilityWindowInfo; +import androidx.annotation.IntDef; +import androidx.annotation.VisibleForTesting; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import androidx.core.view.accessibility.AccessibilityWindowInfoCompat; +import com.google.android.accessibility.talkback.compositor.Compositor; +import com.google.android.accessibility.talkback.compositor.GlobalVariables; import com.google.android.accessibility.utils.AccessibilityEventListener; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.FeatureSupport; +import com.google.android.accessibility.utils.Performance; import com.google.android.accessibility.utils.Performance.EventId; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import org.checkerframework.checker.nullness.qual.Nullable; /** * Re-centers magnifier to accessibility focused or input focused node on {@link * AccessibilityEvent#TYPE_VIEW_ACCESSIBILITY_FOCUSED} and {@link - * AccessibilityEvent#TYPE_VIEW_FOCUSED} events. + * AccessibilityEvent#TYPE_VIEW_FOCUSED} events. And Handles the feedback when the magnification + * state is changed. */ public class ProcessorMagnification implements AccessibilityEventListener { + /** Magnification is disabled. */ + public static final int STATE_OFF = 0; + /** Magnification is enabled. */ + public static final int STATE_ON = 1; + /** Magnification scale is changed. */ + public static final int STATE_SCALE_CHANGED = 2; + /** Magnification state for compositor speech feedback. */ + @IntDef({STATE_OFF, STATE_ON, STATE_SCALE_CHANGED}) + @Retention(RetentionPolicy.SOURCE) + public @interface MagnificationState {} + private static final int EVENT_MASK = AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED | AccessibilityEvent.TYPE_VIEW_FOCUSED; + + /** The fraction for getting window magnification center offset. */ + private static final float WINDOW_MAGNIFICATION_CENTER_OFFSET_FRACTION = 0.2f; + + private final boolean supportWindowMagnification; + private final @Nullable MagnificationController magnificationController; + private final GlobalVariables globalVariables; + private final Compositor compositor; + + /** Magnification bounds for testing. */ + private Rect testMagBounds = null; + + @Nullable @VisibleForTesting + public final OnMagnificationChangedListener onMagnificationChangedListener; + + private float lastScale = 1.0f; + private int lastMode = MagnificationConfig.MAGNIFICATION_MODE_DEFAULT; + + public ProcessorMagnification( + MagnificationController magnificationController, + GlobalVariables globalVariables, + Compositor compositor, + boolean supportWindowMagnification) { + this.magnificationController = magnificationController; + this.globalVariables = globalVariables; + this.compositor = compositor; + this.supportWindowMagnification = supportWindowMagnification; + + onMagnificationChangedListener = createMagnificationChangeListener(); + } + + /** Creates the magnification change listener by platform support. */ + private @Nullable OnMagnificationChangedListener createMagnificationChangeListener() { + if (!FeatureSupport.supportMagnificationController()) { + return null; + } + + if (supportWindowMagnification) { + // Magnification change listener for SDK 33+ that can listen to the multiple modes. + return new OnMagnificationChangedListener() { + // Suppress the warning since this is for target SDK 33. + @SuppressWarnings("Override") + @Override + public void onMagnificationChanged( + MagnificationController magnificationController, + Region region, + MagnificationConfig config) { - public ProcessorMagnification(AccessibilityService service) { - if (FeatureSupport.supportMagnificationController()) { - magnificationController = service.getMagnificationController(); + final int mode = config.getMode(); + final float scale = config.getScale(); + final boolean modeIsChanged = mode != lastMode; + try { + // Do nothing if scale and mode haven't changed. + if (!modeIsChanged && (scale == lastScale)) { + return; + } + + handleMagnificationChanged(mode, scale, lastScale, modeIsChanged); + } finally { + lastMode = mode; + lastScale = scale; + } + } + + @Override + public void onMagnificationChanged( + MagnificationController magnificationController, + Region region, + float scale, + float centerX, + float centerY) { + // Legacy listener has no action. + } + }; + } else { + // Legacy magnification change listener for old platform that can only listen to full-screen + // magnification. + return (magnificationController, region, scale, centerX, centerY) -> { + + // Do nothing if scale hasn't changed. + if (scale == lastScale) { + return; + } + + try { + handleMagnificationChanged(MAGNIFICATION_MODE_FULLSCREEN, scale, lastScale, false); + } finally { + lastScale = scale; + } + }; + } + } + + private void handleMagnificationChanged( + int mode, float scale, float lastScale, boolean modeIsChanged) { + @MagnificationState int state; + if (scale > 1 && (modeIsChanged || lastScale == 1)) { + state = STATE_ON; + } else if (scale == 1 && lastScale > 1) { + state = STATE_OFF; + } else if (scale > 1) { + state = STATE_SCALE_CHANGED; } else { - magnificationController = null; + return; + } + + globalVariables.updateMagnificationState(mode, scale, state); + + if (FeatureSupport.supportAnnounceMagnificationChanged()) { + // TODO use pipeline to handle compositor for magnification + compositor.handleEvent( + Compositor.EVENT_MAGNIFICATION_CHANGED, Performance.EVENT_ID_UNTRACKED); } } @@ -61,23 +189,75 @@ public void onAccessibilityEvent(AccessibilityEvent event, EventId eventId) { return; } AccessibilityNodeInfoCompat sourceNode = AccessibilityNodeInfoUtils.toCompat(event.getSource()); + AccessibilityWindowInfoCompat window = AccessibilityNodeInfoUtils.getWindow(sourceNode); // It’s unnecessary to recenter the magnifier if the focus is on the keyboard because Keyboard // isn't in the magnifier and when the magnifier is not magnifying. // TODO: recenter magnifier for window magnification if (sourceNode == null - || AccessibilityNodeInfoUtils.isKeyboard(event, sourceNode) - || magnificationController.getScale() <= 1) { + || window == null + || AccessibilityNodeInfoUtils.isKeyboard(sourceNode) + || (window.getType() == AccessibilityWindowInfo.TYPE_MAGNIFICATION_OVERLAY) + || getMagnificationScale() <= 1) { return; } - recenterMagnifier(sourceNode); + + recenterMagnifier(sourceNode, window.getType()); } - @TargetApi(Build.VERSION_CODES.N) - private void recenterMagnifier(AccessibilityNodeInfoCompat node) { + /** Registers the magnification change listener when TalkBack resumes. */ + public void onResumeInfrastructure() { + if (FeatureSupport.supportMagnificationController() && magnificationController != null) { + magnificationController.addListener(onMagnificationChangedListener); + } + } + + /** Unregisters the magnification change listener when TalkBack is suspended. */ + public void onSuspendInfrastructure() { + if (FeatureSupport.supportMagnificationController() && magnificationController != null) { + magnificationController.removeListener(onMagnificationChangedListener); + + lastScale = 1.0f; + lastMode = MagnificationConfig.MAGNIFICATION_MODE_DEFAULT; + } + } + + @VisibleForTesting + public void setMagnificationBounds(Rect rect) { + testMagBounds = rect; + } + + private Rect getMagnificationBounds() { + if (testMagBounds != null) { + return testMagBounds; + } + // New API supports getting magnification bounds of multiple magnification modes. + if (supportWindowMagnification) { + return magnificationController.getCurrentMagnificationRegion().getBounds(); + } + return magnificationController.getMagnificationRegion().getBounds(); + } + + private void recenterMagnifier(AccessibilityNodeInfoCompat node, int windowType) { + if (!supportWindowMagnification) { + recenterFullScreenMagnifier(node); + return; + } + + int mode = magnificationController.getMagnificationConfig().getMode(); + if (mode == MAGNIFICATION_MODE_FULLSCREEN) { + recenterFullScreenMagnifier(node); + } else if (mode == MagnificationConfig.MAGNIFICATION_MODE_WINDOW + && windowType != AccessibilityWindowInfo.TYPE_SYSTEM) { + // Support magnification re-centering except system window because the nodes on status bar + // window would send accessibility view focused event repeatedly. + recenterWindowMagnifier(node); + } + } + + private void recenterFullScreenMagnifier(AccessibilityNodeInfoCompat node) { Rect sourceNodeBounds = new Rect(); node.getBoundsInScreen(sourceNodeBounds); - Region magRegion = magnificationController.getMagnificationRegion(); - Rect magBounds = magRegion.getBounds(); + Rect magBounds = getMagnificationBounds(); float magScale = magnificationController.getScale(); float halfMagWidth = (float) magBounds.width() / (2f * magScale); // use screen coordinates float halfMagHeight = (float) magBounds.height() / (2f * magScale); @@ -117,6 +297,31 @@ private void recenterMagnifier(AccessibilityNodeInfoCompat node) { magnificationController.setCenter(newMagCenterX, newMagCenterY, /* animate= */ true); } + private void recenterWindowMagnifier(AccessibilityNodeInfoCompat node) { + Rect sourceNodeBounds = new Rect(); + node.getBoundsInScreen(sourceNodeBounds); + Rect magBounds = getMagnificationBounds(); + float newMagCenterY = sourceNodeBounds.exactCenterY(); + float newMagCenterX; + // If the source node width is smaller than the width of window magnification bounds. + // The new magnification center can be moved to the center of the source node. + if (sourceNodeBounds.width() <= magBounds.width()) { + newMagCenterX = sourceNodeBounds.exactCenterX(); + } else { + // The new magnification center would be 20% or 80% position in the source node width based + // on the node text direction for reading convenience. + float offset = (sourceNodeBounds.width() * WINDOW_MAGNIFICATION_CENTER_OFFSET_FRACTION); + newMagCenterX = + isLeftToRight(node) ? sourceNodeBounds.left + offset : sourceNodeBounds.right - offset; + } + MagnificationConfig newConfig = + new MagnificationConfig.Builder() + .setCenterX(newMagCenterX) + .setCenterY(newMagCenterY) + .build(); + magnificationController.setMagnificationConfig(newConfig, /* animate= */ false); + } + /** * Returns whether a node's content starts at left or right side. * @@ -135,4 +340,11 @@ private static boolean isLeftToRight(AccessibilityNodeInfoCompat node) { return (direction != Character.DIRECTIONALITY_RIGHT_TO_LEFT && direction != Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC); } + + private float getMagnificationScale() { + if (supportWindowMagnification) { + return magnificationController.getMagnificationConfig().getScale(); + } + return magnificationController.getScale(); + } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorPhoneticLetters.java b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorPhoneticLetters.java index 04d0d4a38..6d4f5077b 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorPhoneticLetters.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorPhoneticLetters.java @@ -29,11 +29,11 @@ import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityWindowInfo; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.compositor.GlobalVariables; import com.google.android.accessibility.talkback.Feedback; import com.google.android.accessibility.talkback.Pipeline; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.TalkBackService; +import com.google.android.accessibility.talkback.compositor.GlobalVariables; import com.google.android.accessibility.talkback.utils.VerbosityPreferences; import com.google.android.accessibility.utils.AccessibilityEventListener; import com.google.android.accessibility.utils.AccessibilityEventUtils; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorScreen.java b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorScreen.java index 86ddba8c2..79f68575f 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorScreen.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorScreen.java @@ -26,6 +26,8 @@ import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.TalkBackService; import com.google.android.accessibility.talkback.gesture.GestureShortcutMapping; +import com.google.android.accessibility.talkback.keyboard.KeyComboManager; +import com.google.android.accessibility.talkback.keyboard.KeyComboModel; import com.google.android.accessibility.utils.AccessibilityWindowInfoUtils; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.FocusFinder; @@ -35,8 +37,6 @@ import com.google.android.accessibility.utils.StringBuilderUtils; import com.google.android.accessibility.utils.feedbackpolicy.ScreenFeedbackManager; import com.google.android.accessibility.utils.input.WindowEventInterpreter; -import com.google.android.accessibility.utils.keyboard.KeyComboManager; -import com.google.android.accessibility.utils.keyboard.KeyComboModel; import com.google.android.accessibility.utils.output.FeedbackItem; import com.google.android.accessibility.utils.output.SpeechController; import org.checkerframework.checker.nullness.qual.Nullable; @@ -194,8 +194,8 @@ protected void speak( @PureFunction private static class TalkBackFeedbackComposer extends ScreenFeedbackManager.FeedbackComposer { - @Nullable private FocusFinder focusFinder; - @Nullable private GestureShortcutMapping gestureShortcutMapping; + private @Nullable FocusFinder focusFinder; + private @Nullable GestureShortcutMapping gestureShortcutMapping; @Override public Feedback customizeFeedback( diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorVolumeStream.java b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorVolumeStream.java index 64ff9611a..c21160310 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorVolumeStream.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/eventprocessor/ProcessorVolumeStream.java @@ -18,7 +18,6 @@ import android.content.Context; -import android.content.SharedPreferences; import android.media.AudioManager; import android.os.Message; import android.os.PowerManager; @@ -27,13 +26,10 @@ import android.view.KeyEvent; import android.view.accessibility.AccessibilityEvent; import com.google.android.accessibility.talkback.ActorState; -import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.TalkBackService; import com.google.android.accessibility.utils.AccessibilityEventListener; -import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.ServiceKeyEventListener; -import com.google.android.accessibility.utils.SharedPreferencesUtils; import com.google.android.accessibility.utils.WeakReferenceHandler; import com.google.android.accessibility.utils.compat.media.AudioManagerCompatUtils; import com.google.android.accessibility.utils.output.SpeechController; @@ -84,7 +80,6 @@ public class ProcessorVolumeStream */ private boolean isTouchInteracting = false; - private SharedPreferences prefs; private TalkBackService service; private final ActorState actorState; private VolumeButtonPatternDetector patternDetector; @@ -125,7 +120,6 @@ public ProcessorVolumeStream(ActorState actorState, TalkBackService service) { pm.newWakeLock( PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, WL_TAG); - prefs = SharedPreferencesUtils.getSharedPreferences(service); this.service = service; patternDetector = new VolumeButtonPatternDetector(this.service); patternDetector.setOnPatternMatchListener(this); @@ -168,31 +162,6 @@ public boolean processWhenServiceSuspended() { return true; } - private void handleBothVolumeKeysLongPressed(EventId eventId) { - // Shortcut for accessibility on/off replaces talkback-suspend. - if (FeatureSupport.hasAccessibilityShortcut(service)) { - return; - } - - // Check whether user enabled the volume-key shortcut for suspending talkback. - boolean shortcutEnabled = - SharedPreferencesUtils.getBooleanPref( - prefs, - service.getResources(), - R.string.pref_two_volume_long_press_key, - R.bool.pref_resume_volume_buttons_long_click_default); - if (!shortcutEnabled) { - return; - } - - // Toggle talkback suspended state. - if (service.isInstanceActive()) { - service.requestSuspendTalkBack(eventId); - } else { - service.resumeTalkBack(eventId); - } - } - private void adjustVolumeFromKeyEvent(int button) { final int direction = ((button == VolumeButtonPatternDetector.VOLUME_UP) @@ -249,10 +218,6 @@ public void onPatternMatchedInternal(int patternCode, int buttonCombination, Eve case VolumeButtonPatternDetector.LONG_PRESS_PATTERN: handleSingleLongTap(buttonCombination); break; - case VolumeButtonPatternDetector.TWO_BUTTONS_LONG_PRESS_PATTERN: - handleBothVolumeKeysLongPressed(eventId); - patternDetector.clearState(); - break; default: // fall out } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/AccessibilityFocusMonitor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/AccessibilityFocusMonitor.java index ea87e483d..656dbb136 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/AccessibilityFocusMonitor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/AccessibilityFocusMonitor.java @@ -88,7 +88,7 @@ public boolean hasAccessibilityFocus(boolean useInputFocusIfEmpty) { AccessibilityNodeInfoCompat a11yFocusedNode = focusFinder.findFocusCompat(FOCUS_ACCESSIBILITY); if ((a11yFocusedNode != null) && AccessibilityNodeInfoUtils.isVisible(a11yFocusedNode)) { - return AccessibilityNodeInfoUtils.obtain(a11yFocusedNode); + return a11yFocusedNode; } if (!useInputFocusIfEmpty) { @@ -102,7 +102,7 @@ public boolean hasAccessibilityFocus(boolean useInputFocusIfEmpty) { boolean isEditable = inputFocusedNode.isEditable() || Role.getRole(inputFocusedNode) == Role.ROLE_EDIT_TEXT; if (inputFocusedNode.isFocused() && (!requireEditable || isEditable)) { - return AccessibilityNodeInfoUtils.obtain(inputFocusedNode); + return inputFocusedNode; } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/FocusProcessorForLogicalNavigation.java b/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/FocusProcessorForLogicalNavigation.java index 2ccd608fa..275ebfb9d 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/FocusProcessorForLogicalNavigation.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/FocusProcessorForLogicalNavigation.java @@ -41,10 +41,6 @@ import com.google.android.accessibility.talkback.Feedback; import com.google.android.accessibility.talkback.Pipeline; import com.google.android.accessibility.talkback.R; -import com.google.android.accessibility.talkback.ScrollEventInterpreter; -import com.google.android.accessibility.talkback.ScrollEventInterpreter.ScrollTimeout; -import com.google.android.accessibility.talkback.ScrollEventInterpreter.UserAction; -import com.google.android.accessibility.talkback.actor.AutoScrollActor.AutoScrollRecord.Source; import com.google.android.accessibility.talkback.focusmanagement.NavigationTarget.TargetType; import com.google.android.accessibility.talkback.focusmanagement.action.NavigationAction; import com.google.android.accessibility.talkback.focusmanagement.interpreter.ScreenState; @@ -66,6 +62,9 @@ import com.google.android.accessibility.utils.Role.RoleName; import com.google.android.accessibility.utils.WebInterfaceUtils; import com.google.android.accessibility.utils.WindowUtils; +import com.google.android.accessibility.utils.input.ScrollActionRecord; +import com.google.android.accessibility.utils.input.ScrollActionRecord.UserAction; +import com.google.android.accessibility.utils.input.ScrollEventInterpreter.ScrollTimeout; import com.google.android.accessibility.utils.output.FeedbackItem; import com.google.android.accessibility.utils.output.SpeechController; import com.google.android.accessibility.utils.traversal.TraversalStrategy; @@ -111,7 +110,8 @@ public boolean accept(AccessibilityWindowInfo window) { int type = window.getType(); return (type == AccessibilityWindowInfo.TYPE_APPLICATION) || (type == AccessibilityWindowInfo.TYPE_INPUT_METHOD) - || (type == AccessibilityWindowInfo.TYPE_SYSTEM); + || (type == AccessibilityWindowInfo.TYPE_SYSTEM) + || (type == AccessibilityWindowInfo.TYPE_MAGNIFICATION_OVERLAY); } }; @@ -373,7 +373,7 @@ private boolean onScrollAction( if (AccessibilityNodeInfoUtils.supportsAction(pivot, scrollAction)) { // Try to scroll the node itself first. It's useful when focusing on a SeekBar. - scrollableNode = AccessibilityNodeInfoUtils.obtain(pivot); + scrollableNode = pivot; } else if ((pivot != null) && pivot.isAccessibilityFocused()) { scrollableNode = AccessibilityNodeInfoUtils.getSelfOrMatchingAncestor(pivot, nodeFilter); } @@ -386,7 +386,7 @@ private boolean onScrollAction( } return (scrollableNode != null) && performScrollActionInternal( - ScrollEventInterpreter.ACTION_SCROLL_SHORTCUT, + ScrollActionRecord.ACTION_SCROLL_COMMAND, scrollableNode, pivot, scrollAction, @@ -628,7 +628,7 @@ private boolean navigateToDefaultOrNativeMacroGranularityTarget( NavigationTarget.createNodeFilter( navigationAction.targetType, traversalStrategy.getSpeakingNodesCache()); if (ignoreDescendantsOfPivot) { - final AccessibilityNodeInfoCompat pivotCopy = AccessibilityNodeInfoUtils.obtain(pivot); + final AccessibilityNodeInfoCompat pivotCopy = pivot; nodeFilter = new Filter() { @Override @@ -836,11 +836,7 @@ public boolean accept(AccessibilityNodeInfoCompat node) { // TODO: remove the workaround after fixing the bug in framework and a11y // event is ready. scrollCallback = - new AutoScrollCallback( - this, - navigationAction, - AccessibilityNodeInfoUtils.obtain(pivot), - /* assumeScrollSuccess= */ true); + new AutoScrollCallback(this, navigationAction, pivot, /* assumeScrollSuccess= */ true); return true; } @@ -913,8 +909,8 @@ private boolean scrollForNativeMacroGranularity( // If we find no target on screen for native macro granularity, we do our best attempt to // scroll to the next screen and place the focus on the new screen if it exists. if (target == null) { - AccessibilityNodeInfoCompat scrollableNode = null; - scrollableNode = findScrollableNode(referenceNode, navigationAction); + AccessibilityNodeInfoCompat scrollableNode = + findScrollableNode(referenceNode, navigationAction); if (autoScroll(scrollableNode, referenceNode, navigationAction, eventId)) { return true; } @@ -1259,7 +1255,7 @@ private boolean autoScroll( // a longer time to finish the scrolling action(like home screen), a short timeout will make // TalkBack detects the scroll action always fail, even through it's actually success. return performScrollActionInternal( - ScrollEventInterpreter.ACTION_AUTO_SCROLL, + ScrollActionRecord.ACTION_AUTO_SCROLL, scrollableNode, pivot, scrollAction, @@ -1313,12 +1309,12 @@ private boolean performScrollActionInternal( // Don't update a11y focus in callback if pivot is not a descendant of scrollable node. scrollCallback = null; } else { - scrollCallback = - new AutoScrollCallback(this, sourceAction, AccessibilityNodeInfoUtils.obtain(pivotNode)); + scrollCallback = new AutoScrollCallback(this, sourceAction, pivotNode); } return pipeline.returnFeedback( eventId, - Feedback.scroll(scrollableNode, userAction, scrollAction, Source.FOCUS, scrollTimeout)); + Feedback.scroll( + scrollableNode, userAction, scrollAction, ScrollActionRecord.FOCUS, scrollTimeout)); } /** Determines feedback for auto-scroll success after directional-navigation action. */ @@ -1759,7 +1755,9 @@ private static class MaxSizeNodeAccumulator extends Filter scrollableFilter) { @@ -1767,7 +1765,7 @@ private static class MaxSizeNodeAccumulator extends FilterOn TV, specially Sony TV, the customized ATV contains rich animiation on FOCUS action. Thus + * it needs more tolerance than others platform. + */ + @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) + static final int TV_TIMEOUT_TOLERANCE_MS = 400; + ////////////////////////////////////////////////////////////////////////////////////////// // Member variables @@ -142,13 +154,21 @@ public boolean lastAccessibilityFocusedNodeEquals(AccessibilityNodeInfoCompat ta private @Nullable ScreenState pendingScreenState = null; private long pendingWebFocusActionTime = -1; + private final Context context; + private int timeoutToleranceMs; + ////////////////////////////////////////////////////////////////////////////////////////// // Construction - public AccessibilityFocusActionHistory() { + public AccessibilityFocusActionHistory(Context context) { + this.context = context; focusActionRecordList = new ArrayDeque<>(); windowIdTitlePairToFocusActionRecordMap = new LruCache, FocusActionRecord>(MAXIMUM_WINDOW_MAP_SIZE); + timeoutToleranceMs = TIMEOUT_TOLERANCE_MS; + if (FeatureSupport.isTv(context)) { + timeoutToleranceMs = TV_TIMEOUT_TOLERANCE_MS; + } } ////////////////////////////////////////////////////////////////////////////////////////// @@ -272,7 +292,7 @@ public boolean lastAccessibilityFocusedNodeEquals(AccessibilityNodeInfoCompat ta long timeDiff = eventTime - record.getActionTime(); AccessibilityNodeInfoCompat recordNode = record.getFocusedNode(); - boolean timeMatches = timeDiff >= 0 && timeDiff < TIMEOUT_TOLERANCE_MS; + boolean timeMatches = timeDiff >= 0 && timeDiff < timeoutToleranceMs; boolean nodeMatches = eventNode.equals(recordNode); if (timeMatches && nodeMatches) { result = FocusActionRecord.copy(record); @@ -285,7 +305,7 @@ public boolean lastAccessibilityFocusedNodeEquals(AccessibilityNodeInfoCompat ta private void tryMatchingPendingFocusAction( AccessibilityNodeInfoCompat focusedNode, long focusEventTime) { if ((pendingWebFocusActionInfo != null) - && (focusEventTime - pendingWebFocusActionTime < TIMEOUT_TOLERANCE_MS) + && (focusEventTime - pendingWebFocusActionTime < timeoutToleranceMs) && (focusEventTime - pendingWebFocusActionTime > 0) && WebInterfaceUtils.supportsWebActions(focusedNode)) { onAccessibilityFocusAction( diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/FocusActionInfo.java b/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/FocusActionInfo.java index 21c597ab4..54ceb3921 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/FocusActionInfo.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/FocusActionInfo.java @@ -32,7 +32,8 @@ public class FocusActionInfo { TOUCH_EXPLORATION, FOCUS_SYNCHRONIZATION, LOGICAL_NAVIGATION, - SCREEN_STATE_CHANGE + SCREEN_STATE_CHANGE, + ENSURE_ON_SCREEN }) @Retention(RetentionPolicy.SOURCE) public @interface SourceAction {} @@ -43,6 +44,7 @@ public class FocusActionInfo { public static final int FOCUS_SYNCHRONIZATION = 3; public static final int LOGICAL_NAVIGATION = 4; public static final int SCREEN_STATE_CHANGE = 5; + public static final int ENSURE_ON_SCREEN = 6; /** Type of initial focus after screen state change. */ @IntDef({ @@ -78,6 +80,10 @@ public boolean forceFeedbackEvenIfSsbActive() { return (sourceAction == TOUCH_EXPLORATION) || (sourceAction == LOGICAL_NAVIGATION); } + public boolean isSourceEnsureOnScreen() { + return sourceAction == ENSURE_ON_SCREEN; + } + public static String sourceActionToString(@SourceAction int sourceAction) { switch (sourceAction) { case MANUAL_SCROLL: @@ -90,6 +96,8 @@ public static String sourceActionToString(@SourceAction int sourceAction) { return "LOGICAL_NAVIGATION"; case SCREEN_STATE_CHANGE: return "SCREEN_STATE_CHANGE"; + case ENSURE_ON_SCREEN: + return "ENSURE_ON_SCREEN"; case UNKNOWN: // Fall down default: diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/FocusActionRecord.java b/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/FocusActionRecord.java index 998fc1884..2dc5d2332 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/FocusActionRecord.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/FocusActionRecord.java @@ -19,11 +19,14 @@ import static com.google.android.accessibility.utils.AccessibilityNodeInfoUtils.toStringShort; import android.os.SystemClock; +import android.view.accessibility.AccessibilityNodeInfo; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; +import com.google.android.accessibility.utils.Filter; import com.google.android.accessibility.utils.FocusFinder; +import com.google.android.accessibility.utils.compat.CompatUtils; import java.util.Objects; /** @@ -39,9 +42,26 @@ public class FocusActionRecord { /** Node being accessibility focused. */ private final AccessibilityNodeInfoCompat focusedNode; /** Describes how to find focused node from root node. */ - private final @NonNull NodePathDescription nodePathDescription; + @NonNull private final NodePathDescription nodePathDescription; /** Extra information about source focus action. */ private final FocusActionInfo extraInfo; + /** Unique id for the node */ + private String uniqueId; + + // This is temporarily used until the androidx api is ready; then we can call getUniqueId + // directly. TODO: call AccessibilityNodeInfoCompat.getUniqueId() instead. + private static String getUniqueIdViaReflection(AccessibilityNodeInfoCompat nodeInfo) { + if (nodeInfo == null) { + return null; + } + String val = + (String) + CompatUtils.invoke( + nodeInfo.unwrap(), + /* defaultValue= */ null, + CompatUtils.getMethod(AccessibilityNodeInfo.class, "getUniqueId")); + return val; + } /** * Constructs a FocusActionRecord. @@ -54,10 +74,11 @@ public FocusActionRecord( @NonNull AccessibilityNodeInfoCompat focusedNode, FocusActionInfo extraInfo, long actionTime) { - this.focusedNode = AccessibilityNodeInfoUtils.obtain(focusedNode); + this.focusedNode = focusedNode; nodePathDescription = NodePathDescription.obtain(focusedNode); this.extraInfo = extraInfo; this.actionTime = actionTime; + this.uniqueId = (focusedNode == null) ? null : getUniqueIdViaReflection(focusedNode); } /** Constructs FocusActionRecord. Used internally by {@link #copy(FocusActionRecord)}. */ @@ -66,7 +87,7 @@ private FocusActionRecord( @NonNull NodePathDescription nodePathDescription, FocusActionInfo extraInfo, long actionTime) { - this.focusedNode = AccessibilityNodeInfoUtils.obtain(focusedNode); + this.focusedNode = focusedNode; this.nodePathDescription = new NodePathDescription(nodePathDescription); this.extraInfo = extraInfo; this.actionTime = actionTime; @@ -74,7 +95,7 @@ private FocusActionRecord( /** Returns an instance of the focused node. */ public AccessibilityNodeInfoCompat getFocusedNode() { - return AccessibilityNodeInfoUtils.obtain(focusedNode); + return focusedNode; } /** Returns reference to node-path. */ @@ -95,6 +116,12 @@ public long getActionTime() { return actionTime; } + /** Returns the stored unique id which is created in the FocusActionRecord constructor. */ + @Nullable + public String getUniqueId() { + return uniqueId; + } + /** Returns a copied instance of another FocusActionRecord. */ @Nullable public static FocusActionRecord copy(FocusActionRecord record) { @@ -105,6 +132,21 @@ public static FocusActionRecord copy(FocusActionRecord record) { record.focusedNode, record.nodePathDescription, record.extraInfo, record.actionTime); } + /** + * Returns true when the unique id are identical or both null. + * + * @param uniqueId existing uniqueId. + * @param node Accessibility node to check its own uniqueId + */ + private static boolean checkUniqueIdIdentical( + @Nullable String uniqueId, AccessibilityNodeInfoCompat node) { + if (uniqueId == null) { + return getUniqueIdViaReflection(node) == null; + } else { + return uniqueId.equals(getUniqueIdViaReflection(node)); + } + } + /** * Returns the last focused node in {@code window} if it's still valid on screen, otherwise * returns focusable node with the same position. @@ -114,11 +156,32 @@ public static AccessibilityNodeInfoCompat getFocusableNodeFromFocusRecord( @Nullable AccessibilityNodeInfoCompat root, @NonNull FocusFinder focusFinder, @NonNull FocusActionRecord focusActionRecord) { - @NonNull AccessibilityNodeInfoCompat lastFocusedNode = focusActionRecord.getFocusedNode(); - if (lastFocusedNode.refresh() && AccessibilityNodeInfoUtils.shouldFocusNode(lastFocusedNode)) { + AccessibilityNodeInfoCompat lastFocusedNode = focusActionRecord.getFocusedNode(); + + // When looking up the focusable node by focus record, the unique id is the highest priority to + // match. + @Nullable String uniqueId = focusActionRecord.getUniqueId(); + if (lastFocusedNode.refresh() + && checkUniqueIdIdentical(uniqueId, lastFocusedNode) + && AccessibilityNodeInfoUtils.shouldFocusNode(lastFocusedNode)) { return lastFocusedNode; } + if (uniqueId != null) { + lastFocusedNode = + AccessibilityNodeInfoUtils.searchFromBfs( + root, + new Filter() { + @Override + public boolean accept(AccessibilityNodeInfoCompat node) { + return uniqueId.equals(getUniqueIdViaReflection(node)); + } + }); + if (lastFocusedNode != null && AccessibilityNodeInfoUtils.shouldFocusNode(lastFocusedNode)) { + return lastFocusedNode; + } + } + if (root == null) { return null; } @@ -155,13 +218,23 @@ public boolean equals(Object other) { return (focusedNode.equals(otherRecord.focusedNode)) && (nodePathDescription.equals(otherRecord.nodePathDescription)) && (extraInfo.equals(otherRecord.extraInfo)) - && (actionTime == otherRecord.actionTime); + && (actionTime == otherRecord.actionTime) + && Objects.equals(uniqueId, ((FocusActionRecord) other).uniqueId); } public boolean focusedNodeEquals(AccessibilityNodeInfoCompat targetNode) { if (focusedNode == null || targetNode == null) { return false; } + + // Unique id (if it exists) dominates the focus record comparison. + String targetUniqueId = getUniqueIdViaReflection(targetNode); + if (!Objects.equals(uniqueId, targetUniqueId)) { + return false; + } else if (uniqueId != null) { + return true; + } + return (focusedNode == targetNode) || focusedNode.equals(targetNode); } @@ -175,6 +248,9 @@ public String toString() { + actionTime + "\n " + "extraInfo=" - + extraInfo.toString(); + + extraInfo.toString() + + "\n " + + "uniqueId=" + + uniqueId; } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/NodePathDescription.java b/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/NodePathDescription.java index 60bd52865..fb1e1bdab 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/NodePathDescription.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/focusmanagement/record/NodePathDescription.java @@ -24,6 +24,7 @@ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.accessibility.utils.AccessibilityNode; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; +import com.google.android.accessibility.utils.DiagnosticOverlayUtils; import com.google.android.accessibility.utils.Filter; import com.google.android.accessibility.utils.FocusFinder; import com.google.android.accessibility.utils.LogDepth; @@ -262,6 +263,7 @@ public String toString() { if (node == null) { return null; } + DiagnosticOverlayUtils.appendLog(DiagnosticOverlayUtils.REFOCUS_PATH, node); // If node already checked... quit. if (visited.contains(node)) { diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/gesture/GestureController.java b/talkback/src/main/java/com/google/android/accessibility/talkback/gesture/GestureController.java index ba4da64e1..a1367c045 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/gesture/GestureController.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/gesture/GestureController.java @@ -16,6 +16,7 @@ package com.google.android.accessibility.talkback.gesture; +import static android.accessibilityservice.AccessibilityService.GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS; import static com.google.android.accessibility.talkback.Feedback.ContinuousRead.Action.START_AT_NEXT; import static com.google.android.accessibility.talkback.Feedback.ContinuousRead.Action.START_AT_TOP; import static com.google.android.accessibility.talkback.Feedback.EditText.Action.COPY; @@ -40,8 +41,8 @@ import static com.google.android.accessibility.talkback.Feedback.Speech.Action.COPY_LAST; import static com.google.android.accessibility.talkback.Feedback.Speech.Action.SAVE_LAST; import static com.google.android.accessibility.talkback.Feedback.Speech.Action.TOGGLE_VOICE_FEEDBACK; +import static com.google.android.accessibility.talkback.Feedback.UniversalSearch.Action.TOGGLE_SEARCH; import static com.google.android.accessibility.talkback.Feedback.VoiceRecognition.Action.START_LISTENING; -import static com.google.android.accessibility.talkback.actor.SystemActionPerformer.GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS; import static com.google.android.accessibility.talkback.actor.SystemActionPerformer.GLOBAL_ACTION_ACCESSIBILITY_BUTTON; import static com.google.android.accessibility.talkback.actor.SystemActionPerformer.GLOBAL_ACTION_ACCESSIBILITY_BUTTON_CHOOSER; import static com.google.android.accessibility.talkback.actor.SystemActionPerformer.GLOBAL_ACTION_KEYCODE_HEADSETHOOK; @@ -56,11 +57,9 @@ import android.accessibilityservice.AccessibilityService; import android.accessibilityservice.FingerprintGestureController; -import android.annotation.TargetApi; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; -import android.os.Build; import android.text.SpannableStringBuilder; import android.text.TextUtils; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; @@ -74,7 +73,12 @@ import com.google.android.accessibility.talkback.contextmenu.ListMenuManager; import com.google.android.accessibility.talkback.focusmanagement.AccessibilityFocusMonitor; import com.google.android.accessibility.talkback.selector.SelectorController; +import com.google.android.accessibility.talkback.selector.SelectorController.Setting; import com.google.android.accessibility.talkback.training.TrainingActivity; +import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; +import com.google.android.accessibility.utils.AccessibilityServiceCompatUtils.Constants; +import com.google.android.accessibility.utils.FeatureSupport; +import com.google.android.accessibility.utils.KeyboardUtils; import com.google.android.accessibility.utils.Performance; import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.Role; @@ -82,7 +86,6 @@ import com.google.android.accessibility.utils.StringBuilderUtils; import com.google.android.accessibility.utils.TreeDebug; import com.google.android.accessibility.utils.WindowUtils; -import com.google.android.accessibility.utils.keyboard.KeyboardUtils; import com.google.android.accessibility.utils.monitor.ScreenMonitor; import com.google.android.accessibility.utils.output.FeedbackItem; import com.google.android.accessibility.utils.output.SpeechController.SpeakOptions; @@ -153,7 +156,6 @@ public GestureController( * @param gesture Fingerprint gesture Id * @return Mapped action shortcut */ - @TargetApi(Build.VERSION_CODES.O) private String actionFromFingerprintGesture(int gesture) { SharedPreferences prefs = SharedPreferencesUtils.getSharedPreferences(service); switch (gesture) { @@ -314,8 +316,15 @@ public void performAction(String action, EventId eventId) { } else if (action.equals( service.getString(R.string.shortcut_value_selected_setting_next_action))) { selectorController.adjustSelectedSetting(eventId, true); + } else if (action.equals( + service.getString(R.string.shortcut_value_action_setting_activate_current_action))) { + if (selectorController.getCurrentSetting().equals(Setting.ACTIONS)) { + selectorController.activateCurrentAction(eventId); + } else { + result = pipeline.returnFeedback(eventId, Feedback.focus(CLICK_CURRENT)); + } } else if (action.equals(service.getString(R.string.shortcut_value_screen_search))) { - service.getUniversalSearchManager().toggleSearch(eventId); + result = pipeline.returnFeedback(eventId, Feedback.universalSearch(TOGGLE_SEARCH)); } else if (action.equals( service.getString(R.string.shortcut_value_pass_through_next_gesture))) { result = @@ -331,11 +340,11 @@ public void performAction(String action, EventId eventId) { } else if (action.equals(service.getString(R.string.shortcut_value_pause_or_resume_feedback))) { pipeline.returnFeedback(eventId, Feedback.speech(Feedback.Speech.Action.PAUSE_OR_RESUME)); } else if (action.equals(service.getString(R.string.shortcut_value_start_selection_mode))) { - AccessibilityNodeInfoCompat node = getEditTextFocus(); + AccessibilityNodeInfoCompat node = getSelectTextFocus(); if (node == null) { result = false; } else { - // Edit text found. + // Editable or non-editable selectable text found. if (actorState.getDirectionNavigation().isSelectionModeActive()) { result = pipeline.returnFeedback(eventId, Feedback.edit(node, END_SELECT)); } else { @@ -357,7 +366,7 @@ public void performAction(String action, EventId eventId) { pipeline.returnFeedback(eventId, Feedback.edit(node, CURSOR_TO_END)); } } else if (action.equals(service.getString(R.string.shortcut_value_select_all))) { - AccessibilityNodeInfoCompat node = getEditTextFocus(); + AccessibilityNodeInfoCompat node = getSelectTextFocus(); if (node == null) { result = false; } else { @@ -399,6 +408,12 @@ public void performAction(String action, EventId eventId) { Feedback.speech( service.getString(R.string.switch_to_braille_keyboard_failure_msg))); } + } else if (action.equals(service.getString(R.string.shortcut_value_braille_display_settings))) { + if (FeatureSupport.supportBrailleDisplay(service)) { + Intent intent = new Intent().setComponent(Constants.BRAILLE_DISPLAY_SETTINGS); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); + service.startActivity(intent); + } } else if (action.equals(service.getString(R.string.shortcut_value_tutorial))) { pipeline.returnFeedback(eventId, Feedback.triggerIntent(Action.TRIGGER_TUTORIAL)); } else if (action.equals(service.getString(R.string.shortcut_value_practice_gestures))) { @@ -515,6 +530,17 @@ public static boolean isAnyGestureChanged(Context context) { return false; } + private @Nullable AccessibilityNodeInfoCompat getSelectTextFocus() { + @Nullable AccessibilityNodeInfoCompat node = + accessibilityFocusMonitor.getAccessibilityFocus(/* useInputFocusIfEmpty= */ true); + if (AccessibilityNodeInfoUtils.isTextSelectable(node)) { + return node; + } else { + speak(service.getString(R.string.not_selectable)); + return null; + } + } + private @Nullable AccessibilityNodeInfoCompat getEditTextFocus() { @Nullable AccessibilityNodeInfoCompat node = accessibilityFocusMonitor.getAccessibilityFocus(/* useInputFocusIfEmpty= */ true); diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/gesture/GestureShortcutMapping.java b/talkback/src/main/java/com/google/android/accessibility/talkback/gesture/GestureShortcutMapping.java index ca9b52b0a..86e88a38d 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/gesture/GestureShortcutMapping.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/gesture/GestureShortcutMapping.java @@ -28,8 +28,9 @@ import androidx.annotation.Nullable; import androidx.annotation.StringRes; import androidx.annotation.VisibleForTesting; -import com.google.android.accessibility.compositor.GestureShortcutProvider; import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.compositor.GestureShortcutProvider; +import com.google.android.accessibility.talkback.preference.PreferencesActivityUtils; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.SharedPreferencesUtils; import com.google.android.accessibility.utils.WindowUtils; @@ -182,6 +183,17 @@ private enum TalkBackGesture { SINGLE_FINGER, R.string.pref_shortcut_left_and_up_key, R.string.pref_shortcut_left_and_up_default), + // One-finger Tap + ONE_FINGER_DOUBLE_TAP( + AccessibilityService.GESTURE_DOUBLE_TAP, + MULTI_FINGER, + R.string.pref_shortcut_1finger_2tap_key, + R.string.pref_shortcut_1finger_2tap_default), + ONE_FINGER_DOUBLE_TAP_AND_HOLD( + AccessibilityService.GESTURE_DOUBLE_TAP_AND_HOLD, + MULTI_FINGER, + R.string.pref_shortcut_1finger_2tap_hold_key, + R.string.pref_shortcut_1finger_2tap_hold_default), // Multi-finger Gestures TWO_FINGER_SINGLE_TAP( AccessibilityService.GESTURE_2_FINGER_SINGLE_TAP, @@ -676,6 +688,12 @@ private void loadGestureIdToActionKeyMap(boolean isMultiFingerOn, boolean isFing String action = prefs.getString( context.getString(gesture.keyId), context.getString(gesture.defaultActionId)); + // When diagnosis-mode is on, override a gesture to dump node-tree to logs. + if ((gesture == TalkBackGesture.FOUR_FINGER_SINGLE_TAP) + && PreferencesActivityUtils.isDiagnosisModeOn(prefs, context.getResources())) { + action = context.getString(R.string.shortcut_value_print_node_tree); + } + GestureCollector gestureCollector; if (actionToGesture.containsKey(action)) { gestureCollector = actionToGesture.get(action); @@ -698,10 +716,7 @@ private void loadGestureIdToActionKeyMap(boolean isMultiFingerOn, boolean isFing // table. continue; } - gestureIdToActionKey.put( - gesture.gestureId, - prefs.getString( - context.getString(gesture.keyId), context.getString(gesture.defaultActionId))); + gestureIdToActionKey.put(gesture.gestureId, action); } // Don't need to keep unassigned action in the map. diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/icondetection/IconDetectionModuleDownloadPrompter.java b/talkback/src/main/java/com/google/android/accessibility/talkback/icondetection/IconDetectionModuleDownloadPrompter.java new file mode 100644 index 000000000..ba4a0b186 --- /dev/null +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/icondetection/IconDetectionModuleDownloadPrompter.java @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2022 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.talkback.icondetection; + +import android.content.Context; +import androidx.annotation.Nullable; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import com.google.android.accessibility.talkback.Pipeline.FeedbackReturner; + +/** + * Shows a confirmation dialog to guide users through the download of the icon detection module + * dynamically. + */ +public class IconDetectionModuleDownloadPrompter { + + /** A callback to handle the download state. */ + public interface DownloadStateListener { + /** Called when the module has been installed. */ + void onInstalled(); + + /** Called when the module download is failed. */ + void onFailed(); + + /** Called when the download has been accepted. */ + void onAccepted(); + + /** Called when the download has been rejected. */ + void onRejected(); + + /** Called when the dialog is dismissed. */ + void onDialogDismissed(@Nullable AccessibilityNodeInfoCompat queuedNode); + } + + /** A callback to handle the uninstall state. */ + public interface UninstallStateListener { + /** Called when the uninstallation has been accepted. */ + void onAccepted(); + + /** Called when the uninstallation has been rejected. */ + void onRejected(); + } + + public IconDetectionModuleDownloadPrompter( + Context context, + boolean triggeredByTalkBackMenu, + DownloadStateListener downloadStateListener) {} + + public void setPipeline(FeedbackReturner pipeline) {} + + public void setUninstallStateListener(@Nullable UninstallStateListener uninstallStateListener) {} + + public void setCaptionNode(@Nullable AccessibilityNodeInfoCompat node) {} + + public boolean isIconDetectionModuleAvailable() { + return false; + } + + public boolean isIconDetectionModuleDownloading() { + return false; + } + + public boolean needDownloadDialog() { + return false; + } + + public void showConfirmationDialog() {} + + public void showUninstallDialog() {} + + public void shutdown() {} +} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/AccessibilityFocusInterpreter.java b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/AccessibilityFocusInterpreter.java index dadf33e96..a122ec6d4 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/AccessibilityFocusInterpreter.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/AccessibilityFocusInterpreter.java @@ -21,12 +21,13 @@ import android.content.Context; import android.view.accessibility.AccessibilityEvent; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.compositor.AccessibilityFocusEventInterpretation; -import com.google.android.accessibility.compositor.AccessibilityFocusEventInterpreter; import com.google.android.accessibility.talkback.ActorState; import com.google.android.accessibility.talkback.Interpretation; import com.google.android.accessibility.talkback.Pipeline; import com.google.android.accessibility.talkback.actor.ImageCaptioner; +import com.google.android.accessibility.talkback.compositor.AccessibilityFocusEventInterpretation; +import com.google.android.accessibility.talkback.compositor.AccessibilityFocusEventInterpreter; +import com.google.android.accessibility.talkback.compositor.Compositor; import com.google.android.accessibility.talkback.focusmanagement.AccessibilityFocusMonitor; import com.google.android.accessibility.talkback.focusmanagement.FocusProcessorForScreenStateChange; import com.google.android.accessibility.talkback.focusmanagement.FocusProcessorForTapAndTouchExploration; @@ -185,7 +186,7 @@ public void onViewTargeted( return null; } AccessibilityFocusEventInterpretation interpretation = - new AccessibilityFocusEventInterpretation(event.getEventType()); + new AccessibilityFocusEventInterpretation(Compositor.toCompositorEvent(event)); interpretation.setForceFeedbackEvenIfAudioPlaybackActive( info.forceFeedbackEvenIfAudioPlaybackActive()); interpretation.setForceFeedbackEvenIfMicrophoneActive( @@ -227,12 +228,22 @@ public void setTypingMethod(@TypingMethod int type) { focusProcessorForTapAndTouchExploration.setTypingMethod(type); } + /** + * Sets long press duration. It's only applicable when the typing method is not double-tap. + * + * @param duration in milliseconds + */ + public void setTypingLongPressDurationMs(int duration) { + focusProcessorForTapAndTouchExploration.setTypingLongPressDurationMs(duration); + } + /** * Gets whether single-tap activation is enabled. * * @return Whether single-tap activation is enabled. */ - public @TypingMethod int getTypingMethod() { + @TypingMethod + public int getTypingMethod() { return focusProcessorForTapAndTouchExploration.getTypingMethod(); } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/AutoScrollInterpreter.java b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/AutoScrollInterpreter.java index 76d737f58..db18ce845 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/AutoScrollInterpreter.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/AutoScrollInterpreter.java @@ -25,14 +25,14 @@ import com.google.android.accessibility.talkback.ActorState; import com.google.android.accessibility.talkback.Interpretation; import com.google.android.accessibility.talkback.Pipeline; -import com.google.android.accessibility.talkback.ScrollEventInterpreter; -import com.google.android.accessibility.talkback.ScrollEventInterpreter.ScrollEventHandler; -import com.google.android.accessibility.talkback.ScrollEventInterpreter.ScrollEventInterpretation; -import com.google.android.accessibility.talkback.actor.AutoScrollActor.AutoScrollRecord; import com.google.android.accessibility.talkback.actor.DirectionNavigationActor; -import com.google.android.accessibility.talkback.actor.search.UniversalSearchManager; +import com.google.android.accessibility.talkback.actor.search.SearchScreenOverlay; +import com.google.android.accessibility.talkback.actor.search.UniversalSearchActor; import com.google.android.accessibility.utils.DelayHandler; import com.google.android.accessibility.utils.Performance.EventId; +import com.google.android.accessibility.utils.input.ScrollActionRecord; +import com.google.android.accessibility.utils.input.ScrollEventInterpreter.ScrollEventHandler; +import com.google.android.accessibility.utils.input.ScrollEventInterpreter.ScrollEventInterpretation; /** Auto-scroll event interpreter, sending interpretations to pipeline. */ public class AutoScrollInterpreter implements ScrollEventHandler { @@ -48,7 +48,7 @@ public class AutoScrollInterpreter implements ScrollEventHandler { private Pipeline.InterpretationReceiver pipeline; private DirectionNavigationActor directionNavigationActor; - private UniversalSearchManager searchManager; + private UniversalSearchActor universalSearchActor; public AutoScrollInterpreter() { postDelayHandler = @@ -64,8 +64,8 @@ public void setDirectionNavigationActor(DirectionNavigationActor directionNaviga this.directionNavigationActor = directionNavigationActor; } - public void setSearchManager(UniversalSearchManager searchManager) { - this.searchManager = searchManager; + public void setUniversalSearchActor(UniversalSearchActor universalSearchActor) { + this.universalSearchActor = universalSearchActor; } public void setActorState(ActorState actorState) { @@ -88,7 +88,7 @@ public void onScrollEvent( // Both TYPE_WINDOW_CONTENT_CHANGED and TYPE_VIEW_SCROLLED events could result from scroll // action. We react to the first TYPE_VIEW_SCROLLED event and then clear the record. - if (interpretation.userAction == ScrollEventInterpreter.ACTION_SCROLL_SHORTCUT) { + if (interpretation.userAction == ScrollActionRecord.ACTION_SCROLL_COMMAND) { // In P, scroll action is animated, and might trigger several scroll events. Since this // animation behavior is supported in AndroidX it's available for before P as well. For the // use case of scroll by gesture, we have to wait until the scroll action finishes before @@ -102,7 +102,7 @@ public void onScrollEvent( } public void handleAutoScrollFailed() { - @Nullable AutoScrollRecord record = getUnhandledAutoScrollFailRecord(); + @Nullable ScrollActionRecord record = getUnhandledAutoScrollFailRecord(); if (record == null) { return; } @@ -110,18 +110,17 @@ public void handleAutoScrollFailed() { handledAutoScrollUptimeMs = record.autoScrolledTime; record.refresh(); - if (record.scrollSource == AutoScrollRecord.Source.FOCUS && record.scrolledNodeCompat != null) { + if (record.scrollSource == ScrollActionRecord.FOCUS && record.scrolledNodeCompat != null) { // TODO: Use pipeline instead, after focus-interpreter moves to pipeline. directionNavigationActor.onAutoScrollFailed(record.scrolledNodeCompat); - } else if (record.scrollSource == AutoScrollRecord.Source.SEARCH - && record.scrolledNode != null) { - searchManager.onAutoScrollFailed(record.scrolledNode); + } else if (record.scrollSource == SearchScreenOverlay.SEARCH && record.scrolledNode != null) { + universalSearchActor.onAutoScrollFailed(record.scrolledNode); } } @VisibleForTesting void handleAutoScrollSuccess(EventId eventId) { - @Nullable AutoScrollRecord record = getUnhandledAutoScrollRecord(); + @Nullable ScrollActionRecord record = getUnhandledAutoScrollRecord(); if (record == null) { return; } @@ -130,24 +129,23 @@ void handleAutoScrollSuccess(EventId eventId) { handledAutoScrollUptimeMs = record.autoScrolledTime; record.refresh(); - if (record.scrollSource == AutoScrollRecord.Source.FOCUS && record.scrolledNodeCompat != null) { + if (record.scrollSource == ScrollActionRecord.FOCUS && record.scrolledNodeCompat != null) { // TODO: Use pipeline instead, after focus-interpreter moves to pipeline. directionNavigationActor.onAutoScrolled(record.scrolledNodeCompat, eventId); - } else if (record.scrollSource == AutoScrollRecord.Source.SEARCH - && record.scrolledNode != null) { - searchManager.onAutoScrolled(record.scrolledNode, eventId); + } else if (record.scrollSource == SearchScreenOverlay.SEARCH && record.scrolledNode != null) { + universalSearchActor.onAutoScrolled(record.scrolledNode, eventId); } } private int autoScrollRecordId() { - @Nullable AutoScrollRecord record = getUnhandledAutoScrollRecord(); + @Nullable ScrollActionRecord record = getUnhandledAutoScrollRecord(); return (record == null) ? UNKNOWN_SCROLL_INSTANCE_ID : record.scrollInstanceId; } /** Returns AutoScrollRecord from actor-state, only if that record has not yet been handled. */ @Nullable - private AutoScrollRecord getUnhandledAutoScrollRecord() { - @Nullable AutoScrollRecord record = actorState.getScrollerState().getAutoScrollRecord(); + private ScrollActionRecord getUnhandledAutoScrollRecord() { + @Nullable ScrollActionRecord record = actorState.getScrollerState().get(); if ((record == null) || (record.autoScrolledTime <= handledAutoScrollUptimeMs)) { return null; } @@ -159,8 +157,9 @@ private AutoScrollRecord getUnhandledAutoScrollRecord() { * been handled yet. */ @Nullable - private AutoScrollRecord getUnhandledAutoScrollFailRecord() { - @Nullable AutoScrollRecord record = actorState.getScrollerState().getFailedAutoScrollRecord(); + private ScrollActionRecord getUnhandledAutoScrollFailRecord() { + @Nullable + ScrollActionRecord record = actorState.getScrollerState().getFailedScrollActionRecord(); if ((record == null) || (record.autoScrolledTime <= handledAutoScrollUptimeMs)) { return null; } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/DirectionNavigationInterpreter.java b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/DirectionNavigationInterpreter.java index 8bed7a7b9..867bdd3e2 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/DirectionNavigationInterpreter.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/DirectionNavigationInterpreter.java @@ -29,14 +29,12 @@ import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.WindowUtils; -import com.google.android.accessibility.utils.keyboard.KeyComboManager; import com.google.android.accessibility.utils.traversal.TraversalStrategy.SearchDirection; import com.google.android.accessibility.utils.traversal.TraversalStrategyUtils; import com.google.android.libraries.accessibility.utils.log.LogUtils; /** Event-interpreter for directional navigation. */ -public class DirectionNavigationInterpreter - implements AccessibilityEventListener, KeyComboManager.KeyComboListener { +public class DirectionNavigationInterpreter implements AccessibilityEventListener { private static final String TAG = "DirectionNavigationInterpreter"; @@ -60,12 +58,6 @@ public void setPipeline(Pipeline.InterpretationReceiver pipeline) { } //////////////////////////////////////////////////////////////////////////////////////////////// - // Methods handling KeyCombo shortcuts. - - @Override - public boolean onComboPerformed(int id, String name, EventId eventId) { - return pipeline.input(eventId, /* event= */ null, Interpretation.KeyCombo.create(id, name)); - } @Override public int getEventTypes() { @@ -89,9 +81,9 @@ public void onAccessibilityEvent(AccessibilityEvent event, EventId eventId) { if ((navigationAction != null) && (navigationAction.originalNavigationGranularity != null) && navigationAction.originalNavigationGranularity.isMicroGranularity()) { - // Node reference only, do not recyle. + // Node reference only, do not recycle. AccessibilityNodeInfoCompat moveToNode = - AccessibilityNodeInfoUtils.isKeyboard(event, sourceNode) ? null : sourceNode; + AccessibilityNodeInfoUtils.isKeyboard(sourceNode) ? null : sourceNode; // Try to automatically perform micro-granularity movement. @SearchDirection int linearDirection = diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/InputFocusInterpreter.java b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/InputFocusInterpreter.java index 92813df81..a85978dc5 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/InputFocusInterpreter.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/InputFocusInterpreter.java @@ -21,8 +21,8 @@ import android.view.accessibility.AccessibilityEvent; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.compositor.GlobalVariables; import com.google.android.accessibility.talkback.ActorState; +import com.google.android.accessibility.talkback.compositor.GlobalVariables; import com.google.android.accessibility.talkback.focusmanagement.interpreter.ScreenState; import com.google.android.accessibility.talkback.focusmanagement.interpreter.ScreenStateMonitor.ScreenStateChangeListener; import com.google.android.accessibility.utils.AccessibilityEventListener; @@ -227,7 +227,7 @@ private boolean conflictWithFocusActionRecord(AccessibilityEvent event) { } if (AccessibilityNodeInfoUtils.shouldFocusNode(eventSourceNode)) { - return AccessibilityNodeInfoUtils.obtain(eventSourceNode); + return eventSourceNode; } // TODO: Doing a BFS looks like searching for a11y focusable node inside a collection. diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/ManualScrollInterpreter.java b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/ManualScrollInterpreter.java index e3ae9db87..8bb191d0c 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/ManualScrollInterpreter.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/ManualScrollInterpreter.java @@ -19,13 +19,13 @@ import android.view.accessibility.AccessibilityEvent; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.accessibility.talkback.ActorState; -import com.google.android.accessibility.talkback.ScrollEventInterpreter; -import com.google.android.accessibility.talkback.ScrollEventInterpreter.ScrollEventHandler; -import com.google.android.accessibility.talkback.ScrollEventInterpreter.ScrollEventInterpretation; import com.google.android.accessibility.talkback.focusmanagement.record.NodePathDescription; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.BuildVersionUtils; import com.google.android.accessibility.utils.Performance.EventId; +import com.google.android.accessibility.utils.input.ScrollActionRecord; +import com.google.android.accessibility.utils.input.ScrollEventInterpreter.ScrollEventHandler; +import com.google.android.accessibility.utils.input.ScrollEventInterpreter.ScrollEventInterpretation; import com.google.android.accessibility.utils.traversal.TraversalStrategy; import com.google.auto.value.AutoValue; import org.checkerframework.checker.nullness.qual.Nullable; @@ -69,10 +69,13 @@ public static ManualScrollInterpretation create( private ScrolledViewChangeListener listener; //////////////////////////////////////////////////////////////////////////////////////////////// - // Constructor + // Construction - public ManualScrollInterpreter(ScrolledViewChangeListener listener, ActorState actorState) { + public void setActorState(ActorState actorState) { this.actorState = actorState; + } + + public void setListener(ScrolledViewChangeListener listener) { this.listener = listener; } @@ -82,7 +85,7 @@ public ManualScrollInterpreter(ScrolledViewChangeListener listener, ActorState a @Override public void onScrollEvent( AccessibilityEvent event, ScrollEventInterpretation interpretation, EventId eventId) { - if ((interpretation.userAction != ScrollEventInterpreter.ACTION_MANUAL_SCROLL) + if ((interpretation.userAction != ScrollActionRecord.ACTION_MANUAL_SCROLL) || (interpretation.scrollDirection == TraversalStrategy.SEARCH_FOCUS_UNKNOWN)) { return; } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/ScrollPositionInterpreter.java b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/ScrollPositionInterpreter.java index f220f7195..e495109ca 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/ScrollPositionInterpreter.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/interpreters/ScrollPositionInterpreter.java @@ -16,25 +16,21 @@ package com.google.android.accessibility.talkback.interpreters; -import static com.google.android.accessibility.compositor.Compositor.EVENT_SCROLL_POSITION; +import static com.google.android.accessibility.talkback.compositor.Compositor.EVENT_SCROLL_POSITION; import android.view.accessibility.AccessibilityEvent; import com.google.android.accessibility.talkback.Interpretation; import com.google.android.accessibility.talkback.Pipeline; -import com.google.android.accessibility.talkback.ScrollEventInterpreter; -import com.google.android.accessibility.talkback.ScrollEventInterpreter.ScrollEventHandler; -import com.google.android.accessibility.talkback.ScrollEventInterpreter.ScrollEventInterpretation; import com.google.android.accessibility.utils.AccessibilityNode; import com.google.android.accessibility.utils.DelayHandler; import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.Role; +import com.google.android.accessibility.utils.input.ScrollActionRecord; +import com.google.android.accessibility.utils.input.ScrollEventInterpreter.ScrollEventHandler; +import com.google.android.accessibility.utils.input.ScrollEventInterpreter.ScrollEventInterpretation; import org.checkerframework.checker.nullness.qual.Nullable; -/** - * Manages scroll position feedback. If an interpreted {@link AccessibilityEvent#TYPE_VIEW_SCROLLED} - * event passes through this processor and no further events are received for a specified duration, - * a "scroll position" message is spoken. - */ +/** Filters scroll-events, waiting for the last scroll-event within some wait-time. */ public class ScrollPositionInterpreter implements ScrollEventHandler { /** Delay before sending a scroll position notification for non-viewpager node. */ @@ -92,9 +88,9 @@ public void onScrollEvent( // scrolling manually from ViewPager (b/174631424). Always announce for ViewPager, because user // needs to know about page-changes for 2-finger pass-through scrolling. if (!isVerbose - && (interpretation.userAction != ScrollEventInterpreter.ACTION_SCROLL_SHORTCUT) + && (interpretation.userAction != ScrollActionRecord.ACTION_SCROLL_COMMAND) && (Role.getSourceRole(event) != Role.ROLE_PAGER - || interpretation.userAction != ScrollEventInterpreter.ACTION_MANUAL_SCROLL)) { + || interpretation.userAction != ScrollActionRecord.ACTION_MANUAL_SCROLL)) { return; } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/DefaultKeyComboModel.java b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/DefaultKeyComboModel.java new file mode 100644 index 000000000..cee57c317 --- /dev/null +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/DefaultKeyComboModel.java @@ -0,0 +1,594 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.talkback.keyboard; + +import android.content.Context; +import android.content.SharedPreferences; +import android.view.KeyEvent; +import androidx.annotation.Nullable; +import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.utils.FeatureSupport; +import com.google.android.accessibility.utils.SharedPreferencesUtils; +import java.util.Map; +import java.util.TreeMap; + +/** Default key combo model. */ +public class DefaultKeyComboModel implements KeyComboModel { + public static final String PREF_KEY_PREFIX = "default_key_combo_model"; + + private final Context context; + private final boolean isArc; + private final Map keyComboCodeMap = new TreeMap<>(); + private final KeyComboPersister persister; + + private int triggerModifier = KeyEvent.META_ALT_ON; + + public DefaultKeyComboModel(Context context) { + this.context = context; + isArc = FeatureSupport.isArc(); + persister = new KeyComboPersister(context, PREF_KEY_PREFIX); + + loadTriggerModifierFromPreferences(); + addKeyCombos(); + } + + private void loadTriggerModifierFromPreferences() { + SharedPreferences prefs = SharedPreferencesUtils.getSharedPreferences(context); + int defaultTriggerModifier = + isArc + ? R.string.trigger_modifier_meta_entry_value + : R.string.trigger_modifier_alt_entry_value; + + if (!prefs.contains(getPreferenceKeyForTriggerModifier())) { + // Store default value in preferences to show it in preferences UI. + prefs + .edit() + .putString( + getPreferenceKeyForTriggerModifier(), context.getString(defaultTriggerModifier)) + .apply(); + } + + String triggerModifier = + prefs.getString( + getPreferenceKeyForTriggerModifier(), context.getString(defaultTriggerModifier)); + if (triggerModifier.equals(context.getString(R.string.trigger_modifier_alt_entry_value))) { + this.triggerModifier = KeyEvent.META_ALT_ON; + } else if (triggerModifier.equals( + context.getString(R.string.trigger_modifier_meta_entry_value))) { + this.triggerModifier = KeyEvent.META_META_ON; + } + } + + private void addKeyCombos() { + addKeyCombo(context.getString(R.string.keycombo_shortcut_perform_click)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_perform_long_click)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_other_read_from_top)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_other_read_from_next_item)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_other_talkback_context_menu)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_other_custom_actions)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_other_language_options)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_other_toggle_search)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_global_back)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_default)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_default)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_up)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_down)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_first)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_last)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_word)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_word)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_character)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_character)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_button)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_button)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_control)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_control)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_checkbox)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_checkbox)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_aria_landmark)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_aria_landmark)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_edit_field)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_edit_field)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_focusable_item)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_focusable_item)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_graphic)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_graphic)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_heading)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_heading)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_heading_1)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_1)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_heading_2)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_2)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_heading_3)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_3)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_heading_4)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_4)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_heading_5)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_5)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_heading_6)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_6)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_list_item)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_list_item)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_link)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_link)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_list)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_list)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_table)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_table)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_combobox)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_combobox)); + if (!isArc) { + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_next_window)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_navigate_previous_window)); + } + if (isArc) { + addKeyCombo(context.getString(R.string.keycombo_shortcut_open_manage_keyboard_shortcuts)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_open_talkback_settings)); + } + if (!isArc) { + addKeyCombo(context.getString(R.string.keycombo_shortcut_global_home)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_global_recents)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_global_notifications)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_global_play_pause_media)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_global_scroll_forward_reading_menu)); + addKeyCombo( + context.getString(R.string.keycombo_shortcut_global_scroll_backward_reading_menu)); + addKeyCombo( + context.getString(R.string.keycombo_shortcut_global_adjust_reading_settings_previous)); + addKeyCombo(context.getString(R.string.keycombo_shortcut_global_adjust_reading_setting_next)); + } + } + + private void addKeyCombo(String key) { + if (!persister.contains(key)) { + persister.saveKeyCombo(key, getDefaultKeyComboCode(key)); + } + + keyComboCodeMap.put(key, persister.getKeyComboCode(key)); + } + + @Override + public int getTriggerModifier() { + return triggerModifier; + } + + public String getTriggerModifierName() { + SharedPreferences prefs = SharedPreferencesUtils.getSharedPreferences(context); + String triggerModifier = + prefs.getString( + getPreferenceKeyForTriggerModifier(), + context.getString(R.string.trigger_modifier_alt_entry_value)); + String triggerModifierName = ""; + + if (triggerModifier.equals(context.getString(R.string.trigger_modifier_alt_entry_value))) { + triggerModifierName = context.getString(R.string.keycombo_key_modifier_alt); + } else if (triggerModifier.equals( + context.getString(R.string.trigger_modifier_meta_entry_value))) { + triggerModifierName = context.getString(R.string.keycombo_key_modifier_meta); + } + + return triggerModifierName; + } + + @Override + public void notifyTriggerModifierChanged() { + loadTriggerModifierFromPreferences(); + } + + @Override + public String getPreferenceKeyForTriggerModifier() { + return context.getString(R.string.pref_default_keymap_trigger_modifier_key); + } + + @Override + public Map getKeyComboCodeMap() { + return keyComboCodeMap; + } + + @Nullable + @Override + public String getKeyForKeyComboCode(long keyComboCode) { + for (Map.Entry entry : keyComboCodeMap.entrySet()) { + if (entry.getValue() == keyComboCode) { + return entry.getKey(); + } + } + + return null; + } + + @Override + public long getKeyComboCodeForKey(String key) { + if (key != null && keyComboCodeMap.containsKey(key)) { + return keyComboCodeMap.get(key); + } else { + return KEY_COMBO_CODE_UNASSIGNED; + } + } + + @Override + public long getDefaultKeyComboCode(String key) { + if (key == null) { + return KEY_COMBO_CODE_UNASSIGNED; + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_perform_click))) { + if (isArc) { + return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_SPACE); + } else { + return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_ENTER); + } + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_perform_long_click))) { + if (isArc) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_SPACE); + } else { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_ENTER); + } + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_other_read_from_top))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_ENTER); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_other_read_from_next_item))) { + return KeyComboManager.getKeyComboCode( + KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_ENTER); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_other_talkback_context_menu))) { + if (isArc) { + return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_ENTER); + } else { + return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_SPACE); + } + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_other_custom_actions))) { + if (isArc) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_ENTER); + } else { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_SPACE); + } + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_other_language_options))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_L); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_other_toggle_search))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_SLASH); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_global_home))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_H); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_global_recents))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_R); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_global_back))) { + return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_DEL); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_global_notifications))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_N); + } + + if (FeatureSupport.supportMediaControls() + && key.equals(context.getString(R.string.keycombo_shortcut_global_play_pause_media))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_SPACE); + } + + if (key.equals( + context.getString(R.string.keycombo_shortcut_global_scroll_forward_reading_menu))) { + return KeyComboManager.getKeyComboCode( + KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_DOWN); + } + + if (key.equals( + context.getString(R.string.keycombo_shortcut_global_scroll_backward_reading_menu))) { + return KeyComboManager.getKeyComboCode( + KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_UP); + } + + if (key.equals( + context.getString(R.string.keycombo_shortcut_global_adjust_reading_settings_previous))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_UP); + } + + if (key.equals( + context.getString(R.string.keycombo_shortcut_global_adjust_reading_setting_next))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_DOWN); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_default))) { + return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_DPAD_RIGHT); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_default))) { + return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_DPAD_LEFT); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_up))) { + return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_DPAD_UP); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_down))) { + return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_DPAD_DOWN); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_first))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_LEFT); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_last))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_RIGHT); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_word))) { + return KeyComboManager.getKeyComboCode( + KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_RIGHT); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_word))) { + return KeyComboManager.getKeyComboCode( + KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_LEFT); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_character))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_RIGHT); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_character))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_LEFT); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_button))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_B); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_button))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_B); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_control))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_C); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_control))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_C); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_checkbox))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_X); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_checkbox))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_X); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_aria_landmark))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_D); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_aria_landmark))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_D); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_edit_field))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_E); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_edit_field))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_E); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_focusable_item))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_F); + } + + if (key.equals( + context.getString(R.string.keycombo_shortcut_navigate_previous_focusable_item))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_F); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_graphic))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_G); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_graphic))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_G); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_H); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_H); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_1))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_1); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_1))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_1); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_2))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_2); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_2))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_2); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_3))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_3); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_3))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_3); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_4))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_4); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_4))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_4); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_5))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_5); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_5))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_5); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_6))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_6); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_6))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_6); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_list_item))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_I); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_list_item))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_I); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_link))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_L); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_link))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_L); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_list))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_O); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_list))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_O); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_table))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_T); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_table))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_T); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_combobox))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_Z); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_combobox))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_Z); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_window))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_DOWN); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_window))) { + return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_UP); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_open_manage_keyboard_shortcuts))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_K); + } + + if (key.equals(context.getString(R.string.keycombo_shortcut_open_talkback_settings))) { + return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_0); + } + + return KEY_COMBO_CODE_UNASSIGNED; + } + + @Override + public void saveKeyComboCode(String key, long keyComboCode) { + persister.saveKeyCombo(key, keyComboCode); + keyComboCodeMap.put(key, keyComboCode); + } + + @Override + public void clearKeyComboCode(String key) { + saveKeyComboCode(key, KEY_COMBO_CODE_UNASSIGNED); + } + + @Override + public boolean isEligibleKeyComboCode(long keyComboCode) { + if (keyComboCode == KEY_COMBO_CODE_UNASSIGNED) { + return true; + } + + // Do not allow to set key combo which is consisted only with modifiers. + int keyCode = KeyComboManager.getKeyCode(keyComboCode); + if (KeyEvent.isModifierKey(keyCode) || keyCode == KeyEvent.KEYCODE_UNKNOWN) { + return false; + } + + // It's not allowed to use trigger modifier as part of key combo code. + return (KeyComboManager.getModifier(keyComboCode) & getTriggerModifier()) == 0; + } + + @Override + public String getDescriptionOfEligibleKeyCombo() { + return context.getString( + R.string.keycombo_assign_dialog_default_keymap_instruction, getTriggerModifierName()); + } + + @Override + public void updateVersion(int previousVersion) { + if (previousVersion < 50200001) { + // From version 50200001, we've renamed keycombo_shortcut_navigate_next and + // keycombo_shortcut_navigate_previous to keycombo_shortcut_navigate_next_default and + // keycombo_shortcut_navigate_previous_default respectively. + moveKeyComboPreferenceValue( + context.getString(R.string.keycombo_shortcut_navigate_next), + context.getString(R.string.keycombo_shortcut_navigate_next_default)); + moveKeyComboPreferenceValue( + context.getString(R.string.keycombo_shortcut_navigate_previous), + context.getString(R.string.keycombo_shortcut_navigate_previous_default)); + } + } + + /** + * Move key combo preference value from fromKey to toKey. Original value in fromKey is deleted. + */ + private void moveKeyComboPreferenceValue(String fromKey, String toKey) { + if (!persister.contains(fromKey)) { + return; + } + + saveKeyComboCode(toKey, persister.getKeyComboCode(fromKey)); + persister.remove(fromKey); + } +} diff --git a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboManager.java b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboManager.java similarity index 59% rename from utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboManager.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboManager.java index 0322a938d..fe5ac80d0 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboManager.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboManager.java @@ -14,22 +14,24 @@ * the License. */ -package com.google.android.accessibility.utils.keyboard; +package com.google.android.accessibility.talkback.keyboard; import android.content.Context; import android.content.SharedPreferences; import android.view.KeyEvent; import androidx.annotation.Nullable; +import com.google.android.accessibility.talkback.Pipeline; +import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.actor.FullScreenReadActor; +import com.google.android.accessibility.talkback.contextmenu.ListMenuManager; +import com.google.android.accessibility.talkback.selector.SelectorController; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.Performance; import com.google.android.accessibility.utils.Performance.EventId; -import com.google.android.accessibility.utils.R; import com.google.android.accessibility.utils.ServiceKeyEventListener; import com.google.android.accessibility.utils.ServiceStateListener; import com.google.android.accessibility.utils.SharedPreferencesUtils; -import java.util.ArrayList; import java.util.HashSet; -import java.util.List; import java.util.Map; import java.util.Set; @@ -54,7 +56,6 @@ public class KeyComboManager implements ServiceKeyEventListener, ServiceStateLis public static final int ACTION_HOME = 7; public static final int ACTION_RECENTS = 8; public static final int ACTION_NOTIFICATION = 9; - public static final int ACTION_SUSPEND_OR_RESUME = 10; public static final int ACTION_GRANULARITY_INCREASE = 11; public static final int ACTION_GRANULARITY_DECREASE = 12; public static final int ACTION_READ_FROM_TOP = 13; @@ -124,7 +125,7 @@ public class KeyComboManager implements ServiceKeyEventListener, ServiceStateLis private static final int KEY_EVENT_MODIFIER_MASK = KeyEvent.META_SHIFT_ON | KeyEvent.META_CTRL_ON | KeyEvent.META_ALT_ON | KeyEvent.META_META_ON; - public static final String CONCATINATION_STR = " + "; + public static final String CONCATENATION_STR = " + "; private static final String KEYCODE_PREFIX = "KEYCODE_"; /** When user has pressed same key twice less than this interval, we handle them as double tap. */ @@ -142,33 +143,17 @@ public static long getKeyComboCode(KeyEvent keyEvent) { return getKeyComboCode(modifier, getConvertedKeyCode(keyEvent)); } - /** - * Returns key combo code which is combination of modifier and keycode. - * - * @param modifier - * @param keycode - * @return - */ + /** Returns key combo code which is combination of modifier and keycode. */ public static long getKeyComboCode(int modifier, int keycode) { return (((long) modifier) << 32) + keycode; } - /** - * Returns modifier part of key combo code. - * - * @param keyComboCode - * @return - */ + /** Returns modifier part of key combo code. */ public static int getModifier(long keyComboCode) { return (int) (keyComboCode >> 32); } - /** - * Returns key code part of key combo code. - * - * @param keyComboCode - * @return - */ + /** Returns key code part of key combo code. */ public static int getKeyCode(long keyComboCode) { return (int) (keyComboCode); } @@ -195,57 +180,64 @@ static int getConvertedKeyCode(KeyEvent event) { } } - private final boolean mIsArc; + private final boolean isArc; /** Whether the user performed a combo during the current interaction. */ - private boolean mPerformedCombo; + private boolean performedCombo; /** Whether the user may be performing a combo and we should intercept keys. */ - private boolean mHasPartialMatch; + private boolean hasPartialMatch; - private Set mCurrentKeysDown = new HashSet<>(); - private Set mPassedKeys = new HashSet<>(); + private Set currentKeysDown = new HashSet<>(); + private Set passedKeys = new HashSet<>(); - private long mCurrentKeyComboCode = KeyComboModel.KEY_COMBO_CODE_UNASSIGNED; - private long mCurrentKeyComboTime = 0; - private long mPreviousKeyComboCode = KeyComboModel.KEY_COMBO_CODE_UNASSIGNED; - private long mPreviousKeyComboTime = 0; + private long currentKeyComboCode = KeyComboModel.KEY_COMBO_CODE_UNASSIGNED; + private long currentKeyComboTime = 0; + private long previousKeyComboCode = KeyComboModel.KEY_COMBO_CODE_UNASSIGNED; + private long previousKeyComboTime = 0; - /** The listener that receives callbacks when a combo is recognized. */ - private final List mListeners = new ArrayList<>(); - - /** The listener that receives callbacks when key up is performed. */ - private KeyUpListener keyUpLister; - - private Context mContext; - private boolean mMatchKeyCombo = true; - private KeyComboModel mKeyComboModel; - private int mServiceState = SERVICE_STATE_INACTIVE; - private ServiceKeyEventListener mKeyEventDelegate; + private Context context; + private boolean matchKeyCombo = true; + private KeyComboModel keyComboModel; + private int serviceState = SERVICE_STATE_INACTIVE; + private ServiceKeyEventListener keyEventDelegate; + private KeyComboMapper keyComboMapper; public static KeyComboManager create(Context context) { return new KeyComboManager(context); } private KeyComboManager(Context context) { - mContext = context; - mIsArc = FeatureSupport.isArc(); - mKeyComboModel = createKeyComboModelFor(getKeymap()); - + this.context = context; + isArc = FeatureSupport.isArc(); initializeDefaultPreferenceValues(); + keyComboModel = createKeyComboModel(); + } + + // TODO: KeyComboManager would be separated into KeyComboManager + // and KeyComboModelManager + public KeyComboManager( + Context context, + Pipeline.FeedbackReturner pipeline, + SelectorController selectorController, + ListMenuManager menuManager, + FullScreenReadActor fullScreenReadActor) { + this(context); + keyComboMapper = + new KeyComboMapper(context, pipeline, selectorController, menuManager, fullScreenReadActor); } /** Store default values in preferences to show them in preferences UI. */ private void initializeDefaultPreferenceValues() { - SharedPreferences preferences = SharedPreferencesUtils.getSharedPreferences(mContext); - if (preferences.contains(mContext.getString(R.string.pref_select_keymap_key))) { + SharedPreferences preferences = SharedPreferencesUtils.getSharedPreferences(context); + if (preferences.contains(context.getString(R.string.pref_select_keymap_key))) { return; } preferences .edit() .putString( - mContext.getString(R.string.pref_select_keymap_key), mContext.getString(DEFAULT_KEYMAP)) + context.getString(R.string.pref_select_keymap_key), context.getString(DEFAULT_KEYMAP)) .apply(); } @@ -254,399 +246,363 @@ private void initializeDefaultPreferenceValues() { * KeyComboManager does. Sets null to remove current one. */ public void setKeyEventDelegate(ServiceKeyEventListener delegate) { - mKeyEventDelegate = delegate; + keyEventDelegate = delegate; } - /** Returns keymap by reading preference. */ + /** + * Returns keymap by reading preference. + * + * @return key map. Returns default key map if can not find key. + */ public String getKeymap() { - SharedPreferences preferences = SharedPreferencesUtils.getSharedPreferences(mContext); + SharedPreferences preferences = SharedPreferencesUtils.getSharedPreferences(context); return preferences.getString( - mContext.getString(R.string.pref_select_keymap_key), mContext.getString(DEFAULT_KEYMAP)); + context.getString(R.string.pref_select_keymap_key), context.getString(DEFAULT_KEYMAP)); } /** - * Creates key combo model for specified keymap. + * Creates key combo model by keymap key. * - * @param keymap Keymap. * @return Key combo model. null will be returned if keymap is invalid. */ @Nullable - public KeyComboModel createKeyComboModelFor(String keymap) { - if (keymap.equals(mContext.getString(R.string.classic_keymap_entry_value))) { - return new KeyComboModelApp(mContext); - } else if (keymap.equals(mContext.getString(R.string.default_keymap_entry_value))) { - return new DefaultKeyComboModel(mContext); + private KeyComboModel createKeyComboModel() { + String keymap = getKeymap(); + if (keymap.equals(context.getString(R.string.classic_keymap_entry_value))) { + return new KeyComboModelApp(context); + } else if (keymap.equals(context.getString(R.string.default_keymap_entry_value))) { + return new DefaultKeyComboModel(context); } return null; } - /** - * Returns key combo model. - * - * @return - */ - public KeyComboModel getKeyComboModel() { - return mKeyComboModel; + /** Refreshes key combo model after key map changes. */ + public void refreshKeyComboModel() { + keyComboModel = createKeyComboModel(); } - /** Sets key combo model. TODO: replace this method with setKeymap. */ - public void setKeyComboModel(KeyComboModel keyComboModel) { - mKeyComboModel = keyComboModel; + /** Returns modifier part of key combo code. */ + public KeyComboModel getKeyComboModel() { + return keyComboModel; } /** * Returns corresponding action id to key. If invalid value is passed as key, ACTION_UNKNOWN will * be returned. - * - * @param key - * @return */ private int getActionIdFromKey(String key) { - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next))) { return ACTION_NAVIGATE_NEXT; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous))) { return ACTION_NAVIGATE_PREVIOUS; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_default))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_default))) { return ACTION_NAVIGATE_NEXT_DEFAULT; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_default))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_default))) { return ACTION_NAVIGATE_PREVIOUS_DEFAULT; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_first))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_first))) { return ACTION_NAVIGATE_FIRST; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_last))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_last))) { return ACTION_NAVIGATE_LAST; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_perform_click))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_perform_click))) { return ACTION_PERFORM_CLICK; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_back))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_global_back))) { return ACTION_BACK; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_home))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_global_home))) { return ACTION_HOME; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_recents))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_global_recents))) { return ACTION_RECENTS; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_notifications))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_global_notifications))) { return ACTION_NOTIFICATION; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_suspend))) { - return ACTION_SUSPEND_OR_RESUME; - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_play_pause_media))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_global_play_pause_media))) { return ACTION_PLAY_PAUSE_MEDIA; } if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_scroll_forward_reading_menu))) { + context.getString(R.string.keycombo_shortcut_global_scroll_forward_reading_menu))) { return ACTION_SCROLL_FORWARD_READING_MENU; } if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_scroll_backward_reading_menu))) { + context.getString(R.string.keycombo_shortcut_global_scroll_backward_reading_menu))) { return ACTION_SCROLL_BACKWARD_READING_MENU; } if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_adjust_reading_settings_previous))) { + context.getString(R.string.keycombo_shortcut_global_adjust_reading_settings_previous))) { return ACTION_ADJUST_READING_SETTING_PREVIOUS; } if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_adjust_reading_setting_next))) { + context.getString(R.string.keycombo_shortcut_global_adjust_reading_setting_next))) { return ACTION_ADJUST_READING_SETTING_NEXT; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_granularity_increase))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_granularity_increase))) { return ACTION_GRANULARITY_INCREASE; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_granularity_decrease))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_granularity_decrease))) { return ACTION_GRANULARITY_DECREASE; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_read_from_top))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_other_read_from_top))) { return ACTION_READ_FROM_TOP; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_read_from_next_item))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_other_read_from_next_item))) { return ACTION_READ_FROM_NEXT_ITEM; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_toggle_search))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_other_toggle_search))) { return ACTION_TOGGLE_SEARCH; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_talkback_context_menu))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_other_talkback_context_menu))) { return ACTION_TALKBACK_CONTEXT_MENU; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_custom_actions))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_other_custom_actions))) { return ACTION_CUSTOM_ACTIONS; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_language_options))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_other_language_options))) { return ACTION_LANGUAGE_OPTIONS; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_up))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_up))) { return ACTION_NAVIGATE_UP; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_down))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_down))) { return ACTION_NAVIGATE_DOWN; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_word))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_word))) { return ACTION_NAVIGATE_NEXT_WORD; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_word))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_word))) { return ACTION_NAVIGATE_PREVIOUS_WORD; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_character))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_character))) { return ACTION_NAVIGATE_NEXT_CHARACTER; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_character))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_character))) { return ACTION_NAVIGATE_PREVIOUS_CHARACTER; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_perform_long_click))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_perform_long_click))) { return ACTION_PERFORM_LONG_CLICK; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading))) { return ACTION_NAVIGATE_NEXT_HEADING; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading))) { return ACTION_NAVIGATE_PREVIOUS_HEADING; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_button))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_button))) { return ACTION_NAVIGATE_NEXT_BUTTON; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_button))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_button))) { return ACTION_NAVIGATE_PREVIOUS_BUTTON; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_checkbox))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_checkbox))) { return ACTION_NAVIGATE_NEXT_CHECKBOX; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_checkbox))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_checkbox))) { return ACTION_NAVIGATE_PREVIOUS_CHECKBOX; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_aria_landmark))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_aria_landmark))) { return ACTION_NAVIGATE_NEXT_ARIA_LANDMARK; } - if (key.equals( - mContext.getString(R.string.keycombo_shortcut_navigate_previous_aria_landmark))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_aria_landmark))) { return ACTION_NAVIGATE_PREVIOUS_ARIA_LANDMARK; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_edit_field))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_edit_field))) { return ACTION_NAVIGATE_NEXT_EDIT_FIELD; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_edit_field))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_edit_field))) { return ACTION_NAVIGATE_PREVIOUS_EDIT_FIELD; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_focusable_item))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_focusable_item))) { return ACTION_NAVIGATE_NEXT_FOCUSABLE_ITEM; } if (key.equals( - mContext.getString(R.string.keycombo_shortcut_navigate_previous_focusable_item))) { + context.getString(R.string.keycombo_shortcut_navigate_previous_focusable_item))) { return ACTION_NAVIGATE_PREVIOUS_FOCUSABLE_ITEM; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_1))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_1))) { return ACTION_NAVIGATE_NEXT_HEADING_1; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_1))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_1))) { return ACTION_NAVIGATE_PREVIOUS_HEADING_1; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_2))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_2))) { return ACTION_NAVIGATE_NEXT_HEADING_2; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_2))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_2))) { return ACTION_NAVIGATE_PREVIOUS_HEADING_2; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_3))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_3))) { return ACTION_NAVIGATE_NEXT_HEADING_3; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_3))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_3))) { return ACTION_NAVIGATE_PREVIOUS_HEADING_3; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_4))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_4))) { return ACTION_NAVIGATE_NEXT_HEADING_4; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_4))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_4))) { return ACTION_NAVIGATE_PREVIOUS_HEADING_4; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_5))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_5))) { return ACTION_NAVIGATE_NEXT_HEADING_5; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_5))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_5))) { return ACTION_NAVIGATE_PREVIOUS_HEADING_5; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_6))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_heading_6))) { return ACTION_NAVIGATE_NEXT_HEADING_6; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_6))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_heading_6))) { return ACTION_NAVIGATE_PREVIOUS_HEADING_6; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_link))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_link))) { return ACTION_NAVIGATE_NEXT_LINK; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_link))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_link))) { return ACTION_NAVIGATE_PREVIOUS_LINK; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_control))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_control))) { return ACTION_NAVIGATE_NEXT_CONTROL; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_control))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_control))) { return ACTION_NAVIGATE_PREVIOUS_CONTROL; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_graphic))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_graphic))) { return ACTION_NAVIGATE_NEXT_GRAPHIC; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_graphic))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_graphic))) { return ACTION_NAVIGATE_PREVIOUS_GRAPHIC; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_list_item))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_list_item))) { return ACTION_NAVIGATE_NEXT_LIST_ITEM; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_list_item))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_list_item))) { return ACTION_NAVIGATE_PREVIOUS_LIST_ITEM; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_list))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_list))) { return ACTION_NAVIGATE_NEXT_LIST; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_list))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_list))) { return ACTION_NAVIGATE_PREVIOUS_LIST; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_table))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_table))) { return ACTION_NAVIGATE_NEXT_TABLE; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_table))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_table))) { return ACTION_NAVIGATE_PREVIOUS_TABLE; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_combobox))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_combobox))) { return ACTION_NAVIGATE_NEXT_COMBOBOX; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_combobox))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_combobox))) { return ACTION_NAVIGATE_PREVIOUS_COMBOBOX; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_window))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next_window))) { return ACTION_NAVIGATE_NEXT_WINDOW; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_window))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous_window))) { return ACTION_NAVIGATE_PREVIOUS_WINDOW; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_open_manage_keyboard_shortcuts))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_open_manage_keyboard_shortcuts))) { return ACTION_OPEN_MANAGE_KEYBOARD_SHORTCUTS; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_open_talkback_settings))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_open_talkback_settings))) { return ACTION_OPEN_TALKBACK_SETTINGS; } return ACTION_UNKNOWN; } - /** - * Returns true if key combination of the key should be always processed. - * - * @param key - * @return - */ - private boolean alwaysProcessCombo(String key) { - return key.equals(mContext.getString(R.string.keycombo_shortcut_global_suspend)); - } - - /** - * Sets the listener that receives callbacks when the user performs key combinations. - * - * @param listener The listener that receives callbacks. - */ - public void addListener(KeyComboListener listener) { - mListeners.add(listener); - } - - /** - * Sets the listener that receives callbacks when the key up action is performed. - * - * @param listener The listener that receives callbacks. - */ - public void setKeyUpListener(KeyUpListener listener) { - keyUpLister = listener; - } - /** Set whether to process keycombo */ public void setMatchKeyCombo(boolean value) { - mMatchKeyCombo = value; + matchKeyCombo = value; } /** Returns user friendly string representations of key combo code */ public String getKeyComboStringRepresentation(long keyComboCode) { if (keyComboCode == KeyComboModel.KEY_COMBO_CODE_UNASSIGNED) { - return mContext.getString(R.string.keycombo_unassigned); + return context.getString(R.string.keycombo_unassigned); } - int triggerModifier = mKeyComboModel.getTriggerModifier(); + int triggerModifier = keyComboModel.getTriggerModifier(); int modifier = getModifier(keyComboCode); int modifierWithoutTriggerModifier = modifier & ~triggerModifier; int keyCode = getKeyCode(keyComboCode); @@ -667,16 +623,16 @@ public String getKeyComboStringRepresentation(long keyComboCode) { switch (keyCode) { case KeyEvent.KEYCODE_DPAD_RIGHT: - sb.append(mContext.getString(R.string.keycombo_key_arrow_right)); + sb.append(context.getString(R.string.keycombo_key_arrow_right)); break; case KeyEvent.KEYCODE_DPAD_LEFT: - sb.append(mContext.getString(R.string.keycombo_key_arrow_left)); + sb.append(context.getString(R.string.keycombo_key_arrow_left)); break; case KeyEvent.KEYCODE_DPAD_UP: - sb.append(mContext.getString(R.string.keycombo_key_arrow_up)); + sb.append(context.getString(R.string.keycombo_key_arrow_up)); break; case KeyEvent.KEYCODE_DPAD_DOWN: - sb.append(mContext.getString(R.string.keycombo_key_arrow_down)); + sb.append(context.getString(R.string.keycombo_key_arrow_down)); break; default: String keyCodeString = KeyEvent.keyCodeToString(keyCode); @@ -699,21 +655,21 @@ public String getKeyComboStringRepresentation(long keyComboCode) { /** Appends modifier. */ private void appendModifiers(int modifier, StringBuilder sb) { appendModifier( - modifier, KeyEvent.META_ALT_ON, mContext.getString(R.string.keycombo_key_modifier_alt), sb); + modifier, KeyEvent.META_ALT_ON, context.getString(R.string.keycombo_key_modifier_alt), sb); appendModifier( modifier, KeyEvent.META_SHIFT_ON, - mContext.getString(R.string.keycombo_key_modifier_shift), + context.getString(R.string.keycombo_key_modifier_shift), sb); appendModifier( modifier, KeyEvent.META_CTRL_ON, - mContext.getString(R.string.keycombo_key_modifier_ctrl), + context.getString(R.string.keycombo_key_modifier_ctrl), sb); appendModifier( modifier, KeyEvent.META_META_ON, - mContext.getString(R.string.keycombo_key_modifier_meta), + context.getString(R.string.keycombo_key_modifier_meta), sb); } @@ -728,7 +684,7 @@ private void appendModifier( private void appendPlusSignIfNotEmpty(StringBuilder sb) { if (sb.length() > 0) { - sb.append(CONCATINATION_STR); + sb.append(CONCATENATION_STR); } } @@ -740,13 +696,13 @@ private void appendPlusSignIfNotEmpty(StringBuilder sb) { */ @Override public boolean onKeyEvent(KeyEvent event, EventId eventId) { - if (mKeyEventDelegate != null) { - if (mKeyEventDelegate.onKeyEvent(event, eventId)) { + if (keyEventDelegate != null) { + if (keyEventDelegate.onKeyEvent(event, eventId)) { return true; } } - if (!mHasPartialMatch && !mPerformedCombo && (!mMatchKeyCombo || mListeners.isEmpty())) { + if (!hasPartialMatch && !performedCombo && !matchKeyCombo) { return false; } @@ -754,7 +710,7 @@ public boolean onKeyEvent(KeyEvent event, EventId eventId) { case KeyEvent.ACTION_DOWN: return onKeyDown(event); case KeyEvent.ACTION_MULTIPLE: - return mHasPartialMatch; + return hasPartialMatch; case KeyEvent.ACTION_UP: return onKeyUp(event); default: @@ -790,30 +746,30 @@ private KeyEvent convertKeyEventInArc(KeyEvent event) { } private boolean onKeyDown(KeyEvent event) { - if (mIsArc) { + if (isArc) { event = convertKeyEventInArc(event); } - mCurrentKeysDown.add(event.getKeyCode()); - mCurrentKeyComboCode = getKeyComboCode(event); - mCurrentKeyComboTime = event.getDownTime(); + currentKeysDown.add(event.getKeyCode()); + currentKeyComboCode = getKeyComboCode(event); + currentKeyComboTime = event.getDownTime(); // Check modifier. - int triggerModifier = mKeyComboModel.getTriggerModifier(); + int triggerModifier = keyComboModel.getTriggerModifier(); boolean hasModifier = triggerModifier != KeyComboModel.NO_MODIFIER; if (hasModifier && (triggerModifier & event.getModifiers()) != triggerModifier) { // Do nothing if condition of modifier is not met. - mPassedKeys.addAll(mCurrentKeysDown); + passedKeys.addAll(currentKeysDown); return false; } - boolean isServiceActive = (mServiceState == SERVICE_STATE_ACTIVE); + boolean isServiceActive = (serviceState == SERVICE_STATE_ACTIVE); // If the current set of keys is a partial combo, consume the event. - mHasPartialMatch = false; + hasPartialMatch = false; - for (Map.Entry entry : mKeyComboModel.getKeyComboCodeMap().entrySet()) { - if (!isServiceActive && !alwaysProcessCombo(entry.getKey())) { + for (Map.Entry entry : keyComboModel.getKeyComboCodeMap().entrySet()) { + if (!isServiceActive) { continue; } @@ -827,42 +783,40 @@ private boolean onKeyDown(KeyEvent event) { // before performing key combos. interrupt(comboId); - for (KeyComboListener listener : mListeners) { - if (listener.onComboPerformed(comboId, comboName, eventId)) { - mPerformedCombo = true; - return true; - } + if (keyComboMapper.performKeyComboAction(comboId, comboName, eventId)) { + performedCombo = true; } + return true; } if (match == PARTIAL_MATCH) { - mHasPartialMatch = true; + hasPartialMatch = true; } } // Do not handle key event if user has pressed search key (meta key) twice to open search // app. if (hasModifier && triggerModifier == KeyEvent.META_META_ON) { - if (mPreviousKeyComboCode == mCurrentKeyComboCode - && mCurrentKeyComboTime - mPreviousKeyComboTime < TIME_TO_DETECT_DOUBLE_TAP - && (mCurrentKeyComboCode + if (previousKeyComboCode == currentKeyComboCode + && currentKeyComboTime - previousKeyComboTime < TIME_TO_DETECT_DOUBLE_TAP + && (currentKeyComboCode == KeyComboManager.getKeyComboCode( KeyEvent.META_META_ON, KeyEvent.KEYCODE_META_RIGHT) - || mCurrentKeyComboCode + || currentKeyComboCode == KeyComboManager.getKeyComboCode( KeyEvent.META_META_ON, KeyEvent.KEYCODE_META_LEFT))) { // Set KEY_COMBO_CODE_UNASSIGNED not to open search app again with following search // key event. - mCurrentKeyComboCode = KeyComboModel.KEY_COMBO_CODE_UNASSIGNED; - mPassedKeys.addAll(mCurrentKeysDown); + currentKeyComboCode = KeyComboModel.KEY_COMBO_CODE_UNASSIGNED; + passedKeys.addAll(currentKeysDown); return false; } } - if (!mHasPartialMatch) { - mPassedKeys.addAll(mCurrentKeysDown); + if (!hasPartialMatch) { + passedKeys.addAll(currentKeysDown); } - return mHasPartialMatch; + return hasPartialMatch; } private int matchKeyEventWith(KeyEvent event, int triggerModifier, long keyComboCode) { @@ -894,37 +848,37 @@ private int matchKeyEventWith(KeyEvent event, int triggerModifier, long keyCombo } /** - * Notifies the {@link KeyUpListener} whether should interrupt or not by checking the ActionId. + * Notifies the {@link KeyComboMapper} whether should interrupt or not by checking the ActionId. * * @param performedActionId the ActionId generating from key combos. */ void interrupt(int performedActionId) { - if (keyUpLister != null) { - keyUpLister.onKeyUpShouldInterrupt(performedActionId); + if (keyComboMapper != null) { + keyComboMapper.interruptByKeyCombo(performedActionId); } } private boolean onKeyUp(KeyEvent event) { - if (mIsArc) { + if (isArc) { event = convertKeyEventInArc(event); } - mCurrentKeysDown.remove(event.getKeyCode()); - boolean passed = mPassedKeys.remove(event.getKeyCode()); + currentKeysDown.remove(event.getKeyCode()); + boolean passed = passedKeys.remove(event.getKeyCode()); - if (mCurrentKeysDown.isEmpty()) { + if (currentKeysDown.isEmpty()) { // Checks interrupt events if no key combos performed in the interaction. - if (!mPerformedCombo) { + if (!performedCombo) { interrupt(ACTION_UNKNOWN); } // The interaction is over, reset the state. - mPerformedCombo = false; - mHasPartialMatch = false; - mPreviousKeyComboCode = mCurrentKeyComboCode; - mPreviousKeyComboTime = mCurrentKeyComboTime; - mCurrentKeyComboCode = KeyComboModel.KEY_COMBO_CODE_UNASSIGNED; - mCurrentKeyComboTime = 0; - mPassedKeys.clear(); + performedCombo = false; + hasPartialMatch = false; + previousKeyComboCode = currentKeyComboCode; + previousKeyComboTime = currentKeyComboTime; + currentKeyComboCode = KeyComboModel.KEY_COMBO_CODE_UNASSIGNED; + currentKeyComboTime = 0; + passedKeys.clear(); } return !passed; @@ -936,22 +890,9 @@ public void onServiceStateChanged(int newState) { // occurs that triggers TalkBack to resume, the corresponding key-up event will not be // sent, causing the partially-matched key history to become inconsistent. // The following method will cause the key history to be reset. - setMatchKeyCombo(mMatchKeyCombo); + setMatchKeyCombo(matchKeyCombo); - mServiceState = newState; - } - - public interface KeyComboListener { - public boolean onComboPerformed(int id, String name, EventId eventId); - } - /** Component used to control key up action. */ - public interface KeyUpListener { - /** - * Check if need to interrupt when on key up - * - * @param performedActionId the ActionId generating from key combos - */ - public void onKeyUpShouldInterrupt(int performedActionId); + serviceState = newState; } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboMapper.java b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboMapper.java new file mode 100644 index 000000000..6119422b1 --- /dev/null +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboMapper.java @@ -0,0 +1,527 @@ +/* + * Copyright (C) 2022 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.android.accessibility.talkback.keyboard; + +import static com.google.android.accessibility.talkback.Feedback.ContinuousRead.Action.START_AT_NEXT; +import static com.google.android.accessibility.talkback.Feedback.ContinuousRead.Action.START_AT_TOP; +import static com.google.android.accessibility.talkback.Feedback.Focus.Action.CLICK_CURRENT; +import static com.google.android.accessibility.talkback.Feedback.Focus.Action.LONG_CLICK_CURRENT; +import static com.google.android.accessibility.talkback.Feedback.FocusDirection.Action.NEXT_GRANULARITY; +import static com.google.android.accessibility.talkback.Feedback.FocusDirection.Action.PREVIOUS_GRANULARITY; +import static com.google.android.accessibility.talkback.Feedback.UniversalSearch.Action.TOGGLE_SEARCH; +import static com.google.android.accessibility.talkback.keyboard.KeyComboManager.ACTION_NAVIGATE_NEXT; +import static com.google.android.accessibility.talkback.keyboard.KeyComboManager.ACTION_NAVIGATE_NEXT_DEFAULT; +import static com.google.android.accessibility.talkback.keyboard.KeyComboManager.ACTION_NAVIGATE_PREVIOUS; +import static com.google.android.accessibility.talkback.keyboard.KeyComboManager.ACTION_NAVIGATE_PREVIOUS_DEFAULT; +import static com.google.android.accessibility.utils.PreferencesActivity.FRAGMENT_NAME; +import static com.google.android.accessibility.utils.input.CursorGranularity.CHARACTER; +import static com.google.android.accessibility.utils.input.CursorGranularity.DEFAULT; +import static com.google.android.accessibility.utils.input.CursorGranularity.WORD; +import static com.google.android.accessibility.utils.input.InputModeManager.INPUT_MODE_KEYBOARD; +import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_BACKWARD; +import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_DOWN; +import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_FORWARD; +import static com.google.android.accessibility.utils.traversal.TraversalStrategy.SEARCH_FOCUS_UP; + +import android.accessibilityservice.AccessibilityService; +import android.content.Context; +import android.content.Intent; +import com.android.talkback.TalkBackPreferencesActivity; +import com.google.android.accessibility.talkback.Feedback; +import com.google.android.accessibility.talkback.Pipeline; +import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.actor.FullScreenReadActor; +import com.google.android.accessibility.talkback.actor.SystemActionPerformer; +import com.google.android.accessibility.talkback.contextmenu.ListMenuManager; +import com.google.android.accessibility.talkback.focusmanagement.NavigationTarget; +import com.google.android.accessibility.talkback.focusmanagement.NavigationTarget.TargetType; +import com.google.android.accessibility.talkback.preference.base.TalkBackKeyboardShortcutPreferenceFragment; +import com.google.android.accessibility.talkback.selector.SelectorController; +import com.google.android.accessibility.utils.Performance.EventId; +import com.google.android.accessibility.utils.SettingsUtils; +import com.google.android.accessibility.utils.traversal.TraversalStrategy; +import com.google.android.accessibility.utils.traversal.TraversalStrategy.SearchDirection; + +/** + * Feedback-mapper for keyboard shortcuts to actions. This class reacts to navigation actions, + * global actions, and either traverses with intra-node granularity or changes accessibility focus. + */ +public class KeyComboMapper { + private final Pipeline.FeedbackReturner pipeline; + private final SelectorController selectorController; + private final ListMenuManager menuManager; + private final FullScreenReadActor fullScreenReadActor; + private final Context context; + + public KeyComboMapper( + Context context, + Pipeline.FeedbackReturner pipeline, + SelectorController selectorController, + ListMenuManager menuManager, + FullScreenReadActor fullScreenReadActor) { + this.context = context; + this.pipeline = pipeline; + this.selectorController = selectorController; + this.menuManager = menuManager; + this.fullScreenReadActor = fullScreenReadActor; + } + + /** + * Performs the KeyCombo action by given {@code actionId}. + * + * @param actionId the ActionId generating from key combos. + */ + boolean performKeyComboAction(int actionId, String name, EventId eventId) { + boolean result = true; + switch (actionId) { + // Direction navigation actions. + case KeyComboManager.ACTION_NAVIGATE_NEXT: + result = + pipeline.returnFeedback( + eventId, + Feedback.focusDirection(SEARCH_FOCUS_FORWARD) + .setInputMode(INPUT_MODE_KEYBOARD) + .setWrap(true) + .setScroll(true) + .setDefaultToInputFocus(true)); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS: + result = + pipeline.returnFeedback( + eventId, + Feedback.focusDirection(SEARCH_FOCUS_BACKWARD) + .setInputMode(INPUT_MODE_KEYBOARD) + .setWrap(true) + .setScroll(true) + .setDefaultToInputFocus(true)); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_DEFAULT: + result = + pipeline.returnFeedback( + eventId, + Feedback.focusDirection(SEARCH_FOCUS_FORWARD) + .setGranularity(DEFAULT) + .setInputMode(INPUT_MODE_KEYBOARD) + .setDefaultToInputFocus(true) + .setScroll(true) + .setWrap(true)); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_DEFAULT: + result = + pipeline.returnFeedback( + eventId, + Feedback.focusDirection(SEARCH_FOCUS_BACKWARD) + .setGranularity(DEFAULT) + .setInputMode(INPUT_MODE_KEYBOARD) + .setDefaultToInputFocus(true) + .setScroll(true) + .setWrap(true)); + break; + case KeyComboManager.ACTION_NAVIGATE_UP: + result = + pipeline.returnFeedback( + eventId, + Feedback.focusDirection(SEARCH_FOCUS_UP) + .setInputMode(INPUT_MODE_KEYBOARD) + .setWrap(true) + .setScroll(true) + .setDefaultToInputFocus(true)); + break; + case KeyComboManager.ACTION_NAVIGATE_DOWN: + result = + pipeline.returnFeedback( + eventId, + Feedback.focusDirection(SEARCH_FOCUS_DOWN) + .setInputMode(INPUT_MODE_KEYBOARD) + .setWrap(true) + .setScroll(true) + .setDefaultToInputFocus(true)); + break; + case KeyComboManager.ACTION_NAVIGATE_FIRST: + result = pipeline.returnFeedback(eventId, Feedback.focusTop(INPUT_MODE_KEYBOARD)); + break; + case KeyComboManager.ACTION_NAVIGATE_LAST: + result = pipeline.returnFeedback(eventId, Feedback.focusBottom(INPUT_MODE_KEYBOARD)); + break; + // Tap + case KeyComboManager.ACTION_PERFORM_CLICK: + result = pipeline.returnFeedback(eventId, Feedback.focus(CLICK_CURRENT)); + break; + case KeyComboManager.ACTION_PERFORM_LONG_CLICK: + result = pipeline.returnFeedback(eventId, Feedback.focus(LONG_CLICK_CURRENT)); + break; + // Micro Granularity + case KeyComboManager.ACTION_NAVIGATE_NEXT_WINDOW: + result = + pipeline.returnFeedback( + eventId, Feedback.nextWindow(INPUT_MODE_KEYBOARD).setDefaultToInputFocus(true)); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_WINDOW: + result = + pipeline.returnFeedback( + eventId, Feedback.previousWindow(INPUT_MODE_KEYBOARD).setDefaultToInputFocus(true)); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_WORD: + result = + pipeline.returnFeedback( + eventId, + Feedback.focusDirection(SEARCH_FOCUS_FORWARD) + .setInputMode(INPUT_MODE_KEYBOARD) + .setGranularity(WORD)); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_WORD: + result = + pipeline.returnFeedback( + eventId, + Feedback.focusDirection(SEARCH_FOCUS_BACKWARD) + .setInputMode(INPUT_MODE_KEYBOARD) + .setGranularity(WORD)); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_CHARACTER: + result = + pipeline.returnFeedback( + eventId, + Feedback.focusDirection(SEARCH_FOCUS_FORWARD) + .setInputMode(INPUT_MODE_KEYBOARD) + .setGranularity(CHARACTER)); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_CHARACTER: + result = + pipeline.returnFeedback( + eventId, + Feedback.focusDirection(SEARCH_FOCUS_BACKWARD) + .setInputMode(INPUT_MODE_KEYBOARD) + .setGranularity(CHARACTER)); + break; + + // Web navigation actions. + case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_BUTTON: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_BUTTON, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_BUTTON: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_BUTTON, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_CHECKBOX: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_CHECKBOX, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_CHECKBOX: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_CHECKBOX, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_ARIA_LANDMARK: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_ARIA_LANDMARK, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_ARIA_LANDMARK: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_ARIA_LANDMARK, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_EDIT_FIELD: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_EDIT_FIELD, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_EDIT_FIELD: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_EDIT_FIELD, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_FOCUSABLE_ITEM: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_FOCUSABLE_ITEM, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_FOCUSABLE_ITEM: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_FOCUSABLE_ITEM, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_1: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_1, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_1: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_1, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_2: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_2, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_2: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_2, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_3: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_3, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_3: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_3, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_4: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_4, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_4: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_4, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_5: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_5, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_5: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_5, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_HEADING_6: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_6, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_HEADING_6: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_HEADING_6, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_LINK: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_LINK, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_LINK: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_LINK, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_CONTROL: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_CONTROL, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_CONTROL: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_CONTROL, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_GRAPHIC: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_GRAPHIC, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_GRAPHIC: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_GRAPHIC, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_LIST_ITEM: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_LIST_ITEM, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_LIST_ITEM: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_LIST_ITEM, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_LIST: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_LIST, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_LIST: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_LIST, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_TABLE: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_TABLE, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_TABLE: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_TABLE, false /* backward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_NEXT_COMBOBOX: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_COMBOBOX, true /* forward */, eventId); + break; + case KeyComboManager.ACTION_NAVIGATE_PREVIOUS_COMBOBOX: + result = + performWebNavigationKeyCombo( + NavigationTarget.TARGET_HTML_ELEMENT_COMBOBOX, false /* backward */, eventId); + break; + + // Global actions + case KeyComboManager.ACTION_BACK: + result = + pipeline.returnFeedback( + eventId, Feedback.systemAction(AccessibilityService.GLOBAL_ACTION_BACK)); + break; + case KeyComboManager.ACTION_HOME: + result = + pipeline.returnFeedback( + eventId, Feedback.systemAction(AccessibilityService.GLOBAL_ACTION_HOME)); + break; + case KeyComboManager.ACTION_NOTIFICATION: + result = + pipeline.returnFeedback( + eventId, Feedback.systemAction(AccessibilityService.GLOBAL_ACTION_NOTIFICATIONS)); + break; + case KeyComboManager.ACTION_RECENTS: + result = + pipeline.returnFeedback( + eventId, Feedback.systemAction(AccessibilityService.GLOBAL_ACTION_RECENTS)); + break; + case KeyComboManager.ACTION_PLAY_PAUSE_MEDIA: + result = + pipeline.returnFeedback( + eventId, + Feedback.systemAction(SystemActionPerformer.GLOBAL_ACTION_KEYCODE_HEADSETHOOK)); + break; + + // Other actions. + case KeyComboManager.ACTION_TOGGLE_SEARCH: + result = pipeline.returnFeedback(eventId, Feedback.universalSearch(TOGGLE_SEARCH)); + break; + case KeyComboManager.ACTION_SCROLL_FORWARD_READING_MENU: + selectorController.selectPreviousOrNextSetting(eventId, true); + break; + case KeyComboManager.ACTION_SCROLL_BACKWARD_READING_MENU: + selectorController.selectPreviousOrNextSetting(eventId, false); + break; + case KeyComboManager.ACTION_ADJUST_READING_SETTING_NEXT: + selectorController.adjustSelectedSetting(eventId, true); + break; + case KeyComboManager.ACTION_ADJUST_READING_SETTING_PREVIOUS: + selectorController.adjustSelectedSetting(eventId, false); + break; + case KeyComboManager.ACTION_GRANULARITY_INCREASE: + result = pipeline.returnFeedback(eventId, Feedback.focusDirection(NEXT_GRANULARITY)); + break; + case KeyComboManager.ACTION_GRANULARITY_DECREASE: + result = pipeline.returnFeedback(eventId, Feedback.focusDirection(PREVIOUS_GRANULARITY)); + break; + case KeyComboManager.ACTION_READ_FROM_TOP: + result = pipeline.returnFeedback(eventId, Feedback.continuousRead(START_AT_TOP)); + break; + case KeyComboManager.ACTION_READ_FROM_NEXT_ITEM: + result = pipeline.returnFeedback(eventId, Feedback.continuousRead(START_AT_NEXT)); + break; + case KeyComboManager.ACTION_TALKBACK_CONTEXT_MENU: + result = menuManager.showMenu(R.menu.context_menu, eventId); + break; + case KeyComboManager.ACTION_CUSTOM_ACTIONS: + result = menuManager.showMenu(R.id.custom_action_menu, eventId); + break; + case KeyComboManager.ACTION_LANGUAGE_OPTIONS: + result = menuManager.showMenu(R.menu.language_menu, eventId); + break; + case KeyComboManager.ACTION_OPEN_MANAGE_KEYBOARD_SHORTCUTS: + if (SettingsUtils.allowLinksOutOfSettings(context.getApplicationContext())) { + openManageKeyboardShortcuts(); + } + break; + case KeyComboManager.ACTION_OPEN_TALKBACK_SETTINGS: + if (SettingsUtils.allowLinksOutOfSettings(context.getApplicationContext())) { + openTalkBackSettings(); + } + break; + default: // fall out + } + if (!result) { + pipeline.returnFeedback(eventId, Feedback.sound(R.raw.complete)); + } + return false; + } + + private boolean performWebNavigationKeyCombo( + @TargetType int targetType, boolean forward, EventId eventId) { + @SearchDirection + int direction = + forward ? TraversalStrategy.SEARCH_FOCUS_FORWARD : TraversalStrategy.SEARCH_FOCUS_BACKWARD; + return pipeline.returnFeedback( + eventId, + Feedback.focusDirection(direction) + .setInputMode(INPUT_MODE_KEYBOARD) + .setHtmlTargetType(targetType)); + } + + private void openManageKeyboardShortcuts() { + Intent intent = new Intent(context, TalkBackPreferencesActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra(FRAGMENT_NAME, TalkBackKeyboardShortcutPreferenceFragment.class.getName()); + context.startActivity(intent); + } + + private void openTalkBackSettings() { + Intent intent = new Intent(context, TalkBackPreferencesActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(intent); + } + + /** + * Interrupts the actions if FullScreenReadActor is activated and the action ID is not a + * navigation. + * + * @param performedActionId the ActionId generating from key combos. + */ + void interruptByKeyCombo(int performedActionId) { + if (performedActionId == ACTION_NAVIGATE_NEXT_DEFAULT /* next in default keymap */ + || performedActionId == ACTION_NAVIGATE_PREVIOUS_DEFAULT /* previous in default keymap */ + || performedActionId == ACTION_NAVIGATE_NEXT /* next in classic keymap */ + || performedActionId == ACTION_NAVIGATE_PREVIOUS /* previous in classic keymap */) { + return; + } + if (fullScreenReadActor.isActive()) { + fullScreenReadActor.interrupt(); + } + } +} diff --git a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboModel.java b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboModel.java similarity index 98% rename from utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboModel.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboModel.java index 6abf447bf..d5df4f94f 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboModel.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboModel.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.keyboard; +package com.google.android.accessibility.talkback.keyboard; import android.view.KeyEvent; import java.util.Map; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboModelApp.java b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboModelApp.java similarity index 61% rename from utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboModelApp.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboModelApp.java index a2174ea3b..37e5c7153 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboModelApp.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboModelApp.java @@ -14,13 +14,13 @@ * the License. */ -package com.google.android.accessibility.utils.keyboard; +package com.google.android.accessibility.talkback.keyboard; import android.content.Context; import android.view.KeyEvent; import androidx.annotation.Nullable; +import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.utils.FeatureSupport; -import com.google.android.accessibility.utils.R; import java.util.Map; import java.util.TreeMap; @@ -31,9 +31,9 @@ * default one. */ public class KeyComboModelApp implements KeyComboModel { - private final Context mContext; - private final KeyComboPersister mPersister; - private final Map mKeyComboCodeMap = new TreeMap<>(); + private final Context context; + private final KeyComboPersister persister; + private final Map keyComboCodeMap = new TreeMap<>(); /** * Search key (meta key) cannot be used as part of key combination since onKey method of @@ -45,8 +45,8 @@ public class KeyComboModelApp implements KeyComboModel { private static final int REQUIRED_MODIFIER_MASK = KeyEvent.META_ALT_ON | KeyEvent.META_CTRL_ON; public KeyComboModelApp(Context context) { - mContext = context; - mPersister = new KeyComboPersister(mContext, null /* no prefix */); + this.context = context; + persister = new KeyComboPersister(this.context, null /* no prefix */); loadCombos(); } @@ -65,7 +65,7 @@ public String getPreferenceKeyForTriggerModifier() { @Override public Map getKeyComboCodeMap() { - return mKeyComboCodeMap; + return keyComboCodeMap; } @Nullable @@ -75,7 +75,7 @@ public String getKeyForKeyComboCode(long keyComboCode) { return null; } - for (Map.Entry entry : mKeyComboCodeMap.entrySet()) { + for (Map.Entry entry : keyComboCodeMap.entrySet()) { if (entry.getValue() == keyComboCode) { return entry.getKey(); } @@ -86,8 +86,8 @@ public String getKeyForKeyComboCode(long keyComboCode) { @Override public long getKeyComboCodeForKey(String key) { - if (key != null && mKeyComboCodeMap.containsKey(key)) { - return mKeyComboCodeMap.get(key); + if (key != null && keyComboCodeMap.containsKey(key)) { + return keyComboCodeMap.get(key); } else { return KEY_COMBO_CODE_UNASSIGNED; } @@ -95,41 +95,37 @@ public long getKeyComboCodeForKey(String key) { /** Loads default key combinations. */ private void loadCombos() { - addCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next)); - addCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous)); - addCombo(mContext.getString(R.string.keycombo_shortcut_navigate_first)); - addCombo(mContext.getString(R.string.keycombo_shortcut_navigate_last)); - addCombo(mContext.getString(R.string.keycombo_shortcut_perform_click)); - addCombo(mContext.getString(R.string.keycombo_shortcut_global_back)); - addCombo(mContext.getString(R.string.keycombo_shortcut_global_home)); - addCombo(mContext.getString(R.string.keycombo_shortcut_global_recents)); - addCombo(mContext.getString(R.string.keycombo_shortcut_global_notifications)); - if (!FeatureSupport.hasAccessibilityShortcut(mContext)) { - addCombo(mContext.getString(R.string.keycombo_shortcut_global_suspend)); - } - addCombo(mContext.getString(R.string.keycombo_shortcut_global_play_pause_media)); - addCombo(mContext.getString(R.string.keycombo_shortcut_global_scroll_forward_reading_menu)); - addCombo(mContext.getString(R.string.keycombo_shortcut_global_scroll_backward_reading_menu)); - addCombo( - mContext.getString(R.string.keycombo_shortcut_global_adjust_reading_settings_previous)); - addCombo(mContext.getString(R.string.keycombo_shortcut_global_adjust_reading_setting_next)); - addCombo(mContext.getString(R.string.keycombo_shortcut_granularity_increase)); - addCombo(mContext.getString(R.string.keycombo_shortcut_granularity_decrease)); - addCombo(mContext.getString(R.string.keycombo_shortcut_other_read_from_top)); - addCombo(mContext.getString(R.string.keycombo_shortcut_other_read_from_next_item)); - addCombo(mContext.getString(R.string.keycombo_shortcut_other_toggle_search)); - addCombo(mContext.getString(R.string.keycombo_shortcut_other_talkback_context_menu)); - addCombo(mContext.getString(R.string.keycombo_shortcut_other_custom_actions)); - addCombo(mContext.getString(R.string.keycombo_shortcut_other_language_options)); + addCombo(context.getString(R.string.keycombo_shortcut_navigate_next)); + addCombo(context.getString(R.string.keycombo_shortcut_navigate_previous)); + addCombo(context.getString(R.string.keycombo_shortcut_navigate_first)); + addCombo(context.getString(R.string.keycombo_shortcut_navigate_last)); + addCombo(context.getString(R.string.keycombo_shortcut_perform_click)); + addCombo(context.getString(R.string.keycombo_shortcut_global_back)); + addCombo(context.getString(R.string.keycombo_shortcut_global_home)); + addCombo(context.getString(R.string.keycombo_shortcut_global_recents)); + addCombo(context.getString(R.string.keycombo_shortcut_global_notifications)); + addCombo(context.getString(R.string.keycombo_shortcut_global_play_pause_media)); + addCombo(context.getString(R.string.keycombo_shortcut_global_scroll_forward_reading_menu)); + addCombo(context.getString(R.string.keycombo_shortcut_global_scroll_backward_reading_menu)); + addCombo(context.getString(R.string.keycombo_shortcut_global_adjust_reading_settings_previous)); + addCombo(context.getString(R.string.keycombo_shortcut_global_adjust_reading_setting_next)); + addCombo(context.getString(R.string.keycombo_shortcut_granularity_increase)); + addCombo(context.getString(R.string.keycombo_shortcut_granularity_decrease)); + addCombo(context.getString(R.string.keycombo_shortcut_other_read_from_top)); + addCombo(context.getString(R.string.keycombo_shortcut_other_read_from_next_item)); + addCombo(context.getString(R.string.keycombo_shortcut_other_toggle_search)); + addCombo(context.getString(R.string.keycombo_shortcut_other_talkback_context_menu)); + addCombo(context.getString(R.string.keycombo_shortcut_other_custom_actions)); + addCombo(context.getString(R.string.keycombo_shortcut_other_language_options)); } private void addCombo(String key) { - if (!mPersister.contains(key)) { - mPersister.saveKeyCombo(key, getDefaultKeyComboCode(key)); + if (!persister.contains(key)) { + persister.saveKeyCombo(key, getDefaultKeyComboCode(key)); } - long keyComboCode = mPersister.getKeyComboCode(key); - mKeyComboCodeMap.put(key, keyComboCode); + long keyComboCode = persister.getKeyComboCode(key); + keyComboCodeMap.put(key, keyComboCode); } @Override @@ -138,101 +134,95 @@ public long getDefaultKeyComboCode(String key) { return KEY_COMBO_CODE_UNASSIGNED; } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_next))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_RIGHT); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_previous))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_LEFT); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_first))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_first))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_UP); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_last))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_navigate_last))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_DOWN); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_perform_click))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_perform_click))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_ENTER); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_back))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_global_back))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DEL); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_home))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_global_home))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_H); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_recents))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_global_recents))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_R); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_notifications))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_global_notifications))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_N); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_toggle_search))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_other_toggle_search))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_SLASH); } - if (!FeatureSupport.hasAccessibilityShortcut(mContext)) { - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_suspend))) { - return KeyComboManager.getKeyComboCode( - KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_Z); - } - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_play_pause_media))) { + if (FeatureSupport.supportMediaControls() + && key.equals(context.getString(R.string.keycombo_shortcut_global_play_pause_media))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_SPACE); } if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_scroll_forward_reading_menu))) { + context.getString(R.string.keycombo_shortcut_global_scroll_forward_reading_menu))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_SHIFT_ON | KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_DOWN); } if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_scroll_backward_reading_menu))) { + context.getString(R.string.keycombo_shortcut_global_scroll_backward_reading_menu))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_SHIFT_ON | KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_UP); } if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_adjust_reading_settings_previous))) { + context.getString(R.string.keycombo_shortcut_global_adjust_reading_settings_previous))) { return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_UP); } if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_adjust_reading_setting_next))) { + context.getString(R.string.keycombo_shortcut_global_adjust_reading_setting_next))) { return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_DOWN); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_granularity_increase))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_granularity_increase))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_EQUALS); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_granularity_decrease))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_granularity_decrease))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_MINUS); } - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_talkback_context_menu))) { + if (key.equals(context.getString(R.string.keycombo_shortcut_other_talkback_context_menu))) { return KeyComboManager.getKeyComboCode( KeyEvent.META_ALT_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_G); } @@ -247,10 +237,10 @@ public void clearKeyComboCode(String key) { @Override public void saveKeyComboCode(String key, long keyComboCode) { - mPersister.saveKeyCombo(key, keyComboCode); + persister.saveKeyCombo(key, keyComboCode); - if (mKeyComboCodeMap.containsKey(key)) { - mKeyComboCodeMap.put(key, keyComboCode); + if (keyComboCodeMap.containsKey(key)) { + keyComboCodeMap.put(key, keyComboCode); } } @@ -278,7 +268,7 @@ public boolean isEligibleKeyComboCode(long keyComboCode) { @Override public String getDescriptionOfEligibleKeyCombo() { - return mContext.getString(R.string.keycombo_assign_dialog_instruction); + return context.getString(R.string.keycombo_assign_dialog_instruction); } @Override @@ -295,7 +285,7 @@ public void updateVersion(int previousVersion) { if (previousVersion < 40500000) { // Old shortcut for talkback context menu is unassigned. updateKeyCombo( - mContext.getString(R.string.keycombo_shortcut_other_talkback_context_menu), + context.getString(R.string.keycombo_shortcut_other_talkback_context_menu), KEY_COMBO_CODE_UNASSIGNED); } } @@ -307,13 +297,13 @@ public void updateVersion(int previousVersion) { private void changeGranularityKeyCombos() { // Old shortcut for increase granularity was Alt-Plus. updateKeyCombo( - mContext.getString(R.string.keycombo_shortcut_granularity_increase), + context.getString(R.string.keycombo_shortcut_granularity_increase), KeyEvent.META_ALT_ON, KeyEvent.KEYCODE_PLUS); // Old shortcut for decrease granularity was Alt-Minus. updateKeyCombo( - mContext.getString(R.string.keycombo_shortcut_granularity_decrease), + context.getString(R.string.keycombo_shortcut_granularity_decrease), KeyEvent.META_ALT_ON, KeyEvent.KEYCODE_MINUS); } @@ -342,8 +332,8 @@ public void updateKeyCombo(String key, long oldDefaultKeyComboCode) { return; // User is already using the new key combo. } - if (mPersister.contains(key)) { - final long actualKeyComboCode = mPersister.getKeyComboCode(key); + if (persister.contains(key)) { + final long actualKeyComboCode = persister.getKeyComboCode(key); if (oldDefaultKeyComboCode != actualKeyComboCode) { return; // User has modified the key combo. } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboPersister.java b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboPersister.java similarity index 68% rename from utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboPersister.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboPersister.java index f8b332a57..126bb28b9 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyComboPersister.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/keyboard/KeyComboPersister.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.keyboard; +package com.google.android.accessibility.talkback.keyboard; import android.content.Context; import android.content.SharedPreferences; @@ -24,35 +24,35 @@ public class KeyComboPersister { private static final String PREFIX_CONCATENATOR = "|"; - private SharedPreferences mPrefs; - private final String mKeyPrefix; + private final SharedPreferences prefs; + private final String keyPrefix; public KeyComboPersister(Context context, String keyPrefix) { - mPrefs = SharedPreferencesUtils.getSharedPreferences(context); - mKeyPrefix = keyPrefix; + prefs = SharedPreferencesUtils.getSharedPreferences(context); + this.keyPrefix = keyPrefix; } private String getPrefixedKey(String key) { - if (mKeyPrefix == null) { + if (keyPrefix == null) { return key; } else { - return mKeyPrefix + PREFIX_CONCATENATOR + key; + return keyPrefix + PREFIX_CONCATENATOR + key; } } public void saveKeyCombo(String key, long keyComboCode) { - mPrefs.edit().putLong(getPrefixedKey(key), keyComboCode).apply(); + prefs.edit().putLong(getPrefixedKey(key), keyComboCode).apply(); } public void remove(String key) { - mPrefs.edit().remove(getPrefixedKey(key)).apply(); + prefs.edit().remove(getPrefixedKey(key)).apply(); } public boolean contains(String key) { - return mPrefs.contains(getPrefixedKey(key)); + return prefs.contains(getPrefixedKey(key)); } public Long getKeyComboCode(String key) { - return mPrefs.getLong(getPrefixedKey(key), KeyComboModel.KEY_COMBO_CODE_UNASSIGNED); + return prefs.getLong(getPrefixedKey(key), KeyComboModel.KEY_COMBO_CODE_UNASSIGNED); } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelImportActivity.java b/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelImportActivity.java index d63fa0963..63c939333 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelImportActivity.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/labeling/LabelImportActivity.java @@ -24,7 +24,7 @@ import android.os.Bundle; import android.widget.Toast; import com.google.android.accessibility.talkback.R; -import com.google.android.accessibility.utils.AlertDialogUtils; +import com.google.android.accessibility.utils.A11yAlertDialogWrapper; public class LabelImportActivity extends Activity { @@ -93,7 +93,7 @@ public void onFail() { } }; - AlertDialogUtils.builder(this) + A11yAlertDialogWrapper.alertDialogBuilder(this) .setMessage(R.string.label_import_dialog_message) .setTitle(R.string.label_import_dialog_title) .setPositiveButton(R.string.label_import_dialog_skip, buttonClickListener) diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/NodeMenuRuleProcessor.java b/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/NodeMenuRuleProcessor.java index 9645569a6..bbeefb0fa 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/NodeMenuRuleProcessor.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/NodeMenuRuleProcessor.java @@ -18,11 +18,11 @@ import android.accessibilityservice.AccessibilityService; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.compositor.NodeMenuProvider; import com.google.android.accessibility.talkback.ActorState; import com.google.android.accessibility.talkback.Pipeline; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.analytics.TalkBackAnalytics; +import com.google.android.accessibility.talkback.compositor.NodeMenuProvider; import com.google.android.accessibility.talkback.contextmenu.ContextMenu; import com.google.android.accessibility.talkback.contextmenu.ContextMenuItem; import com.google.android.accessibility.talkback.contextmenu.ListSubMenu; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/RuleCustomAction.java b/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/RuleCustomAction.java index 375955297..c504d88e7 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/RuleCustomAction.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/RuleCustomAction.java @@ -36,6 +36,7 @@ import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; +import android.view.accessibility.AccessibilityNodeInfo; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat; import com.google.android.accessibility.talkback.ActorState; @@ -49,6 +50,7 @@ import com.google.android.accessibility.talkback.contextmenu.ContextMenuItem; import com.google.android.accessibility.talkback.contextmenu.ContextMenuItem.DeferredType; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; +import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.Role; import java.util.ArrayList; @@ -72,7 +74,7 @@ public RuleCustomAction( @Override public boolean accept(AccessibilityService service, AccessibilityNodeInfoCompat node) { - return acceptCustomActionMenu(node) || acceptEditingMenu(node); + return acceptCustomActionMenu(node) || acceptEditingAndSelectingMenu(node); } private static boolean acceptCustomActionMenu(AccessibilityNodeInfoCompat node) { @@ -80,8 +82,9 @@ private static boolean acceptCustomActionMenu(AccessibilityNodeInfoCompat node) return (actions != null && !actions.isEmpty()); } - private static boolean acceptEditingMenu(AccessibilityNodeInfoCompat node) { - return (Role.getRole(node) == Role.ROLE_EDIT_TEXT); + private static boolean acceptEditingAndSelectingMenu(AccessibilityNodeInfoCompat node) { + return ((node.isFocused() && Role.getRole(node) == Role.ROLE_EDIT_TEXT) + || AccessibilityNodeInfoUtils.isNonEditableSelectableText(node)); } @Override @@ -92,8 +95,8 @@ public List getMenuItemsForNode( populateCustomMenuItemsForNode(service, node, customItems, includeAncestors); } List editingItems = new ArrayList<>(); - if (acceptEditingMenu(node)) { - populateEditingMenuItemsForNode(service, node, editingItems, includeAncestors); + if (acceptEditingAndSelectingMenu(node)) { + populateEditingAndSelectingMenuItemsForNode(service, node, editingItems, includeAncestors); } customItems.addAll(editingItems); return customItems; @@ -107,7 +110,7 @@ public List getMenuItemsForNode( * @param node The node to process * @param includeAncestors sets to {@code false} not to search its ancestor */ - private void populateEditingMenuItemsForNode( + private void populateEditingAndSelectingMenuItemsForNode( AccessibilityService service, AccessibilityNodeInfoCompat node, List items, @@ -115,10 +118,11 @@ private void populateEditingMenuItemsForNode( // This action has inconsistencies with EditText nodes that have // contentDescription attributes. if (TextUtils.isEmpty(node.getContentDescription())) { - if (AccessibilityNodeInfoUtils.supportsAnyAction( - node, - AccessibilityNodeInfoCompat.ACTION_SET_SELECTION, - AccessibilityNodeInfoCompat.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY)) { + if (Role.getRole(node) == Role.ROLE_EDIT_TEXT + && AccessibilityNodeInfoUtils.supportsAnyAction( + node, + AccessibilityNodeInfoCompat.ACTION_SET_SELECTION, + AccessibilityNodeInfoCompat.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY)) { ContextMenuItem moveToBeginning = ContextMenu.createMenuItem( service, @@ -129,10 +133,11 @@ private void populateEditingMenuItemsForNode( items.add(moveToBeginning); } - if (AccessibilityNodeInfoUtils.supportsAnyAction( - node, - AccessibilityNodeInfoCompat.ACTION_SET_SELECTION, - AccessibilityNodeInfoCompat.ACTION_NEXT_AT_MOVEMENT_GRANULARITY)) { + if (Role.getRole(node) == Role.ROLE_EDIT_TEXT + && AccessibilityNodeInfoUtils.supportsAnyAction( + node, + AccessibilityNodeInfoCompat.ACTION_SET_SELECTION, + AccessibilityNodeInfoCompat.ACTION_NEXT_AT_MOVEMENT_GRANULARITY)) { ContextMenuItem moveToEnd = ContextMenu.createMenuItem( service, @@ -142,9 +147,9 @@ private void populateEditingMenuItemsForNode( service.getString(R.string.title_edittext_breakout_move_to_end)); items.add(moveToEnd); } - - if (AccessibilityNodeInfoUtils.supportsAnyAction( - node, AccessibilityNodeInfoCompat.ACTION_CUT)) { + if (Role.getRole(node) == Role.ROLE_EDIT_TEXT + && AccessibilityNodeInfoUtils.supportsAnyAction( + node, AccessibilityNodeInfoCompat.ACTION_CUT)) { ContextMenuItem cut = ContextMenu.createMenuItem( service, @@ -166,9 +171,9 @@ private void populateEditingMenuItemsForNode( service.getString(android.R.string.copy)); items.add(copy); } - - if (AccessibilityNodeInfoUtils.supportsAnyAction( - node, AccessibilityNodeInfoCompat.ACTION_PASTE)) { + if (Role.getRole(node) == Role.ROLE_EDIT_TEXT + && AccessibilityNodeInfoUtils.supportsAnyAction( + node, AccessibilityNodeInfoCompat.ACTION_PASTE)) { ContextMenuItem paste = ContextMenu.createMenuItem( service, @@ -259,6 +264,24 @@ private void populateCustomMenuItemsForNode( } else if (id == AccessibilityNodeInfoCompat.ACTION_COLLAPSE) { label = service.getString(R.string.title_action_collapse); deferToWindowsSrable = true; + } else if (FeatureSupport.supportDragAndDrop()) { + if (id == AccessibilityNodeInfo.AccessibilityAction.ACTION_DRAG_START.getId()) { + // TODO: Replace with AndroidX constants + label = + action.getLabel() == null + ? service.getString(R.string.title_action_drag_start) + : action.getLabel(); + } else if (id == AccessibilityNodeInfo.AccessibilityAction.ACTION_DRAG_DROP.getId()) { + label = + action.getLabel() == null + ? service.getString(R.string.title_action_drag_drop) + : action.getLabel(); + } else if (id == AccessibilityNodeInfo.AccessibilityAction.ACTION_DRAG_CANCEL.getId()) { + label = + action.getLabel() == null + ? service.getString(R.string.title_action_drag_cancel) + : action.getLabel(); + } } if (TextUtils.isEmpty(label)) { diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/RuleImageCaption.java b/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/RuleImageCaption.java index 27d1e9a4a..beb9ff14b 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/RuleImageCaption.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/menurules/RuleImageCaption.java @@ -102,8 +102,7 @@ public ImageCaptionMenuItemOnClickListener( @Override public boolean onMenuItemClick(MenuItem item) { - pipeline.returnFeedback( - EVENT_ID_UNTRACKED, Feedback.performImageCaptions(node, /* isUserRequested= */ true)); + pipeline.returnFeedback(EVENT_ID_UNTRACKED, Feedback.confirmDownloadAndPerformCaptions(node)); return true; } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/GestureChangeNotificationActivity.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/GestureChangeNotificationActivity.java index d8a4dd743..07b3c4592 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/GestureChangeNotificationActivity.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/GestureChangeNotificationActivity.java @@ -17,6 +17,7 @@ package com.google.android.accessibility.talkback.preference; import static com.google.android.accessibility.talkback.preference.PreferencesActivityUtils.GESTURE_CHANGE_NOTIFICATION_ID; +import static com.google.android.accessibility.utils.PreferencesActivity.FRAGMENT_NAME; import android.app.Activity; import android.app.NotificationManager; @@ -26,7 +27,9 @@ import android.content.SharedPreferences; import android.os.Bundle; import android.text.SpannableStringBuilder; +import com.android.talkback.TalkBackPreferencesActivity; import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.preference.base.TalkBackGestureShortcutPreferenceFragment; import com.google.android.accessibility.utils.MaterialComponentUtils; import com.google.android.accessibility.utils.SharedPreferencesUtils; @@ -93,7 +96,10 @@ public void onClick(DialogInterface dialog, int which) { dismissNotification(); dialog.dismiss(); final Intent shortcutsIntent = - new Intent(getApplicationContext(), TalkBackShortcutPreferencesActivity.class); + new Intent(getApplicationContext(), TalkBackPreferencesActivity.class); + shortcutsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + shortcutsIntent.putExtra( + FRAGMENT_NAME, TalkBackGestureShortcutPreferenceFragment.class.getName()); startActivity(shortcutsIntent); finish(); } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/PreferencesActivityUtils.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/PreferencesActivityUtils.java index 2972734b9..cbd9dbef0 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/PreferencesActivityUtils.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/PreferencesActivityUtils.java @@ -17,28 +17,49 @@ import android.content.Context; import android.content.SharedPreferences; +import android.content.res.Resources; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; import androidx.annotation.Nullable; import androidx.annotation.StringRes; import androidx.preference.Preference; import androidx.preference.PreferenceManager; -import com.google.android.accessibility.talkback.HelpAndFeedbackUtils; import com.google.android.accessibility.talkback.R; -import com.google.android.accessibility.talkback.utils.RemoteIntentUtils; import com.google.android.accessibility.utils.SharedPreferencesUtils; /** Utility class for Preferences and Activity */ public class PreferencesActivityUtils { + + private PreferencesActivityUtils() {} // Not instantiable + + /** Returns a boolean-preference-value that may be overridden by diagnosis-mode. */ + public static boolean getDiagnosticPref(Context context, int prefKeyResId, int prefDefaultResId) { + SharedPreferences preferences = SharedPreferencesUtils.getSharedPreferences(context); + Resources resources = context.getResources(); + return getDiagnosticPref(preferences, resources, prefKeyResId, prefDefaultResId); + } + + public static boolean getDiagnosticPref( + SharedPreferences preferences, Resources resources, int prefKeyResId, int prefDefaultResId) { + return isDiagnosisModeOn(preferences, resources) + || SharedPreferencesUtils.getBooleanPref( + preferences, resources, prefKeyResId, prefDefaultResId); + } + + public static boolean isDiagnosisModeOn(SharedPreferences preferences, Resources resources) { + return SharedPreferencesUtils.getBooleanPref( + preferences, + resources, + R.string.pref_diagnosis_mode_key, + R.bool.pref_diagnosis_mode_default); + } + /** * Notification ID for the Gesture Change notification. This is also used in the * GestureChangeNotificationActivity to dismiss the notification. */ public static final int GESTURE_CHANGE_NOTIFICATION_ID = 2; - private static final String HELP_URL = - "https://support.google.com/accessibility/" + "android/answer/6283677"; - /** * Utility method for announcing text via accessibility event. * @@ -55,29 +76,6 @@ public static void announceText(String text, Context context) { } } - /** Provide the setting of Feedback Intent for the Help preference. */ - public static void assignFeedbackIntentToPreference(TalkbackBaseFragment fragment) { - final Preference pref = - fragment.findPreference(fragment.getString(R.string.pref_help_and_feedback_key)); - - if (pref == null) { - return; - } - - // Only wear doesn't support help and feedback - if (HelpAndFeedbackUtils.supportsHelpAndFeedback(fragment.getContext())) { - pref.setTitle(R.string.title_pref_help_and_feedback); - pref.setOnPreferenceClickListener( - preference -> { - HelpAndFeedbackUtils.launchHelpAndFeedback(fragment.getActivity()); - return true; - }); - } else { - pref.setTitle(R.string.title_pref_help); - RemoteIntentUtils.assignWebIntentToPreference(fragment, pref, HELP_URL); - } - } - /** Provide preferences a way to change their summary dynamically. */ public static void setSummary( Context context, diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackHelpPreferencesActivity.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackHelpPreferencesActivity.java deleted file mode 100644 index 8ea581b04..000000000 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackHelpPreferencesActivity.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (C) 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.google.android.accessibility.talkback.preference; - -import android.os.Bundle; -import android.view.WindowManager; -import androidx.preference.Preference; -import androidx.preference.PreferenceFragmentCompat; -import com.google.android.accessibility.talkback.R; -import com.google.android.accessibility.talkback.training.TutorialInitiator; -import com.google.android.accessibility.utils.PreferencesActivity; -import org.checkerframework.checker.nullness.qual.Nullable; - -/** Activity for TalkBack tutorial and help contents. */ -public class TalkBackHelpPreferencesActivity extends PreferencesActivity { - - @Override - protected void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes(); - localLayoutParams.type = WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY; - getWindow().setAttributes(localLayoutParams); - } - - @Override - protected PreferenceFragmentCompat createPreferenceFragment() { - return new TutorialAndHelpFragment(); - } - - /** Fragment to display tutorial and help page. */ - public static class TutorialAndHelpFragment extends TalkbackBaseFragment { - public TutorialAndHelpFragment() { - super(R.xml.help_preferences); - } - - @Override - public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { - super.onCreatePreferences(savedInstanceState, rootKey); - - if (getActivity() == null) { - return; - } - - assignTutorialIntent(); - assignPracticeGesturesIntent(); - PreferencesActivityUtils.assignFeedbackIntentToPreference(this); - } - - private void assignTutorialIntent() { - final Preference prefTutorial = - findPreference(getString(R.string.pref_tutorial_entry_point_key)); - - if (prefTutorial == null) { - return; - } - - prefTutorial.setIntent(TutorialInitiator.createTutorialIntent(getActivity())); - } - - private void assignPracticeGesturesIntent() { - final Preference prefPracticeGestures = - findPreference(getString(R.string.pref_practice_gestures_entry_point_key)); - - if (prefPracticeGestures == null) { - return; - } - - prefPracticeGestures.setIntent(TutorialInitiator.createPracticeGesturesIntent(getActivity())); - } - } -} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackPreferenceFilter.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackPreferenceFilter.java index b21f1abc7..b3dbbb309 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackPreferenceFilter.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackPreferenceFilter.java @@ -16,22 +16,18 @@ package com.google.android.accessibility.talkback.preference; import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; import android.text.TextUtils; import androidx.annotation.IntDef; import androidx.preference.Preference; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import com.google.android.accessibility.talkback.R; -import com.google.android.accessibility.utils.AccessibilityServiceCompatUtils.Constants; +import com.google.android.accessibility.talkback.actor.ImageCaptioner; import com.google.android.accessibility.utils.BuildConfig; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.SettingsUtils; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; -import java.util.List; import java.util.Optional; import java.util.stream.Stream; @@ -47,18 +43,20 @@ public class TalkBackPreferenceFilter { HIDDEN_ON_WATCH, HIDDEN_NO_VIBRATION, HIDDEN_SETUP, - HIDDEN_HAS_ACCESSIBILITY_SHORTCUT, HIDE_NO_PROXIMITY_SENSOR, HIDE_HAS_VOLUME_KEY, HIDE_NO_BRAILLE_KEYBOARD, HIDE_NO_BRAILLE_DISPLAY, + HIDE_IF_NO_USER_DISABLING_OF_GLOBAL_ANIMATIONS, SHOW_IF_MULTI_FINGER, SHOW_IF_FINGER_PRINT, SHOW_SYSTEM_ACTION, SHOW_IF_MULTI_FINGER_TAP_AND_HOLD, SHOW_FOCUS_INDICATOR, HIDE_NO_ACCESSIBILITY_AUDIO_STREAM, + HIDDEN_NO_MEDIA_CONTROL, HIDDEN_ON_RELEASE_BUILD, + HIDE_ICON_DETECTION, HIDDEN }) @Retention(RetentionPolicy.SOURCE) @@ -76,8 +74,6 @@ public class TalkBackPreferenceFilter { private static final int HIDDEN_NO_VIBRATION = 0x10; /** Flag to hide preference during device setup. */ private static final int HIDDEN_SETUP = 0x20; - /** Flag to hide preference if the device support accessibility shortcut. */ - private static final int HIDDEN_HAS_ACCESSIBILITY_SHORTCUT = 0x40; /** Flag to hide preference if no proximity sensor. */ private static final int HIDE_NO_PROXIMITY_SENSOR = 0x100; /** Flag to hide volume settings if system supports volume keys. */ @@ -100,6 +96,12 @@ public class TalkBackPreferenceFilter { private static final int HIDE_NO_BRAILLE_DISPLAY = 0x20000; private static final int HIDE_NO_ACCESSIBILITY_AUDIO_STREAM = 0x40000; + /** Flag to hide media control (play/pause) if system doesn't support it. */ + private static final int HIDDEN_NO_MEDIA_CONTROL = 0x80000; + /** Flag to hide if no animation control capability. */ + private static final int HIDE_IF_NO_USER_DISABLING_OF_GLOBAL_ANIMATIONS = 0x100000; + /** Flag to hide icon detection if system doesn't support it. */ + private static final int HIDE_ICON_DETECTION = 0x200000; /** List TalkBack preferences. */ enum TalkBackPreference { @@ -113,14 +115,13 @@ enum TalkBackPreference { CUSTOM_LABELS(R.string.pref_manage_labels_key, HIDDEN_ON_TV | HIDDEN_ON_WATCH | HIDDEN_SETUP), SINGLE_TAP_ACTIVATION( R.string.pref_single_tap_key, HIDDEN_ON_TV | HIDDEN_ON_WATCH | HIDDEN_ON_ARC), + REDUCE_WINDOW_DELAY( + R.string.pref_reduce_window_delay_key, HIDE_IF_NO_USER_DISABLING_OF_GLOBAL_ANIMATIONS), KEYBOARD_SHORTCUTS( R.string.pref_category_manage_keyboard_shortcut_key, HIDDEN_ON_TV | HIDDEN_ON_WATCH), - SUSPEND_AND_RESUME( - R.string.pref_two_volume_long_press_key, - HIDDEN_ON_TV | HIDDEN_ON_ARC | HIDDEN_ON_WATCH | HIDDEN_HAS_ACCESSIBILITY_SHORTCUT), - RESUME_FROM_SUSPEND( - R.string.pref_resume_talkback_key, - HIDDEN_ON_TV | HIDDEN_ON_ARC | HIDDEN_ON_WATCH | HIDDEN_HAS_ACCESSIBILITY_SHORTCUT), + PLAY_PAUSE_MEDIA(R.string.keycombo_shortcut_global_play_pause_media, HIDDEN_NO_MEDIA_CONTROL), + TYPING_CONFIRMATION(R.string.pref_typing_confirmation_key, HIDDEN_ON_TV), + TYPING_LONG_PRESS_DURATION(R.string.pref_typing_long_press_duration_key, HIDDEN_ON_TV), PRIVACY_POLICY(R.string.pref_policy_key, HIDDEN_SETUP), TERMS_OF_SERVICE(R.string.pref_show_tos_key, HIDDEN_SETUP), // Help & Tutorial. @@ -159,9 +160,6 @@ enum TalkBackPreference { R.string.pref_show_context_menu_system_action_setting_key, SHOW_SYSTEM_ACTION), CUSTOMIZE_TALKBACK_MENU_VIBRATION_FEEDBACK( R.string.pref_show_context_menu_vibration_feedback_setting_key, HIDDEN_NO_VIBRATION), - CUSTOMIZE_TALKBACK_MENU_PAUSE_TALKBACK( - R.string.pref_show_context_menu_pause_feedback_setting_key, - HIDDEN_ON_WATCH | HIDDEN_HAS_ACCESSIBILITY_SHORTCUT), CUSTOMIZE_TALKBACK_MENU_IMAGE_CAPTION( R.string.pref_show_context_menu_image_caption_setting_key, HIDDEN_ON_WATCH), @@ -203,7 +201,8 @@ enum TalkBackPreference { CUSTOMIZE_GESTURE_3FINGER_3TAP_HOLD( R.string.pref_shortcut_3finger_3tap_hold_key, SHOW_IF_MULTI_FINGER_TAP_AND_HOLD), CUSTOMIZE_FOCUS_INDICATOR( - R.string.pref_category_manage_focus_indicator_key, SHOW_FOCUS_INDICATOR); + R.string.pref_category_manage_focus_indicator_key, SHOW_FOCUS_INDICATOR), + ICON_DETECTION(R.string.pref_icon_detection_key, HIDDEN_ON_WATCH | HIDE_ICON_DETECTION); TalkBackPreference(int resId, int hideFlags) { this.resId = resId; @@ -225,7 +224,6 @@ public TalkBackPreferenceFilter(Context context) { * the device met flags defines in {@link TalkBackPreference#hideFlags}. */ public void filterPreferences(PreferenceGroup preferenceGroup) { - for (int i = 0; i < preferenceGroup.getPreferenceCount(); ++i) { Preference preference = preferenceGroup.getPreference(i); if (hide(preference)) { @@ -282,11 +280,6 @@ private boolean hide(Preference preference) { return true; } - if (hasFlag(pref.get(), HIDDEN_HAS_ACCESSIBILITY_SHORTCUT) - && FeatureSupport.hasAccessibilityShortcut(context)) { - return true; - } - if (hasFlag(pref.get(), HIDE_NO_PROXIMITY_SENSOR) && !FeatureSupport.supportProximitySensor(context)) { return true; @@ -297,23 +290,19 @@ private boolean hide(Preference preference) { return true; } - if (hasFlag(pref.get(), HIDE_NO_BRAILLE_KEYBOARD)) { - PackageManager packageManager = context.getPackageManager(); - Intent serviceIntent = new Intent().setComponent(Constants.BRAILLE_KEYBOARD); - List resolveInfo = packageManager.queryIntentServices(serviceIntent, 0); - if (resolveInfo == null - || resolveInfo.isEmpty() - || packageManager.getComponentEnabledSetting(Constants.BRAILLE_KEYBOARD) - != PackageManager.COMPONENT_ENABLED_STATE_ENABLED) { - return true; - } + if (hasFlag(pref.get(), HIDE_NO_BRAILLE_KEYBOARD) + && !FeatureSupport.supportBrailleKeyboard(context)) { + return true; } - if (hasFlag(pref.get(), HIDE_NO_BRAILLE_DISPLAY)) { - Intent activityIntent = new Intent().setComponent(Constants.BRAILLE_DISPLAY_SETTINGS); - if (activityIntent.resolveActivityInfo(context.getPackageManager(), 0) == null) { - return true; - } + if (hasFlag(pref.get(), HIDE_NO_BRAILLE_DISPLAY) + && !FeatureSupport.supportBrailleDisplay(context)) { + return true; + } + + if (hasFlag(pref.get(), HIDE_IF_NO_USER_DISABLING_OF_GLOBAL_ANIMATIONS) + && !FeatureSupport.supportsUserDisablingOfGlobalAnimations()) { + return true; } if (hasFlag(pref.get(), SHOW_IF_MULTI_FINGER) @@ -331,7 +320,8 @@ private boolean hide(Preference preference) { return true; } - if (hasFlag(pref.get(), SHOW_SYSTEM_ACTION) && !FeatureSupport.supportSystemActions(context)) { + if (hasFlag(pref.get(), SHOW_SYSTEM_ACTION) + && !FeatureSupport.supportGetSystemActions(context)) { return true; } @@ -344,6 +334,14 @@ private boolean hide(Preference preference) { && !FeatureSupport.hasAccessibilityAudioStream(context)) { return true; } + if (hasFlag(pref.get(), HIDDEN_NO_MEDIA_CONTROL) && !FeatureSupport.supportMediaControls()) { + return true; + } + + if (hasFlag(pref.get(), HIDE_ICON_DETECTION) + && !ImageCaptioner.supportsIconDetection(context)) { + return true; + } if (hasFlag(pref.get(), HIDDEN)) { return true; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackShortcutPreferencesActivity.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackShortcutPreferencesActivity.java deleted file mode 100644 index 5c5167fed..000000000 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/TalkBackShortcutPreferencesActivity.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright 2010 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package com.google.android.accessibility.talkback.preference; - -import android.app.AlertDialog; -import android.content.Context; -import android.content.DialogInterface; -import android.content.SharedPreferences; -import android.os.Bundle; -import android.widget.Button; -import androidx.annotation.Nullable; -import androidx.preference.Preference; -import androidx.preference.PreferenceDialogFragmentCompat; -import androidx.preference.PreferenceFragmentCompat; -import com.google.android.accessibility.talkback.R; -import com.google.android.accessibility.talkback.training.TutorialInitiator; -import com.google.android.accessibility.utils.AlertDialogUtils; -import com.google.android.accessibility.utils.FeatureSupport; -import com.google.android.accessibility.utils.PreferencesActivity; -import com.google.android.accessibility.utils.SharedPreferencesUtils; - -/** Activity used to set TalkBack's gesture preferences. */ -public class TalkBackShortcutPreferencesActivity extends PreferencesActivity { - - @Override - protected PreferenceFragmentCompat createPreferenceFragment() { - return new ShortcutPrefFragment(); - } - - private void restartFragment() { - getSupportFragmentManager() - .beginTransaction() - .replace(getContainerId(), new ShortcutPrefFragment()) - .commit(); - } - - /** Panel holding a set of shortcut preferences. Recreated when preset value changes. */ - public static class ShortcutPrefFragment extends TalkbackBaseFragment { - public ShortcutPrefFragment() { - super(R.xml.gesture_preferences); - } - - /** Preferences managed by this activity. */ - private SharedPreferences prefs; - - @Override - public void onDisplayPreferenceDialog(Preference preference) { - if (preference instanceof GestureListPreference) { - PreferenceDialogFragmentCompat dialogFragment = - ((GestureListPreference) preference).createDialogFragment(); - dialogFragment.setTargetFragment(this, 0); - dialogFragment.show(getParentFragmentManager(), preference.getKey()); - } else { - super.onDisplayPreferenceDialog(preference); - } - } - - @Override - public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { - super.onCreatePreferences(savedInstanceState, rootKey); - Context context = getActivity().getApplicationContext(); - - prefs = SharedPreferencesUtils.getSharedPreferences(context); - - // Launches Practice gestures page. - @Nullable - Preference practiceGesturesPreference = - findPreference(getString(R.string.pref_practice_gestures_entry_point_key)); - if (practiceGesturesPreference != null) { - practiceGesturesPreference.setIntent( - TutorialInitiator.createPracticeGesturesIntent(context)); - } - - Preference resetGesturePreferenceScreen = - (Preference) findPreference(getString(R.string.pref_reset_gesture_settings_key)); - resetGesturePreferenceScreen.setOnPreferenceClickListener( - resetGesturePreferenceClickListener); - - // Disable 2-finger swipe gestures which are reserved as 2-finger pass-through. - if (FeatureSupport.isMultiFingerGestureSupported()) { - String[] twoFingerPassThroughGestureSet = - context.getResources().getStringArray(R.array.pref_2finger_pass_through_shortcut_keys); - String[] summaries = - context - .getResources() - .getStringArray(R.array.pref_2finger_pass_through_shortcut_summary); - if (twoFingerPassThroughGestureSet.length == summaries.length) { - for (int i = 0; i < twoFingerPassThroughGestureSet.length; i++) { - GestureListPreference twoFingerGesturePreference = - findPreference(twoFingerPassThroughGestureSet[i]); - if (twoFingerGesturePreference != null) { - twoFingerGesturePreference.setEnabled(false); - twoFingerGesturePreference.setSummaryWhenDisabled( - context - .getResources() - .getString(R.string.shortcut_not_customizable, summaries[i])); - } - } - } - } - } - - private void resetGestureShortcut() { - // Reset preference to default - final SharedPreferences.Editor prefEditor = prefs.edit(); - final String[] gesturePrefKeys = getResources().getStringArray(R.array.pref_shortcut_keys); - - for (String prefKey : gesturePrefKeys) { - if (prefs.contains(prefKey)) { - prefEditor.remove(prefKey); - } - } - prefEditor.apply(); - ((TalkBackShortcutPreferencesActivity) getActivity()).restartFragment(); - } - - private final DialogInterface.OnClickListener resetGestureConfirmDialogPositive = - (dialogInterface, i) -> { - // Reset logic here - resetGestureShortcut(); - dialogInterface.dismiss(); - PreferencesActivityUtils.announceText( - getString(R.string.gestures_announce_reset_gesture_settings), getActivity()); - }; - - private static void focusCancelButton(AlertDialog alertDialog) { - Button cancelButton = alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE); - cancelButton.setFocusableInTouchMode(true); - cancelButton.requestFocus(); - } - - private final Preference.OnPreferenceClickListener resetGesturePreferenceClickListener = - new Preference.OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - // Show confirm dialog. - AlertDialog alertDialog = - AlertDialogUtils.builder(getActivity()) - .setTitle(getString(R.string.Reset_gesture_settings_dialog_title)) - .setMessage(getString(R.string.message_reset_gesture_settings_confirm_dialog)) - .setPositiveButton( - R.string.reset_button_in_reset_gesture_settings_confirm_dialog, - resetGestureConfirmDialogPositive) - .setNegativeButton(android.R.string.cancel, (dialog, i) -> dialog.cancel()) - .create(); - alertDialog.show(); - - focusCancelButton(alertDialog); - - return true; - } - }; - } -} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/WearListPreferenceDialogFragmentCompat.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/WearListPreferenceDialogFragmentCompat.java index 001de16a5..6ae3d7742 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/WearListPreferenceDialogFragmentCompat.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/WearListPreferenceDialogFragmentCompat.java @@ -56,7 +56,8 @@ protected void onPrepareDialogBuilder(AlertDialog.Builder builder) { } @Override - public @NonNull Dialog onCreateDialog(Bundle savedInstanceState) { + @NonNull + public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog = super.onCreateDialog(savedInstanceState); if (dialog instanceof AlertDialog) { dialog.create(); diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/AdvancedSettingFragment.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/AdvancedSettingFragment.java index 1156b06c9..c3147497b 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/AdvancedSettingFragment.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/AdvancedSettingFragment.java @@ -15,6 +15,8 @@ */ package com.google.android.accessibility.talkback.preference.base; +import static com.google.android.accessibility.talkback.focusmanagement.FocusProcessorForTapAndTouchExploration.DOUBLE_TAP; + import android.content.ContentResolver; import android.content.Context; import android.content.SharedPreferences; @@ -26,6 +28,7 @@ import androidx.preference.TwoStatePreference; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.TalkBackService; +import com.google.android.accessibility.talkback.focusmanagement.FocusProcessorForTapAndTouchExploration.TypingMethod; import com.google.android.accessibility.talkback.speech.SpeakPasswordsManager; import com.google.android.accessibility.talkback.utils.RemoteIntentUtils; import com.google.android.accessibility.utils.FeatureSupport; @@ -52,7 +55,6 @@ public CharSequence getTitle() { @Override public void onResume() { super.onResume(); - updateTalkBackShortcutStatus(); updateTouchExplorationState(); } @@ -119,15 +121,6 @@ private void updateTouchExplorationState() { } } - private void updateTalkBackShortcutStatus() { - final TwoStatePreference preference = - (TwoStatePreference) findPreference(getString(R.string.pref_two_volume_long_press_key)); - if (preference == null) { - return; - } - preference.setEnabled(TalkBackService.getInstance() != null || preference.isChecked()); - } - @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { super.onCreatePreferences(savedInstanceState, rootKey); @@ -151,25 +144,24 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { updateSpeakPasswordsPreference(); - Preference resumeTalkBack = findPreference(getString(R.string.pref_resume_talkback_key)); - if (resumeTalkBack != null) { - resumeTalkBack.setOnPreferenceChangeListener( + Preference typingPreference = findPreference(getString(R.string.pref_typing_confirmation_key)); + Preference longPressDuration = + findPreference(getString(R.string.pref_typing_long_press_duration_key)); + // Disable the "pref_typing_long_press_duration_key" when "pref_typing_confirmation_key" is set + // as double-tap. + if (typingPreference != null && longPressDuration != null) { + @TypingMethod + int typingMethod = + SharedPreferencesUtils.getIntFromStringPref( + prefs, + getResources(), + R.string.pref_typing_confirmation_key, + R.string.pref_typing_confirmation_default); + longPressDuration.setEnabled(typingMethod != DOUBLE_TAP); + typingPreference.setOnPreferenceChangeListener( (preference, newValue) -> { final String key = preference.getKey(); - if (getString(R.string.pref_resume_talkback_key).equals(key)) { - final String oldValue = - SharedPreferencesUtils.getStringPref( - prefs, - getResources(), - R.string.pref_resume_talkback_key, - R.string.pref_resume_talkback_default); - if (!newValue.equals(oldValue)) { - // Reset the suspend warning dialog when the resume - // preference changes. - SharedPreferencesUtils.putBooleanPref( - prefs, getResources(), R.string.pref_show_suspension_confirmation_dialog, true); - } - } + longPressDuration.setEnabled(Integer.parseInt((String) newValue) != DOUBLE_TAP); return true; }); } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/DeveloperPrefFragment.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/DeveloperPrefFragment.java index 4eed10cd0..1d8c3ebd0 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/DeveloperPrefFragment.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/DeveloperPrefFragment.java @@ -16,7 +16,6 @@ package com.google.android.accessibility.talkback.preference.base; -import android.app.AlertDialog; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; @@ -30,16 +29,17 @@ import android.os.Handler; import android.provider.Settings; import android.util.Log; +import android.widget.Toast; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.Preference.OnPreferenceChangeListener; import androidx.preference.TwoStatePreference; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.TalkBackService; +import com.google.android.accessibility.talkback.preference.PreferencesActivityUtils; +import com.google.android.accessibility.utils.A11yAlertDialogWrapper; import com.google.android.accessibility.utils.AccessibilityEventUtils; -import com.google.android.accessibility.utils.AlertDialogUtils; import com.google.android.accessibility.utils.FeatureSupport; -import com.google.android.accessibility.utils.PreferenceSettingsUtils; import com.google.android.accessibility.utils.SharedPreferencesUtils; import com.google.android.libraries.accessibility.utils.log.LogUtils; import org.checkerframework.checker.nullness.qual.Nullable; @@ -56,16 +56,16 @@ public class DeveloperPrefFragment extends TalkbackBaseFragment { private Context context; /** AlertDialog to ask if user really wants to enable node tree debugging. */ - private AlertDialog treeDebugDialog; + private A11yAlertDialogWrapper treeDebugDialog; /** AlertDialog to ask if user really wants to enable performance statistics. */ - private AlertDialog performanceStatsDialog; + private A11yAlertDialogWrapper performanceStatsDialog; /** AlertDialog to ask if user really wants to disable explore by touch. */ - private AlertDialog exploreByTouchDialog; + private A11yAlertDialogWrapper exploreByTouchDialog; /** AlertDialog to ask if user is willing to opt in the debug support. */ - private AlertDialog logLevelOptInDialog; + private A11yAlertDialogWrapper logLevelOptInDialog; private int logOptInLevel = Log.ERROR; @@ -95,13 +95,10 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { initVersionInfo(); // Remove preferences for features that are not supported by device. - checkReleaseBuild(); checkTelevision(); - checkReducedWindowDelaySupport(); initTouchExplorationPreference(); - @Nullable - final Preference prefVersion = + final @Nullable Preference prefVersion = findPreference(getString(R.string.pref_developer_version_code_key)); if ((FeatureSupport.supportSettingsTheme() || FeatureSupport.isWatch(context)) // Watch does not have action bar. So we show the version info here. @@ -113,13 +110,12 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { } // Initialize preference dialogs. - @Nullable - final TwoStatePreference prefTreeDebug = + final @Nullable TwoStatePreference prefTreeDebug = findPreference(getString(R.string.pref_tree_debug_reflect_key)); if (prefTreeDebug != null) { prefTreeDebug.setOnPreferenceChangeListener(treeDebugChangeListener); treeDebugDialog = - AlertDialogUtils.builder(context) + A11yAlertDialogWrapper.alertDialogBuilder(context) .setNegativeButton(android.R.string.cancel, null) .setOnCancelListener(null) .setTitle(R.string.dialog_title_enable_tree_debug) @@ -139,7 +135,7 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { if (prefPerformanceStats != null) { prefPerformanceStats.setOnPreferenceChangeListener(performanceStatsChangeListener); performanceStatsDialog = - AlertDialogUtils.builder(context) + A11yAlertDialogWrapper.alertDialogBuilder(context) .setNegativeButton(android.R.string.cancel, null) .setOnCancelListener(null) .setTitle(R.string.dialog_title_enable_performance_stats) @@ -159,7 +155,7 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { if (logLevelPref != null) { logLevelPref.setOnPreferenceChangeListener(logLevelChangeListener); logLevelOptInDialog = - AlertDialogUtils.builder(context) + A11yAlertDialogWrapper.alertDialogBuilder(context) .setNegativeButton(android.R.string.cancel, null) .setOnCancelListener(null) .setTitle(R.string.dialog_title_extend_log_level) @@ -173,11 +169,88 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { R.string.pref_log_level_key, Integer.toString(logOptInLevel)); logLevelPref.setValue(Integer.toString(logOptInLevel)); - logLevelPref.setSummary(logLevelPref.getEntry()); LogUtils.setLogLevel(logOptInLevel); }) .create(); } + + final @Nullable TwoStatePreference diagnosisModePref = + findPreference(getString(R.string.pref_diagnosis_mode_key)); + if (diagnosisModePref != null) { + + // Create confirmation-dialog. + A11yAlertDialogWrapper diagnosisOptInDialog = + A11yAlertDialogWrapper.alertDialogBuilder(context) + .setNegativeButton(android.R.string.cancel, null) + .setOnCancelListener(null) + .setTitle(R.string.dialog_title_diagnosis_mode) + .setMessage(R.string.dialog_message_diagnosis_mode) + .setPositiveButton( + android.R.string.ok, + (DialogInterface dialog, int which) -> { + SharedPreferencesUtils.storeBooleanAsync( + prefs, getString(R.string.pref_diagnosis_mode_key), true); + diagnosisModePref.setChecked(true); + updateDisplayForDiagnosisModeOn(); + }) + .create(); + + // When diagnosis-mode preference is turned on, show confirmation-dialog. + diagnosisModePref.setOnPreferenceChangeListener( + (preference, newValue) -> { + if (Boolean.TRUE.equals(newValue)) { + diagnosisOptInDialog.show(); + return false; + } else { + updateDisplayForDiagnosisModeOff(); + return true; + } + }); + } + + final @Nullable TwoStatePreference serviceGestureDetectionPref = + findPreference(getString(R.string.pref_talkback_gesture_detection_key)); + if (serviceGestureDetectionPref != null) { + serviceGestureDetectionPref.setOnPreferenceChangeListener( + (preference, newValue) -> { + if (Boolean.TRUE.equals(newValue)) { + Toast.makeText( + getContext(), + R.string.toast_pref_talkback_gesture_detection, + Toast.LENGTH_LONG) + .show(); + } + return true; + }); + } + + updateDisplayForDiagnosisMode(); + } + + private void updateDisplayForDiagnosisMode() { + if (PreferencesActivityUtils.isDiagnosisModeOn(prefs, context.getResources())) { + updateDisplayForDiagnosisModeOn(); + } else { + updateDisplayForDiagnosisModeOff(); + } + } + + // Turn on diagnosis-mode sub-preferences. + private void updateDisplayForDiagnosisModeOn() { + setEnabled(context, R.string.pref_tts_overlay_key, /* enable= */ false); + setEnabled(context, R.string.pref_echo_recognized_text_speech_key, /* enable= */ false); + setEnabled(context, R.string.pref_tree_debug_reflect_key, /* enable= */ false); + setEnabled(context, R.string.pref_log_overlay_key, /* enable= */ false); + setEnabled(context, R.string.pref_log_level_key, /* enable= */ false); + } + + // Turn off diagnosis-mode sub-preferences. + private void updateDisplayForDiagnosisModeOff() { + setEnabled(context, R.string.pref_tts_overlay_key, /* enable= */ true); + setEnabled(context, R.string.pref_echo_recognized_text_speech_key, /* enable= */ true); + setEnabled(context, R.string.pref_tree_debug_reflect_key, /* enable= */ true); + setEnabled(context, R.string.pref_log_overlay_key, /* enable= */ true); + setEnabled(context, R.string.pref_log_level_key, /* enable= */ true); } private void initVersionInfo() { @@ -202,43 +275,13 @@ private void initVersionInfo() { } } - private void checkReleaseBuild() { - // TODO: BuildConfig.DEBUG broken? Assume this is a release build for now. - boolean isReleaseBuild = true; - if (isReleaseBuild) { - Preference debugOverlayPreference = findPreference(getString(R.string.pref_log_overlay_key)); - if (debugOverlayPreference != null) { - getPreferenceScreen().removePreference(debugOverlayPreference); - } - } - } - - /** - * Checks if the device is Android TV and removes preferences that shouldn't be set when on - * Android TV. - */ + /** Checks if the device is Android TV and changes preferences where necessary. */ private void checkTelevision() { if (FeatureSupport.isTv(context)) { + // Add TV-specific explanation for node tree debugging. final Preference treeDebugPreference = findPreference(getString(R.string.pref_tree_debug_reflect_key)); treeDebugPreference.setSummary(getString(R.string.summary_pref_tree_debug_tv)); - // For TV only, display version code on a preference item. - final Preference versionCodePreference = - findPreference(getString(R.string.pref_version_code_key)); - if (versionCodePreference != null) { - versionCodePreference.setSummary(versionInfo); - } - } else { - PreferenceSettingsUtils.hidePreference( - context, getPreferenceScreen(), R.string.pref_version_code_key); - } - } - - /** Ensure window-delay setting does not appear on devices without animation toggle. */ - private void checkReducedWindowDelaySupport() { - if (!FeatureSupport.disableAnimation()) { - PreferenceSettingsUtils.hidePreference( - context, getPreferenceScreen(), R.string.pref_reduce_window_delay_key); } } @@ -304,7 +347,7 @@ private void initTouchExplorationPreference() { // Initialize preference dialog exploreByTouchDialog = - AlertDialogUtils.builder(context) + A11yAlertDialogWrapper.alertDialogBuilder(context) .setTitle(R.string.dialog_title_disable_exploration) .setMessage(R.string.dialog_message_disable_exploration) .setNegativeButton(android.R.string.cancel, null) diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/GestureListPreference.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/GestureListPreference.java similarity index 93% rename from talkback/src/main/java/com/google/android/accessibility/talkback/preference/GestureListPreference.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/GestureListPreference.java index 97180031f..a31baa1c4 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/GestureListPreference.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/GestureListPreference.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.talkback.preference; +package com.google.android.accessibility.talkback.preference.base; import android.content.Context; import android.content.SharedPreferences; @@ -30,6 +30,7 @@ import androidx.preference.PreferenceDialogFragmentCompat; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.actor.GestureReporter; +import com.google.android.accessibility.talkback.gesture.GestureShortcutMapping; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.SettingsUtils; import com.google.android.accessibility.utils.SharedPreferencesUtils; @@ -82,6 +83,12 @@ protected Object onGetDefaultValue(TypedArray a, int index) { return initialValue; } + /** Updates the summary of preference to default value. */ + void updateSummaryToDefaultValue() { + String actionString = GestureShortcutMapping.getActionString(getContext(), initialValue); + setSummary(actionString); + } + /** Creates the dialog fragment, which contains the list of supported actions. */ public PreferenceDialogFragmentCompat createDialogFragment() { return GesturePreferenceFragmentCompat.create(this); @@ -197,7 +204,7 @@ private ImmutableList createSystemActions() { R.array.shortcut_system_actions, R.array.shortcut_value_system_actions); Resources resources = getContext().getResources(); - if (FeatureSupport.supportSystemActions(getContext())) { + if (FeatureSupport.supportGetSystemActions(getContext())) { builder.add( new ActionItem( resources.getString(R.string.shortcut_all_apps), @@ -285,8 +292,8 @@ private ImmutableList createSpecialFeatures() { TYPE_ACTION_ITEM)); } - SharedPreferences perf = SharedPreferencesUtils.getSharedPreferences(getContext()); - if (perf.getBoolean(resources.getString(R.string.pref_tree_debug_key), false)) { + SharedPreferences preferences = SharedPreferencesUtils.getSharedPreferences(getContext()); + if (preferences.getBoolean(resources.getString(R.string.pref_tree_debug_key), false)) { builder.add( new ActionItem( resources.getString(R.string.shortcut_print_node_tree), @@ -294,7 +301,7 @@ private ImmutableList createSpecialFeatures() { TYPE_ACTION_ITEM)); } - if (perf.getBoolean(resources.getString(R.string.pref_performance_stats_key), false)) { + if (preferences.getBoolean(resources.getString(R.string.pref_performance_stats_key), false)) { builder.add( new ActionItem( resources.getString(R.string.shortcut_print_performance_stats), @@ -308,6 +315,14 @@ private ImmutableList createSpecialFeatures() { resources.getString(R.string.shortcut_value_show_custom_actions), TYPE_ACTION_ITEM)); + if (FeatureSupport.supportBrailleDisplay(getContext())) { + builder.add( + new ActionItem( + resources.getString(R.string.shortcut_braille_display_settings), + resources.getString(R.string.shortcut_value_braille_display_settings), + TYPE_ACTION_ITEM)); + } + builder.add( new ActionItem( resources.getString(R.string.shortcut_tutorial), diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/GesturePreferenceFragmentCompat.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/GesturePreferenceFragmentCompat.java similarity index 96% rename from talkback/src/main/java/com/google/android/accessibility/talkback/preference/GesturePreferenceFragmentCompat.java rename to talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/GesturePreferenceFragmentCompat.java index 968b1fa9b..f88bb3428 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/GesturePreferenceFragmentCompat.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/GesturePreferenceFragmentCompat.java @@ -14,10 +14,10 @@ * the License. */ -package com.google.android.accessibility.talkback.preference; +package com.google.android.accessibility.talkback.preference.base; -import static com.google.android.accessibility.talkback.preference.GestureListPreference.TYPE_ACTION_ITEM; -import static com.google.android.accessibility.talkback.preference.GestureListPreference.TYPE_TITLE; +import static com.google.android.accessibility.talkback.preference.base.GestureListPreference.TYPE_ACTION_ITEM; +import static com.google.android.accessibility.talkback.preference.base.GestureListPreference.TYPE_TITLE; import android.content.Context; import android.os.Bundle; @@ -37,7 +37,7 @@ import androidx.core.view.ViewCompat; import androidx.preference.PreferenceDialogFragmentCompat; import com.google.android.accessibility.talkback.R; -import com.google.android.accessibility.talkback.preference.GestureListPreference.ActionItem; +import com.google.android.accessibility.talkback.preference.base.GestureListPreference.ActionItem; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.libraries.accessibility.utils.log.LogUtils; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/KeyboardShortcutDialogPreference.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/KeyboardShortcutDialogPreference.java index d8197fdf1..d03b3c23a 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/KeyboardShortcutDialogPreference.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/KeyboardShortcutDialogPreference.java @@ -16,7 +16,6 @@ package com.google.android.accessibility.talkback.preference.base; -import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; @@ -28,12 +27,12 @@ import androidx.preference.PreferenceDialogFragmentCompat; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.TalkBackService; -import com.google.android.accessibility.utils.AlertDialogUtils; +import com.google.android.accessibility.talkback.keyboard.KeyComboManager; +import com.google.android.accessibility.talkback.keyboard.KeyComboModel; +import com.google.android.accessibility.utils.A11yAlertDialogWrapper; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.ServiceKeyEventListener; -import com.google.android.accessibility.utils.keyboard.KeyComboManager; -import com.google.android.accessibility.utils.keyboard.KeyComboModel; import org.checkerframework.checker.nullness.qual.Nullable; /** @@ -57,7 +56,7 @@ public class KeyboardShortcutDialogPreference extends DialogPreference private int temporaryModifier; private int temporaryKeyCode; private KeyboardShortcutPreferenceFragmentCompat keyboardShortcutPreferenceFragment; - private AlertDialog alertDialog; + private A11yAlertDialogWrapper alertDialog; public KeyboardShortcutDialogPreference( Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { @@ -422,8 +421,8 @@ private void showOverrideKeyComboDialog( String message = getContext() .getString(R.string.override_keycombo_message_two_params, currentAction, newAction); - AlertDialog.Builder builder = - AlertDialogUtils.builder(getContext()) + A11yAlertDialogWrapper.Builder builder = + A11yAlertDialogWrapper.alertDialogBuilder(getContext()) .setTitle(R.string.override_keycombo) .setMessage(message) .setNegativeButton( diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/KeyboardShortcutPreferenceFragmentCompat.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/KeyboardShortcutPreferenceFragmentCompat.java index 84ec349d5..42eccef1c 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/KeyboardShortcutPreferenceFragmentCompat.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/KeyboardShortcutPreferenceFragmentCompat.java @@ -27,9 +27,9 @@ import android.widget.TextView; import androidx.preference.PreferenceDialogFragmentCompat; import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.keyboard.KeyComboManager; +import com.google.android.accessibility.talkback.keyboard.KeyComboModel; import com.google.android.accessibility.talkback.preference.PreferencesActivityUtils; -import com.google.android.accessibility.utils.keyboard.KeyComboManager; -import com.google.android.accessibility.utils.keyboard.KeyComboModel; /** A dialog fragment contains a customized list view for TalkBack supported actions. */ public class KeyboardShortcutPreferenceFragmentCompat extends PreferenceDialogFragmentCompat { diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackGestureShortcutPreferenceFragment.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackGestureShortcutPreferenceFragment.java new file mode 100644 index 000000000..b79484492 --- /dev/null +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackGestureShortcutPreferenceFragment.java @@ -0,0 +1,149 @@ +/* + * Copyright 2010 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.talkback.preference.base; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.SharedPreferences; +import android.os.Bundle; +import androidx.annotation.Nullable; +import androidx.preference.Preference; +import androidx.preference.PreferenceDialogFragmentCompat; +import androidx.preference.PreferenceGroup; +import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.preference.PreferencesActivityUtils; +import com.google.android.accessibility.talkback.training.TutorialInitiator; +import com.google.android.accessibility.utils.A11yAlertDialogWrapper; +import com.google.android.accessibility.utils.FeatureSupport; +import com.google.android.accessibility.utils.SharedPreferencesUtils; + +/** Panel holding a set of shortcut preferences. Recreated when preset value changes. */ +public class TalkBackGestureShortcutPreferenceFragment extends TalkbackBaseFragment { + private static final String TAG = "TalkBackGestureShortcutPreferenceFragment"; + + /** Preferences managed by this activity. */ + private SharedPreferences prefs; + + public TalkBackGestureShortcutPreferenceFragment() { + super(R.xml.gesture_preferences); + } + + private final DialogInterface.OnClickListener resetGestureConfirmDialogPositive = + (dialogInterface, i) -> { + PreferencesActivityUtils.announceText( + getString(R.string.gestures_announce_reset_gesture_settings), getContext()); + // Reset logic here + resetGestureShortcut(); + dialogInterface.dismiss(); + }; + + private final Preference.OnPreferenceClickListener resetGesturePreferenceClickListener = + (preference) -> { + // Show confirm dialog. + A11yAlertDialogWrapper alertDialog = + A11yAlertDialogWrapper.alertDialogBuilder(getContext()) + .setTitle(getString(R.string.Reset_gesture_settings_dialog_title)) + .setMessage(getString(R.string.message_reset_gesture_settings_confirm_dialog)) + .setPositiveButton( + R.string.reset_button_in_reset_gesture_settings_confirm_dialog, + resetGestureConfirmDialogPositive) + .setNegativeButton(android.R.string.cancel, (dialog, i) -> dialog.cancel()) + .create(); + alertDialog.show(); + if (!FeatureSupport.isWatch(getContext())) { + // Does not need give default input focus on cancel button, because Wear won't connect to + // external keyboard. + A11yAlertDialogWrapper.focusCancelButton(alertDialog); + } + + return true; + }; + + @Override + public void onDisplayPreferenceDialog(Preference preference) { + if (preference instanceof GestureListPreference) { + PreferenceDialogFragmentCompat dialogFragment = + ((GestureListPreference) preference).createDialogFragment(); + dialogFragment.setTargetFragment(this, 0); + dialogFragment.show(getParentFragmentManager(), preference.getKey()); + } else { + super.onDisplayPreferenceDialog(preference); + } + } + + @Override + public CharSequence getTitle() { + return getText(R.string.title_pref_category_manage_gestures); + } + + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + super.onCreatePreferences(savedInstanceState, rootKey); + Context context = getContext(); + + prefs = SharedPreferencesUtils.getSharedPreferences(context); + + // Launches Practice gestures page. + @Nullable + Preference practiceGesturesPreference = + findPreference(getString(R.string.pref_practice_gestures_entry_point_key)); + if (practiceGesturesPreference != null) { + practiceGesturesPreference.setIntent(TutorialInitiator.createPracticeGesturesIntent(context)); + } + + Preference resetGesturePreferenceScreen = + (Preference) findPreference(getString(R.string.pref_reset_gesture_settings_key)); + resetGesturePreferenceScreen.setOnPreferenceClickListener(resetGesturePreferenceClickListener); + + // Disable 2-finger swipe gestures which are reserved as 2-finger pass-through. + if (FeatureSupport.isMultiFingerGestureSupported()) { + String[] twoFingerPassThroughGestureSet = + context.getResources().getStringArray(R.array.pref_2finger_pass_through_shortcut_keys); + String[] summaries = + context.getResources().getStringArray(R.array.pref_2finger_pass_through_shortcut_summary); + if (twoFingerPassThroughGestureSet.length == summaries.length) { + for (int i = 0; i < twoFingerPassThroughGestureSet.length; i++) { + GestureListPreference twoFingerGesturePreference = + findPreference(twoFingerPassThroughGestureSet[i]); + if (twoFingerGesturePreference != null) { + twoFingerGesturePreference.setEnabled(false); + twoFingerGesturePreference.setSummaryWhenDisabled( + context.getResources().getString(R.string.shortcut_not_customizable, summaries[i])); + } + } + } + } + } + + private void resetGestureShortcut() { + // Reset preference to default + final SharedPreferences.Editor prefEditor = prefs.edit(); + final String[] gesturePrefKeys = getResources().getStringArray(R.array.pref_shortcut_keys); + + PreferenceGroup root = getPreferenceScreen(); + + for (String prefKey : gesturePrefKeys) { + if (prefs.contains(prefKey)) { + GestureListPreference preference = (GestureListPreference) root.findPreference(prefKey); + preference.updateSummaryToDefaultValue(); + + prefEditor.remove(prefKey); + } + } + prefEditor.apply(); + } +} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackKeyboardShortcutPreferenceFragment.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackKeyboardShortcutPreferenceFragment.java index fa2f021ea..8de6ab8ed 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackKeyboardShortcutPreferenceFragment.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackKeyboardShortcutPreferenceFragment.java @@ -16,13 +16,11 @@ package com.google.android.accessibility.talkback.preference.base; -import android.app.AlertDialog; import android.content.DialogInterface; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; import android.os.Bundle; import android.text.TextUtils; -import android.widget.Button; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.Preference.OnPreferenceChangeListener; @@ -32,24 +30,23 @@ import androidx.preference.PreferenceScreen; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.TalkBackService; +import com.google.android.accessibility.talkback.keyboard.DefaultKeyComboModel; +import com.google.android.accessibility.talkback.keyboard.KeyComboManager; +import com.google.android.accessibility.talkback.keyboard.KeyComboModel; import com.google.android.accessibility.talkback.preference.PreferencesActivityUtils; -import com.google.android.accessibility.utils.AlertDialogUtils; +import com.google.android.accessibility.talkback.preference.TalkBackPreferenceFilter; +import com.google.android.accessibility.utils.A11yAlertDialogWrapper; import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.accessibility.utils.PreferenceSettingsUtils; import com.google.android.accessibility.utils.SharedPreferencesUtils; -import com.google.android.accessibility.utils.keyboard.DefaultKeyComboModel; -import com.google.android.accessibility.utils.keyboard.KeyComboManager; -import com.google.android.accessibility.utils.keyboard.KeyComboModel; import java.util.HashSet; import java.util.Set; import org.checkerframework.checker.nullness.qual.Nullable; /** Panel holding a set of keyboard shortcut preferences. */ public class TalkBackKeyboardShortcutPreferenceFragment extends TalkbackBaseFragment { - private static final String TAG = "TalkBackKeyboardShortcutPreferenceFragment"; private static final int[] HIDDEN_SHORTCUT_KEY_IDS_IN_ARC = { - R.string.keycombo_shortcut_global_suspend, R.string.keycombo_shortcut_global_home, R.string.keycombo_shortcut_global_recents, R.string.keycombo_shortcut_global_notifications, @@ -70,16 +67,6 @@ public TalkBackKeyboardShortcutPreferenceFragment() { super(R.xml.key_combo_preferences); } - public static String getFragmentName() { - return TAG; - } - - private static void focusCancelButton(AlertDialog alertDialog) { - Button cancelButton = alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE); - cancelButton.setFocusableInTouchMode(true); - cancelButton.requestFocus(); - } - @Override public CharSequence getTitle() { return getText(R.string.title_pref_manage_keyboard_shortcuts); @@ -97,15 +84,14 @@ public void onDisplayPreferenceDialog(Preference preference) { } } - // TODO: Refactor KeyComboManager. /** Updates fragment whenever their values change. */ private final OnSharedPreferenceChangeListener sharedPreferenceChangeListener = - (SharedPreferences prefs, String key) -> { + (prefs, key) -> { if (TextUtils.equals(key, getString(R.string.pref_select_keymap_key))) { keymap = getKeymap(); - // Set new key combo model. + // Refreshes key combo model after keymap changes. KeyComboManager keyComboManager = getKeyComboManager(); - keyComboManager.setKeyComboModel(keyComboManager.createKeyComboModelFor(keymap)); + keyComboManager.refreshKeyComboModel(); updateFragment(); } else if (TextUtils.equals( key, getString(R.string.pref_default_keymap_trigger_modifier_key))) { @@ -114,7 +100,7 @@ key, getString(R.string.pref_default_keymap_trigger_modifier_key))) { }; private final DialogInterface.OnClickListener chooseTriggerModifierConfirmDialogPositive = - (DialogInterface dialogInterface, int i) -> { + (dialogInterface, i) -> { resetKeymap(); KeyComboModel keyComboModel = getKeyComboManager().getKeyComboModel(); @@ -133,7 +119,9 @@ key, getString(R.string.pref_default_keymap_trigger_modifier_key))) { for (String key : keySet) { KeyboardShortcutDialogPreference preference = (KeyboardShortcutDialogPreference) findPreference(key); - preference.onTriggerModifierChanged(); + if (preference != null) { + preference.onTriggerModifierChanged(); + } } // Announce that trigger modifier has changed. @@ -148,7 +136,7 @@ key, getString(R.string.pref_default_keymap_trigger_modifier_key))) { }; private final DialogInterface.OnClickListener resetKeymapConfirmDialogPositive = - (DialogInterface dialogInterface, int i) -> { + (dialogInterface, i) -> { resetKeymap(); dialogInterface.dismiss(); @@ -158,10 +146,10 @@ key, getString(R.string.pref_default_keymap_trigger_modifier_key))) { }; private final Preference.OnPreferenceClickListener resetKeymapPreferenceClickListener = - (Preference preference) -> { + (preference) -> { // Show confirm dialog. - AlertDialog dialog = - AlertDialogUtils.builder(getActivity()) + A11yAlertDialogWrapper dialog = + A11yAlertDialogWrapper.alertDialogBuilder(getActivity()) .setTitle(getString(R.string.keycombo_menu_reset_keymap)) .setMessage(getString(R.string.message_in_reset_keymap_confirm_dialog)) .setPositiveButton( @@ -173,13 +161,13 @@ key, getString(R.string.pref_default_keymap_trigger_modifier_key))) { .create(); dialog.show(); - focusCancelButton(dialog); + A11yAlertDialogWrapper.focusCancelButton(dialog); return true; }; private final OnPreferenceChangeListener preferenceChangeListener = - (Preference preference, Object newValue) -> { + (preference, newValue) -> { String preferenceKeyForTriggerModifier = getKeyComboManager().getKeyComboModel().getPreferenceKeyForTriggerModifier(); if (preference instanceof KeyboardShortcutDialogPreference && newValue instanceof Long) { @@ -218,8 +206,8 @@ key, getString(R.string.pref_default_keymap_trigger_modifier_key))) { entries[listPreference.findIndexOfValue(triggerModifierToBeSet)]; // Show alert dialog. - AlertDialog dialog = - AlertDialogUtils.builder(getActivity()) + A11yAlertDialogWrapper dialog = + A11yAlertDialogWrapper.alertDialogBuilder(getActivity()) .setTitle(R.string.keycombo_menu_alert_title_trigger_modifier) .setMessage( getString( @@ -233,7 +221,7 @@ key, getString(R.string.pref_default_keymap_trigger_modifier_key))) { .create(); dialog.show(); - focusCancelButton(dialog); + A11yAlertDialogWrapper.focusCancelButton(dialog); return false; } return true; @@ -324,6 +312,13 @@ private void updateFragment() { /** Updates preference, including UI, by KeyComboModel. */ private void updatePreference() { + // By default, the preference filter is applied in TalkbackBaseFragment which is only performed + // 1st time the fragment created. Keyboard shortcut preference group can changed between classic + // and default key map, we need to redo the filter when the preference changed. + TalkBackPreferenceFilter talkBackPreferenceFilter = + new TalkBackPreferenceFilter(getActivity().getApplicationContext()); + talkBackPreferenceFilter.filterPreferences(getPreferenceScreen()); + PreferenceScreen resetKeymapPreferenceScreen = (PreferenceScreen) findPreference(getString(R.string.pref_reset_keymap_key)); resetKeymapPreferenceScreen.setOnPreferenceClickListener(resetKeymapPreferenceClickListener); @@ -349,10 +344,6 @@ private void updatePreference() { hiddenShortcutKeys.add(getString(id)); } - if (FeatureSupport.hasAccessibilityShortcut(getActivity())) { - hiddenShortcutKeys.add(getString(R.string.keycombo_shortcut_global_suspend)); - } - initPreferenceUIs(getPreferenceScreen(), hiddenShortcutKeys); } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackPreferenceFragment.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackPreferenceFragment.java index fbaaa94a9..55b91a11a 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackPreferenceFragment.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkBackPreferenceFragment.java @@ -23,13 +23,21 @@ import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Bundle; +import android.widget.Toast; +import androidx.annotation.StringRes; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.Preference.OnPreferenceChangeListener; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceGroup; +import androidx.preference.SwitchPreference; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.TalkBackService; +import com.google.android.accessibility.talkback.actor.ImageCaptioner; +import com.google.android.accessibility.talkback.icondetection.IconDetectionModuleDownloadPrompter; +import com.google.android.accessibility.talkback.icondetection.IconDetectionModuleDownloadPrompter.DownloadStateListener; +import com.google.android.accessibility.talkback.icondetection.IconDetectionModuleDownloadPrompter.UninstallStateListener; import com.google.android.accessibility.talkback.training.OnboardingInitiator; import com.google.android.accessibility.talkback.utils.RemoteIntentUtils; import com.google.android.accessibility.utils.FeatureSupport; @@ -103,6 +111,18 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { preference.setTitle(R.string.title_pref_sound); } } + + // Remove braille category if none of braille feature supported. + if (!FeatureSupport.supportBrailleDisplay(context) + && !FeatureSupport.supportBrailleKeyboard(context)) { + removeCategory(R.string.pref_category_braille_key); + } + + if (ImageCaptioner.supportsIconDetection(context)) { + setupIconDetectionPreference(); + } else { + removePreference(R.string.pref_category_controls_key, R.string.pref_icon_detection_key); + } } private void removePreference(int categoryKeyId, int preferenceKeyId) { @@ -292,4 +312,101 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { return true; } }; + + private void setupIconDetectionPreference() { + Preference iconDetectionPreference = findPreferenceByResId(R.string.pref_icon_detection_key); + if (iconDetectionPreference == null) { + return; + } + + SwitchPreference iconDetectionSwitchPreference = (SwitchPreference) iconDetectionPreference; + IconDetectionModuleDownloadPrompter prompter = + new IconDetectionModuleDownloadPrompter( + context, + /* triggeredByTalkBackMenu= */ false, + new DownloadStateListener() { + @Override + public void onInstalled() { + updateIconDetectionPreference( + R.string.summary_pref_icon_detection, /* checked= */ true); + showToast(context, R.string.download_icon_detection_successful_hint); + } + + @Override + public void onFailed() { + updateIconDetectionPreference( + R.string.summary_pref_icon_detection, /* checked= */ false); + showToast(context, R.string.download_icon_detection_failed_hint); + } + + @Override + public void onAccepted() { + updateIconDetectionPreference( + R.string.summary_pref_icon_detection_downloading, /* checked= */ true); + } + + @Override + public void onRejected() {} + + @Override + public void onDialogDismissed(@Nullable AccessibilityNodeInfoCompat queuedNode) {} + }); + + prompter.setUninstallStateListener( + new UninstallStateListener() { + @Override + public void onAccepted() { + updateIconDetectionPreference( + R.string.summary_pref_icon_detection, /* checked= */ false); + } + + @Override + public void onRejected() {} + }); + + // The summary of preference will not be saved when exiting the Settings page, so they should be + // restored when the preference is created. The fragment hasn't been created and it still not + // visible, so updateIconDetectionPreference() does not work here. + if (prompter.isIconDetectionModuleAvailable()) { + iconDetectionSwitchPreference.setSummary(R.string.summary_pref_icon_detection); + iconDetectionSwitchPreference.setChecked(true); + } else { + if (prompter.isIconDetectionModuleDownloading()) { + // The icon detection module is downloading. + iconDetectionSwitchPreference.setSummary(R.string.summary_pref_icon_detection_downloading); + iconDetectionSwitchPreference.setChecked(true); + } + } + + iconDetectionSwitchPreference.setOnPreferenceChangeListener( + (preference, newValue) -> { + if ((Boolean) newValue) { + // Shows the dialog to confirm the download the icon detection module. + prompter.showConfirmationDialog(); + } else { + // Shows the dialog to confirm the deletion of the icon detection module. + prompter.showUninstallDialog(); + } + return false; + }); + } + + private void updateIconDetectionPreference(@StringRes int summary, boolean checked) { + if (!isVisible()) { + // The fragment is stopped, the icon detection preference needn't be updated. + return; + } + + Preference preference = findPreferenceByResId(R.string.pref_icon_detection_key); + if (preference == null) { + return; + } + + preference.setSummary(summary); + ((SwitchPreference) preference).setChecked(checked); + } + + private void showToast(Context context, @StringRes int text) { + Toast.makeText(context, text, Toast.LENGTH_LONG).show(); + } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkbackBaseFragment.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkbackBaseFragment.java index 2a9b32f2f..6a48fbe49 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkbackBaseFragment.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TalkbackBaseFragment.java @@ -80,4 +80,12 @@ public void onDisplayPreferenceDialog(Preference preference) { super.onDisplayPreferenceDialog(preference); } } + + /** Turns a preference on or off, selecting the preference by key-resource-ID. */ + public void setEnabled(Context context, int preferenceKeyResId, boolean enable) { + Preference preference = findPreference(context.getString(preferenceKeyResId)); + if (preference != null) { + preference.setEnabled(enable); + } + } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TutorialAndHelpFragment.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TutorialAndHelpFragment.java new file mode 100644 index 000000000..b22975996 --- /dev/null +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/TutorialAndHelpFragment.java @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.android.accessibility.talkback.preference.base; + +import android.os.Bundle; +import androidx.preference.Preference; +import com.google.android.accessibility.talkback.HelpAndFeedbackUtils; +import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.training.TutorialInitiator; +import com.google.android.accessibility.talkback.utils.RemoteIntentUtils; + +/** Fragment to display tutorial and help page. */ +public class TutorialAndHelpFragment extends TalkbackBaseFragment { + + private static final String HELP_URL = + "https://support.google.com/accessibility/" + "android/answer/6283677"; + + public TutorialAndHelpFragment() { + super(R.xml.help_preferences); + } + + @Override + public CharSequence getTitle() { + return getText(R.string.title_pref_category_tutorial_and_help); + } + + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + super.onCreatePreferences(savedInstanceState, rootKey); + + assignTutorialIntent(); + assignPracticeGesturesIntent(); + assignFeedbackIntentToPreference(); + } + + private void assignTutorialIntent() { + final Preference prefTutorial = + findPreference(getString(R.string.pref_tutorial_entry_point_key)); + + if (prefTutorial == null) { + return; + } + + prefTutorial.setIntent(TutorialInitiator.createTutorialIntent(getActivity())); + } + + private void assignPracticeGesturesIntent() { + final Preference prefPracticeGestures = + findPreference(getString(R.string.pref_practice_gestures_entry_point_key)); + + if (prefPracticeGestures == null) { + return; + } + + prefPracticeGestures.setIntent(TutorialInitiator.createPracticeGesturesIntent(getActivity())); + } + + /** Provide the setting of Feedback Intent for the Help preference. */ + private void assignFeedbackIntentToPreference() { + final Preference pref = findPreference(getString(R.string.pref_help_and_feedback_key)); + + if (pref == null) { + return; + } + + // Only wear doesn't support help and feedback + if (HelpAndFeedbackUtils.supportsHelpAndFeedback(getContext())) { + pref.setTitle(R.string.title_pref_help_and_feedback); + pref.setOnPreferenceClickListener( + preference -> { + HelpAndFeedbackUtils.launchHelpAndFeedback(getActivity()); + return true; + }); + } else { + pref.setTitle(R.string.title_pref_help); + RemoteIntentUtils.assignWebIntentToPreference(this, pref, HELP_URL); + } + } +} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/VerbosityPrefFragment.java b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/VerbosityPrefFragment.java index 33a182e04..d2bcf8275 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/VerbosityPrefFragment.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/preference/base/VerbosityPrefFragment.java @@ -30,6 +30,7 @@ import com.google.android.accessibility.talkback.utils.VerbosityPreferences; import com.google.android.accessibility.utils.SharedPreferencesUtils; import com.google.android.libraries.accessibility.utils.log.LogUtils; +import com.google.common.collect.ImmutableMap; import java.util.ArrayList; import org.checkerframework.checker.nullness.qual.Nullable; @@ -40,15 +41,13 @@ public class VerbosityPrefFragment extends TalkbackBaseFragment { // Member data private SharedPreferences preferences; private String verbosityValue; // String identifier for selected verbosity. + private ImmutableMap switchPreferenceKeyValueMap; + private ImmutableMap listPreferenceKeyValueMap; public VerbosityPrefFragment() { super(R.xml.verbosity_preferences); } - public static String getFragmentName() { - return TAG; - } - @Override public CharSequence getTitle() { return getText(R.string.pref_verbosity_title); @@ -62,9 +61,52 @@ public void onAttach(Context context) { @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { super.onCreatePreferences(savedInstanceState, rootKey); + buildMap(); updatePreferences(); } + private void buildMap() { + switchPreferenceKeyValueMap = + ImmutableMap.builder() + .put( + getString(R.string.pref_screenoff_key), + getResources().getBoolean(R.bool.pref_screenoff_default)) + .put( + getString(R.string.pref_a11y_hints_key), + getResources().getBoolean(R.bool.pref_a11y_hints_default)) + .put( + getString(R.string.pref_intonation_key), + getResources().getBoolean(R.bool.pref_intonation_default)) + .put( + getString(R.string.pref_phonetic_letters_key), + getResources().getBoolean(R.bool.pref_phonetic_letters_default)) + .put( + getString(R.string.pref_speak_roles_key), + getResources().getBoolean(R.bool.pref_speak_container_element_positions_default)) + .put( + getString(R.string.pref_speak_container_element_positions_key), + getResources().getBoolean(R.bool.pref_a11y_hints_default)) + .put( + getString(R.string.pref_verbose_scroll_announcement_key), + getResources().getBoolean(R.bool.pref_verbose_scroll_announcement_default)) + .put( + getString(R.string.pref_punctuation_key), + getResources().getBoolean(R.bool.pref_punctuation_default)) + .buildOrThrow(); + + listPreferenceKeyValueMap = + ImmutableMap.builder() + .put( + getString(R.string.pref_keyboard_echo_on_screen_key), + R.string.pref_keyboard_echo_default) + .put( + getString(R.string.pref_keyboard_echo_physical_key), + R.string.pref_keyboard_echo_default) + .put( + getString(R.string.pref_capital_letters_key), R.string.pref_capital_letters_default) + .buildOrThrow(); + } + /** Collects all verbosity-controlled preferences. */ private ArrayList collectDetailedPreferences() { ArrayList detailedPrefs = new ArrayList<>(); @@ -120,7 +162,11 @@ private void copyVerbosityToUi(ArrayList detailedPrefs) { ListPreference prefList = (ListPreference) preference; String value = VerbosityPreferences.getPreferenceVerbosityString( - preferences, getResources(), verbosityValue, key, null); + preferences, + getResources(), + verbosityValue, + key, + getDefaultValueForListPreferences(key)); if (value != null) { prefList.setValue(value); } @@ -142,26 +188,22 @@ private void setPreferenceDetailsEnable(ArrayList detailedPrefs, boo } } - // Returns the default value for the given key. + // Returns the default value for the given SwitchPreference key. private boolean getDefaultValueForSwitchPreferences(String key) { - if (key.equals(getString(R.string.pref_screenoff_key))) { - return getResources().getBoolean(R.bool.pref_screenoff_default); - } else if (key.equals(getString(R.string.pref_a11y_hints_key))) { - return getResources().getBoolean(R.bool.pref_a11y_hints_default); - } else if (key.equals(getString(R.string.pref_intonation_key))) { - return getResources().getBoolean(R.bool.pref_intonation_default); - } else if (key.equals(getString(R.string.pref_phonetic_letters_key))) { - return getResources().getBoolean(R.bool.pref_phonetic_letters_default); - } else if (key.equals(getString(R.string.pref_speak_roles_key))) { - return getResources().getBoolean(R.bool.pref_speak_roles_default); - } else if (key.equals(getString(R.string.pref_speak_container_element_positions_key))) { - return getResources().getBoolean(R.bool.pref_speak_container_element_positions_default); - } else if (key.equals(getString(R.string.pref_verbose_scroll_announcement_key))) { - return getResources().getBoolean(R.bool.pref_verbose_scroll_announcement_default); - } else if (key.equals(getString(R.string.pref_punctuation_key))) { - return getResources().getBoolean(R.bool.pref_punctuation_default); + Boolean value = true; + if (key != null) { + value = switchPreferenceKeyValueMap.get(key); + } + return value == null || value; + } + + // Returns the default value for the given ListPreference key. + private String getDefaultValueForListPreferences(String key) { + Integer value = null; + if (key != null) { + value = listPreferenceKeyValueMap.get(key); } - return true; + return value == null ? null : getString(value); } @Override diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/selector/ActionsSetting.java b/talkback/src/main/java/com/google/android/accessibility/talkback/selector/ActionsSetting.java new file mode 100644 index 000000000..f22c66b59 --- /dev/null +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/selector/ActionsSetting.java @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2022 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.talkback.selector; + +import static android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_DRAG_CANCEL; +import static android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_DRAG_DROP; +import static android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_DRAG_START; +import static com.google.android.accessibility.talkback.selector.SelectorController.Setting.ACTIONS; + +import android.content.Context; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; +import com.google.android.accessibility.utils.FeatureSupport; +import com.google.android.accessibility.utils.Filter; + +/** + * Contextual setting for node with custom actions. + * + *

        Note: Custom actions are reported and handled by custom widgets. For example, an + * application may define a custom action for clearing the user history. + */ +public class ActionsSetting implements SelectorController.ContextualSetting { + + // TODO: Use RuleCustomAction to collect actions. + static final Filter HAS_ACTION_FOR_MENU = + new Filter.NodeCompat( + (node) -> { + for (AccessibilityNodeInfoCompat.AccessibilityActionCompat action : + node.getActionList()) { + if (shouldIncludeAction(action)) { + return true; + } + } + return false; + }); + + @Override + public SelectorController.Setting getSetting() { + return ACTIONS; + } + + @Override + public boolean shouldActivateSetting(Context context, AccessibilityNodeInfoCompat node) { + if (node == null) { + return false; + } + + return AccessibilityNodeInfoUtils.isOrHasMatchingAncestor(node, HAS_ACTION_FOR_MENU); + } + + /** Checks the action should be included in Actions menu or not. */ + static boolean shouldIncludeAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat action) { + int id = action.getId(); + // TODO: Replace with AndroidX constants + boolean actionIsDragAndDrop = + FeatureSupport.supportDragAndDrop() + && (id == ACTION_DRAG_START.getId() + || id == ACTION_DRAG_DROP.getId() + || id == ACTION_DRAG_CANCEL.getId()); + + return ((AccessibilityNodeInfoUtils.isCustomAction(action) && (action.getLabel() != null)) + || (id == AccessibilityNodeInfoCompat.ACTION_DISMISS) + || (id == AccessibilityNodeInfoCompat.ACTION_EXPAND) + || (id == AccessibilityNodeInfoCompat.ACTION_COLLAPSE) + || actionIsDragAndDrop); + } +} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/selector/SelectorController.java b/talkback/src/main/java/com/google/android/accessibility/talkback/selector/SelectorController.java index 316286942..af78dbc2d 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/selector/SelectorController.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/selector/SelectorController.java @@ -16,6 +16,10 @@ package com.google.android.accessibility.talkback.selector; +import static android.accessibilityservice.AccessibilityServiceInfo.FLAG_SERVICE_HANDLES_DOUBLE_TAP; +import static android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_DRAG_CANCEL; +import static android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_DRAG_DROP; +import static android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction.ACTION_DRAG_START; import static com.google.android.accessibility.talkback.Feedback.AdjustValue.Action.DECREASE_VALUE; import static com.google.android.accessibility.talkback.Feedback.AdjustValue.Action.INCREASE_VALUE; import static com.google.android.accessibility.talkback.Feedback.AdjustVolume.Action.DECREASE_VOLUME; @@ -23,10 +27,13 @@ import static com.google.android.accessibility.talkback.Feedback.AdjustVolume.StreamType.STREAM_TYPE_ACCESSIBILITY; import static com.google.android.accessibility.talkback.Feedback.DimScreen.Action.BRIGHTEN; import static com.google.android.accessibility.talkback.Feedback.DimScreen.Action.DIM; +import static com.google.android.accessibility.talkback.Feedback.Focus.Action.CLICK_NODE; import static com.google.android.accessibility.talkback.Feedback.FocusDirection.Action.NEXT_PAGE; import static com.google.android.accessibility.talkback.Feedback.FocusDirection.Action.PREVIOUS_PAGE; import static com.google.android.accessibility.talkback.Feedback.Language.Action.NEXT_LANGUAGE; import static com.google.android.accessibility.talkback.Feedback.Language.Action.PREVIOUS_LANGUAGE; +import static com.google.android.accessibility.talkback.Feedback.ServiceFlag.Action.DISABLE_FLAG; +import static com.google.android.accessibility.talkback.Feedback.ServiceFlag.Action.ENABLE_FLAG; import static com.google.android.accessibility.talkback.actor.TalkBackUIActor.Type.SELECTOR_ITEM_ACTION_OVERLAY; import static com.google.android.accessibility.talkback.actor.TalkBackUIActor.Type.SELECTOR_MENU_ITEM_OVERLAY_MULTI_FINGER; import static com.google.android.accessibility.talkback.actor.TalkBackUIActor.Type.SELECTOR_MENU_ITEM_OVERLAY_SINGLE_FINGER; @@ -64,7 +71,6 @@ import com.google.android.accessibility.talkback.preference.base.VerbosityPrefFragment; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.FeatureSupport; -import com.google.android.accessibility.utils.Filter; import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.Role; import com.google.android.accessibility.utils.SharedPreferencesUtils; @@ -92,21 +98,12 @@ public class SelectorController { private static final int GRANULARITY_FOR_ALL_NODE = 0; private static final int GRANULARITY_FOR_NATIVE_NODE = 1; private static final int GRANULARITY_FOR_WEB_NODE = 2; - private static final int NO_SETTING_INSERTED = -1; - - private static final Filter FILTER_HAS_MENU_ACTION = - new Filter.NodeCompat( - (node) -> { - for (AccessibilityActionCompat action : node.getActionList()) { - if (shouldIncludeAction(action)) { - return true; - } - } - return false; - }); + private static final int DEFAULT_SETTING_ACTION = AccessibilityNodeInfoCompat.ACTION_CLICK; /** The current action id selected for the actions setting. */ - private int currentActionId = NO_SETTING_INSERTED; + private int currentActionId = DEFAULT_SETTING_ACTION; + + private boolean hasRequestServiceHandlesDoubleTap = false; /** Selector settings. */ public enum Setting { @@ -346,10 +343,10 @@ public static List getFromSetting(Setting setting) { Setting.ADJUSTABLE_WIDGET); /** Lists all {@link Setting} that should be hidden for users. */ - private static final ImmutableList HIDDEN_SETTINGS = ImmutableList.of(Setting.ACTIONS); + private final ImmutableList hiddenSettings; private static final ImmutableList CONTEXTUAL_SETTINGS = - ImmutableList.of(new AdjustableWidgetSetting()); + ImmutableList.of(new AdjustableWidgetSetting(), new ActionsSetting()); private final OnSharedPreferenceChangeListener sharedPreferenceChangeListener = (prefs, key) -> { @@ -386,6 +383,11 @@ public SelectorController( this.gestureMapping = gestureMapping; this.hintsManager = hintsManager; + // Initialize hidden Setting List. + ImmutableList.Builder builder = ImmutableList.builder(); + builder.add(ACTIONS); + hiddenSettings = builder.build(); + prefs = SharedPreferencesUtils.getSharedPreferences(this.context); prefs.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); } @@ -505,6 +507,8 @@ private void setCurrentSetting( hint = getAdjustSelectedSettingGestures(); break; case ACTIONS: + // Reset currentActionId to the default action. + currentActionId = DEFAULT_SETTING_ACTION; actionDescription = context.getString(R.string.title_pref_selector_actions); hint = getAdjustSelectedSettingGestures(); break; @@ -546,6 +550,20 @@ private void setCurrentSetting( default: } + // Actions menu requests FLAG_SERVICE_HANDLES_DOUBLE_TAP to allow triggering the action by + // double-tap. + if (newSetting.equals(ACTIONS)) { + pipeline.returnFeedback( + eventId, Feedback.requestServiceFlag(ENABLE_FLAG, FLAG_SERVICE_HANDLES_DOUBLE_TAP)); + hasRequestServiceHandlesDoubleTap = true; + } else { + if (hasRequestServiceHandlesDoubleTap) { + pipeline.returnFeedback( + eventId, Feedback.requestServiceFlag(DISABLE_FLAG, FLAG_SERVICE_HANDLES_DOUBLE_TAP)); + hasRequestServiceHandlesDoubleTap = false; + } + } + if (hint != null) { analytics.onSelectorEvent(); } @@ -561,7 +579,7 @@ private void setCurrentSetting( } /** Gets the current setting from the preference. */ - private Setting getCurrentSetting() { + public Setting getCurrentSetting() { @Nullable Setting currentSetting = Setting.getSettingFromPrefValue( context, @@ -577,7 +595,7 @@ private Setting getCurrentSetting() { * the setting during the selection mode life time, system will change the setting back to its * original value when the selection mode stops. */ - public void editTextSelected(boolean isSelected) { + public void editTextOrSelectableTextSelected(boolean isSelected) { if (isSelected) { settingToRestore = getCurrentSetting(); setCurrentSetting( @@ -602,10 +620,13 @@ public void editTextSelected(boolean isSelected) { * is wrapped into AccessibilityNodeInfoCompat node. */ public void newItemFocused(AccessibilityNodeInfo nodeInfo) { + // Reset currentActionId to the default action. + currentActionId = DEFAULT_SETTING_ACTION; Setting currentSetting = getCurrentSetting(); if (nodeInfo != null) { Optional contextualMenu = - getMatchedContextualSetting(context, AccessibilityNodeInfoCompat.wrap(nodeInfo)); + getMatchedContextualSetting( + context, AccessibilityNodeInfoCompat.wrap(nodeInfo), hiddenSettings); // If a matched contextual setting is available, switch to that setting automatically. if (contextualMenu.isPresent()) { if (contextualMenu.get().getSetting() != currentSetting) { @@ -754,11 +775,16 @@ private boolean allowedSetting(Setting setting, @Nullable AccessibilityNodeInfoC return FeatureSupport.hasAccessibilityAudioStream(context); case ACTIONS: { - if (node == null) { - node = accessibilityFocusMonitor.getAccessibilityFocus(false); + Optional actions = findContextualSetting(ACTIONS); + if (actions.isEmpty()) { + return false; } - return hasActions(node); + if (node == null) { + node = + accessibilityFocusMonitor.getAccessibilityFocus(/* useInputFocusIfEmpty= */ false); + } + return actions.get().shouldActivateSetting(context, node); } case GRANULARITY_HEADINGS: case GRANULARITY_WORDS: @@ -802,7 +828,7 @@ ImmutableList getFilteredSettings() { accessibilityFocusMonitor.getAccessibilityFocus(false); for (Setting setting : SELECTOR_SETTINGS) { - if (HIDDEN_SETTINGS.contains(setting)) { + if (hiddenSettings.contains(setting)) { continue; } @@ -813,16 +839,6 @@ ImmutableList getFilteredSettings() { return filteredSettingsBuilder.build(); } - private boolean hasActions(@Nullable AccessibilityNodeInfoCompat node) { - if (node == null) { - return false; - } - - AccessibilityNodeInfoCompat actionNode = - AccessibilityNodeInfoUtils.getSelfOrMatchingAncestor(node, FILTER_HAS_MENU_ACTION); - return actionNode != null; - } - /** Announces the quick menu item or action, and the usage hint. */ private void announceSetting( EventId eventId, @Nullable String announcement, @Nullable String hint) { @@ -1049,22 +1065,6 @@ public void activateCurrentAction(EventId eventId) { eventId, Feedback.speech(context.getString(R.string.actions_setting_not_enabled))); return; } - if (currentActionId == NO_SETTING_INSERTED) { - // Hint needs to be before text in talkback structure. - pipeline.returnFeedback( - eventId, - Feedback.Part.builder() - .setSpeech( - Speech.builder() - .setAction(Speech.Action.SPEAK) - .setText(context.getString(R.string.no_action_selected)) - .setHintSpeakOptions( - SpeechController.SpeakOptions.create() - .setFlags(FeedbackItem.FLAG_NO_HISTORY)) - .setHint(context.getString(R.string.hint_select_action)) - .build())); - return; - } @Nullable AccessibilityNodeInfoCompat node = accessibilityFocusMonitor.getAccessibilityFocus(false); @@ -1103,8 +1103,15 @@ private boolean performActionOnNodeOrAncestor( return false; } + // Always perform click action on the node. + if (currentActionId == AccessibilityNodeInfoCompat.ACTION_CLICK) { + pipeline.returnFeedback(eventId, Feedback.focus(CLICK_NODE).setTarget(node)); + return true; + } + AccessibilityNodeInfoCompat actionNode = - AccessibilityNodeInfoUtils.getSelfOrMatchingAncestor(node, FILTER_HAS_MENU_ACTION); + AccessibilityNodeInfoUtils.getSelfOrMatchingAncestor( + node, ActionsSetting.HAS_ACTION_FOR_MENU); if (actionNode == null) { return false; } @@ -1358,7 +1365,16 @@ private void changeAction(EventId eventId, boolean isNext) { currentActionId = action.getId(); displayText = action.getLabel(); if (displayText == null) { - if (currentActionId == AccessibilityNodeInfoCompat.ACTION_DISMISS) { + if (FeatureSupport.supportDragAndDrop() && currentActionId == ACTION_DRAG_START.getId()) { + // TODO: Replace with AndroidX constants + displayText = context.getString(R.string.title_action_drag_start); + } else if (FeatureSupport.supportDragAndDrop() + && currentActionId == ACTION_DRAG_DROP.getId()) { + displayText = context.getString(R.string.title_action_drag_drop); + } else if (FeatureSupport.supportDragAndDrop() + && currentActionId == ACTION_DRAG_CANCEL.getId()) { + displayText = context.getString(R.string.title_action_drag_cancel); + } else if (currentActionId == AccessibilityNodeInfoCompat.ACTION_DISMISS) { displayText = context.getString(R.string.title_action_dismiss); } else if (currentActionId == AccessibilityNodeInfoCompat.ACTION_EXPAND) { displayText = context.getString(R.string.title_action_expand); @@ -1369,7 +1385,7 @@ private void changeAction(EventId eventId, boolean isNext) { displayText = context.getString(R.string.value_unlabelled); } } - announceSetting(eventId, displayText.toString(), getSelectSettingGestures()); + announceSetting(eventId, displayText.toString(), context.getString(R.string.use_action_hint)); showQuickMenuActionOverlay(eventId, displayText); } } @@ -1390,15 +1406,22 @@ private int populateActionItemsForNode( return -1; } - AccessibilityNodeInfoCompat actionNode = null; - actionNode = AccessibilityNodeInfoUtils.getSelfOrMatchingAncestor(node, FILTER_HAS_MENU_ACTION); + AccessibilityNodeInfoCompat actionNode = + AccessibilityNodeInfoUtils.getSelfOrMatchingAncestor( + node, ActionsSetting.HAS_ACTION_FOR_MENU); if (actionNode == null) { return -1; } - int currentActionIndex = -1; + // Add default action ACTION_CLICK to the menu. + actions.add( + new AccessibilityActionCompat( + AccessibilityNodeInfoCompat.ACTION_CLICK, + context.getString(R.string.shortcut_perform_click_action))); + + int currentActionIndex = 0; // Point to the default action "Click". for (AccessibilityActionCompat action : actionNode.getActionList()) { - if (shouldIncludeAction(action)) { + if (ActionsSetting.shouldIncludeAction(action)) { if (action.getId() == currentActionId) { currentActionIndex = actions.size(); } @@ -1408,14 +1431,6 @@ private int populateActionItemsForNode( return currentActionIndex; } - private static boolean shouldIncludeAction(AccessibilityActionCompat action) { - int id = action.getId(); - return ((AccessibilityNodeInfoUtils.isCustomAction(action) && (action.getLabel() != null)) - || (id == AccessibilityNodeInfoCompat.ACTION_DISMISS) - || (id == AccessibilityNodeInfoCompat.ACTION_EXPAND) - || (id == AccessibilityNodeInfoCompat.ACTION_COLLAPSE)); - } - private static boolean isContextualSetting(Setting setting) { return CONTEXTUAL_SETTINGS.stream().anyMatch((s) -> s.getSetting() == setting); } @@ -1425,9 +1440,11 @@ private static Optional findContextualSetting(Setting setting } private static Optional getMatchedContextualSetting( - Context context, AccessibilityNodeInfoCompat node) { + Context context, AccessibilityNodeInfoCompat node, List hiddenSettings) { return CONTEXTUAL_SETTINGS.stream() - .filter((s) -> s.shouldActivateSetting(context, node)) + .filter( + (s) -> + !hiddenSettings.contains(s.getSetting()) && s.shouldActivateSetting(context, node)) .findFirst(); } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/speech/SpeakPasswordsManager.java b/talkback/src/main/java/com/google/android/accessibility/talkback/speech/SpeakPasswordsManager.java index fe9276f81..93551ba24 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/speech/SpeakPasswordsManager.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/speech/SpeakPasswordsManager.java @@ -19,8 +19,8 @@ import android.content.Context; import android.content.SharedPreferences; import androidx.annotation.VisibleForTesting; -import com.google.android.accessibility.compositor.GlobalVariables; import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.talkback.compositor.GlobalVariables; import com.google.android.accessibility.utils.SharedPreferencesUtils; import com.google.android.accessibility.utils.monitor.HeadphoneStateMonitor; import com.google.android.accessibility.utils.monitor.HeadphoneStateMonitor.Listener; diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/training/OnboardingInitiator.java b/talkback/src/main/java/com/google/android/accessibility/talkback/training/OnboardingInitiator.java index 87b9d70c9..384c6dfc3 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/training/OnboardingInitiator.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/training/OnboardingInitiator.java @@ -18,14 +18,14 @@ import static com.google.android.accessibility.talkback.training.NavigationButtonBar.BUTTON_TYPE_EXIT; import static com.google.android.accessibility.talkback.training.NavigationButtonBar.DEFAULT_BUTTONS; -import static com.google.android.accessibility.talkback.training.PageConfig.PageId.PAGE_ID_TEXT_IN_IMAGES; -import static com.google.android.accessibility.talkback.training.PageConfig.PageId.PAGE_ID_UPDATE_WELCOME_12_2; -import static com.google.android.accessibility.talkback.training.PageConfig.PageId.PAGE_ID_VOLUME_CONTROL_CHANGES; -import static com.google.android.accessibility.talkback.training.PageConfig.PageId.PAGE_ID_WINDOW_NAVIGATION; -import static com.google.android.accessibility.talkback.training.PageConfig.PageId.PAGE_ID_WINDOW_NAVIGATION_PRE_R; +import static com.google.android.accessibility.talkback.training.PageConfig.PageId.PAGE_ID_ACTIONS_IN_READING_CONTROLS; +import static com.google.android.accessibility.talkback.training.PageConfig.PageId.PAGE_ID_SUPPORT_FOR_BRAILLE_DISPLAYS; +import static com.google.android.accessibility.talkback.training.PageConfig.PageId.PAGE_ID_TRY_LOOKOUT_AND_TALKBACK; +import static com.google.android.accessibility.talkback.training.PageConfig.PageId.PAGE_ID_UPDATE_WELCOME_13_0; +import static com.google.android.accessibility.talkback.training.PageConfig.PageId.PAGE_ID_UPDATE_WELCOME_13_0_PRE_R; import static com.google.android.accessibility.talkback.training.TrainingConfig.TrainingId.TRAINING_ID_ON_BOARDING_FOR_MULTIFINGER_GESTURES; -import static com.google.android.accessibility.talkback.training.TrainingConfig.TrainingId.TRAINING_ID_ON_BOARDING_TALKBACK_12_2; -import static com.google.android.accessibility.talkback.training.TrainingConfig.TrainingId.TRAINING_ID_ON_BOARDING_TALKBACK_12_2_PRE_R; +import static com.google.android.accessibility.talkback.training.TrainingConfig.TrainingId.TRAINING_ID_ON_BOARDING_TALKBACK_13_0; +import static com.google.android.accessibility.talkback.training.TrainingConfig.TrainingId.TRAINING_ID_ON_BOARDING_TALKBACK_13_0_PRE_R; import android.accessibilityservice.AccessibilityService; import android.app.NotificationManager; @@ -47,12 +47,16 @@ public class OnboardingInitiator { static final int NEW_GESTURE_NOTIFICATION_ID = 1; + private static final String LOOKOUT_PLAYSTORE_URL = + "https://play.google.com/store/apps/details?id=com.google.android.apps.accessibility.reveal"; @StringRes - private static final int newFeatureShownKey = R.string.pref_update_welcome_12_2_shown_key; + private static final int newFeatureShownKey = R.string.pref_update_welcome_13_0_shown_key; /** A list of legacy preferences for old onboardings. */ - private static final int[] legacyKey = {R.string.pref_update_talkback91_shown_key}; + private static final int[] legacyKey = { + R.string.pref_update_talkback91_shown_key, R.string.pref_update_welcome_12_2_shown_key + }; /** Sets onboarding preferences to true to ignore onboarding. */ public static void ignoreOnboarding(Context context) { @@ -114,13 +118,13 @@ public static void showOnboardingIfNecessary(Context context) { } else { if (FeatureSupport.isMultiFingerGestureSupported()) { context.startActivity( - TrainingActivity.createTrainingIntent(context, TRAINING_ID_ON_BOARDING_TALKBACK_12_2)); + TrainingActivity.createTrainingIntent(context, TRAINING_ID_ON_BOARDING_TALKBACK_13_0)); // Device is Android R, so it's unnecessary to show an onboarding for R. sharedPreferences.edit().putBoolean(updateMultiFingerGesturesShownKey, true).apply(); } else { context.startActivity( TrainingActivity.createTrainingIntent( - context, TRAINING_ID_ON_BOARDING_TALKBACK_12_2_PRE_R)); + context, TRAINING_ID_ON_BOARDING_TALKBACK_13_0_PRE_R)); } updateNewFeaturePreference(sharedPreferences, context); } @@ -131,8 +135,8 @@ public static Intent createOnboardingIntent(Context context) { return TrainingActivity.createTrainingIntent( context, FeatureSupport.isMultiFingerGestureSupported() - ? TRAINING_ID_ON_BOARDING_TALKBACK_12_2 - : TRAINING_ID_ON_BOARDING_TALKBACK_12_2_PRE_R); + ? TRAINING_ID_ON_BOARDING_TALKBACK_13_0 + : TRAINING_ID_ON_BOARDING_TALKBACK_13_0_PRE_R); } /** Sets the preference of showing new feature pages and removes legacy of preferences. */ @@ -194,39 +198,46 @@ private static void removeLegacyPref(SharedPreferences prefs, Context context) { .captureGesture( AccessibilityService.GESTURE_2_FINGER_DOUBLE_TAP_AND_HOLD, R.string.new_shortcut_gesture_selection_mode_on_announcement); - static final PageConfig.Builder UPDATE_WELCOME_12_2 = - PageConfig.builder(PAGE_ID_UPDATE_WELCOME_12_2, R.string.welcome_to_updated_talkback_title) - .addText(R.string.update_welcome_12_2); - static final PageConfig.Builder VOLUME_CONTROL_CHANGES = - PageConfig.builder(PAGE_ID_VOLUME_CONTROL_CHANGES, R.string.volume_control_changes_title) - .addText(R.string.volume_control_changes_text); - static final PageConfig.Builder TEXT_IN_IMAGES = - PageConfig.builder(PAGE_ID_TEXT_IN_IMAGES, R.string.text_in_images_title) - .addText(R.string.text_in_images_text); - static final PageConfig.Builder WINDOW_NAVIGATION = - PageConfig.builder(PAGE_ID_WINDOW_NAVIGATION, R.string.window_navigation_title) - .addText(R.string.window_navigation_text); - static final PageConfig.Builder WINDOW_NAVIGATION_PRE_R = - PageConfig.builder(PAGE_ID_WINDOW_NAVIGATION_PRE_R, R.string.window_navigation_title) - .addText(R.string.window_navigation_text_pre_r); + static final PageConfig.Builder UPDATE_WELCOME_13_0 = + PageConfig.builder(PAGE_ID_UPDATE_WELCOME_13_0, R.string.welcome_to_updated_talkback_title) + .addText(R.string.update_welcome_13_0_text); + static final PageConfig.Builder UPDATE_WELCOME_13_0_PRE_R = + PageConfig.builder( + PAGE_ID_UPDATE_WELCOME_13_0_PRE_R, R.string.welcome_to_updated_talkback_title) + .addText(R.string.update_welcome_13_0_text_pre_r); + static final PageConfig.Builder SUPPORT_FOR_BRAILLE_DISPLAYS = + PageConfig.builder( + PAGE_ID_SUPPORT_FOR_BRAILLE_DISPLAYS, R.string.support_for_braille_displays_title) + .addText(R.string.support_for_braille_displays_text); + static final PageConfig.Builder ACTIONS_IN_READING_CONTROLS = + PageConfig.builder( + PAGE_ID_ACTIONS_IN_READING_CONTROLS, R.string.actions_in_reading_controls_title) + .addText(R.string.actions_in_reading_controls_text); + static final PageConfig.Builder TRY_LOOKOUT_AND_TALKBACK = + PageConfig.builder(PAGE_ID_TRY_LOOKOUT_AND_TALKBACK, R.string.try_lookout_and_talkback_title) + .addText(R.string.try_lookout_and_talkback_text) + .addTextWithLink(R.string.try_lookout_and_talkback_playstore_text, LOOKOUT_PLAYSTORE_URL); //////////////////////////////////////////////////////////////////////////////////////////////// // Training - static final TrainingConfig ON_BOARDING_TALKBACK_12_2 = + static final TrainingConfig ON_BOARDING_TALKBACK_13_0 = TrainingConfig.builder(R.string.new_feature_in_talkback_title) .setPages( ImmutableList.of( - UPDATE_WELCOME_12_2, VOLUME_CONTROL_CHANGES, TEXT_IN_IMAGES, WINDOW_NAVIGATION)) + UPDATE_WELCOME_13_0, + SUPPORT_FOR_BRAILLE_DISPLAYS, + // TODO: Describe icons page. + TRY_LOOKOUT_AND_TALKBACK)) .setButtons(DEFAULT_BUTTONS) .build(); - static final TrainingConfig ON_BOARDING_TALKBACK_12_2_PRE_R = + static final TrainingConfig ON_BOARDING_TALKBACK_13_0_PRE_R = TrainingConfig.builder(R.string.new_feature_in_talkback_title) .setPages( ImmutableList.of( - UPDATE_WELCOME_12_2, - VOLUME_CONTROL_CHANGES, - WINDOW_NAVIGATION_PRE_R)) + UPDATE_WELCOME_13_0_PRE_R, + SUPPORT_FOR_BRAILLE_DISPLAYS, + TRY_LOOKOUT_AND_TALKBACK)) .setButtons(DEFAULT_BUTTONS) .build(); static final TrainingConfig ON_BOARDING_FOR_MULTIFINGER_GESTURES = diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/training/PageConfig.java b/talkback/src/main/java/com/google/android/accessibility/talkback/training/PageConfig.java index 4375fe794..5f1ab20a5 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/training/PageConfig.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/training/PageConfig.java @@ -79,7 +79,7 @@ public enum PageContentPredicate { (data) -> isAccessibilityShortcutOrButtonEnabled(data.getContext()) && !isAccessibilityFloatingButtonEnabled(data.getContext())), - SUPPORT_SYSTEM_ACTIONS((data) -> FeatureSupport.supportSystemActions(data.getContext())); + SUPPORT_SYSTEM_ACTIONS((data) -> FeatureSupport.supportGetSystemActions(data.getContext())); private final Predicate predicate; @@ -132,11 +132,11 @@ public enum PageId { PAGE_ID_VOICE_COMMAND_TEXT_EDITING, PAGE_ID_VOICE_COMMAND_DEVICE_NAVIGATION, PAGE_ID_VOICE_COMMAND_OTHER_COMMANDS, - PAGE_ID_UPDATE_WELCOME_12_2, - PAGE_ID_VOLUME_CONTROL_CHANGES, - PAGE_ID_TEXT_IN_IMAGES, - PAGE_ID_WINDOW_NAVIGATION, - PAGE_ID_WINDOW_NAVIGATION_PRE_R, + PAGE_ID_UPDATE_WELCOME_13_0, + PAGE_ID_UPDATE_WELCOME_13_0_PRE_R, + PAGE_ID_SUPPORT_FOR_BRAILLE_DISPLAYS, + PAGE_ID_ACTIONS_IN_READING_CONTROLS, + PAGE_ID_TRY_LOOKOUT_AND_TALKBACK, } /** @@ -298,16 +298,16 @@ public static PageConfig getPage(PageId pageId) { return VoiceCommandHelpInitiator.voiceCommandDeviceNavigation.build(); case PAGE_ID_VOICE_COMMAND_OTHER_COMMANDS: return VoiceCommandHelpInitiator.voiceCommandOtherCommands.build(); - case PAGE_ID_UPDATE_WELCOME_12_2: - return OnboardingInitiator.UPDATE_WELCOME_12_2.build(); - case PAGE_ID_VOLUME_CONTROL_CHANGES: - return OnboardingInitiator.VOLUME_CONTROL_CHANGES.build(); - case PAGE_ID_TEXT_IN_IMAGES: - return OnboardingInitiator.TEXT_IN_IMAGES.build(); - case PAGE_ID_WINDOW_NAVIGATION: - return OnboardingInitiator.WINDOW_NAVIGATION.build(); - case PAGE_ID_WINDOW_NAVIGATION_PRE_R: - return OnboardingInitiator.WINDOW_NAVIGATION_PRE_R.build(); + case PAGE_ID_UPDATE_WELCOME_13_0: + return OnboardingInitiator.UPDATE_WELCOME_13_0.build(); + case PAGE_ID_UPDATE_WELCOME_13_0_PRE_R: + return OnboardingInitiator.UPDATE_WELCOME_13_0_PRE_R.build(); + case PAGE_ID_SUPPORT_FOR_BRAILLE_DISPLAYS: + return OnboardingInitiator.SUPPORT_FOR_BRAILLE_DISPLAYS.build(); + case PAGE_ID_ACTIONS_IN_READING_CONTROLS: + return OnboardingInitiator.ACTIONS_IN_READING_CONTROLS.build(); + case PAGE_ID_TRY_LOOKOUT_AND_TALKBACK: + return OnboardingInitiator.TRY_LOOKOUT_AND_TALKBACK.build(); case PAGE_ID_UNKNOWN: case PAGE_ID_FINISHED: default: @@ -541,6 +541,13 @@ public Builder addTextWithLink(@StringRes int textResId) { return this; } + /** Adds a text with an {@link URLSpan}. */ + public Builder addTextWithLink(@StringRes int textResId, String urlLink) { + this.contents.add( + new Text(Paragraph.builder(textResId).setLink(true).setUrlLink(urlLink).build())); + return this; + } + /** Adds a divider to the page. */ public Builder addDivider() { this.contents.add(new Divider()); diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/training/TrainingActivity.java b/talkback/src/main/java/com/google/android/accessibility/talkback/training/TrainingActivity.java index 68f1c38fb..a84ebf98a 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/training/TrainingActivity.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/training/TrainingActivity.java @@ -43,9 +43,10 @@ import com.google.android.accessibility.talkback.training.PageConfig.PageId; import com.google.android.accessibility.talkback.training.PageController.OnPageChangeCallback; import com.google.android.accessibility.talkback.training.TrainingConfig.TrainingId; +import com.google.android.accessibility.utils.A11yAlertDialogWrapper; import com.google.android.accessibility.utils.AccessibilityServiceCompatUtils; import com.google.android.accessibility.utils.BuildVersionUtils; -import com.google.android.accessibility.utils.AlertDialogUtils; +import com.google.android.accessibility.utils.FeatureSupport; import com.google.android.libraries.accessibility.utils.log.LogUtils; /** @@ -159,7 +160,7 @@ protected void onStart() { // service itself through a global method. 2. When the TrainingActivity is running on a // separate process,it's not applicable to access TalkBack's identifiers which is running on // another process. - AlertDialogUtils.builder(this) + A11yAlertDialogWrapper.alertDialogBuilder(this) .setTitle(R.string.talkback_inactive_title) .setMessage(R.string.talkback_inactive_message) .setCancelable(true) @@ -196,6 +197,10 @@ public static Intent createTrainingIntent(Context context, TrainingId training) Intent intent = new Intent(context, TrainingActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + if (FeatureSupport.isWatch(context)) { + // Wear platform prefers to not push AAS to the recent. + intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); + } // Passes a TrainingId which is an enum instead of a TrainingConfig to avoid the serialization // problem. intent.putExtra(TrainingActivity.EXTRA_TRAINING, training); @@ -334,7 +339,7 @@ private void setWindowTitle(String pageTitle) { } private void showExitDialog() { - AlertDialogUtils.builder(this) + A11yAlertDialogWrapper.alertDialogBuilder(this) .setTitle(R.string.exit_tutorial_title) .setMessage(R.string.exit_tutorial_content) .setCancelable(true) diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/training/TrainingConfig.java b/talkback/src/main/java/com/google/android/accessibility/talkback/training/TrainingConfig.java index 65c6b5c2d..1d6632991 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/training/TrainingConfig.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/training/TrainingConfig.java @@ -48,8 +48,8 @@ public abstract class TrainingConfig { /** Unique identifiers for training. */ public enum TrainingId { - TRAINING_ID_ON_BOARDING_TALKBACK_12_2, - TRAINING_ID_ON_BOARDING_TALKBACK_12_2_PRE_R, + TRAINING_ID_ON_BOARDING_TALKBACK_13_0, + TRAINING_ID_ON_BOARDING_TALKBACK_13_0_PRE_R, TRAINING_ID_ON_BOARDING_FOR_MULTIFINGER_GESTURES, TRAINING_ID_TUTORIAL_FOR_WATCH, TRAINING_ID_FIRST_RUN_TUTORIAL_FOR_GESTURE_NAVIGATION_USER, @@ -68,10 +68,10 @@ public enum TrainingId { public static @Nullable TrainingConfig getTraining(TrainingId trainingId) { switch (trainingId) { - case TRAINING_ID_ON_BOARDING_TALKBACK_12_2: - return OnboardingInitiator.ON_BOARDING_TALKBACK_12_2; - case TRAINING_ID_ON_BOARDING_TALKBACK_12_2_PRE_R: - return OnboardingInitiator.ON_BOARDING_TALKBACK_12_2_PRE_R; + case TRAINING_ID_ON_BOARDING_TALKBACK_13_0: + return OnboardingInitiator.ON_BOARDING_TALKBACK_13_0; + case TRAINING_ID_ON_BOARDING_TALKBACK_13_0_PRE_R: + return OnboardingInitiator.ON_BOARDING_TALKBACK_13_0_PRE_R; case TRAINING_ID_ON_BOARDING_FOR_MULTIFINGER_GESTURES: return OnboardingInitiator.ON_BOARDING_FOR_MULTIFINGER_GESTURES; case TRAINING_ID_TUTORIAL_FOR_WATCH: diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/training/content/Text.java b/talkback/src/main/java/com/google/android/accessibility/talkback/training/content/Text.java index d8a3de4b2..20061898a 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/training/content/Text.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/training/content/Text.java @@ -19,6 +19,8 @@ import static android.widget.Toast.LENGTH_LONG; import android.content.Context; +import android.content.Intent; +import android.net.Uri; import android.text.SpannableString; import android.text.SpannableStringBuilder; import android.text.Spanned; @@ -96,11 +98,11 @@ private SpannableString getText(Context context, Paragraph paragraph, ServiceDat SpannableString spannableString = new SpannableString(text); if (paragraph.link()) { - setURLSpan(context, spannableString, text); + setURLSpan(context, spannableString, text, paragraph.urlLink()); } if (paragraph.bulletPoint()) { - setBulletSpan(context, spannableString, text); + setBulletSpan(context, spannableString); } return spannableString; @@ -123,19 +125,32 @@ private String getTextWithRealGesture(Context context, Paragraph paragraph, Serv : context.getString(paragraph.textWithActualGestureResId(), Ascii.toLowerCase(gesture)); } - /** Adds a @link ToastURLSpan}. */ - private static SpannableString setURLSpan( - Context context, SpannableString spannableString, String text) { + /** + * Sets SpannableString with a {@link TextURLSpan} and shows a new activity by link when clicks. + * If urlResId is INVALID_URL_RESID, it shows a toast when clicks. + * + * @param context The current context + * @param spannableString The SpannableString which is set up with URLSpan + * @param urlText The text of URL + * @param urlLink The link of URL + */ + private static void setURLSpan( + Context context, SpannableString spannableString, String urlText, String urlLink) { + spannableString.setSpan( - new ToastURLSpan(context, context.getString(R.string.activated_view, text)), - 0, - text.length(), + new TextURLSpan(context, urlText, urlLink), + /* start= */ 0, + urlText.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE); - return spannableString; } - private static SpannableString setBulletSpan( - Context context, SpannableString spannableString, String text) { + /** + * Sets SpannableString with a {@link BulletSpan}. + * + * @param context The current context + * @param spannableString The SpannableString which is set up with URLSpan + */ + private static void setBulletSpan(Context context, SpannableString spannableString) { if (FeatureSupport.customBulletRadius()) { spannableString.setSpan( new BulletSpan(GAP_WIDTH, context.getColor(R.color.training_text_color), BULLET_RADIUS), @@ -149,31 +164,38 @@ private static SpannableString setBulletSpan( 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } - return spannableString; } - /** Shows a Toast when the span is clicked. */ - public static class ToastURLSpan extends URLSpan { + /** A URL span to use for a link of a text. If there is no url link, it will show a toast. */ + private static class TextURLSpan extends URLSpan { private final Context context; - private final String text; + private final String urlText; - public ToastURLSpan(Context context, String text) { - super(""); + TextURLSpan(Context context, String urlText, String urlLink) { + super(urlLink); this.context = context; - this.text = text; + this.urlText = urlText; } @Override public void onClick(View view) { - super.onClick(view); - Toast.makeText(context, text, LENGTH_LONG).show(); + String urlLink = super.getURL(); + if (TextUtils.isEmpty(urlLink)) { + super.onClick(view); + Toast.makeText(context, context.getString(R.string.activated_view, urlText), LENGTH_LONG) + .show(); + } else { + context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(urlLink))); + } } } /** The information of a paragraph in TextView, including style and data. */ @AutoValue public abstract static class Paragraph { + private static final String INVALID_URL_LINK = ""; + @StringRes public abstract int textResId(); @@ -191,9 +213,11 @@ public abstract static class Paragraph { /** Return true, if the text is a subtext whose size is smaller than others. */ public abstract boolean subText(); - /** Return true, if the text needs a {@link ToastURLSpan}. */ + /** Return true, if the text needs a {@link TextURLSpan}. */ public abstract boolean link(); + public abstract String urlLink(); + public static Builder builder(@StringRes int textResId) { return new AutoValue_Text_Paragraph.Builder() .setTextResId(textResId) @@ -202,7 +226,8 @@ public static Builder builder(@StringRes int textResId) { .setActionKey(UNKNOWN_RESOURCE_ID) .setBulletPoint(false) .setSubText(false) - .setLink(false); + .setLink(false) + .setUrlLink(INVALID_URL_LINK); } /** Builder for a paragraph in TextView. */ @@ -224,6 +249,8 @@ public abstract Builder setTextWithActualGestureResId( public abstract Builder setLink(boolean isLink); + public abstract Builder setUrlLink(String urlLink); + abstract Paragraph autoBuild(); public Paragraph build() { diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/training/content/TextList.java b/talkback/src/main/java/com/google/android/accessibility/talkback/training/content/TextList.java index dfe85775e..0712b67c6 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/training/content/TextList.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/training/content/TextList.java @@ -20,13 +20,12 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.view.ViewGroup.LayoutParams; import android.widget.BaseAdapter; -import android.widget.ListView; import android.widget.TextView; import androidx.annotation.ArrayRes; import com.google.android.accessibility.talkback.R; import com.google.android.accessibility.talkback.training.TrainingIpcClient.ServiceData; +import com.google.android.accessibility.utils.widget.NonScrollableListView; /** A list view. */ public class TextList extends PageContentConfig { @@ -42,7 +41,7 @@ public TextList(@ArrayRes int textsResId) { public View createView( LayoutInflater inflater, ViewGroup container, Context context, ServiceData data) { final View view = inflater.inflate(R.layout.training_text_list, container, false); - final ListView listView = view.findViewById(R.id.training_text_list); + final NonScrollableListView listView = view.findViewById(R.id.training_text_list); final String[] texts = context.getResources().getStringArray(textsResId); listView.setAdapter( new BaseAdapter() { @@ -74,23 +73,6 @@ public View getView(int position, View convertView, ViewGroup parent) { return convertView; } }); - LayoutParams layoutParams = listView.getLayoutParams(); - if (texts.length > 0) { - layoutParams.height = - texts.length - * (int) - (context.getResources().getDimension(R.dimen.training_list_item_height) - + context - .getResources() - .getDimension(R.dimen.training_list_item_margin_top) - + context - .getResources() - .getDimension(R.dimen.training_list_item_margin_bottom)) - + (texts.length - 1) * listView.getDividerHeight(); - } else { - layoutParams.height = 0; - } - listView.setLayoutParams(layoutParams); return view; } } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/utils/DiagnosticOverlayControllerImpl.java b/talkback/src/main/java/com/google/android/accessibility/talkback/utils/DiagnosticOverlayControllerImpl.java index c33778ac2..9b0394ab6 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/utils/DiagnosticOverlayControllerImpl.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/utils/DiagnosticOverlayControllerImpl.java @@ -1,29 +1,19 @@ package com.google.android.accessibility.talkback.utils; -import android.accessibilityservice.AccessibilityService; +import android.annotation.SuppressLint; import android.content.Context; -import android.graphics.Color; -import android.text.SpannableString; -import android.text.SpannableStringBuilder; -import android.text.Spanned; -import android.text.style.ForegroundColorSpan; import android.view.accessibility.AccessibilityEvent; import androidx.annotation.VisibleForTesting; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.accessibility.talkback.Feedback; -import com.google.android.accessibility.talkback.Feedback.Part; -import com.google.android.accessibility.talkback.focusmanagement.record.FocusActionInfo; -import com.google.android.accessibility.utils.AccessibilityServiceCompatUtils; +import com.google.android.accessibility.utils.AccessibilityEventUtils; +import com.google.android.accessibility.utils.AccessibilityNode; import com.google.android.accessibility.utils.DiagnosticOverlayController; import com.google.android.accessibility.utils.DiagnosticOverlayUtils; import com.google.android.accessibility.utils.DiagnosticOverlayUtils.DiagnosticType; -import com.google.android.accessibility.utils.StringBuilderUtils; -import com.google.android.libraries.accessibility.utils.log.LogUtils; -import com.google.errorprone.annotations.FormatMethod; -import com.google.errorprone.annotations.FormatString; import java.util.ArrayList; import java.util.HashMap; -import java.util.List; +import java.util.HashSet; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; @@ -31,33 +21,22 @@ /** Implementation for log overlay tool */ public class DiagnosticOverlayControllerImpl implements DiagnosticOverlayController { - private static final String TAG = "DiagnosticOverlayControllerImpl"; - - private static final String RED_CODE = "RED - Node(s) failed all focusability tests\n"; - private static final String MAGENTA_CODE = "MAGENTA - Node(s) has/have nothing to speak\n"; - private static final String YELLOW_CODE = "YELLOW - Node(s) not visible\n"; - private static final String ORANGE_CODE = - "ORANGE - Node(s) has/have same bounds as window and " - + "node(s) has/have children and is neither actionable nor focusable\n"; - private static final String GREEN_CODE = "GREEN - Node is clickable\n"; - private static final String BLUE_CODE = "BLUE - Node is not clickable"; - - private static int ORANGE = 0xFFFFA500; - - /** Types of Log Entries */ - private enum Type { - TEXT, - TAG - } + private static final String TAG = "DiagnosticOverlayController"; private boolean enabled; private @NonNull Context context; private @Nullable DiagnosticOverlay diagnosticOverlay; private @Nullable HighlightOverlay highlightOverlay; - private static HashMap traversedIdToNode = null; + @NonNull + private static HashMap traversedIdToNode = new HashMap<>(); + + @NonNull + private static HashMap> unfocusedIdToNode = + new HashMap<>(); + + @NonNull private static HashSet refocusNodePath = new HashSet<>(); - private static HashMap> unfocusedIdToNode = null; private static AccessibilityNodeInfoCompat focusedNode = null; private static boolean collectNodes; @@ -75,40 +54,17 @@ public DiagnosticOverlayControllerImpl(Context context) { this.highlightOverlay = highlightOverlay; } - /** - * Receives and appends log to log controller. - * - * @param format The format of incoming log - * @param args The log and other debugging objects - */ - @FormatMethod - public void appendLog(@FormatString String format, Object... args) {} - /** Receives and appends the category of {@link DiagnosticType} and related unfocusable nodes */ - public void appendLog(@DiagnosticType Integer diagnosticInfo, Object... args) { - if (!this.enabled) { + public void appendLog(@DiagnosticType Integer diagnosticInfo, AccessibilityNodeInfoCompat node) { + if (!this.enabled || !collectNodes || (node == null)) { return; } - if (collectNodes) { - if (args == null || args.length < 1) { - return; - } - AccessibilityNodeInfoCompat node = null; - if (args[0] instanceof AccessibilityNodeInfoCompat) { - node = AccessibilityNodeInfoCompat.obtain((AccessibilityNodeInfoCompat) args[0]); - } else { - LogUtils.e(TAG, "Controller does support type."); - return; - } /** * If node is appended from {@link TraversalStrategyUtils#searchFocus} then simply add to a * hashmap */ if (diagnosticInfo == DiagnosticOverlayUtils.SEARCH_FOCUS_FAIL) { - if (traversedIdToNode == null) { - traversedIdToNode = new HashMap<>(); - } traversedIdToNode.put(node.hashCode(), node); return; } @@ -118,12 +74,9 @@ public void appendLog(@DiagnosticType Integer diagnosticInfo, Object... args) { * see if node is also in {@code traversedNodes}. If so, add the node to collection to be * highlighted. If not, ignore the node since it wasn't a node affected by gesture swipe. */ - if (traversedIdToNode != null && traversedIdToNode.get(node.hashCode()) == null) { + if (traversedIdToNode.get(node.hashCode()) == null) { return; } - if (unfocusedIdToNode == null) { - unfocusedIdToNode = new HashMap<>(); - } if (unfocusedIdToNode.get(diagnosticInfo) == null) { ArrayList currentNodes = new ArrayList<>(); currentNodes.add(node); @@ -131,14 +84,24 @@ public void appendLog(@DiagnosticType Integer diagnosticInfo, Object... args) { } else { unfocusedIdToNode.get(diagnosticInfo).add(node); } + } + + public void appendLog(@DiagnosticType Integer diagnosticInfo, AccessibilityNode node) { + if (!this.enabled || (node == null)) { + return; + } + + if (diagnosticInfo == DiagnosticOverlayUtils.REFOCUS_PATH) { + refocusNodePath.add(node); } } - /** - * Receives and appends Feedback object to log controller. Feedback objects are filtered for swipe - * gestures. - */ - public void appendLog(Feedback feedback) { + /** Highlights focused View after a focus-action. */ + public void displayFeedback(Feedback feedback) { + if (!enabled || highlightOverlay == null || diagnosticOverlay == null) { + return; + } + Feedback.@Nullable Part failover = (feedback.failovers() == null || feedback.failovers().size() < 1 ? null @@ -154,10 +117,7 @@ public void appendLog(Feedback feedback) { return; } /** Check to make sure eventID isn't null before checking for gestures */ - if (!this.enabled - || feedback.eventId() == null - || highlightOverlay == null - || diagnosticOverlay == null) { + if (feedback.eventId() == null) { return; } @@ -170,69 +130,40 @@ public void appendLog(Feedback feedback) { if (failover.focus() != null) { Feedback.@Nullable Focus focus = failover.focus(); if (focus.target() != null) { - focusedNode = AccessibilityNodeInfoCompat.obtain(focus.target()); + focusedNode = focus.target(); /** * {@link TraversalStrategyUtils#searchFocus} will append focusedNode to list of unfocused * nodes since it is the last node to get traversed, so we must remove */ - if (traversedIdToNode != null) { - traversedIdToNode.remove(focusedNode.hashCode()); - } - if (unfocusedIdToNode != null) { - unfocusedIdToNode.remove(focusedNode.hashCode()); - } - highlightOverlay.highlightNodesOnScreen(focusedNode, unfocusedIdToNode); + traversedIdToNode.remove(focusedNode.hashCode()); + unfocusedIdToNode.remove(focusedNode.hashCode()); + highlightOverlay.highlightNodesOnScreen(focusedNode, unfocusedIdToNode, refocusNodePath); + clearCollectionNodes(); } } else if (failover.focusDirection() != null) { highlightOverlay.clearHighlight(); } - if (feedback.eventId().getEventSubtype() == AccessibilityService.GESTURE_SWIPE_LEFT - || feedback.eventId().getEventSubtype() == AccessibilityService.GESTURE_SWIPE_RIGHT) { - CharSequence incomingLog = processSwipeGesture(feedback); - diagnosticOverlay.displayText(incomingLog); - } + // Do not display feedback text, because it is directly observable. } - private CharSequence processSwipeGesture(Feedback feedback) { - @Nullable List failovers = (feedback == null) ? null : feedback.failovers(); - Feedback.@Nullable Part failover = - (failovers == null || failovers.size() < 1) ? null : failovers.get(0); - Feedback.@Nullable Focus focus = (failover == null) ? null : failover.focus(); - if (focus == null) { - return ""; - } - int nodeCollectionSize = 0; - if (unfocusedIdToNode != null) { - for (ArrayList nodes : unfocusedIdToNode.values()) { - if (nodes != null) { - nodeCollectionSize += nodes.size(); + @SuppressLint("SwitchIntDef") // Only some event-types are filtered out. + public void displayEvent(AccessibilityEvent event) { + switch (event.getEventType()) { + case AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START: + case AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_END: + case AccessibilityEvent.TYPE_TOUCH_INTERACTION_START: + case AccessibilityEvent.TYPE_TOUCH_INTERACTION_END: + case AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED: + case AccessibilityEvent.TYPE_VIEW_HOVER_ENTER: + case AccessibilityEvent.TYPE_VIEW_HOVER_EXIT: + return; + default: + if (diagnosticOverlay != null) { + CharSequence text = AccessibilityEventUtils.toStringShort(event); + diagnosticOverlay.displayText(text); } - } } - SpannableStringBuilder incomingLog = - new SpannableStringBuilder( - String.format( - "Because of a %s that triggered " - + "%s, Talkback moved a11y focus to an " - + "%s. At least %d views were deemed " - + "as not focusable when deciding focus.\n\n", - AccessibilityServiceCompatUtils.gestureIdToString( - feedback.eventId().getEventSubtype()), - (focus.focusActionInfo() == null - ? "N/A" - : FocusActionInfo.sourceActionToString(focus.focusActionInfo().sourceAction)), - (focus.target() == null ? "N/A" : focus.target().getClassName()), - nodeCollectionSize)); - StringBuilderUtils.append( - incomingLog, - getSpannableStringColor(RED_CODE, Color.RED, 0, 3), - getSpannableStringColor(MAGENTA_CODE, Color.MAGENTA, 0, 7), - getSpannableStringColor(YELLOW_CODE, Color.YELLOW, 0, 6), - getSpannableStringColor(ORANGE_CODE, ORANGE, 0, 6), - getSpannableStringColor(GREEN_CODE, Color.GREEN, 0, 5), - getSpannableStringColor(BLUE_CODE, Color.BLUE, 0, 4)); - return incomingLog; } public void setLogOverlayEnabled(boolean enabled) { @@ -269,23 +200,9 @@ public static void setNodeCollectionEnabled(boolean collect) { /** Clear nodes in collections. */ private static void clearCollectionNodes() { - if (unfocusedIdToNode != null) { - unfocusedIdToNode.clear(); - } - if (traversedIdToNode != null) { - traversedIdToNode.clear(); - } - } - - /** - * Returns SpannableString that reads as {@code text} and has characters in indices from {@code - * start} to {@code end} colored in {@color} - */ - private SpannableString getSpannableStringColor(String text, int color, int start, int end) { - SpannableString spannableStringColor = new SpannableString(text); - spannableStringColor.setSpan( - new ForegroundColorSpan(color), start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); - return spannableStringColor; + unfocusedIdToNode = new HashMap<>(); // HiglightOverlay may still be using the old map. + refocusNodePath = new HashSet<>(); + traversedIdToNode.clear(); } @VisibleForTesting diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/utils/ExperimentalUtils.java b/talkback/src/main/java/com/google/android/accessibility/talkback/utils/ExperimentalUtils.java index 3de626304..6765a9c99 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/utils/ExperimentalUtils.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/utils/ExperimentalUtils.java @@ -3,7 +3,7 @@ /** */ public final class ExperimentalUtils { - public static int getAddtionalTalkBackServiceFlags() { + public static int getAdditionalTalkBackServiceFlags() { // No flags in stable. return 0; } diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/utils/HighlightOverlay.java b/talkback/src/main/java/com/google/android/accessibility/talkback/utils/HighlightOverlay.java index 1126a8ebe..121d7133a 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/utils/HighlightOverlay.java +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/utils/HighlightOverlay.java @@ -35,33 +35,33 @@ import android.view.WindowManager.BadTokenException; import android.widget.FrameLayout; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.talkback.Feedback; import com.google.android.accessibility.talkback.R; +import com.google.android.accessibility.utils.AccessibilityNode; import com.google.android.accessibility.utils.DiagnosticOverlayUtils.DiagnosticType; import com.google.android.accessibility.utils.widget.SimpleOverlay; import com.google.android.libraries.accessibility.utils.log.LogUtils; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; /** Highlights for clickability of nodes and for nodes that were traversed but not focused */ public class HighlightOverlay extends SimpleOverlay { - private static final float HIGHLIGHT_ALPHA = 0.45f; + private static final float HIGHLIGHT_ALPHA = 0.25f; static View highlightView; - private static int ORANGE = 0xFFFFA500; - /** {@code unfocusableNodes} obtained in - * {@link DiagnosticOverlayControllerImpl#appendLog and - * @link DiagnosticOverlayControllerImpl#clearUnfocusedNodes()} respectively}}*/ - private HashMap> unfocusableNodes = null; + // Nodes passed over during sequential navigation + private HashMap> skippedNodes = null; - /** {@code focusednode} obtained in {@link DiagnosticOverlayControllerImpl#appendLog(Feedback)} */ + // Nodes on refocus node path + private HashSet refocusNodePath = null; + + // Node currently focused private AccessibilityNodeInfoCompat focusedNode; /** Highlights multiple nodes */ public class MultipleHighlightView extends View { - private final Paint clickablePaint = new Paint(); - private final Paint nonClickablePaint = new Paint(); - private final Paint unfocusablePaint = new Paint(); + private final Paint refocusPaint = new Paint(); + private final Paint skippedNodePaint = new Paint(); private final Paint borderPaint = new Paint(); public MultipleHighlightView(Context context) { @@ -69,13 +69,11 @@ public MultipleHighlightView(Context context) { /** Use {@link BlendMode#DST_OUT for clickable highlight if larger screen focusability * can be filtered out*/ - clickablePaint.setColor(Color.GREEN); - clickablePaint.setBlendMode(BlendMode.COLOR); - nonClickablePaint.setColor(Color.BLUE); - nonClickablePaint.setBlendMode(BlendMode.COLOR); + refocusPaint.setColor(Color.GREEN); + refocusPaint.setBlendMode(BlendMode.COLOR); - unfocusablePaint.setStyle(Style.FILL); - unfocusablePaint.setBlendMode(BlendMode.OVERLAY); + skippedNodePaint.setStyle(Style.FILL); + skippedNodePaint.setBlendMode(BlendMode.OVERLAY); // Paint requires one to draw same rectangle twice for different colored borders - once // w/ fill and once w/ stroke borderPaint.setColor(Color.BLACK); @@ -85,46 +83,52 @@ public MultipleHighlightView(Context context) { context.getResources().getDimensionPixelSize(R.dimen.highlight_overlay_border)); } - /** Draws color-coded unfocused/clickable nodes onto {@code canvas} defined as device screen */ @Override public void onDraw(Canvas canvas) { - if (unfocusableNodes != null) { - unfocusablePaint.setColor(Color.RED); + if (skippedNodes != null) { + skippedNodePaint.setColor(Color.RED); processUnfocusableNodes(FOCUS_FAIL_FAIL_ALL_FOCUS_TESTS, canvas); - - unfocusablePaint.setColor(Color.MAGENTA); processUnfocusableNodes(FOCUS_FAIL_NOT_SPEAKABLE, canvas); - - unfocusablePaint.setColor(Color.YELLOW); processUnfocusableNodes(FOCUS_FAIL_NOT_VISIBLE, canvas); - - unfocusablePaint.setColor(ORANGE); processUnfocusableNodes(FOCUS_FAIL_SAME_WINDOW_BOUNDS_CHILDREN, canvas); } - Rect clickableBounds = new Rect(); - focusedNode.getBoundsInScreen(clickableBounds); - - boolean clickable = focusedNode.isClickable(); - if (clickable) { - canvas.drawRect(clickableBounds, clickablePaint); - } else { - canvas.drawRect(clickableBounds, nonClickablePaint); + if (refocusNodePath != null) { + for (AccessibilityNode node : refocusNodePath) { + Rect nodeBounds = new Rect(); + node.getBoundsInScreen(nodeBounds); + drawRectangle(canvas, nodeBounds, refocusPaint); + } } } private void processUnfocusableNodes(@DiagnosticType Integer type, Canvas canvas) { ArrayList currentNodes = new ArrayList(); - currentNodes = unfocusableNodes.get(type); + currentNodes = skippedNodes.get(type); if (currentNodes != null) { for (AccessibilityNodeInfoCompat node : currentNodes) { Rect r = new Rect(); node.getBoundsInScreen(r); - canvas.drawRect(r, unfocusablePaint); - canvas.drawRect(r, borderPaint); + drawRectangle(canvas, r, skippedNodePaint); } } } + + private void drawRectangle(Canvas canvas, Rect rectOnScreen, Paint paint) { + // Adjust location by overlay position on screen. + int[] overlayScreenXY = {0, 0}; + highlightView.getLocationOnScreen(overlayScreenXY); + Rect rectInHighlightView = moveRect(rectOnScreen, -overlayScreenXY[0], -overlayScreenXY[1]); + + // Draw fill and outline. + canvas.drawRect(rectInHighlightView, paint); + canvas.drawRect(rectInHighlightView, borderPaint); + } + } + + private static Rect moveRect(Rect rect, int deltaX, int deltaY) { + return new Rect( + rect.left + deltaX, rect.top + deltaY, rect.right + deltaX, rect.bottom + deltaY); } public HighlightOverlay(Context context) { @@ -154,7 +158,8 @@ public HighlightOverlay(Context context) { public void highlightNodesOnScreen( AccessibilityNodeInfoCompat focusedNode, - HashMap> unfocusedNodeList) { + HashMap> skippedNodes, + HashSet refocusNodePath) { highlightView.setVisibility(View.VISIBLE); try { show(); @@ -162,7 +167,8 @@ public void highlightNodesOnScreen( LogUtils.e( "Highlight Overlay", e, "Caught WindowManager.BadTokenException while displaying text."); } - unfocusableNodes = unfocusedNodeList; + this.skippedNodes = skippedNodes; + this.refocusNodePath = refocusNodePath; this.focusedNode = focusedNode; // calling invalidate will update highlightView highlightView.invalidate(); diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/utils/SplitCompatUtils.java b/talkback/src/main/java/com/google/android/accessibility/talkback/utils/SplitCompatUtils.java new file mode 100644 index 000000000..963e0a39f --- /dev/null +++ b/talkback/src/main/java/com/google/android/accessibility/talkback/utils/SplitCompatUtils.java @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.talkback.utils; + +import android.content.Context; + +/** An empty utility for the version without using feature splits. */ +public final class SplitCompatUtils { + public static boolean installActivity(Context context) { + // Do nothing. + return false; + } + + private SplitCompatUtils() {} +} diff --git a/talkback/src/main/res/layout/confirm_download_dialog.xml b/talkback/src/main/res/layout/confirm_download_dialog.xml new file mode 100644 index 000000000..af49d9077 --- /dev/null +++ b/talkback/src/main/res/layout/confirm_download_dialog.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + diff --git a/talkback/src/main/res/layout/dim_screen_confirmation_dialog.xml b/talkback/src/main/res/layout/dim_screen_confirmation_dialog.xml index b5aaf3039..7fba3c394 100644 --- a/talkback/src/main/res/layout/dim_screen_confirmation_dialog.xml +++ b/talkback/src/main/res/layout/dim_screen_confirmation_dialog.xml @@ -44,7 +44,7 @@ android:paddingRight="16dp" android:paddingLeft="16dp" android:paddingTop="8dp" - android:text="@string/show_suspend_warning_label" /> + android:text="@string/always_show_warning_checkbox" /> \ No newline at end of file diff --git a/talkback/src/main/res/layout/training_list_item.xml b/talkback/src/main/res/layout/training_list_item.xml index a08330666..aae33cff3 100644 --- a/talkback/src/main/res/layout/training_list_item.xml +++ b/talkback/src/main/res/layout/training_list_item.xml @@ -7,7 +7,8 @@ - - \ No newline at end of file + diff --git a/talkback/src/main/res/menu/context_menu.xml b/talkback/src/main/res/menu/context_menu.xml index 05d3b1d0b..3a6039d16 100644 --- a/talkback/src/main/res/menu/context_menu.xml +++ b/talkback/src/main/res/menu/context_menu.xml @@ -53,8 +53,4 @@ android:id="@+id/tts_settings" android:orderInCategory="23" android:title="@string/tts_preferences_title" /> - diff --git a/compositor/src/main/res/raw/chime_down.ogg b/talkback/src/main/res/raw/chime_down.ogg similarity index 100% rename from compositor/src/main/res/raw/chime_down.ogg rename to talkback/src/main/res/raw/chime_down.ogg diff --git a/compositor/src/main/res/raw/chime_up.ogg b/talkback/src/main/res/raw/chime_up.ogg similarity index 100% rename from compositor/src/main/res/raw/chime_up.ogg rename to talkback/src/main/res/raw/chime_up.ogg diff --git a/compositor/src/main/res/raw/complete.ogg b/talkback/src/main/res/raw/complete.ogg similarity index 100% rename from compositor/src/main/res/raw/complete.ogg rename to talkback/src/main/res/raw/complete.ogg diff --git a/compositor/src/main/res/raw/compositor.json b/talkback/src/main/res/raw/compositor.json similarity index 94% rename from compositor/src/main/res/raw/compositor.json rename to talkback/src/main/res/raw/compositor.json index 56f620f2b..589c937ea 100644 --- a/compositor/src/main/res/raw/compositor.json +++ b/talkback/src/main/res/raw/compositor.json @@ -9,20 +9,6 @@ "ttsForceFeedbackEvenIfMicrophoneActive": true, "ttsForceFeedbackEvenIfSsbActive": true }, - "SpokenFeedbackSuspended": { - "ttsOutput": "@string/talkback_suspended", - "ttsQueueMode": "uninterruptible", - "ttsForceFeedbackEvenIfAudioPlaybackActive": true, - "ttsForceFeedbackEvenIfMicrophoneActive": true, - "ttsForceFeedbackEvenIfSsbActive": true - }, - "SpokenFeedbackResumed": { - "ttsOutput": "@string/talkback_resumed", - "ttsQueueMode": "uninterruptible", - "ttsForceFeedbackEvenIfAudioPlaybackActive": true, - "ttsForceFeedbackEvenIfMicrophoneActive": true, - "ttsForceFeedbackEvenIfSsbActive": true - }, "SpokenFeedbackDisabled": { "ttsOutput": "@string/talkback_disabled", "ttsQueueMode": "uninterruptible", @@ -117,16 +103,8 @@ "ttsForceFeedbackEvenIfMicrophoneActive": "$event.hintForceFeedackEvenIfMicrophoneActive", "ttsForceFeedbackEvenIfSsbActive": false }, - "ScreenMagnificationChanged": { - "ttsOutput": { - "if": "$screenMagnification.lastScale == 1 && $screenMagnification.currentScale > 1", - "then": "@string/template_screen_magnification_on(round($screenMagnification.currentScale * 100))", - "else": { - "if": "$screenMagnification.currentScale == 1 && $screenMagnification.lastScale > 1", - "then": "@string/screen_magnification_off", - "else": "@string/template_screen_magnification_scale_changed(round($screenMagnification.currentScale * 100))" - } - }, + "MagnificationChanged": { + "ttsOutput": "$magnification.stateChanged", "ttsClearQueueGroup": "screen_magnification", "ttsInterruptSameGroup": true, "ttsQueueMode": "uninterruptible", @@ -156,13 +134,13 @@ { "fallback": [ { - "if": "#VERBOSITY_SPEAK_COLLECTION_INFO", + "if": "$verbosity.speakCollectionInfo", "then": "%collection_item_transition" }, { "_comment": "Don't announce heading for web container.", "_comment": "REFERTO and REFERTO for details.", - "if": "#VERBOSITY_SPEAK_ROLE", + "if": "$verbosity.speakRole", "then": { "if": "!$node.isWebContainer && $node.isHeading", "then": { @@ -176,7 +154,7 @@ ] }, { - "if": "#VERBOSITY_SPEAK_COLLECTION_INFO", + "if": "$verbosity.speakCollectionInfo", "then": "%collection_transition" }, "%window_transition" @@ -378,15 +356,13 @@ ] } }, - "undefined": { - // When an error is displayed in an edit text, it sends - // AccessibilityEvent#CONTENT_CHANGE_TYPE_UNDEFINED. At this point talkback should - // indicate the presence of an error to the user. REFERTO. - // Note that its textView that actually sets the error and sends the a11y event but - // talkback is currently handling only edit texts. see TextView#setError(). - "if": "$node.role == 'edit_text'", - "then": "%get_accessibility_node_error" - } + "drag_started": "@string/drag_started", + "drag_dropped": "@string/drag_dropped", + "drag_cancelled":"@string/drag_cancelled", + // When an error should be displayed, send + // AccessibilityEvent#CONTENT_CHANGE_TYPE_UNDEFINED. At this point talkback should + // indicate the presence of an error to the user. REFERTO. + "undefined": "%get_accessibility_node_error" } } }, @@ -512,9 +488,7 @@ }, "action_bar_tab": "uninterruptible", // From speechstrategy.xml - "tab_bar": "uninterruptible", - // From speechstrategy.xml - "seek_control": "uninterruptible" + "tab_bar": "uninterruptible" } }, "ttsClearQueueGroup": { @@ -526,10 +500,6 @@ }, "ttsSkipDuplicate": "$node.role == 'progress_bar' || $node.role == 'seek_control'" }, - "TYPE_VIEW_SCROLLED": { - "earcon": "@raw/scroll_tone", - "earcon_rate": "2.0 ^ ($event.scrollPercent / 50.0 - 1)" - }, "EVENT_SCROLL_POSITION": { "ttsOutput": { "if": "$node.isVisible && $event.fromIndex >= 0 && $event.itemCount > 0", @@ -606,7 +576,7 @@ "ttsAddToHistory": true, "ttsClearQueueGroup": "text_selection", "ttsInterruptSameGroup": true, - "ttsQueueMode": "interruptible_if_long", + "ttsQueueMode": "interrupt", "ttsPitch": 1.2, "ttsForceFeedbackEvenIfAudioPlaybackActive": true, "ttsForceFeedbackEvenIfMicrophoneActive": true, @@ -632,7 +602,7 @@ "ttsAddToHistory": true, "ttsClearQueueGroup": "text_selection", "ttsInterruptSameGroup": true, - "ttsQueueMode": "interruptible_if_long", + "ttsQueueMode": "interrupt", "ttsForceFeedbackEvenIfAudioPlaybackActive": true, "ttsForceFeedbackEvenIfMicrophoneActive": true, "ttsForceFeedbackEvenIfSsbActive": true @@ -908,14 +878,14 @@ "if": "$node.windowType == 'picture_in_picture'", "then": "@string/template_overlay_window(getWindowTitle($node.windowId))", "else": { - "if": "$node.windowType != 'system' || #VERBOSITY_SPEAK_SYSTEM_WINDOW_TITLE", + "if": "$node.windowType != 'system' || $verbosity.speakSystemWindowTitles", "then": "@string/in_window_with_name(getWindowTitle($node.windowId))" } } }, // Nodes "get_description_for_tree": { - "switch": "#VERBOSITY_DESCRIPTION_ORDER", + "switch": "$verbosity.descriptionOrder", "cases": { "StateNameRolePosition": { "join": [ @@ -970,7 +940,7 @@ "append_description_for_tree": { "join": [ { - "switch": "#VERBOSITY_DESCRIPTION_ORDER", + "switch": "$verbosity.descriptionOrder", "cases": { "StateNameRolePosition": "conditionalPrepend(%description_for_tree_status, %description_for_tree_nodes)", "RoleNameStatePosition": "conditionalAppend(%description_for_tree_nodes, %description_for_tree_status)", @@ -981,7 +951,7 @@ // REFERTO. "%get_accessibility_node_error", // TODO: Currently we have appended the accessibility hint just after the node details that talkback announces. - // In future we can append $node.hint for a node similar to name, state and type and take hint into consideration for deciding VERBOSITY_DESCRIPTION_ORDER. + // In future we can append $node.hint for a node similar to name, state and type and take hint into consideration for deciding verbosity.descriptionOrder. // These hints are only present for edit_texts and web view at present. "%get_accessibility_node_hint", "%tooltip_text_deduplicated" @@ -1071,7 +1041,7 @@ ] }, "get_role_description_or_default": { - "if": "#VERBOSITY_SPEAK_ROLE", + "if": "$verbosity.speakRole", "then": { "fallback": [ "$node.roleDescription", @@ -1152,7 +1122,7 @@ "fallback": [ "%node_text_or_label", { - "if": "#VERBOSITY_SPEAK_ELEMENT_IDS", + "if": "$verbosity.speakElementIds", "then": "$node.viewIdText" } ] @@ -1171,7 +1141,7 @@ }, // SpeechRules "rule_default": { - "switch": "#VERBOSITY_DESCRIPTION_ORDER", + "switch": "$verbosity.descriptionOrder", "cases": { "RoleNameStatePosition": "dedupJoin(%get_role_description_or_default, %node_text_or_label, $node.stateDescription)", "StateNameRolePosition": "dedupJoin($node.stateDescription, %node_text_or_label, %get_role_description_or_default)", @@ -1179,7 +1149,7 @@ } }, "rule_edit_text": { - "switch": "#VERBOSITY_DESCRIPTION_ORDER", + "switch": "$verbosity.descriptionOrder", "cases": { "RoleNameStatePosition": "dedupJoin(%get_role_description_or_default, %get_edit_text_text, %get_edit_text_state)", "StateNameRolePosition": "dedupJoin(%get_edit_text_state, %get_edit_text_text, %get_role_description_or_default)", @@ -1187,7 +1157,7 @@ } }, "rule_pager_page": { - "switch": "#VERBOSITY_DESCRIPTION_ORDER", + "switch": "$verbosity.descriptionOrder", "cases": { "RoleNameStatePosition": { "join": [ @@ -1210,7 +1180,7 @@ } }, "rule_switch": { - "switch": "#VERBOSITY_DESCRIPTION_ORDER", + "switch": "$verbosity.descriptionOrder", "cases": { "RoleNameStatePosition": "dedupJoin(%get_role_description_or_default, %get_switch_content, %get_switch_state)", "StateNameRolePosition": "dedupJoin(%get_switch_state, %get_switch_content, %get_role_description_or_default)", @@ -1221,7 +1191,7 @@ "if": "$node.isAccessibilityFocused || $node.liveRegion != 'none'", "then": { // TODO: Investigate if we should announce role description for TYPE_VIEW_SELECTED event. - "switch": "#VERBOSITY_DESCRIPTION_ORDER", + "switch": "$verbosity.descriptionOrder", "cases": { "RoleNameStatePosition": "dedupJoin(%get_role_description_or_default, %node_text_or_label, %get_seek_bar_state)", "StateNameRolePosition": "dedupJoin(%get_seek_bar_state, %node_text_or_label, %get_role_description_or_default)", @@ -1230,7 +1200,7 @@ } }, "rule_non_text_views": { - "switch": "#VERBOSITY_DESCRIPTION_ORDER", + "switch": "$verbosity.descriptionOrder", "cases": { "RoleNameStatePosition": "dedupJoin(%get_non_text_view_role, %node_text_or_label_or_id, %get_non_text_view_state)", "StateNameRolePosition": "dedupJoin(%get_non_text_view_state, %node_text_or_label_or_id, %get_non_text_view_role)", @@ -1285,7 +1255,7 @@ } }, "get_pager_page_role_description": { - "if": "#VERBOSITY_SPEAK_ROLE", + "if": "$verbosity.speakRole", "then": { "fallback": [ "$node.roleDescription", @@ -1303,6 +1273,8 @@ "switch": "$node.rangeInfoType", "cases": { "percent": "@string/template_percent(roundForProgressPercent($node.rangeCurrentValue))", + "int": "@string/template_value(roundForProgressInt($node.rangeCurrentValue))", + "float": "@string/template_value($node.rangeCurrentValue)", "undefined": { "if": "$event.itemCount > 0", "then": "@string/template_percent(roundForProgressPercent($event.progressPercent))" @@ -1322,7 +1294,7 @@ ] }, "get_non_text_view_role": { - "if": "#VERBOSITY_SPEAK_ROLE", + "if": "$verbosity.speakRole", "then": { "fallback": [ "$node.roleDescription", @@ -1409,8 +1381,8 @@ "then": "$node.tooltipText" }, "get_accessibility_node_error": { - // append error message if the edit text is showing it. - "if": "$node.role == 'edit_text' && $node.isContentInvalid", + // append error message if the view is showing it. + "if": "$node.isContentInvalid", "then" : { "if": "$node.error", "then": "@string/template_node_error_with_error_message($node.error)" diff --git a/talkback/src/main/res/raw/compositor_arc.json b/talkback/src/main/res/raw/compositor_arc.json new file mode 100644 index 000000000..f1febce24 --- /dev/null +++ b/talkback/src/main/res/raw/compositor_arc.json @@ -0,0 +1,10 @@ +{ + "events": { + "SpokenFeedbackOn": { + "ttsOutput": "" + }, + "SpokenFeedbackDisabled": { + "ttsOutput": "" + } + } +} diff --git a/talkback/src/main/res/raw/compositor_jasper.json b/talkback/src/main/res/raw/compositor_jasper.json new file mode 100644 index 000000000..b9059761f --- /dev/null +++ b/talkback/src/main/res/raw/compositor_jasper.json @@ -0,0 +1,14 @@ +{ + "events": { + "TYPE_VIEW_SCROLLED": { + "earcon": "" // Disable the scrolling earcon + } + }, + "named_nodes": { + "hint_rule_seek_bar": { + "join": [ + "%hint_rule_default" + ] + } + } +} diff --git a/talkback/src/main/res/raw/compositor_tv.json b/talkback/src/main/res/raw/compositor_tv.json new file mode 100644 index 000000000..108d29cca --- /dev/null +++ b/talkback/src/main/res/raw/compositor_tv.json @@ -0,0 +1,106 @@ +{ + "named_nodes": { + "get_hint_from_node": { + "if": "$global.enableUsageHint && $node.isEnabled", + "then": { + "switch": "$node.role", + "cases": { + "drop_down_list": "%hint_rule_drop_down_list", + "edit_text": "%hint_rule_edit_text", + "seek_control": "%hint_rule_seek_bar", + "pager": "%hint_rule_pager" + }, + "default": "%hint_rule_default" + } + }, + + "hint_rule_drop_down_list": { + // get_custom_hint_for_click + "if": "$global.inputMode == 'keyboard' && $keyCombo.hasKeyForClick", + "then": "@string/template_hint_spinner_keyboard($keyCombo.stringRepresentationForClick)", + "else": "@string/template_hint_spinner(@string/value_press_select)" + }, + + "hint_rule_edit_text": { + "join": [ + { + "if": "!$node.isFocused", + "then": { + // get_custom_hint_for_click + "if": "$global.inputMode == 'keyboard' && $keyCombo.hasKeyForClick", + "then": "@string/template_hint_edit_text_keyboard($keyCombo.stringRepresentationForClick)", + "else": "@string/template_hint_edit_text(@string/value_press_select)" + } + }, + "%get_hint_for_long_click" + ], + "separator": ", " + }, + + "hint_rule_seek_bar": "@string/template_hint_seek_control_tv(@string/value_press_select)", + + "hint_rule_pager": { + "if": "$node.supportsActionScrollForward || $node.supportsActionScrollBackward", + "then": "%get_hint_for_click", + "else": "@string/template_hint_pager_single_page" + }, + + "hint_rule_default": "%get_hint_for_click", + + "get_hint_for_long_click": { + "fallback": [ + { + "for_reference": "$node.actionLongClick", + "evaluate": { + "if": "$action.label", + "then": { + "if": "$global.inputMode == 'keyboard' && $keyCombo.hasKeyForLongClick", + "then": "@string/template_custom_hint_for_actions_keyboard($keyCombo.stringRepresentationForLongClick, $action.label)", + "else": "@string/template_custom_hint_for_long_clickable_actions(@string/value_press_select, $action.label)" + } + } + }, + { + "if": "$node.isLongClickable", + "then": { + "if": "$global.inputMode == 'keyboard' && $keyCombo.hasKeyForLongClick", + "then": "@string/template_hint_long_clickable_keyboard($keyCombo.stringRepresentationForLongClick)", + "else": "@string/template_hint_long_clickable(@string/value_press_select)" + } + } + ] + }, + + "get_hint_for_click": { + "fallback": [ + { + "for_reference": "$node.actionClick", + "evaluate": { + "if": "$action.label", + "then": { + "if": "$global.inputMode == 'keyboard' && $keyCombo.hasKeyForClick", + "then": "@string/template_custom_hint_for_actions_keyboard($keyCombo.stringRepresentationForClick, $action.label)", + "else": "@string/template_custom_hint_for_actions(@string/value_press_select, $action.label)" + } + } + }, + { + "if": "$node.isCheckable", + "then": { + "if": "$global.inputMode == 'keyboard' && $keyCombo.hasKeyForClick", + "then": "@string/template_hint_checkable_keyboard($keyCombo.stringRepresentationForClick)", + "else": "@string/template_hint_checkable(@string/value_press_select)" + } + }, + { + "if": "$node.isClickable", + "then": { + "if": "$global.inputMode == 'keyboard' && $keyCombo.hasKeyForClick", + "then": "@string/template_hint_clickable_keyboard($keyCombo.stringRepresentationForClick)", + "else": "@string/template_hint_clickable(@string/value_press_select)" + } + } + ] + } + } +} diff --git a/compositor/src/main/res/raw/focus.ogg b/talkback/src/main/res/raw/focus.ogg similarity index 100% rename from compositor/src/main/res/raw/focus.ogg rename to talkback/src/main/res/raw/focus.ogg diff --git a/compositor/src/main/res/raw/focus_actionable.ogg b/talkback/src/main/res/raw/focus_actionable.ogg similarity index 100% rename from compositor/src/main/res/raw/focus_actionable.ogg rename to talkback/src/main/res/raw/focus_actionable.ogg diff --git a/compositor/src/main/res/raw/long_clicked.ogg b/talkback/src/main/res/raw/long_clicked.ogg similarity index 100% rename from compositor/src/main/res/raw/long_clicked.ogg rename to talkback/src/main/res/raw/long_clicked.ogg diff --git a/talkback/src/main/res/raw/paused_feedback.mid b/talkback/src/main/res/raw/paused_feedback.mid deleted file mode 100644 index 20623f544a1b4f7fffc2b95816dd83f3636b1ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63 zcmeYb$w*;fU|<7cM#cxeAw}6hmL|i2LWT|O^$gJr46zIh6U^$38q9#S36M4c(ndhq Kh=K9HJ_7)>qz=Xa diff --git a/compositor/src/main/res/raw/scroll_tone.ogg b/talkback/src/main/res/raw/scroll_tone.ogg similarity index 100% rename from compositor/src/main/res/raw/scroll_tone.ogg rename to talkback/src/main/res/raw/scroll_tone.ogg diff --git a/compositor/src/main/res/raw/tick.ogg b/talkback/src/main/res/raw/tick.ogg similarity index 100% rename from compositor/src/main/res/raw/tick.ogg rename to talkback/src/main/res/raw/tick.ogg diff --git a/talkback/src/main/res/values-af/strings.xml b/talkback/src/main/res/values-af/strings.xml index 028064291..3967a0b19 100644 --- a/talkback/src/main/res/values-af/strings.xml +++ b/talkback/src/main/res/values-af/strings.xml @@ -7,7 +7,6 @@ Teks-na-spraak-instellings Tale Gesproke taal - Handelinge Stelselhandelinge Weergawe %1$s Bestuur gepasmaakte etikette @@ -31,37 +30,46 @@ Toestel is ontsluit. Oudio Spraakvolume - Sê kennisgewings hardop as skerm af is - Sê altyd aantal lysitems hardop - Sê aantal rolleesmetodes hardop + Praat wanneer skerm af is + Kennisgewings word hardop gesê wanneer die skerm af is + Geen spraak kom voor wanneer die skerm af is nie + Sê hardop die aantal lysitems op die skerm + Sê net hardop wanneer jy met gebare rollees + Altyd gesproke Bedek nabyheidsensor om spraak te stop - Sê letters met voorbeelde hardop - Wanneer jy sleutelbordsleutels kies of volgens karakter navigeer, sal jy \'n voorbeeld saam met elke letter hoor, soos \"h, hotel\" - Sê leestekens en simbole hardop + Sê fonetiese letters hardop + Fonetiese letters word nie hardop gesê nie + Fonetiese letters word hardop gesê wanneer daar lank op sleutelbordsleutels gedruk en per karakter genavigeer word + Leestekens + Leestekens en simbole word nie hardop gesê nie + Leestekens en simbole word hardop gesê Hoofletters Doen niks nie Sê “hoofletter” Verander toonhoogte Speel klank Gee gesproke gebruikwenke - Nadat jy inhoud beskryf het, kan jy voorstel hoe om dit gebruik + Gebruikwenke word nie hardop gesê wanneer toeganklikheidfokus geskuif word nie + Gebruikwenke word tydens navigasie hardop gesê, ná \'n kort vertraging Sê lys- en roosterinligting hardop + Lys- en roosterinligting word hardop gesê + Lys- en roosterinligting word nie hardop gesê nie Stel gebare terug? Dit sal alle gebaarinstellings na hul verstekhandelinge toe terugstel.\n\nJy sal enige veranderinge wat jy gemaak het, verloor. Stel terug Die gebaarinstellings is teruggestel. Sê elementsoort hardop - Vir gefokusde items + Elementsoort word vir gefokusde items hardop gesê + Elementsoort word nie vir gefokusde items hardop gesê nie Sê element-ID\'s hardop - Vir etiketlose knoppies - Sê stelselvensters hardop - Wanneer jy na ander stelselvensters soos die statusbalk, kennisgewings of volumekontroles toe oorskakel + Element-ID\'s word nie vir ongeëtiketteerde knoppies hardop gesê nie + Element-ID\'s word vir ongeëtiketteerde knoppies hardop gesê Verken-met-aanraking Kontroles Enkeltik om te aktiveer Tik een keer op \'n gefokusde item om te aktiveer Breedsprakigheid - Sê leestekens en simbole hardop + Leestekens Pasmaak fokusaanduier Pasmaak gebare Gepasmaakte etikette @@ -203,7 +211,8 @@ Gebruik toonhoogteveranderings Sleutelbord-eggo Volgorde van elementbeskrywing - Sê letters wat uitgevee word in \'n hoër stemtoon + Sê teks wat op die sleutelbord uitgevee word in \'n hoër stemtoon + Moenie stemtoon verander wanneer jy praat nie Braille-sleutelbord Vibrasieterugvoer Klankterugvoer @@ -211,6 +220,7 @@ Verminder ander oudio-volume terwyl jy praat Klankterugvoervolume Kortpad om TalkBack op te skort en te hervat + Versteek Skerm-kortpad Ontwikkelaarinstellings Kies gebeure om aan te teken Filtreer aantekening van toeganklikheidsgebeure @@ -256,7 +266,7 @@ Maak TalkBack-kieslys oop Laat terugvoer wag Onderbreek of hervat spraak - Skakel spraak aan of af + Skakel TalkBack-klank aan of af Lees van bo af Lees vanaf volgende item Druk nodusboom uit @@ -278,7 +288,6 @@ Hou toeganklikheidkortpad Skuif navigasiefokus vorentoe of verstel leeskontrole af Skuif navigasiefokus terug of verstel leeskontrole op - Aktiveer die handeling wat tans gekies is Soekresultaat Speel of onderbreek media Alle programme @@ -323,7 +332,7 @@ Lees Spesiale kenmerke Ander - Wys wanneer handelinge vir die huidige item bestaan, insluitend kopieer, plak, kies, en meer + Wys wanneer gepasmaakte handelinge vir die huidige item bestaan Kopieer, plak, kies, en meer. Wys wanneer jy \'n tekskassie kies. Maak skakels in \'n gefokusde item oop Gaan na die volgende of vorige bladsy. Wys wanneer jy inhoud met veelvuldige bladsye lees. @@ -342,7 +351,6 @@ Maak teks-na-spraak-instellings oop Skakel TalkBack-stemterugvoer af Nie wysigbaar nie - Voer handelinge uit Lees een karakter op \'n slag Lees een woord op \'n slag Lees een reël op \'n slag @@ -365,7 +373,7 @@ Verlaag volume van ander oudio wat speel wanneer TalkBack praat Rollees vorentoe of agtertoe Verhoog of verlaag toeganklikheidsvolume - Lees teks hardop wat in \'n geselekteerde prent ingebed is + Kry \'n outomatiese beskrywing vir hierdie prent af af, dan regs Swiep op @@ -408,9 +416,7 @@ Dubbeltik en hou met 2 vingers Dubbeltik en hou met 3 vingers Dubbeltik en hou met 4 vingers - Tik en hou met 3 vingers Tripeltik en hou met 2 vingers - Tik 3 keer en hou met 3 vingers \"%1$s\" of \"%2$s\" om te verstel \"%1$s\" om te verstel Onbekende gebaar @@ -433,9 +439,8 @@ Wanneer skerm aanskakel Wanneer sluitskerm gewys word Net vanaf kennisgewing - Hou vinger om enige sleutel te kies en dubbeltik dan - Hou vinger om lettersleutel te kies en lig dan op. Dubbeltik vir ander sleutels. - Hou vinger om enige sleutel te kies en lig dan + Hou vinger om sleutel te kies en dubbeltik dan + Hou vinger om sleutel te kies en lig dan Gedeaktiveer Baie liggies Liggies @@ -485,6 +490,7 @@ Kies program om etikette uit te voer: Hierdie weergawe van TalkBack sluit veranderings aan die verstek-toeganklikheidsgebare in. Die handelinge wat met hierdie gebare geassosieer word, kan binne TalkBack-instellings gepasmaak word. Wanneer Verken-met-aanraking geaktiveer is, kan jy die volgende gebare gebruik om bepaalde handelinge uit te voer.\n\n%1$s Langdruk volume hoër- en volume laer-sleutel + Druk albei volumesleutels drie keer vinnig om die skerm te versteek of te wys Versteek skerm? Dit skakel die skerm af om privaatheid te verbeter sodat ander mense nie jou skerm kan sien wanneer jy op openbare plekke is nie Hierdie weergawe van TalkBack sluit veranderinge aan die verstektoeganklikheidsgebare in.\n\nMet die eers-op-dan-af-gebaar beweeg jy na die eerste item op die skerm, en die eers-af-dan-op-gebaar beweeg na die laaste item.\n\nDie leesbesonderhedevlak kan nou verander word deur op \'n item te fokus en \'n besonderhedevlak op die TalkBack-kontekskieslys te kies.\n\nJy kan in TalkBack-instellings verander watter handelinge hierdie gebare uitvoer. @@ -500,9 +506,6 @@ Is jy seker jy wil nodusboomontfouting aanskakel?\n\nNodusboomontfouting ontbloot die inhoud van jou skerm aan jou toestel se loglêers, wat dalk deur ander programme gelees kan word. Aktiveer werkverrigtingstatistieke? Is jy seker jy wil werkverrigtingstatistieke aanskakel?\n\nWerkverrigtingstatistieke sal dalk meer berging en krag verbruik. - Aktiveer gedetailleerde loginskrywings? - Gedetailleerde loginskrywings kan met ontfouting help, maar kan ook veroorsaak dat persoonlike inligting in die stelselloglêerbuffer verskyn.\n\n Wil jy gedetailleerde loginskrywings aktiveer? - Ja, aktiveer gedetailleerde loginskrywings Gee foontoegang? Dit help TalkBack om aankondigings te verminder wanneer jy besig is met \'n oproep Gaan voort @@ -556,11 +559,9 @@ Toeganklikheidsvolume Verstel glyer Verstel waarde - Handelinge Sê wagwoorde hardop Wagwoorde word altyd hardop gesê Klank en vibrasie - Klank het gekopieer, %1$s Maak toe Maak soektog toe @@ -595,15 +596,13 @@ %1$s om te lees teen %2$s Om dit te gebruik, moet jy na TalkBack-instellings toe gaan en \'n gebaar vir \"%1$s\" byvoeg Braille-sleutelbord is nie aan nie. Gaan na TalkBack-instellings, stel Braille-sleutelbord op en probeer weer. - Voorstelle beskikbaar - Voorstelle beskikbaar. Om in te gaan, %1$s Bladsy %1$d van %2$d Vorige Volgende Maak toe Voltooi Navigeer op - Nuwe kenmerke in TalkBack + Nuwe kenmerke in TalkBack Maak tutoriaal toe? Jy kan enige tyd in TalkBack-instellings daarnatoe terugkom. Bly in tutoriaal @@ -647,14 +646,6 @@ Tik om uit te vind hoe om TalkBack vinniger met nuwe gebare te gebruik. Nodusboom is na loglêers gedruk.` Hier is gebare wat onlangs uitgevoer is. Meld asseblief aan watter gebaar verkeerd is en wat verwag word. - Jy sal vereenvoudigde volumekontroles, vinniger handelingkontroles en meer kry.\n\nJy sal op die volgende paar skerms meer oor belangrike opdaterings en veranderinge te wete kom. Dit sal ongeveer 5 minute neem.\n\nJy kan hierdie inligting enige tyd in TalkBack-instellings nagaan. - Volumebeheerveranderinge - Om volumebeheer te verbeter, beheer volumesleutels nie meer teksskermpyltjies of glyers nie.\n\nSwiep op of af om die posisie van \'n glyer te verander.\n\nSwiep op of af in \'n tekskassie om die posisie van die teksskermpyltjie te verander. Dit werk ook in Braille-sleutelbordleeskontroles. - Teks op prente - Jy kan outomaties of wanneer jy dit nodig het meer besonderhede oor teks op prente kry.\n\nVir prente wat nie \'n etiket het nie: TalkBack sal die teks wat verskyn outomaties lees.\n\nVir alle prente: Maak die TalkBack-kieslys oop en kies \"Beskryf teks op prent\".\n\nPrente bly op jou toestel en word nooit na Google toe gestuur nie. Dit beteken dat jy albei hierdie kenmerke sonder \'n internetverbinding kan gebruik. - Vensternavigasie - Jy kan tussen verskillende afdelings op jou skerm wissel, soos die kennisgewingbalk, hoofinhoud en sleutelbord.\n\nSwiep af met 4 vingers om vensternavigasie te gebruik. - Jy kan tussen verskillende afdelings op jou skerm wissel, soos die kennisgewingbalk, hoofinhoud en sleutelbord.\n\nSwiep af en dan op om vensternavigasie te gebruik. Hou aan totdat jy vensternavigasie gekies het. Swiep af om na die venster toe te gaan. Tutoriaal Welkom by TalkBack TalkBack is \'n skermleser wat bedoel is vir situasies of mense wat sukkel om die skerm te sien. Dit gee vir jou gesproke terugvoer sodat jy jou toestel kan gebruik sonder om na die skerm te kyk.\n\nJy kan TalkBack aan- of afskakel deur albei volumesleutels etlike sekondes lank in te hou.\n\nWanneer TalkBack aan is, word die fokusitem op die skerm hardop gesê.\n\nSwiep regs om na die volgende item toe te beweeg en swiep links om na die vorige item toe te beweeg.\n\nSwiep nou regs om die volgende knoppie te kry. @@ -697,14 +688,14 @@ Beweeg jou vinger oor die sleutelbord. Wanneer jy die letter hoor wat jy wil tik, moet jy jou vinger oplig.\n\nProbeer die tekskassie hieronder aktiveer en tik jou naam in. Jy kan ook met \'n braillesleutelbord tik. Kry dit in TalkBack-instellings. Beweeg die skermpyltjie - Wanneer jy \'n tekskassie geaktiveer het, kan jy die skermpyltjie tussen letters beweeg deur op of af te swiep.\n\nProbeer dit in die tekskassie hieronder. + Wanneer jy \'n tekskassie geaktiveer het, kan jy die skermpyltjie tussen letters beweeg deur die volumesleutels op of af te druk.\n\nProbeer dit in die tekskassie hieronder. Welkom by TalkBack Kies teks Beweeg die skermpyltjie in \'n tekskassie na die begin van die teks wat jy wil kies.\n\nDubbeltik en hou met 2 vingers om keusemodus te begin. Beweeg dan die skermpyltjie na die einde van die teks. Dubbeltik en hou weer met 2 vingers om keusemodus te beëindig.\n\nProbeer om die woord \"Welkom\" in die tekskassie hieronder te kies. - Beweeg die skermpyltjie in ’n tekskassie na die begin van die teks wat jy wil kies.\n\nSwiep af en dan regs om die TalkBack-kieslys oop te maak. Dubbeltik op handelinge en begin dan kiesmodus. Beweeg die skermpyltjie na die einde van die teks.\n\nMaak die TalkBack-kieslys weer oop en dubbeltik dan op handelinge om keusemodus te beëindig.\n\nProbeer die woord \"Welkom\" in die tekskassie hieronder kies. + Beweeg die skermpyltjie in \'n tekskassie na die begin van die teks wat jy wil kies.\n\nSwiep af en dan regs om die TalkBack-kieslys oop te maak. Dubbeltik redigeeropsies en begin dan keusemodus. Beweeg die skermpyltjie na die einde van die teks.\n\nMaak die TalkBack-kieslys weer oop en dubbeltik redigeeropsies om keusemodus te beëindig.\n\nProbeer om die woord \"Welkom\" in die tekskassie hieronder te kies. Kopieer, knip en plak - Dubbeltik op handelinge en dan op kopieer nadat jy teks gekies het.\n\nProbeer om \'n woord in die tekskassie hieronder te kopieer. - Om teks te sny of plak, moet jy die TalkBack-kieslys oopmaak en op handelinge dubbeltik.\n\nTripeltik met 3 vingers om teks te plak.\n\nProbeer om \'n woord in die tekskassie hieronder te plak. + Kopieer dit deur met 3 vingers te dubbeltik nadat jy teks gekies het.\n\nProbeer om \'n woord in die tekskassie hieronder te kopieer. + Dubbeltik en hou met 3 vingers om teks te sny.\n\nTripeltik met 3 vingers om teks te plak.\n\nProbeer om \'n woord in die tekskassie hieronder te plak. Nadat jy teks gekies het, kan jy dit in die TalkBack-kieslys kopieer. Swiep af en dan regs om die TalkBack-kieslys oop te maak. Dubbeltik redigeeropsies en kopieer dan.\n\nProbeer om \'n woord in die tekskassie hieronder te kopieer. Om teks te sny of plak, moet jy die TalkBack-kieslys oopmaak en redigeeropsies dubbeltik.\n\nProbeer om \'n woord in die tekskassie hieronder te plak. Plak teks hier @@ -747,7 +738,6 @@ Swiep regs of links om tussen items te beweeg Dubbeltik om \'n item te aktiveer Sleep 2 vingers om te rollees - Kontroleer asseblief of die foon gekoppel is. Dik rande Kleur Verstek @@ -759,12 +749,6 @@ Grys Opname is toegemaak Teks: %1$s - Beskryf teks op prent - Bespeurde ikoon: %1$s - Handeling word nie gesteun nie. - Geen handeling gekies nie. - Kies asseblief \'n gesteunde handeling. - Geen handelinge nie. - Handelinge-instelling is nie geaktiveer nie. - Geen teks gekry nie + Beskryf prent + Voorspelde ikoon: %1$s diff --git a/talkback/src/main/res/values-am/strings.xml b/talkback/src/main/res/values-am/strings.xml index 0bcb6d059..d400587f1 100644 --- a/talkback/src/main/res/values-am/strings.xml +++ b/talkback/src/main/res/values-am/strings.xml @@ -7,7 +7,6 @@ የጽሑፍ-ወደ-ንግግር ቅንብሮች ቋንቋዎች የተነገረ ቋንቋ - እርምጃዎች የሥርዓት እርምጃዎች የ%1$s ስሪት ብጁ መለያዎችን ያቀናብሩ @@ -31,37 +30,46 @@ መሳሪያው ተከፍቷል። ኦዲዮ የንግግር ድምጽ መጠን - ማያ ገጹ ሲጠፋ ማሳወቂያውን ተናገር - ሁልጊዜ የዝርዝር ንጥሎች ብዛት ተናገር - የሁሉም የሽብለላ ዘዴዎች ብዛትን ተናገር + ማያ ገጽ ሲጠፋ ተናገር + ማያ ገጹ ሲጠፋ ማሳወቂያዎች ይነገራሉ + ማያ ገጹ ሲጠፋ ምንም ንግግር አይከሰትም + በማያ ገጹ ላይ ያለው የዝርዝር ንጥሎች ብዛት ተናገር + በጣት ምልክት ሲሸበለል ብቻ ተናገር + ሁልጊዜ የሚነገር ንግግርን ለማቆም የቀረቤታ መለኪያ መሣሪያን ይሸፍኑ - ፊደሎችን በምሳሌዎች ተናገር - የቁልፍ ሰሌዳ ቁልፎችን ሲመርጡ ወይም በቁምፊ ሲያስሱ ከእያንዳንዱ ፊደል ጋር አንድ ምሳሌ ይሰማሉ፣ ለምሳሌ «h፣ hotel» - ሥርዓተ ነጥብን እና ምልክቶችን ተናገር + ባለድምፅ ፊደላትን ተናገር + የድምፀ ልሳን ፊደላት አይነገሩም + የድምፀ ልሳን ፊደላት በቁልፍ ሰሌዳ ቁልፎች ላይ ተጭነው ሲያዙ እና በቁምፊ አሰሳ ሲደረግ ይነገራሉ + ሥርዓተ ነጥብ + ስርዓተ-ነጥብ እና ምልክቶች አይነገሩም + ስርዓተ-ነጥብ እና ምልክቶች ይነገራሉ አቢይ ሆሄያት ምንም አታድርግ «አቢይ» ይበሉ መጠቆሚያን ይቀይሩ ድምፅ አጫውት የአጠቃቀም ፍንጮችን ተናገር - ይዘትን ከገለጹ በኋላ እንዴት እንደሚጠቀሙ ይጠቁሙ - የዝርዝር እና የፍርግርግ መረጃን ተናገር + የተደራሽነት ትኩረቱን በሚንቀሳቀስበት ጊዜ የአጠቃቀም ፍንጮች አይነገሩም + ከአጭር መዘግየት በኋላ የአጠቃቀም ፍንጮች በአሰሳ ጊዜ ይነገራሉ + የዝርዝር እና ፍርግርግ መረጃን ይናገሩ + የዝርዝር እና ፍርግርግ መረጃ ይነገራል + የዝርዝር እና ፍርግርግ መረጃ አይነገርም የእጅ ምልክቶች ዳግም ይጀመሩ? ይህ ሁሉንም የእጅ ምልክቶች ወደ ነባሪ እርምጃዎቻቸው ዳግም ያስጀምራቸዋል።\n\nያደረጓቸውን ማኛቸውም ለውጦ ያጣሉ። ዳግም አስጀምር የምልክት ቅንብሮች ዳግም ተጀምረዋል። የአባል ዓይነት ተናገር - ትኩረት ለተደረገባቸው ንጥሎች + የአባል ዓይነት ለተተኮረባቸው ንጥሎች ይነገራል + የአባል ዓይነት ለተተኮረባቸው ንጥሎች አይነገርም የአባል መታወቂያዎችን ተናገር - ላልተሰየሙ አዝራሮች - የስርዓት መስኮቶችን ይናገሩ - እንደ የሁኔታ አሞሌ፣ ማሳወቂያዎች ወይም የድምጽ መቆጣጠሪያዎች ያሉ ሌሎች የስርዓት መስኮቶች ሲቀይሩ + የአባል መታወቂያዎች ላልተሰየሙ አዝራሮች አይነገሩም + የአባል መታወቂያዎች ላልተሰየሙ አዝራሮች ይነገራሉ በመንካት አስስ መቆጣጠሪያዎች ለማግበር አንዴ መታ ያድርጉ አንድ የተተኮረበትን ንጥል ለማግበር አንድ ጊዜ መታ ያድርጉት ብዙ ቃላት - ሥርዓተ ነጥብን እና ምልክቶችን ተናገር + ሥርዓተ ነጥብ የትኩረት አመልካችን ያብጁ ምልክቶችን አብጅ ብጁ መሰየሚያዎች @@ -203,7 +211,8 @@ የድምጽ ቅጥነት ለውጦች ተጠቀም የቁልፍ ሰሌዳ ማሚቶ የአባለ ነገር መግለጫ ቅደም-ተከተል - ቀጠን ባለ ድምጽ የተሰረዙ ፊደላትን ተናገር + ቀጠን ባለ ድምጽ በቁልፍ ሰሌዳ የተሰረዘ ጽሑፍን ተናገር + ስናገር የድምጽ ውፍረት አትቀይር የብሬይል ቁልፍ ሰሌዳ የንዝረት ግብረመልስ የድምፅ ግብረመል @@ -211,6 +220,7 @@ እየተናገረ ሳለ የሌላው ድምጽ ቀንስ የድምፅ ግብረመልስ መጠነ ድምፅ የTalkback ማሸለቢያ እና ከቆመበት ማስቀጠያ አቋራጭ + የማያ ገጽን አቋራጭ ይደብቁ የገንቢ ቅንብሮች የምዝግብ ማስታወሻ የሚያዝላቸውን ክስተቶች ይምረጡ የተደራሽነት ክስተት ምዝግብ ማስታወሻን ያጣሩ @@ -256,7 +266,7 @@ የTalkBack ምናሌን ይክፈቱ ግብረመልስ ለአፍታ አቁም ንግግሩን ባለበት ያቁም ወይም ከቆመበት ያስቀጥሉ - ንግግርን ያብሩ ወይም ያጥፉ + የTalkBack ድምፅን ያብሩ ወይም ያጥፉ ከላይ ጀምሮ አንብብ ከቀጣዩ ንጥል ጀምሮ አንብብ የአንጓ ዛፍ አትም @@ -278,7 +288,6 @@ የተደራሽነት አቋራጭን ይያዙ የአሰሳ ትኩረትን ወደ ፊት ያንቀሳቅሱ ወይም የንባብ መቆጣጠሪያውን ወደ ታች ያስተካክሉ የአሰሳ ትኩረትን ወደኋላ ያንቀሳቅሱ ወይም የንባብ መቆጣጠሪያውን ወደላይ ያስተካክሉ - በአሁኑ ጊዜ የተመረጠውን እርምጃ ያግብሩ የፍለጋ ውጤት ማህደረ መረጃን አጫውት ወይም ለአፍታ አቁም ሁሉም መተግበሪያዎች @@ -323,7 +332,7 @@ ንባብ ልዩ ባህሪያት ሌላ - መቅዳት፣ መለጠፍ፣ መምረጥ እና ሌሎችንም ጨምሮ ለአሁኑ ንጥል ድርጊቶች ሲኖሩ ያሳያል + ለአሁኑ ንጥል ብጁ እርምጃዎች ሲኖሩ ያሳያል ይቅዱ፣ ይለጥፉ፣ ይምረጡ እና ተጨማሪ ያድርጉ። የጽሁፍ ሳጥን ሲመርጡ ያሳያል። በተተኮረበት ንጥል ውስጥ አገናኞችን ይክፈቱ ወደ ቀጣዩ ወይም ቀዳሚው ገጽ ይሂዱ። በርካታ ገጾች ያለው የንባብ ይዘት ሲያነብቡ ያሳያል። @@ -342,7 +351,6 @@ የጽሑፍ-ወደ-ንግግር ቅንብሮችን ይክፈቱ የTalkBack Voice ግብረመልስን ያጥፉ አርትዖት ሊደረግበት አይችልም - እርምጃዎችን ያከናውኑ በአንድ ጊዜ አንድ ቁምፊ ያንብቡ በአንድ ጊዜ አንድ ቃል ያንብቡ በአንድ ጊዜ አንድ መስመር ያንብቡ @@ -365,7 +373,7 @@ TalkBack ሲናገር ሌሎች የሚጫወቱ የኦዲዮዎች ድምጽ መጠንን ይቀንሱ ወደ ፊት ወይም ወደኋላ ይሸብልሉ የተደራሽነት መጠንን ይጨምሩ ወይም ይቀንሱ - በተመረጠው ምስል ውስጥ የተካተተ ጽሑፍን ያንብቡ + ለዚህ ምስል ራስ-ሰር መግለጫ ያግኙ ታች ታች ከዚያ ቀኝ ወደ ላይ ያንሸራትቱ @@ -408,9 +416,7 @@ ሁለቴ መታ ያድርጉ እና በ2 ጣቶች ይያዙ ሁለቴ መታ ያድርጉ እና በ3 ጣቶች ይያዙ ሁለቴ መታ ያድርጉ እና በ4 ጣቶች ይያዙ - መታ ያድርጉ እና በ3 ጣቶች ይያዙ ሶስቴ መታ ያድርጉ እና በ2 ጣቶች ይያዙ - ሶስቴ መታ ያድርጉ እና በ3 ጣቶች ይያዙ ለማስተካከል «%1$s» ወይም «%2$s» ለማስተካከል «%1$s» ያልታወቀ ምልክት @@ -433,9 +439,8 @@ ማያ ገጹ ሲበራ የቁልፍ ማያ ገጹ ሲታይ ከማሳወቂያ ብቻ - ማንኛውንም ቁልፍ ለመምረጥ ጣቱ ባለበት ይያዙ፣ ከዚያ ሁለቴ መታ ያድርጉ - የፊደል ቁልፍ ለመምረጥ ጣቱ ባለበት ይያዙ፣ ከዚያ ያንሱ ለሌሎች ቁልፎች ሁለቴ መታ ያድርጉ። - ማንኛውንም ቁልፍ ለመምረጥ ጣቱ ባለበት ይያዙ፣ ከዚያ ያንሱ + ቁልፍን ለመምረጥ ጣቱ ባለበት ይያዙ፣ ከዚያ ሁለቴ መታ ያድርጉ + ቁልፍን ለመምረጥ ጣቱ ባለበት ይያዙ፣ ከዚያ ያንሱ ተሰናክሏል በጣም ቀላል ቀላል @@ -485,6 +490,7 @@ መሰየሚያዎችን ወደ ውጭ የሚልኩበት መተግበሪያ ይምረጡ፦ ይህ የTalkBack ስሪት ወደ ነባሪው የተደራሽነት ጣት ምልክቶች ላይ የተደረጉ ለውጦችን ያካትታል። ከእነዚህ ምልክቶች ጋር የተጎዳኙ ምልክቶች በTalkBack ቅንብሮች ውስጥ ሊበጁ ይችላሉ። በንክኪ አስስ ሲነቃ የተወሰኑ እርምጃዎችን ለመፈጸም የሚከተሉትን ምልክቶች መጠቀም ይችላሉ።\n\n%1$s የድምጽ መጨመሪያ እና መቀነሻ ቁልፎችን ረዥም መጫን + የማያ ገጽ ለመደበቅ ወይም ለማሳያት ሁለቱንም የድምጽ መቆጣጠሪያ ቁልፎች በፍጥነት ይጫኑ ማያ ገጽ ይደብቁ ይህ በይፋዊ ቦታዎች ላይ ሲሆኑ የእርስዎ ማያ ገጽ ለሌሎች እንዳይታይ ግላዊነትን ለማሻሻል ማሳያውን ያጠፋል ይህ የTalkBack ስሪት በነባሪው የተደራሽነት የእጅ ምልክቶች ላይ የተደረጉ ለውጦችን ያካትታል።\n\nየላይ-ወደ-ታች እጅ ምልክት በማያ ገጹ ላይ ወዳለው የመጀመሪያ ንጥል እንዲሄዱ ያስችልዎታል፣ ከዚያ የታች-ወደ-ላይ እጅ ምልክት ወደ መጨረሻው ንጥል ይወስዳል።\n\nየተነባቢነት ጥራቱ አሁን በአንድ ንጥል ላይ በማተኮርና ከዚያ ከአካባቢያዊ የአውድ ምናሌ ውስጥ አንድ የጥራት ደረጃ በመምረጥ ሊቀየር ይችላል።\n\nበእነዚህ የእጅ ምልክቶች የሚሰሩ እርምጃዎች ላይ በTalkBack ቅንብሮች ውስጥ መቀየር ይችላሉ። @@ -500,9 +506,6 @@ እርግጠኛ ነዎት የአንጓ ዛፉን ማረም ማብራት ይፈልጋሉ?\n\nየአንጓ ዛፍ ማረም የማያ ገጽ ይዘትዎን ለመሣሪያዎ ምዝግብ ማስታወሻዎች ያጋልጣቸዋል፣ እና ሌሎች መተግበሪያዎች ሊያነብቡት ይችላሉ። የአፈጻጸም ስታቲስቲክስ ይንቃ? እርግጠኛ ነዎት የአፈጻጸም ስታቲስቲክስን ማብራት ይፈልጋሉ?\n\nየአፈጻጸም ስታቲስቲክስ ተጨማሪ ማህደረ መረጃን እና ኃይልን ሊፈጅ ይችላል። - የዝርክርክ ቃላት ምዝግብ ማስታወሻ ይንቃ? - የዝርክርክ ቃላት ምዝግብ ማስታወሻ ስህተትን ለማረም መርዳት ይችላል፣ ነገር ግን የግል መረጃ በስርዓት ምዝግብ ማስታወሻ ቋት ውስጥ እንዲታይ ሊያደርግ ይችላል።\n\n የዝርክርክ ቃላት ምዝግብ ማስታወሻን ማንቃት ይፈልጋሉ? - አዎ፣ የዝርክርክ ቃላት ምዝግብ ማስታወሻን አንቃ የስልክ መዳረሻ ይፈቀድ? ይህ ጥሪ ላይ በሚሆኑበት ጊዜ TalkBack ማስታወቂያዎችን እንዲቀንስ ይረዳዋል ቀጥል @@ -556,11 +559,9 @@ የተደራሽነት መጠን ተንሸራታቹን አስተካክል እሴትን አስተካክል - እርምጃዎች የይለፍ ቃላትን ተናገር የይለፍ ቃላት ሁልጊዜ ይነገራሉ ድምፅ እና ንዝረት - ድምፅ ተቀድቷል፣ %1$s ዝጋ ፍለጋን ዝጋ @@ -595,15 +596,13 @@ %1$s በ%2$s ለማንበብ ይህንን ለመጠቀም፣ ወደ TalkBack ቅንብሮች ይሂዱ እና ምልክትን ለ«%1$s» ያክሉ የብሬይል ቁልፍ ሰሌዳ አልበራም። ወደ የTalkBack ቅንብሮች ይሂዱ፣ የብሬይል ቁልፍ ሰሌዳን ያዋቅሩ እና እንደገና ይሞክሩ። - የአስተያየት ጥቆማዎች ይገኛሉ - የአስተያየት ጥቆማዎች ይገኛሉ። %1$s ዘንድ ለመድረስ ገጽ %1$d ከ%2$d ቀዳሚ ቀጣይ ዝጋ ጨርስ ወደ ላይ አስስ - በTalkBack ውስጥ አዲስ ባህሪዎች + በTalkBack ውስጥ አዲስ ባህሪዎች አጋዥ ስልጠናው ይዘጋ? በTalkBack ቅንብሮች ውስጥ በማንኛውም ጊዜ ወደ እሱ መመለስ ይችላሉ። አጋዥ ሥልጠናው ላይ ይቆዩ @@ -647,14 +646,6 @@ በአዲስ የእጅ ምልክቶች አማካኝነት TalkBackን እንዴት በበለጠ ፍጥነት መጠቀም እንደሚችሉ ለማወቅ መታ ያድርጉ። የዛፍ አንጓ ዛፍ በምዝግብ ማስታወሻዎች ላይ ታትሟል። በቅርብ ጊዜ የተከናወኑ ምልክቶች እነሆ፣ እባክዎ የትኛው ምልክት የተሳሳተ እንደሆነ እና ምን እንደሚጠበቅ ሪፖርት ያድርጉ። - ቀላል የተደረጉ የድምፅ መቆጣጠሪያዎች፣ ፈጣን የድርጊት መቆጣጠሪያዎች፣ እና ሌሎችንም ያገኛሉ።\n\nበተከታዮቹ ማያ ገጾች ላይ፣ ስለተደረጉ ቁልፍ ዝማኔዎች እና ለውጦች ያውቃሉ። ይህ እስከ 5 ደቂቃዎች ይወስዳል።\n\nይህን መረጃ በTalkBack ቅንብሮች ውስጥ በማንኛውም ጊዜ ማየት ይችላሉ። - የድምፅ መቆጣጠሪያ ለውጦች - የድምፅ መቆጣጠሪያን ለማሻሻል፣ የድምፅ ቁልፎች ከእንግዲህ ወዲያ የጽሁፍ ጠቋሚዎችን ማንሸራተቻዎችን አይቆጣጠሩም።\n\nየተንሸራታችን ቦታ ለመቀየር ወደ ላይ ወይም ወደ ታች ያንሸራትቱ።\n\nየጽሁፍ ጠቋሚን ቦታ ለመቀየር በጽሁፍ ሳጥን ውስጥ ወደ ላይ ወይም ወደ ታች ያንሸራትቱ። ይህ በተጨማሪም በብሬል ቁልፍ ሰሌዳ ማንበቢያ መቆጣጠሪያዎች ላይ ይሰራል። - ጽሁፍ በምስሎች ውስጥ - በምስሎች ውስጥ ስላለ ጽሁፍ በራስ ሰር ወይም እርስዎ በሚፈልጉት ጊዜ መረጃ ማግኘት ይችላሉ።\n\nመሰየሚያ ለሌላቸው ምስሎች፦ TalkBack የሚታየውን ጽሁፍ በራስ ሰር ያነብባል።\n\nለሁሉም ምስሎች፦ የTalkBack ምናሌን ይክፈቱ እና \"በምስል ውስጥ ያለ ጽሁፍን ግለጽ\"ን ይምረጡ።\n\nምስሎች በመሳሪያዎ ላይ የሚቆዩ ሲሆን በፍጹም ወደ Google አይላኩም። ይህም ማለት እነዚህን ሁለቱንም ባህሪዎች ያለ በይነመረብ ግንኙነት መጠቀም ይችላሉ። - የመስኮት አሰሳ - በማያ ገጽዎ ላይ በተለያዩ እንደ ማሳወቂያ አሞሌ፣ ዋና ይዘት፣ እና የቁልፍ ሰሌዳ በመሳሰሉ ክፍሎች መካከል መቀያየር ይችላሉ።\n\nየመስኮት አሰሳን ለመጠቀም በ4 ጣቶችዎ ወደ ታች ያንሸራትቱ። - በማያ ገጽዎ ላይ በተለያዩ እንደ ማሳወቂያ አሞሌ፣ ዋና ይዘት፣ እና የቁልፍ ሰሌዳ በመሳሰሉ ክፍሎች መካከል መቀያየር ይችላሉ።\n\nየመስኮት አሰሳን ለመጠቀም ወደ ታች ከዚያም ወደ ላይ ያንሸራትቱ። የመስኮት አሰሳን እስከሚመርጡ ድረስ ይቀጥሉ። ወደ መስኮቱ ለማሰስ ወደ ታች ያንሸራትቱ። አጋዥ ሥልጠና እንኳን ወደ TalkBack በደህና መጡ TalkBack ማያ ገጹን መመልከት ለሚቸገሩ ሰዎች ወይም ሁኔታዎች የታሰበ የማያ ገጽ አንባቢ ነው። እርስዎ ማያ ገጹን ሳያዩ መሣሪያዎን መጠቀም እንዲችሉ የተነገረ ግብረመልስ ይሰጠዎታል።\n\nሁለቱንም የድምጽ ቁልፎች ለብዙ ሰከንዶች በመያዝ TalkBackን ማብራት ወይም ማጥፋት ይችላሉ።\n\nWhen TalkBack ሲበራ፣ በማያ ገጹ ላይ የተተኮረበት ንጥል ጮክ ተብሎ ይነገራል።\n\nወደ ቀኝ ማንሸራተት ወደ ቀጣዩ ንጥል ይወስዳል፣ እና ወደ ግራ ማንሸራተት ወደ ቀዳሚው ንጥል ይወስዳል።\n\nየቀጣይ አዝራሩን ለማግኘት አሁን ያንሸራትቱ። @@ -697,14 +688,14 @@ የእርስዎን ጣት በቁልፍ ሰሌዳው ዙሪያ ያንቀሳቅሱት። መተየብ የሚፈልጉትን ፊደል ሲሰሙ ጣትዎን ያንሱ።\n\nከታች የጽሑፍ ሣጥኑን ለማግበር ይሞክሩና ስምዎን ይተይቡ። እንዲሁም በብሬይል ቁልፍ ሰሌዳውን መተየብም ይችላሉ። በTalkBack ቅንብሮች ውስጥ ያግኙት። ጠቋሚውን ማንቀሳቀስ - አንድን የጽሁፍ ሳጥን በሚያነቁ ጊዜ፣ ወደ ላይ ወይም ወደ ታች በማንሸራተት ጠቋሚውን በፊደሎች መካከል ማንቀሳቀስ ይችላሉ።\n\nከታች ባለው የጽሁፍ ሳጥን ውስጥ ይሞክሩት። + የጽሑፍ ሣጥኑን በሚያግብሩበት ጊዜ የድምጽ መጠን ቁልፎቹን ወደ ላይ ወይም ወደ ታች በመጫን ጠቋሚውን በፊደላት መካከል ማንቀሳቀስ ይችላሉ።\n\nከታች በጽሑፍ ሣጥኑ ላይ ይሞክሩት። እንኳን ወደ TalkBack በደህና መጡ ጽሑፍን መምረጥ በአንድ የጽሑፍ ሳጥን ውስጥ ጠቋሚውን መምረጥ ወደሚፈልጉት የጽሑፍ መጀመሪያ ይውሰዱት።\n\nየምርጫ ሁነታን ለመጀመር ሁለቴ መታ አድርገው በ2 ጣቶች ይያዙ። ከዚያ ጠቋሚውን ወደ የጽሑፉ መጨረሻ ይውሰዱት። የምርጫን ሁነታ ለመጨረስ እንደገና ሁለቴ መታ አድርገው በ2 ጣቶች ይያዙ።\n\nከታች ባለው የጽሑፍ ሣጥን ውስጥ «እንኳን በደህና መጡ» የሚለውን ቃል ለመምረጥ ይሞክሩ። - በአንድ የጽሑፍ ሳጥን ውስጥ ጠቋሚውን መምረጥ ወደሚፈልጉት የጽሑፍ መጀመሪያ ይውሰዱት።\n\nየTalkBack ምናሌን ለመክፈት ወደ ታች ከዚያ ወደ ቀኝ ያንሸራትቱ። እርምጃዎችን ሁለቴ መታ ያድርጉ እና ከዚያ የምርጫ ሁነታን ያስጀምሩ። ጠቋሚውን ወደ ጽሑፉ መጨረሻ ያንቀሳቅሱት።\n\nእንደገና የTalkBack ምናሌውን ይከፈቱ፣ ከዚያ የመምረጥ ሁነታን ለማጠናቀቅ እርምጃዎችንን ሁለቴ መታ ያድርጉ።\n\nከታች ባለው የጽሑፍ ሣጥን ውስጥ «እንኳን በደህና መጡ» የሚለውን ቃል ለመምረጥ ይሞክሩ። + በአንድ የጽሑፍ ሳጥን ውስጥ ጠቋሚውን መምረጥ ወደሚፈልጉት የጽሑፍ መጀመሪያ ይውሰዱት።\n\nየTalkBack ምናሌን ለመክፈት ወደ ታች ከዚያ ወደ ቀኝ ያንሸራትቱ። የአርትዖት አማራጮችን ሁለቴ መታ ያድርጉ እና ከዚያ የምርጫ ሁነታን ያስጀምሩ። ጠቋሚውን ወደ የጽሑፉ መጨረሻ ይውሰዱት።\n\nየምርጫ ሁነታን ለማጠናቀቅ የTalkBack ምናሌውን እንደገና ይከፈቱ፣ ከዚያ የአርትዖት አማራጮቹን ሁለቴ መታ ያድርጉ።\n\nከታች ባለው የጽሑፍ ሣጥን ውስጥ «እንኳን በደህና መጡ» የሚለውን ቃል ለመምረጥ ይሞክሩ። ይቅዱ፣ ይቁረጡ እና ይለጥፉ - ጽሑፍ ከመረጡ በኋላ ድርጊቶችን ሁለቴ መታ ያድርጉ እና ከዚያ ይቅዱ።\n\nከታች ባለው የጽሑፍ ሳጥን ውስጥ አንድ ቃል ለመቅዳት ይሞክሩ። - ጽሑፍ ለመቁረጥ ወይም ለመለጠፍ የTalkBack ምናሌውን ይክፈቱ እና ድርጊቶችን ሁለቴ መታ ያድርጉ።\n\nጽሑፍ ለመለጠፍ በ3 ጣቶች ሶስት ጊዜ መታ ያድርጉ።\n\nከታች ባለው የጽሁፍ ሳጥን ውስጥ አንድ ቃል ለመለጠፍ ይሞክሩ። + ጽሑፍ ከመረጡ በኋላ በ3 ጣቶች ሁለቴ መታ በማድረግ ይቅዱት።\n\nአንድ ቃል ከዚህ በታች ባለው የጽሑፍ ሣጥን ውስጥ ለመቅዳት ይሞክሩ። + ጽሑፍን ለመቁረጥ፣ በ3 ጣቶች ሁለቴ መታ ያድርጉ እና ይያዙ።\n\nጽሑፍ ለመለጠፍ፣ በ3 ጣቶች ሦስቴ መታ ያድርጉ።\n\nአንድ ቃል ከዚህ በታች ባለው የጽሑፍ ሣጥን ውስጥ ለመቅዳት ይሞክሩ። ጽሑፍን ከመረጡ በኋላ በTalkBack ምናሌ ውስጥ ሊቀዱት ይችላሉ። ወደ ታች ያንሸራትቱ እና TalkBack ምናሌን ለመክፈት ወደ ቀኝ ያንሸራትቱ። የአርትዖት አማራጮችን ሁለቴ መታ ያድርጉ እና ከዚያ ይቅዱ።\n\nአንድ ቃል ከዚህ በታች ባለው የጽሑፍ ሣጥን ውስጥ ለመቅዳት ይሞክሩ። ጽሑፍን ለመቁረጥ ወይም ለመለጠፍ የTalkBack ምናሌን ይክፈቱ እና የአርትዖት አማራጮች ላይ ሁለቴ መታ ያድርጉ።\n\nአንድ ቃል ከዚህ በታች ባለው የጽሑፍ ሣጥን ውስጥ ለመቅዳት ይሞክሩ። ጽሑፍ እዚህ ይለጥፉ @@ -747,7 +738,6 @@ በንጥሎች መካከል ለመንቀሳቀስ ወደ ቀኝ ወይም ወደ ግራ ያንሸራትቱ አንድ ንጥልን ለማግበር ሁለቴ መታ ያድርጉ ለማሸብለል 2 ጣቶችን ይጎትቱ - እባክህ ስልኩ መገናኘቱን ያረጋግጡ። ወፍራም ክፈፎች ቀለም ነባሪ @@ -759,12 +749,6 @@ ግራጫ የዳሰሳ ጥናቱ ተዘግቷል ጽሑፍ፦ %1$s - በምስል ውስጥ ያለ ጽሑፍን ይግለጹ - የተገኘ አዶ፦ %1$s - እርምጃ አይደገፍም። - ምንም እርምጃ አልተመረጠም። - እባክዎ የሚደገፍ እርምጃ ይምረጡ። - ምንም እርምጃዎች የሉም። - የእርምጃዎች ቅንብር አልነቃም። - ምንም ጽሑፍ አልተገኘም + ምስሉን ይገለጹት + የተገመተው አዶ፦ %1$s diff --git a/talkback/src/main/res/values-ar-watch/strings.xml b/talkback/src/main/res/values-ar-watch/strings.xml index e3643fd8b..2cb7fed46 100644 --- a/talkback/src/main/res/values-ar-watch/strings.xml +++ b/talkback/src/main/res/values-ar-watch/strings.xml @@ -1,5 +1,5 @@ ‏TalkBack هو قارئ شاشة تم تصميمه في الأساس للأشخاص الذين يعانون من فقدان البصر أو ضعفه. ويسمح لهم بالتفاعل مع الجهاز باستخدام ميزة الوصف الشفهي للشاشة. - يمكن الحصول على وصفٍ شفهي للشاشة بحيث تستطيع استخدام الساعة بدون النظر إلى الشاشة. + يمكنك الحصول على وصفي شفهي للشاشة بحيث تستطيع استخدام ساعتك بدون النظر إلى الشاشة. diff --git a/talkback/src/main/res/values-ar/strings.xml b/talkback/src/main/res/values-ar/strings.xml index cbc7306e2..66d1dd23f 100644 --- a/talkback/src/main/res/values-ar/strings.xml +++ b/talkback/src/main/res/values-ar/strings.xml @@ -7,7 +7,6 @@ إعدادات تحويل النص إلى كلام اللغات اللغة المحكية - الإجراءات إجراءات النظام الإصدار %1$s إدارة التصنيفات المخصصة @@ -31,37 +30,46 @@ تم فتح قفل الجهاز. الصوت مستوى صوت الكلام - قول الإشعارات عندما تكون الشاشة مغلقة - قول عدد عناصر القائمة دائمًا - قول عدد كل الطرق التي يمكن الانتقال بها + التحدث عند توقف الشاشة + يتم قول الإشعارات عندما تكون الشاشة مغلقة + لا يتم قول أي كلام عندما تكون الشاشة مغلقة + نُطق عدد عناصر القائمة على الشاشة + نُطق عدد العناصر عند التمرير باستخدام الإيماءة فقط + نُطق عدد العناصر دائمًا تغطية أداة استشعار التقارب لإيقاف الكلام - قول الحروف مع الأمثلة - عندما تختار مفاتيح لوحة المفاتيح أو التتنقّل على مستوى الحروف، ستسمع مثالاً مع كل حرف، مثلاً \"ف، فندق\". - قول النطق والرموز + قول الأحرف الصوتية + لن يتم قول الأحرف الصوتية + يتم قول الأحرف الصوتية عند الضغط مع الاستمرار على المفاتيح في لوحة المفاتيح والتنقل حرفًا بحرف + علامات الترقيم + لا يتم قول علامات الترقيم والرموز. + يتم قول علامات الترقيم والرموز. حروف كبيرة عدم اتخاذ أي إجراء قُل \"حروف كبيرة\" تغيير طبقة الصوت تشغيل صوت قول تلميحات الاستخدام - بعد وصف المحتوى، اقتراح كيفية استخدامه + لن يتم قول تلميحات الاستخدام عند تغيير نقطة التركيز في ميزة \"تسهيل الاستخدام\" + يتم قول تلميحات الاستخدام أثناء التنقل، بعد مهلة قصيرة قول معلومات القائمة والشبكة + يتم قول معلومات القائمة والشبكة + لن يتم قول معلومات القائمة والشبكة هل تريد إعادة ضبط الإيماءات؟ ‏سيؤدي ذلك إلى إعادة ضبط كل الإيماءات على الإجراءات التلقائية.\n\nستفقد أي تغييرات أجريتها. إعادة الضبط تمت إعادة ضبط إعدادات الإيماءات. قول نوع العنصر - للعناصر التي يتم التركيز عليها + يتم قول نوع العنصر عند التركيز عليه + لن يتم قول نوع العنصر عند التركيز عليه قول معرّفات العناصر - للأزرار التي لم يتم تصنيفها - قول نوافذ النظام - عندما تنتقِل إلى نوافذ النظام الأخرى، مثلاً شريط الحالة أو الإشعارات أو عناصر التحكّم في الصوت + لا يتم قول معرّفات العناصر في الأزرار التي لا تحمل اسمًا + يتم قول معرّفات العناصر في الأزرار التي لا تحمل اسمًا الاستكشاف باللمس عناصر التحكّم نقرة واحدة لتفعيل العنصر انقر مرة واحدة على عنصر محلّ التركيز لتفعيله. الإسهاب - قول النطق والرموز + علامات الترقيم تخصيص مؤشر التركيز تخصيص الإيماءات التصنيفات المخصصة @@ -203,7 +211,8 @@ استخدام تغييرات درجة الصوت صدى لوحة المفاتيح ترتيب وصف العناصر - قول الأحرف التي يتم حذفها بطبقة صوت أعلى + قول النص الذي يتم حذفه في لوحة المفاتيح بطبقة صوت أعلى + عدم تغيير درجة الصوت أثناء التحدث لوحة مفاتيح برايل الاستجابة بالاهتزاز الملاحظات الصوتية @@ -211,6 +220,7 @@ خفض مستوى الصوت الآخر أثناء التحدث مستوى صوت الملاحظات الصوتية ‏تفعيل مفاتيح الاختصار التي تعلّق ميزة Talkback أو تفعّلها مجددًا + اختصار إلغاء تعتيم الشاشة إعدادات مطوّر البرامج تحديد أحداث للتسجيل تصفية سجلّ أحداث \"سهولة الاستخدام\" @@ -256,7 +266,7 @@ ‏فتح قائمة TalkBack إيقاف التعليقات مؤقتًا إيقاف الكلام مؤقتًا أو استئنافه - تفعيل التعليقات الصوتية أو إيقافها + ‏تفعيل الصوت في TalkBack أو إيقافه القراءة من الجزء العلوي القراءة بدءًا من العنصر التالي طباعة شجرة العقد @@ -278,7 +288,6 @@ اختصار الضغط مع الاستمرار على زر أدوات تسهيل الاستخدام الانتقال للأمام أو خفض مستوى عنصر التحكّم في القراءة الانتقال إلى العنصر السابق أو رفع مستوى عنصر التحكّم في القراءة - تنشيط الإجراء المحدد حاليًا نتيجة البحث تشغيل الوسائط أو إيقافها مؤقتًا جميع التطبيقات @@ -298,7 +307,7 @@ نقل المؤشر إلى النهاية بدء وضع التحديد أو إنهاؤه إنهاء وضع التحديد - التنقل بين الصفحات + التنقل في الصفحة الصفحة التالية الصفحة السابقة صفحة للأعلى @@ -323,11 +332,11 @@ القراءة الميزات الخاصة غير ذلك - تظهر عند توفّر إجراءات للعنصر الحالي، بما في ذلك النسخ واللصق والاختيار والمزيد. + تظهر هذه القائمة عندما تتوفّر إجراءات مخصّصة للعنصر الحالي. النسخ واللصق والاختيار والمزيد: تظهر هذه الخيارات عندما يتم اختيار مربّع نص. فتح روابط في العنصر محلّ التركيز الانتقال إلى الصفحة السابقة أو التالية: يظهر هذا الخيار عند قراءة محتوى يتضمن عدة صفحات. - يظهر هذا الخيار عند اختيار عنصر غير مُصنَّف. + تظهر هذه القائمة عند اختيار عنصر غير مُصنَّف. القراءة على مستوى الحروف أو الكلمات أو السطور والمزيد البدء من أعلى الشاشة وقراءة كل العناصر البدء من العنصر التالي وقراءة كل العناصر على الشاشة @@ -342,7 +351,6 @@ فتح إعدادات تحويل النص إلى كلام ‏إيقاف التعليقات الصوتية من TalkBack غير قابل للتعديل - تنفيذ الإجراءات قراءة كل حرف على حدة قراءة كل كلمة على حدة قراءة كل سطر على حدة @@ -356,7 +364,7 @@ لا تظهر هذه الخيارات إلا على صفحات الويب. قراءة عنصر واحد تلو الآخر ‏تغيير سرعة قراءة TalkBack - تغيير إمكانية قراءة المفاتيح التي يتم الضغط عليها لكتابتها وتلميحات الاستخدام ومعلومات نطاق الشاشة والمعلومات الأخرى + تغيير إمكانية قراءة المفاتيح التي يتم الضغط عليها لكتابتها وتلميحات الاستخدام ومعلومات الشبكة والمعلومات الأخرى تغيير ما إذا كان سيتم قول علامات الترقيم والرموز بصوت عالٍ أو لا تغيير اللغة المنطوقة، ولا يظهر هذا الخيار إلا بعد تثبيت عدة لغات للنصوص المراد تحويلها إلى كلام سماع تأثيرات الصوت أثناء التنقّل، مثلاً صافرة لتأكيد إجراء @@ -365,7 +373,7 @@ ‏خفض مستوى الأصوات الآخرى قيد التشغيل عندما يقرأ TalkBack الانتقال إلى الأمام أو إلى الخلف زيادة أو تقليل مستوى صوت \"تسهيل الاستخدام\" - قراءة النص المضمّن في صورة تم تحديدها + الحصول على وصف تلقائي لهذه الصورة لأسفل لأسفل ثم لليسار التمرير للأعلى @@ -408,9 +416,7 @@ النقر مرتين بإصبعين مع تثبيتهما النقر مرتين بثلاث أصابع مع تثبيتها النقر مرتين باستخدام 4 أصابع مع تثبيتها - النقر مرتين مع الاستمرار باستخدام 3 أصابع النقر ثلاث مرات بإصبعين مع تثبيتهما - النقر ثلاث مرات مع الاستمرار باستخدام 3 أصابع \"%1$s\" أو %2$s\" للتعديل. \"%1$s\" للتعديل. إيماءة غير معروفة @@ -433,9 +439,8 @@ عند تشغيل الشاشة عند عرض شاشة القفل من الإشعار فقط - اضغط بإصبعك مع الاستمرار لاختيار أي مفتاح ثم انقر مرتين. - اضغط بإصبعك مع الاستمرار لاختيار مفتاح الحرف ثم ارفعه. انقر مرتين لاختيار المفاتيح الأخرى. - اضغط بإصبعك مع الاستمرار لاختيار أي مفتاح ثم ارفعه. + اضغط بإصبعك مع الاستمرار لاختيار المفتاح ثم انقر مرتين. + اضغط بإصبعك مع الاستمرار لاختيار المفتاح ثم ارفعه. غير مفعّلة خفيف جدًا خفيف @@ -489,6 +494,7 @@ اختيار تطبيق لتصدير التصنيفات: ‏يتضمن هذا الإصدار من TalkBack تغييرات في الإيماءات التلقائية لسهولة الاستخدام. يمكن تخصيص الإجراءات المقترنة بهذه الإيماءات ضمن إعدادات TalkBack. عندما يتم تفعيل \"الاستكشاف باللمس\"، يمكنك استخدام الإيماءات التالية لتنفيذ إجراءات معينة.\n\n%1$s الضغط طويلاً على مفتاحي رفع وخفض الصوت + يمكنك الضغط على مفتاحَي مستوى الصوت ثلاث مرات سريعًا لتعتيم الشاشة أو إلغاء تعتيمها. هل تريد تعتيم الشاشة؟ سيؤدي هذا إلى إيقاف شاشة العرض لتحسين الخصوصية كي تكون شاشتك غير مرئية للآخرين عندما تكون في الأماكن العامة. ‏هذا الإصدار من TalkBack يتضمن تغييرات في الإيماءات التلقائية لسهولة الاستخدام.\n\nالإيماءة إلى أعلى ثم إلى أسفل تتيح لك الانتقال إلى العنصر الأول على الشاشة، أما الإيماءة إلى أسفل ثم إلى أعلى، فتتيح الانتقال إلى العنصر الأخير.\n\nيمكن الآن تغيير دقة القراءة من خلال التركيز على عنصر، ثم تحديد الدقة من قائمة سياقات TalkBack.\n\nيمكنك تغيير الإجراءات التي يتم تنفيذها من خلال هذه الإيماءات في إعدادات TalkBack. @@ -504,9 +510,6 @@ ‏هل تريد فعلًا تفعيل تصحيح الأخطاء شجرة العقد؟\n\nيؤدي تصحيح أخطاء شجرة العقد إلى كشف محتوى شاشتك لسجلات الجهاز، التي يمكن أن تقرأها التطبيقات الأخرى. هل تريد تفعيل إحصاءات الأداء؟ ‏هل تريد فعلًا تفعيل إحصاءات الأداء؟\n\nقد تستهلك هذه الإحصاءات مزيدًا من سعة الذاكرة والطاقة. - هل تريد تفعيل التسجيل المطوَّل؟ - ‏يمكن أن يساعدك التسجيل المطوَّل في تصحيح الأخطاء ولكن قد يتسبب في ظهور المعلومات الشخصية في المخزن المؤقت لسجلات النظام.\n\n هل تريد تفعيل التسجيل المطوَّل؟ - نعم، أريد تفعيل التسجيل المطوَّل هل تريد السماح بالوصول إلى الهاتف؟ ‏يساعد هذا الإذن TalkBack في تقليل الإعلانات عندما تكون في مكالمة. متابعة @@ -564,11 +567,9 @@ مستوى صوت \"تسهيل الاستخدام\" تعديل شريط التمرير ضبط القيمة - الإجراءات قول كلمات المرور - قول كل كلمات المرور + يتم دائمًا قول كلمات المرور الصوت والاهتزاز - الصوت تم نسخ %1$s إغلاق إغلاق البحث @@ -591,7 +592,7 @@ ‏إليك بعض العبارات التي يمكنك قولها:\n\n• نسخ\n• القراءة بدءًا من العنصر التالي\n• بحث [حفظ]\n• التحدث [أسرع]\n• إعدادات TalkBack\n\nقُل \"%1$s\" للاطّلاع على قائمة بجميع الطلبات الصوتية. استخدام الطلبات الصوتية ‏تخطي إيماءات TalkBack لاستخدام إيماءات النظام - ‏عند سماع رنين، يمكنك استخدام إيماءة نظام التشغيل غير المتاحة في TalkBack. ‏وتُعرف هذه العملية بإيماءة تجاوز Talkback. + ‏عند سماع رنين، يمكنك استخدام إيماءة نظام التشغيل غير المتاحة في TalkBack. وتُعرف هذه العملية بإيماءة التخطي. عبارة البحث Talkback ‏قناة إشعارات TalkBack @@ -607,15 +608,13 @@ %1$s لقراءة %2$s ‏لاستخدام هذا، انتقِل إلى TalkBack وأضِف إيماءة لـ \"%1$s\" ‏لوحة مفاتيح برايل غير مفعّلة. يمكنك الانتقال إلى إعدادات TalkBack وإعداد لوحة مفاتيح برايل ثم إعادة المحاولة. - تتوفّر اقتراحات - تتوفّر اقتراحات. للوصول إليها، يُرجى %1$s. الصفحة %1$d من %2$d الصفحة السابقة الصفحة التالية إغلاق إنهاء الانتقال إلى أعلى - ‏الميزات الجديدة في TalkBack + ‏الميزات الجديدة في TalkBack هل تريد إغلاق الدليل التوجيهي؟ ‏يمكنك الرجوع إليه في أي وقت في إعدادات TalkBack. البقاء في الدليل التوجيهي @@ -659,14 +658,6 @@ ‏انقر لمعرفة كيفية استخدام TalkBack بشكلٍ أسرع باستخدام الميزات الجديدة. تمت طباعة شجرة العُقَد إلى السجلات. إليك الإيماءات التي تم تنفيذها مؤخرًا، يُرجى الإبلاغ عن الإيماءة الخاطئة وعما هو متوقع. - ‏ستحصل على عناصر مبسّطة للتحكّم في الصوت وفي الإجراءات السريعة والمزيد.\n\nستتعرّف في الصفحات القليلة التالية على التغييرات والتعديلات الأساسية في الإصدار الجديد. سيستغرق ذلك حوالى 5 دقائق فقط من وقتك.\n\nيمكنك مراجعة هذه المعلومات في إعدادات TalkBack في أي وقت. - التغييرات في التحكّم في الصوت - ‏لتحسين تجربة التحكّم في الصوت، لن تتحكّم مفاتيح مستوى الصوت في مؤشرات النص أو أشرطة التمرير بعد الآن.\n\لتغيير موضع شريط التمرير، مرِّر سريعًا للأعلى أو للأسفل.\n\nلتغيير موضع مؤشر النص، مرِّر سريعًا للأعلى أو للأسفل في مربّع نص. تنطبق هذه الإجراءات أيضًا على عناصر التحكّم في القراءة في لوحة مفاتيح برايل. - النص في الصور - ‏يمكنك الحصول على المزيد من التفاصيل عن النص في الصور تلقائيًا أو عندما تحتاج إليها.\n\nالصور التي لا تحتوي على تصنيف: ستقرأ ميزة TalkBack تلقائيًا النص الذي يظهر.\n\nكل الصور: افتح قائمة TalkBack واختَر \"وصف النص في الصورة\".\n\nتظل الصور على جهازك ولا يتم إرسالها إلى Google مطلقًا. يعني هذا أنه يمكنك استخدام هاتين الميزتين بلا اتصال بالإنترنت. - التنقّل بين النوافذ - ‏يمكنك التبديل بين الأقسام المختلفة على الشاشة، مثل شريط التنبيهات والمحتوى الرئيسي ولوحة المفاتيح.\n\n\nلاستخدام ميزة التمرير بين النوافذ، مرِّر سريعًا للأسفل باستخدام 4 أصابع. - ‏يمكنك التبديل بين الأقسام المختلفة على الشاشة، مثل شريط التنبيهات والمحتوى الرئيسي ولوحة المفاتيح.\n\nلاستخدام ميزة التمرير بين النوافذ، مرِّر سريعًا للأسفل ثم للأعلى. واصِل التمرير إلى أن تختار ميزة التنقّل بين النوافذ. للانتقّال إلى النافذة، مرِّر سريعًا للأسفل. الدليل التوجيهي ‏مرحبًا بك في TalkBack ‏TalkBack هو قارئ شاشة مصمّم لاستخدامه في المواقف التي يصعب فيها رؤية الشاشة أو مع الأشخاص الذين يجدون صعوبة في ذلك. توفّر لك هذه الميزة وصف شفهي للشاشة كي تتمكن من استخدام الجهاز بدون النظر إلى الشاشة.\n\nيمكنك تفعيل ميزة TalkBack أو إيقافها عن طريق الضغط مع الاستمرار على كلا مفتاحَي مستوى الصوت لعدة ثوانٍ.\n\nعندما تكون ميزة TalkBack مفعّلة، يتم قول العنصر الذي يتم التركيز عليه على الشاشة بصوت عالٍ.\n\nسيؤدي التمرير سريعًا لليسار إلى الانتقال إلى العنصر التالي، أما التمرير سريعًا لليمين، فيؤدي إلى الانتقال للعنصر السابق.\n\nمرِّر سريعًا لليسار الآن للعثور على زر \"التالي\". @@ -709,14 +700,14 @@ ‏حرِّك إصبعك على لوحة المفاتيح. عندما تسمع الحرف الذي تريد كتابته، ارفع إصبعك.\n\nجرِّب تفعيل مربّع النص أدناه وكتابة اسمك. ‏يمكنك أيضًا الكتابة باستخدام لوحة مفاتيح برايل. يمكنك العثور عليها في إعدادات TalkBack. تحريك مؤشر الكتابة - ‏عندما يكون هناك مربّع نص مفتوحًا، يمكنك نقل المؤشر بين الحروف عن طريق التمرير السريع للأعلى أو للأسفل.\n\nجرِّب تنفيذ هذا الإجراء في مربّع النص أدناه. + ‏عندما تفعِّل مربّع نص، يمكنك تحريك المؤشر بين الحروف بالضغط على مفتاحَي مستوى الصوت للأعلى أو للأسفل.\n\nجرِّب تنفيذ هذا الإجراء في مربّع النص أدناه. ‏مرحبًا بك في TalkBack تحديد نص ‏في مربّع النص، حرِّك المؤشر إلى بداية النص الذي تريد تحديده.\n\nانقر مرتين بإصبعين مع تثبيتهما لبدء وضع التحديد. حرِّك بعد ذلك المؤشر إلى نهاية النص. انقر مرتين بإصبعين مع تثبيتهما مرة أخرى لإنهاء وضع التحديد.\n\nجرِّب تحديد الكلمة \"مرحبًا\" في مربّع النص أدناه. - ‏في مربّع النص، حرِّك المؤشر إلى بداية النص الذي تريد اختياره.\n\nمرِّر سريعًا للأسفل ثم لليسار لفتح قائمة TalkBack. انقر مرّتين على الإجراءات ثم ابدأ وضع الاختيار. حرِّك المؤشر إلى نهاية النص.\n\nافتح قائمة TalkBack مرة أخرى، ثم انقر مرّتين على الإجراءات لإنهاء وضع الاختيار.\n\nجرِّب اختيار كلمة \"مرحبًا\" في مربّع النص أدناه. + ‏في مربّع النص، حرِّك المؤشر إلى بداية النص الذي تريد تحديده.\n\nمرِّر سريعًا للأسفل ثم لليسار لفتح قائمة TalkBack. انقر مرتين على خيارات التعديل ثم ابدأ وضع التحديد. حرِّك المؤشر إلى نهاية النص.\n\nافتح قائمة TalkBack مرة أخرى ثم انقر مرتين على خيارات التعديل لإنهاء وضع التحديد.\n\nجرِّب تحديد كلمة \"مرحبًا\" في مربّع النص أدناه. النسخ والقص واللصق - ‏بعد تحديد النص، انقر مرّتين على الإجراءات ثم انسخ النص.\n\nجرّب نسخ كلمة في مربع النص أدناه. - ‏لقص نص أو لصقه، افتح قائمة TalkBack وانقر مرّتين على الإجراءات.\n\nللصق النص، انقر ثلاث مرات باستخدام 3 أصابع.\n\nجرِّب لصق كلمة في مربع النص أدناه. + ‏بعد تحديد النص، انسخه عن طريق النقر مرتين باستخدام 3 أصابع.\n\nجرِّب نسخ كلمة في مربّع النص أدناه. + ‏لقص النص، انقر مرتين باستخدام 3 أصابع مع تثبيتها.\n\nللصق النص، انقر ثلاث مرات باستخدام 3 أصابع.\n\nجرِّب لصق الكلمة التي نسختها في مربّع النص أدناه. ‏بعد تحديد النص، يمكنك نسخه في قائمة TalkBack. مرِّر سريعًا للأسفل ثم لليسار لفتح قائمة TalkBack. انقر مرتين على خيارات التعديل ثم انسخ النص.\n\nجرِّب نسخ كلمة في مربّع النص أدناه. ‏لقص نص أو لصقه، افتح قائمة TalkBack وانقر مرتين على خيارات التعديل.\n\nجرِّب لصق كلمة في مربّع النص أدناه. لصق النص هنا @@ -759,7 +750,6 @@ مرِّر سريعًا لليمين أو لليسار للتنقّل بين العناصر. انقر مرتين لتفعيل عنصر. اسحب إصبعين للتنقّل. - يُرجى التحقق ممّا إذا كان هاتفك متصلاً. حدود سميكة اللون تلقائي @@ -771,12 +761,6 @@ رمادي تم إغلاق الاستطلاع. النص: %1$s - وصف النص في الصورة - الرمز الذي تم التعرّف عليه تلقائيًا: %1$s - الإجراء غير متوافق. - لم يتم اختيار إجراء. - يُرجى اختيار إجراء متوافق. - ما من إجراءات - لم يتم تفعيل ضبط الإجراءات. - لم يتم العثور على نص + وصف الصورة + الرمز الذي تم رصده %1$s diff --git a/talkback/src/main/res/values-as/strings.xml b/talkback/src/main/res/values-as/strings.xml index e10b5bb93..52604d29f 100644 --- a/talkback/src/main/res/values-as/strings.xml +++ b/talkback/src/main/res/values-as/strings.xml @@ -7,7 +7,6 @@ পাঠৰ পৰা কথনৰ ছেটিংসমূহ ভাষাবোৰ কথিত ভাষা - কাৰ্য ছিষ্টেমৰ কাৰ্যসমূহ সংস্কৰণ %1$s নিজৰ উপযোগিতা অনুসৰি সৃষ্টি কৰা লেবেলসমূহ পৰিচালনা কৰক @@ -20,7 +19,7 @@ কাৰ্য আৰম্ভ হ’ল কাৰ্য বন্ধ হ’ল কোনো পাঠ বাছনি কৰা হোৱা নাই - %1$s চাৰ্জ হৈ আছে , বেটাৰীৰ স্তৰ %2$s শতাংশ। + %1$s চ্চার্জ হৈ আছে , বেটাৰি ব্যৱহাৰৰ অৱস্থা %2$s শতাংশ। চ্চাৰ্জ হৈ আছে %1$s %1$s (%2$s) মচা হ’ল @@ -31,37 +30,46 @@ ডিভাইচ আনলক কৰা হ’ল। অডিঅ’ কথনৰ ভলিউম - স্ক্ৰীন বন্ধ হৈ থাকিলে শুনিব পৰা জাননী - সদায়েই সূচীবদ্ধ কৰা বস্তুৰ সংখ্যা কওক - আটাইবোৰ স্ক্ৰলিং পদ্ধতিৰ হিচাপ কওক + স্ক্ৰীন অফ থাকোঁতে কথা কওক + স্ক্ৰীন অফ থকা সময়ত জাননীসমূহ কোৱা হয় + স্ক্ৰীন অফ থকা সময়ত কথা কোৱা নহয় + স্ক্ৰীনত সূচীবদ্ধ কৰা বস্তুবোৰৰ নাম কওক + আঙুলিৰ স্পৰ্শৰে নিৰ্দেশ দিওঁতে মাত্ৰ কওক + সদায় কোৱা কথন বন্ধ কৰিবলৈ নৈকট্য ছেন্সৰটোক ঢাকক - উদাহৰণৰ সৈতে আখৰ উচ্চাৰণ কৰক - আপুনি যেতিয়া কীব’ৰ্ডৰ কী বাছনি কৰে অথবা বৰ্ণ অনুসৰি নেভিগে’ট কৰে, আপুনি প্ৰতিটো বৰ্ণৰ বাবে এটাকৈ উদাহৰণ শুনিবলৈ পাব, যেনে \"এইচ্ছ, হোটেল\" - যতিচিহ্ন আৰু চিহ্ন উচ্চাৰণ কৰক + ধ্বনিগত বর্ণসমূহ কওক + ধ্বনিগত বৰ্ণবোৰ কোৱা নহয় + কীব\'র্ডৰ কীবোৰ দীৰ্ঘসময়লৈকে টিপি বৰ্ণ অনুসৰি নেভিগেশ্বন কৰিলে ধ্বনিগত বৰ্ণবোৰ কোৱা হয়। + যতিচিহ্ন + যতিচিহ্ন আৰু চিহ্নবোৰ কোৱা নহয় + যতিচিহ্ন আৰু চিহ্নবোৰ কোৱা হয় বৰফলাৰ বৰ্ণ একো নকৰিব “বৰফলা” বুলি কওক কণ্ঠস্বৰৰ তীব্ৰতা সলনি কৰক ধ্বনি প্লে’ কৰক ব্যৱহাৰ সম্পৰ্কীয় ইংগিতসমূহ কওক - সমলটো বৰ্ণনা কৰাৰ পাছত, কেনেদৰে ব্যৱহাৰ কৰিব লাগে তাৰ পৰামৰ্শ দিয়ক - কোৱাৰ সূচী আৰু গ্ৰিডৰ তথ্য + সাধ্য সুবিধাসমূহৰ ফ\'কাছ স্থানান্তৰ কৰি থকা সময়ত ব্য়ৱহাৰ সম্পৰ্কীয় ইংগিতবোৰ কোৱা নহয় + নেভিগেশ্বন কৰাৰ সময়ত ব্য়ৱহাৰ সম্পৰ্কীয় ইংগিতবোৰ কিছু সময় পলমকৈ কোৱা হয়। + তালিকা আৰু গ্ৰিডৰ তথ্য়সমূহ কওক + তালিকা আৰু গ্ৰিডৰ তথ্য় কোৱা হয় + তালিকা আৰু গ্ৰিডৰ তথ্য় কোৱা নহয় নিৰ্দেশসমূহ ৰিছেট কৰিবনে? - এই কাৰ্যই সকলো নিৰ্দেশক সেইসমূহৰ ডিফ’ল্ট কাৰ্যলৈ ৰিছেট কৰিব।\n\nআপুনি কৰা আটাইবোৰ সালসলনি হেৰুৱাব। + এই কাৰ্যই সকলো নিৰ্দেশক সেইসমূহৰ ডিফ’ল্ট কাৰ্যলৈ ৰিছেট কৰিব।\n\nআপুনি আপোনাৰ দ্বাৰা কৰা সকলো সালসলনি হেৰুৱাব। ৰিছেট কৰক নিৰ্দেশৰ ছেটিং ৰিছেট কৰা হ’ল। উপাদানৰ ধৰণ কওক - ফ’কাছ কৰা বস্তুৰ বাবে + ফ\'কাছ কৰা বস্তুবোৰৰ বাবে উপাদানৰ ধৰণ কোৱা হয় + ফ\'কাছ কৰা বস্তুবোৰৰ বাবে উপাদানৰ ধৰণ কোৱা নহয় উপাদানৰ ID সমূহ কওক - লেবেল নকৰা বুটামৰ বাবে - ছিষ্টেম ৱিণ্ড’ৰ শিৰোনাম কওক - যেতিয়া আপুনি স্থিতি দণ্ড, জাননী অথবা ভলিউম নিয়ন্ত্ৰণৰ দৰে অন্য ছিষ্টেম ৱিণ্ড’লৈ সলনি কৰে + লেবেল নথকা বুটামসমূহৰ বাবে উপাদানৰ ID সমূহ কোৱা নহয় + লেবেল নথকা বুটামসমূহৰ বাবে উপাদানৰ ID সমূহ কোৱা হয় স্পৰ্শৰ দ্বাৰা অন্বেষণ কৰক নিয়ন্ত্ৰণসমূহ সক্ৰিয় কৰিবলৈ এবাৰ টিপক সক্ৰিয় কৰিবৰ বাবে ফ’কাছত থকা এটা বস্তুত এবাৰ টিপক শব্দৰ বাহুল্য়তা - যতিচিহ্ন আৰু চিহ্ন উচ্চাৰণ কৰক + যতিচিহ্ন ফ’কাছৰ সূচক কাষ্টমাইজ কৰক নিৰ্দেশসমূহ কাষ্টমাইজ কৰক উপযোগিতা অনুসৰি সৃষ্টি কৰা লেবেলসমূহ @@ -203,7 +211,8 @@ স্বৰ স্তৰৰ সলনিসমূহ ব্যৱহাৰ কৰক কীব\'ৰ্ডৰ প্ৰতিধ্বনি উপাদানৰ বিৱৰণীৰ ক্ৰম - মচা বৰ্ণসমূহ অধিক উচ্চ কণ্ঠস্বৰত কওক + কীব’ৰ্ডৰ পৰা মচা পাঠটো অধিক উচ্চ কণ্ঠস্বৰত কওক + কথা কোৱাৰ সময়ত কণ্ঠ স্বৰৰ স্তৰ সলনি নকৰিব ব্ৰেইল কীব\'র্ড কম্পনৰ প্ৰতিক্ৰিয়া ধ্বনিৰ প্ৰতিক্ৰিয়া @@ -211,6 +220,7 @@ কথা পতাৰ সময়ত অন্য অডিঅ\'ৰ ভলিউম কমাওক ধ্বনি প্ৰতিক্ৰিয়াৰ ভলিউম TalkBack স্থগিত ৰাখক আৰু শ্বৰ্টকাট পুনৰ আৰম্ভ কৰক + স্ক্ৰীনৰ শ্বৰ্টকাট লুকুৱাওক বিকাশকর্তাৰ ছেটিং লগৰ বাবে কাৰ্যক্ৰম বাছনি কৰক সাধ্য় সুবিধাসমূহৰ কাৰ্যক্ৰমৰ লগিং ফিল্টাৰ কৰক @@ -256,7 +266,7 @@ TalkBackৰ মেনুখন খোলক প্ৰতিক্ৰিয়া পজ কৰক কথন পজ অথবা পুনৰ আৰম্ভ কৰক - কথন অন অথবা অফ কৰক + TalkBackৰ ধ্বনি অন অথবা অফ কৰক শীর্ষৰ পৰা পঢ়ক পৰৱর্তী বস্তুৰ পৰা পঢ়ক ন\'ড ট্ৰী প্ৰিণ্ট কৰক @@ -278,10 +288,9 @@ সাধ্য সুবিধাৰ শ্বৰ্টকাটটো টিপি ধৰি ৰাখক নেভিগেশ্বনৰ ফ’কাছ আগলৈ নিয়ক অথবা পঢ়াৰ নিয়ন্ত্ৰণ তললৈ মিলাওক নেভিগেশ্বনৰ ফ’কাছ পিছলৈ নিয়ক অথবা পঢ়াৰ নিয়ন্ত্ৰণ ওপৰলৈ মিলাওক - বৰ্তমান বাছনি কৰা কাৰ্যটো সক্ৰিয় কৰক সন্ধানৰ ফলাফল মিডিয়া প্লে’ অথবা পজ কৰক - আটাইবোৰ এপ্‌ + সকলো এপ্‌ ব্ৰেইল কীব’র্ডলৈ সলনি কৰক টিউট’ৰিয়েল খোলক অনুশীলনৰ নিৰ্দেশ @@ -323,14 +332,14 @@ পঢ়া বিশেষ সুবিধাসমূহ অন্য - প্ৰতিলিপি কৰা, পে’ষ্ট কৰা, বাছনি কৰা আৰু অন্য বহুতকে সাঙুৰি বৰ্তমান বস্তুটোৰ বাবে কাৰ্যকলাপ থাকিলে দেখুৱায় + বৰ্তমান বস্তুটোৰ বাবে কাষ্টম কৰা কাৰ্যকলাপ থাকিলে দেখুৱায় প্ৰতিলিপি কৰা, পে’ষ্ট কৰা, বাছনি কৰা আৰু অন্য বহুতো। আপুনি কোনো পাঠ বাকচ বাছনি কৰিলে দেখুৱায়। এটা ফ’কাছ কৰা বস্তুৰ ভিতৰত লিংকসমূহ খোলে পৰৱৰ্তী অথবা পূৰ্বৱৰ্তী পৃষ্ঠালৈ যাওক। আপুনি একাধিক পৃষ্ঠাৰ সমল পঢ়ি থাকোঁতে দেখুৱায়। আপুনি কোনো লেবেল নথকা বস্তু বাছনি কৰিলে দেখুৱায় বৰ্ণ, শব্দ, শাৰী আৰু অন্য বহুত অনুসৰি পঢ়ক - শীৰ্ষৰ পৰা আৰম্ভ কৰি স্ক্ৰীনখনত থকা আটাইবোৰ বস্তু পঢ়ক - পৰৱৰ্তী বস্তুটোৰ পৰা আৰম্ভ কৰি স্ক্ৰীনখনত থকা আটাইবোৰ বস্তু পঢ়ক + শীৰ্ষৰ পৰা আৰম্ভ কৰি স্ক্ৰীনখনত থকা সকলো বস্তু পঢ়ক + পৰৱৰ্তী বস্তুটোৰ পৰা আৰম্ভ কৰি স্ক্ৰীনখনত থকা সকলো বস্তু পঢ়ক TalkBackএ কোৱা অন্তিম বাক্যাংশ প্ৰতিলিপি কৰি ক্লিপব’ৰ্ডত থওক যাতে আপুনি পাঠটো পে’ষ্ট কৰিব পাৰে TalkBackএ কোৱা অন্তিম বাক্যাংশৰ প্ৰতিটো বৰ্ণ এটা এটাকৈ কওক TalkBackএ কোৱা অন্তিম বাক্যাংশ পুনৰ শুনক @@ -342,7 +351,6 @@ পাঠৰ পৰা কথনৰ ছেটিং খোলক TalkBackৰ কণ্ঠধ্বনিৰ জৰিয়তে মতামত দিয়াৰ সুবিধাটো অফ কৰক সম্পাদনা কৰিব নোৱৰা - কাৰ্য সম্পাদন কৰক এবাৰত এটাকৈ বৰ্ণ পঢ়ক এবাৰত এটাকৈ শব্দ পঢ়ক এবাৰত এটাকৈ শাৰী পঢ়ক @@ -365,7 +373,7 @@ TalkBackএ কথা কোৱাৰ সময়ত প্লে’ হৈ থকা অন্য অডিঅ’ৰ ভলিউম কম কৰক আগলৈ অথবা পিছলৈ স্ক্ৰ’ল কৰক সাধ্য সুবিধাৰ ভলিউম বঢ়াওক অথবা কমাওক - বাছনি কৰি থোৱা এখন প্ৰতিচ্ছবিত এম্বেড হৈ থকা পাঠখিনি পঢ়ক + এই প্ৰতিচ্ছবিখনৰ বাবে এটা স্বয়ংক্ৰিয় বিৱৰণ পাওক তললৈ ছোৱাইপ কৰক প্ৰথমে তললৈ তাৰ পাছত সোঁফালে ছোৱাইপ কৰক ওপৰলৈ ছোৱাইপ কৰক @@ -408,9 +416,7 @@ ২ টা আঙুলিৰে দুবাৰ টিপক আৰু ধৰি ৰাখক ৩ টা আঙুলিৰে দুবাৰ টিপক আৰু ধৰি ৰাখক ৪ টা আঙুলিৰে দুবাৰ টিপক আৰু ধৰি ৰাখক - ৩ টা আঙুলিৰে টিপি ধৰি ৰখা ২ টা আঙুলিৰে তিনিবাৰ টিপি ধৰি ৰখা - ৩ টা আঙুলিৰে তিনিবাৰ টিপি ধৰি ৰাখক মিলাবলৈ “%1$s” অথবা “%2$s” মিলাবলৈ “%1$s” অজ্ঞাত নিৰ্দেশ @@ -433,9 +439,8 @@ যেতিয়া স্ক্ৰীন অন কৰা হয় যেতিয়া লক স্ক্ৰীন দেখুওৱা হয় কেৱল জাননীৰ পৰা স্তৰ - যিকোনো কী বাছনি কৰিবলৈ আঙুলিৰে ধৰি ৰাখক, তাৰ পাছত দুবাৰ টিপক - আখৰৰ কী বাছনি কৰিবলৈ আঙুলিৰে ধৰি ৰাখক, তাৰ পাছত এৰি দিয়ক। অন্য কীৰ বাবে দুবাৰ টিপক। - যিকোনো কী বাছনি কৰিবলৈ আঙুলিৰে ধৰি ৰাখক, তাৰ পাছত এৰি দিয়ক + কী বাছনি কৰিবলৈ আঙুলিৰে ধৰি ৰাখক, তাৰ পাছত দুবাৰ টিপক + কী বাছনি কৰিবলৈ আঙুলিৰে ধৰি ৰাখক, তাৰ পাছত আঙুলি এৰক অক্ষম কৰা হ’ল অতি কম পোহৰৰ স্তৰ পোহৰৰ স্তৰ @@ -485,6 +490,7 @@ লেবেলসমূহ ৰপ্তানি কৰিবলৈ এপ্লিকেশ্বন বাছনি কৰক: TalkBackৰ এইটো সংস্কৰণত ডিফ\'ল্ট সাধ্য় সুবিধাসমূহত কৰা সলনিসমূহ অন্তৰ্ভুক্ত আছে। এই আঙুলিৰ স্পৰ্শৰে নিৰ্দেশসমূহৰ সৈতে জড়িত কার্যসমূহক TalkBackৰ ছেটিঙত নিজৰ উপযোগিতা অনুসৰি কৰিব পাৰি। যেতিয়া স্পৰ্শৰ দ্বাৰা অন্বেষণ কৰা সুবিধা সক্ষম কৰা হয় তেতিয়া আপুনি কিছুমান কাম কৰিবলৈ তলত উল্লেখ কৰা সুবিধাসমূহ ব্যৱহাৰ কৰিব পাৰিব।\n\n%1$s ভলিউমৰ আপ আৰু ডাউন কীসমূহ দীৰ্ঘ সময় ধৰি হেঁচক + স্ক্ৰীনখন লুকুৱাবলৈ অথবা দেখুৱাবলৈ দুয়োটা ভলিউম কী খৰতকীয়াকৈ তিনিবাৰ টিপক স্ক্ৰীনখন লুকুৱাব নেকি? গোপনীয়তা উন্নত কৰিবলৈ এইটোৱে ডিছপ্লে’ অফ কৰে আৰু সেয়েহে ৰাজহুৱা স্থানত থাকিলে আপোনাৰ স্ক্ৰীনখন অন্য লোকে দেখা নাপায় এই সংস্কৰণৰ TalkBackত ডিফ’ল্ট সাধ্য সুবিধাৰ নিৰ্দেশসমূহত কৰা সালসলনিসমূহ অন্তৰ্ভুক্ত হয়।\n\nপ্ৰথমে ওপৰলৈ আৰু তাৰ পাছত তললৈ কৰা নিৰ্দেশে আপোনাক স্ক্ৰীনৰ প্ৰথম বস্তুলৈ আৰু তাৰ পাছত প্ৰথমে তললৈ আৰু পাছত ওপৰলৈ কৰা নিৰ্দেশে শেষৰ বস্তুলৈ যাবলৈ দিয়ে।\n\nকোনো বস্তুত ফ’কাছ কৰি তাৰ পাছত TalkBackৰ প্ৰসংগ মেনুৰ পৰা বিবৰণীৰ স্তৰ বাছনি কৰি পঢ়াৰ বিবৰণীৰ স্তৰ সলনি কৰিব পাৰি।\n\nআপুনি TalkBack ছেটিঙত এই নিৰ্দেশসমূহে কৰা কাৰ্যসমূহ সলনি কৰিব পাৰে। @@ -492,17 +498,14 @@ এই ছেটিংসমূহ নিৰ্ভৰযোগ্যতা সম্পৰ্কীয় সমস্যাসমূহৰ বাবে TalkBackৰ পৰা আঁতৰোৱা হৈছে:\n• ডিভাইচটোৰ নিৰ্দেশসমূহৰ কাষত টিপক\n• অবিৰতভাৱে পঢ়া আৰম্ভ কৰিবলৈ জোকাৰি দিয়ক আঙুলিৰ স্পৰ্শৰে দিয়া নিৰ্দেশসমূহ স্বীকাৰ কৰক নিজৰ উপযোগিতা অনুসৰি সৃষ্টি কৰা আঙুলিৰ স্পৰ্শৰে দিয়া নিৰ্দেশসমূহ - আটাইবোৰ অক্ষম কৰক - আটাইবোৰ সক্ষম কৰক + সকলোকে অক্ষম কৰক + সকলোকে সক্ষম কৰক স্পৰ্শৰ দ্বাৰা অন্বেষণ কার্য অক্ষম কৰিবনে? স্পৰ্শৰ দ্বাৰা অন্বেষণ কৰা সুবিধা অফ কৰিবনে?\n\n আপুনি স্ক্ৰীন স্পর্শ কৰিলে আপোনাৰ ডিভাইচে ভৱিষ্যতে শ্বর্টকার্ট নিৰ্দেশসমূহৰ প্ৰতি আৰু সঁহাৰি নজনাব বা বস্তুবোৰ নকব। ন\'ড ট্ৰীৰ ডিবাগিং সক্ষম কৰিবনে? আপুনি ন\'ড ট্ৰীৰ ডিবাগিং অন কৰিবলৈ নিশ্চিতনে?\n\nন\'ড ট্ৰীৰ ডিবাগিংএ আপোনাৰ স্ক্ৰীনৰ সমল ডিভাইচৰ ল\'গবোৰত প্ৰদর্শন কৰে, যিবোৰ অন্য এপ্লিকেশ্বনসমূহে পঢ়িব পাৰে। প্ৰদৰ্শনৰ তথ্য় সক্ষম কৰিবনে? আপুনি প্ৰদৰ্শনৰ তথ্য় অন কৰাৰ বাবে নিশ্চিতনে?\n\nপ্ৰদৰ্শনৰ তথ্য়ই অধিক মেম\'ৰি আৰু বেটাৰি ব্য়য় কৰিব। - ভাৰ্ব’ছ লগিং সক্ষম কৰিবনে? - ভাৰ্ব’ছ লগিঙে ডিবাগিঙৰ ক্ষেত্ৰত সহায় কৰিব পাৰে কিন্তু ইয়াৰ ফলত হয়তো ছিষ্টেম লগ বাফাৰত ব্যক্তিগত তথ্য প্ৰদৰ্শিত হ’ব পাৰে।\n\n আপুনি ভাৰ্ব’ছ লগিং সক্ষম কৰিব বিচাৰেনে? - হয়, ভাৰ্ব’ছ লগিং সক্ষম কৰক ফ’ন এক্সেছ কৰাৰ অনুমতি দিবনে? আপুনি কল কৰি থাকোঁতে এই অনুমতিটোৱে TalkBackক ঘোষণা হ্ৰাস কৰাত সহায় কৰে অব্যাহত ৰাখক @@ -556,11 +559,9 @@ সাধ্য সুবিধাৰ ভলিউম শ্লাইডাৰ মিলাওক মান মিলাওক - কাৰ্য পাছৱৰ্ডবোৰ কওক পাছৱৰ্ডবোৰ সকলো সময়তে কোৱা হয় ধ্বনি আৰু কম্পন - ধ্বনি প্ৰতিলিপি কৰা হ’ল, %1$s বন্ধ কৰক সন্ধান বন্ধ কৰক @@ -595,15 +596,13 @@ %2$s হিচাপে পঢ়িবলৈ %1$s এইটো ব্যৱহাৰ কৰিবলৈ TalkBackৰ ছেটিঙলৈ যাওক আৰু \'%1$s\'ৰ বাবে এটা নিৰ্দেশ যোগ দিয়ক ব্ৰেইল কীব’র্ড অন কৰা হোৱা নাই। TalkBackৰ ছেটিঙলৈ যাওক, ব্ৰেইল কীব’র্ড ছেট আপ কৰক আৰু পুনৰ চেষ্টা কৰক। - পৰামৰ্শ উপলব্ধ - পৰামৰ্শ উপলব্ধ। %1$s এক্সেছ কৰিবলৈ %2$d খন পৃষ্ঠাৰ %1$d নম্বৰখন পূৰ্বৱৰ্তী পৰৱৰ্তী বন্ধ কৰক সম্পূৰ্ণ কৰক ওপৰলৈ যাওক - টকবেকত থকা নতুন সুবিধা + TalkBackৰ নতুন সুবিধাসমূহ টিউট’ৰিয়েল বন্ধ কৰিবনে? আপুনি TalkBackৰ ছেটিঙত যিকোনো সময়তে ইয়ালৈ উভতি আহিব পাৰে। টিউট’ৰিয়েলত থাকক @@ -627,7 +626,7 @@ নতুন নিৰ্দেশসমূহ TalkBackক ক্ষিপ্ৰ আৰু সহজে ব্যৱহাৰ কৰিব পৰা কৰি তুলিবলৈ নতুন নিৰ্দেশসমূহ যোগ দিয়া হৈছে।\n\nএই স্ক্ৰীনখনত আপুনি নতুন নিৰ্দেশসমূহ পৰীক্ষা কৰি চাব পাৰে। এটা ভিডিঅ’ অথবা মিউজিক এপত মিডিয়া পজ অথবা প্লে’ কৰিবলৈ ২ টা আঙুলিৰে দুবাৰ টিপক। এতিয়াই চেষ্টা কৰি চাওক। - অন্য এপ্‌সমূহে এটা ফ’ন কলৰ উত্তৰ দিয়া অথবা সমাপ্ত কৰাৰ দৰে কাৰ্যৰ বাবে হয়তো এই নিৰ্দেশটো ব্যৱহাৰ কৰিব পাৰে। এই নিৰ্দেশটো আটাইবোৰ এপৰ দ্বাৰা সমৰ্থিত নহ’বও পাৰে। + অন্য এপ্‌সমূহে এটা ফ’ন কলৰ উত্তৰ দিয়া অথবা সমাপ্ত কৰাৰ দৰে কাৰ্যৰ বাবে হয়তো এই নিৰ্দেশটো ব্যৱহাৰ কৰিব পাৰে। এই নিৰ্দেশটো সকলো এপৰ দ্বাৰা সমৰ্থিত নহ’বও পাৰে। মিডিয়া পজ অথবা প্লে’ কৰা হৈছে। সাধাৰণতে, এইটোৱে বৰ্তমানৰ ভিডিঅ’টো অথবা সংগীত প্লে’ অথবা পজ কৰিব। অব্যাহত ৰাখিবলৈ সোঁফালে ছোৱাইপ কৰক। TalkBackএ সাময়িকভাবে কথা কোৱা বন্ধ কৰিবলৈ, ২ টা আঙুলিৰে টিপক। TalkBackৰ কথন বন্ধ কৰা হৈছে। সাধাৰণতে, এইটোৱে TalkBackএ বৰ্তমান কৈ থকা বাক্যাংশ বন্ধ কৰিব। অব্যাহত ৰাখিবলৈ সোঁফালে ছোৱাইপ কৰক। @@ -647,14 +646,6 @@ নতুন নিৰ্দেশসমূহৰ সৈতে TalkBack কেনেকৈ দ্ৰুততাৰে ব্যৱহাৰ কৰিব পাৰি জানিবলৈ টিপক। লগত ন’ড ট্ৰী প্ৰিণ্ট কৰা হৈছে। শেহতীয়াকৈ এইসমূহ নিৰ্দেশ ব্যৱহাৰ কৰা হৈছে, অনুগ্ৰহ কৰি কোনটো নিৰ্দেশ ভুল সেই বিষয়ে অভিযোগ দিয়ক আৰু সঠিক নিৰ্দেশ কি হোৱা উচিত সেয়া আমাক জনাওক। - আপুনি সৰলীকৃত ভলিউমৰ নিয়ন্ত্ৰণ, অধিক ক্ষিপ্ৰ কাৰ্যৰ নিয়ন্ত্ৰণ আৰু বহুতো পাব।\n\nআপুনি পৰৱৰ্তী কেইখনমান স্ক্ৰীনত মুখ্য আপডে’ট আৰু সালসলনিসমূহৰ বিষয়ে জানিব। এই কাৰ্যটোৰ বাবে প্ৰায় ৫ মিনিট সময় লাগিব।\n\nআপুনি যিকোনো সময়তে টকবেকৰ ছেটিঙত এই তথ্যখিনি পৰ্যালোচনা কৰিব পাৰে। - ভলিউমৰ নিয়ন্ত্ৰণৰ সালসলনি - ভলিউমৰ নিয়ন্ত্ৰণ উন্নত কৰিবলৈ, ভলিউমৰ কীয়ে পাঠৰ কাৰ্ছৰ অথবা শ্লাইডাৰসমূহ আৰু নিয়ন্ত্ৰণ নকৰে।\n\nশ্লাইডাৰৰ স্থানটো সলনি কৰিবলৈ, ওপৰলৈ অথবা তললৈ ছোৱাইপ কৰক।\n\nপাঠৰ কাৰ্ছৰডালৰ স্থান সলনি কৰিবলৈ, এটা পাঠৰ বাকচত ওপৰলৈ অথবা তললৈ ছোৱাইপ কৰক। এইটোৱে ব্ৰেইলি কী’বৰ্ডৰ পঢ়াৰ নিয়ন্ত্ৰণটো কাম কৰে। - প্ৰতিচ্ছবিত থকা পাঠ - আপুনি স্বয়ংক্ৰিয়ভাৱে অথবা আপোনাক আৱশ্যক হ’লে প্ৰতিচ্ছবিত থকা পাঠৰ বিষয়ে অধিক সবিশেষ পাব পাৰে।\n\nকোনো লেবেল নথকা প্ৰতিচ্ছবিৰ বাবে: টকবেকে প্ৰদৰ্শিত পাঠটো স্বয়াক্ৰিয়ভাৱে পঢ়িব।\n\nআটাইবোৰ প্ৰতিচ্ছবিৰ বাবে: টকবেক মেনুখন খোলক আৰু \"প্ৰতিচ্ছবিত থকা পাঠ বৰ্ণনা কৰক\"।\n\nIপ্ৰতিচ্ছবিসমূহ আপোনাৰ ডিভাইচত থাকে আৰু Googleলৈ কেতিয়াও পঠিওৱা নহয়। ইয়াৰ অৰ্থ হৈছে আপুনি এই দুয়োটা সুবিধা কোনো ইণ্টাৰনেট সংযোগৰ অবিহনে ব্যৱহাৰ কৰিব পাৰে। - ৱিণ্ড’ নেভিগেশ্বন - আপুনি আপোনাৰ স্ক্ৰীনৰ বিভিন্ন শাখাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিব পাৰে, যেনে জাননীৰ দণ্ড, মূল সমল আৰু কীব’ৰ্ড।\n\nৱিণ্ড’ নেভিগেশ্বন ব্যৱহাৰ কৰিবলৈ, ৪ টা আঙুলিৰে তললৈ ছোৱাইপ কৰক। - আপুনি আপোনাৰ স্ক্ৰীনৰ বিভিন্ন শাখাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিব পাৰে, যেনে জাননীৰ দণ্ড, মূল সমল আৰু কীব’ৰ্ড।\n\nৱিণ্ড’ নেভিগেশ্বন ব্যৱহাৰ কৰিবলৈ, প্ৰথমে তললৈ তাৰ পাছত ওপৰলৈ ছোৱাইপ কৰক। আপোনাৰ ওচৰত বাছনি কৰা ৱিণ্ড’ নেভিগেশ্বন নথকা পৰ্যন্ত গৈ থাকক। ৱিণ্ড’খনলৈ নেভিগে’ট কৰিবলৈ, তললৈ ছোৱাইপ কৰক। টিউট’ৰিয়েল TalkBackলৈ স্বাগতম TalkBack হৈছে স্ক্ৰীন দেখাত অসুবিধা হোৱা পৰিস্থিতি অথবা লোকসকলৰ উদ্দেশ্যে তৈয়াৰ কৰা এটা স্ক্ৰীন পঢ়াৰ সুবিধা। এইটোৱে আপোনাক কথিত মতামত প্ৰদান কৰে যাতে আপুনি স্ক্ৰীনখনলৈ নোচোৱাকৈ আপোনাৰ ডিভাইচটো ব্যৱহাৰ কৰিব পাৰে।\n\nআপুনি কেইছেকেণ্ডমান ভলিউম কী দুটা ধৰি থাকি TalkBack অন অথবা অফ কৰিব পাৰে।\n\nTalkBack অন কৰা থাকিলে, স্ক্ৰীনত ফ’কাছ কৰা বস্তুটো ডাঙৰকৈ পঢ়ি দিয়া হয়।\n\nসোঁফালে ছোৱাইপ কৰিলে পৰৱৰ্তী বস্তুটোলৈ যাব আৰু বাওঁফালে ছোৱাইপ কৰিলে পূৰ্বৱৰ্তী বস্তুটোলৈ যাব।\n\nপৰৱৰ্তী বুটামটো বিচাৰিবলৈ এতিয়া সোঁফালে ছোৱাইপ কৰক। @@ -697,14 +688,14 @@ কীব’ৰ্ডখনৰ ওপৰত আপোনাৰ আঙুলি বুলাওক। আপুনি টাইপ কৰিবলৈ বিচৰা আখৰটো শুনিলে আপোনাৰ আঙুলি উঠাওক।\n\nতলৰ পাঠ বাকচটো সক্ৰিয় কৰি চাওক আৰু আপোনাৰ নামটো টাইপ কৰক। আপুনি ব্ৰেইল কীব’ৰ্ডখনৰ জৰিয়তেও টাইপ কৰিব পাৰে। এইটো TalkBackৰ ছেটিঙত পাওক। কাৰ্ছৰ লৰচৰ কৰা - আপুনি এটা পাঠ বাকচ সক্ৰিয় কৰাৰ সময়ত, কাৰ্ছৰডাল ওপৰলৈ অথবা তললৈ ছোৱাইপ কৰি আখৰসমূহৰ মাজত লৰচৰ কৰিব পাৰে।\n\nতলৰ পাঠ বাকচত এইটো কৰি চাওক। + আপুনি এটা পাঠ বাকচ সক্ৰিয় কৰাৰ সময়ত, ভলিউম কীসমূহ ওপৰলৈ অথবা তললৈ টিপি কাৰ্ছৰডাল আখৰসমূহৰ মাজত লৰচৰ কৰিব পাৰে।\n\nতলৰ পাঠ বাকচত এইটো কৰি চাওক। TalkBackলৈ স্বাগতম পাঠ বাছনি কৰা কাৰ্ছৰডাল এটা পাঠ বাকচত আপুনি বাছনি কৰিব বিচৰা পাঠৰ আৰম্ভণিলৈ নিয়ক।\n\nবাছনি কৰাৰ ম’ড আৰম্ভ কৰিবলৈ ২ টা আঙুলিৰে দুবাৰ টিপক আৰু ধৰি ৰাখক। তাৰ পাছত কাৰ্ছৰডাল পাঠটোৰ শেষলৈ নিয়ক। বাছনি কৰাৰ ম’ড সমাপ্ত কৰিবলৈ পুনৰ ২ টা আঙুলিৰে দুবাৰ টিপক আৰু ধৰি ৰাখক।\n\nতলৰ পাঠ বাকচটোত থকা \"স্বাগতম\" শব্দটো বাছনি কৰিবলৈ চেষ্টা কৰক। - এটা পাঠ বাকচত, আপুনি বাছনি কৰিব বিচৰা পাঠৰ আৰম্ভণিলৈ কাৰ্ছৰডাল নিয়ক।\n\nTalkBackৰ মেনুখন খুলিবলৈ প্ৰথমে তললৈ আৰু তাৰ পাছত সোঁফাললৈ ছোৱাইপ কৰক। কাৰ্যসমূহত দুবাৰ টিপক আৰু তাৰ পাছত বাছনি কৰাৰ ম’ডটো আৰম্ভ কৰক। কাৰ্ছৰডাল পাঠটোৰ শেষলৈ নিয়ক।\n\nTalkBackৰ মেনুখন পুনৰ খোলক, তাৰ পাছত বাছনি কৰাৰ ম’ড সমাপ্ত কৰিবলৈ কাৰ্যসমূহত দুবাৰ টিপক।\n\nতলৰ পাঠৰ বাকচটোত থকা \"স্বাগতম\" শব্দটো বাছনি কৰিবলৈ চেষ্টা কৰক। + কাৰ্ছৰডাল এটা পাঠ বাকচত আপুনি বাছনি কৰিব বিচৰা পাঠৰ আৰম্ভণিলৈ নিয়ক।\n\nTalkBackৰ মেনুখন খুলিবলৈ প্ৰথমে তললৈ আৰু তাৰ পাছত সোঁফাললৈ ছোৱাইপ কৰক। সম্পাদনাৰ বিকল্পসমূহত দুবাৰ টিপক আৰু তাৰ পাছত বাছনি কৰাৰ ম’ড আৰম্ভ কৰক। কাৰ্ছৰডাল পাঠটোৰ শেষলৈ নিয়ক।\n\nTalkBackৰ মেনুখন পুনৰ খোলক, তাৰ পাছত বাছনি কৰাৰ ম’ড সমাপ্ত কৰিবলৈ সম্পাদনাৰ বিকল্পসমূহত দুবাৰ টিপক।\n\nতলৰ পাঠ বাকচটোত থকা \"স্বাগতম\" শব্দটো বাছনি কৰিবলৈ চেষ্টা কৰক। প্ৰতিলিপি কৰক, কাট কৰক আৰু পে\'ষ্ট কৰক - পাঠ বাছনি কৰাৰ পাছত দুবাৰ টিপি ধৰি ৰাখক আৰু তাৰ পাছত প্ৰতিলিপি কৰক।\n\nতলৰ পাঠ বাকচটোত এটা শব্দ প্ৰতিলিপি কৰিবলৈ চেষ্টা কৰক। - পাঠ কাট অথবা পে’ষ্ট কৰিবলৈ TalkBackৰ মেনু খোলক আৰু সম্পাদনাৰ বিকল্পসমূহত দুবাৰ টিপক।\n\nপাঠ পে’ষ্ট কৰিবলৈ, 3 টা আঙুলিৰে তিনিবাৰ টিপক।\n\nতলৰ পাঠ বাকচটোত এটা শব্দ পে’ষ্ট কৰিবলৈ চেষ্টা কৰক। + পাঠটো বাছনি কৰাৰ পাছত, ৩ টা আঙুলিৰে দুবাৰ টিপি এইটোৰ প্ৰতিলিপি কৰক।\n\nতলৰ পাঠ বাকচটোত থকা এটা শব্দ প্ৰতিলিপি কৰিবলৈ চেষ্টা কৰক। + পাঠ কাট কৰিবলৈ ৩ টা আঙুলিৰে দুবাৰ টিপক আৰু ধৰি ৰাখক।\n\nপাঠ পে’ষ্ট কৰিবলৈ ৩ টা আঙুলিৰে তিনিবাৰ টিপক।\n\nতলৰ পাঠ বাকচটোত এটা শব্দ পে’ষ্ট কৰিবলৈ চেষ্টা কৰক। পাঠ বাছনি কৰাৰ পাছত আপুনি TalkBackৰ মেনুত সেইটোৰ প্ৰতিলিপি কৰিব পাৰে। TalkBackৰ মেনুখন খুলিবলৈ তললৈ আৰু তাৰ পাছত সোঁফাললৈ ছোৱাইপ কৰক। সম্পাদনাৰ বিকল্পসমূহত দুবাৰ টিপক আৰু তাৰ পাছত প্ৰতিলিপি কৰক।\n\nতলৰ পাঠ বাকচটোত এটা শব্দ প্ৰতিলিপি কৰিবলৈ চেষ্টা কৰক। পাঠ কাট অথবা পে’ষ্ট কৰিবলৈ TalkBackৰ মেনু খোলক আৰু সম্পাদনাৰ বিকল্পসমূহত দুবাৰ টিপক।\n\nতলৰ পাঠ বাকচটোত এটা শব্দ পে’ষ্ট কৰিবলৈ চেষ্টা কৰক। ইয়াত পাঠ পে\'ষ্ট কৰক @@ -747,7 +738,6 @@ বস্তুবোৰৰ মাজত ইফাল সিফাল কৰিবলৈ সোঁ অথবা বাওঁফালে ছোৱাইপ কৰক কোনো বস্তু সক্ৰিয় কৰিবলৈ দুবাৰ টিপক স্ক্ৰ’ল কৰিবলৈ ২ টা আঙুলিৰে টানি আনি এৰক - অনুগ্ৰহ কৰি, ফ\'নটো সংযোগ কৰি থোৱা আছেনে নাই সেয়া পৰীক্ষা কৰক। মোটা সীমা ৰং ডিফ’ল্ট @@ -759,12 +749,6 @@ ধোঁৱাবৰণীয়া সমীক্ষাটো বন্ধ কৰা হৈছে পাঠ: %1$s - প্ৰতিচ্ছবিখনত থকা পাঠখিনি বৰ্ণনা কৰক - চিনাক্ত কৰা চিহ্ন: %1$s - কাৰ্যটো সমৰ্থিত নহয়। - কোনো কাৰ্য বাছনি কৰা হোৱা নাই। - অনুগ্ৰহ কৰি এটা সমৰ্থিত কাৰ্য বাছনি কৰক। - কোনো কাৰ্য নাই। - কাৰ্যৰ ছেটিং সক্ষম কৰা হোৱা নাই। - কোনো পাঠ বিচাৰি পোৱা নগ’ল + প্ৰতিচ্ছবিখনৰ বিৱৰণ দিয়ক + অনুমান কৰা চিহ্ন: %1$s diff --git a/talkback/src/main/res/values-az/strings.xml b/talkback/src/main/res/values-az/strings.xml index a5e88de41..65323f2ca 100644 --- a/talkback/src/main/res/values-az/strings.xml +++ b/talkback/src/main/res/values-az/strings.xml @@ -7,7 +7,6 @@ Mətndən-nitqə ayarları Dillər Danışıq dili - Əməliyyatlar Sistem əməliyyatları Versiya %1$s Fərdi Etiketləri İdarə Edin @@ -31,37 +30,46 @@ Cihaz kilidi açıldı. Audio Nitqin səs həcmi - Ekran qapalı olan zaman bildirişləri səsləndirin - Həmişə siyahı elementlərinin sayını səsləndirin - Bütün sürüşdürmə metodları üçün sayı səsləndirin + Ekran qapalı olan zaman danış + Ekran sönülü olarkən bildirişlər səsləndirilir + Ekran sönülü olarkən danışıq olmur + Ekrandakı siyahı elementlərinin sayı səslənsin + Yalnız sürüşdürmə hərəkətləri istifadə edildikdə səsləndirin + Həmişə səsləndirin Nitqi dayandırmaq üçün yaxınlıq sensorunu örtün - Hərfləri misallarla səsləndirin - Klaviatura düymələrini seçdiyiniz zaman və ya simvol üzrə naviqasiya etdiyiniz zaman hər hərflə birlikdə \"h, hotel\" kimi bir nümunə eşidəcəksiniz - Punktuasiya və simvolları səsləndirin + Fonetik hərfləri səsləndirin + Fonetik hərflər səsləndirilmir + Klaviatura açarlarına davamlı basdıqda və simvol üzrə hərəkət etdikdə fonetik hərflər səsləndirilir + Punktuasiya + Punktuasiya və simvollar səsləndirilmir + Punktuasiya və simvollar səsləndirilir Böyük hərflər Heç nə etməyin “Böyük” deyin Tonu dəyişin Səsli oxudun İstifadə işlətmələrini səsləndirin - Məzmunu təsvir etdikdən sonra necə istifadə etməyi təklif edin + Əlçatımlılıq fokusu hərəkət edərkən istifadə işlətmələri səsləndirilmir + Qısa gecikmədən sonrakı istifadə işlətmələri naviqasiya ərzində səsləndirilir Siyahı və şəbəkə məlumatını səsləndirin + Siyahı və şəbəkə məlumatı səsləndirilir + Siyahı və şəbəkə məlumatı səsləndirilmir Jestlər sıfırlansın? Bununla bütün jestlər defolt əməliyyatlara sıfırlanacaq.\n\nEtdiyiniz dəyişiklikləri itirəcəksiniz. Sıfırlayın Jest ayarları sıfırlanıb. Element növünü səsləndirin - Fokuslanmış elementlər üçün + Element növü fokuslanmış elementlər üçün səsləndirilir + Element növü fokuslanmış elementlər üçün səsləndirilir Element ID-lərini səsləndirin - Etiketsiz düymələr üçün - Sistem pəncərələrinin adını deyin - Status paneli, bildirişlər və ya səs nizamlayıcıları kimi digər sistem pəncərələrinə keçdiyiniz zaman + Element ID-ləri etiketsiz düymələr üçün səsləndirilmədi + Element ID-ləri etiketsiz düymələr üçün səsləndirildi Toxunuşla kəşf Nizamlayıcılar Aktivləşdirmək üçün bir dəfə toxunun Aktivləşdirmək üçün fokuslanmış elementə bir dəfə toxunun Söz yığını - Punktuasiya və simvolları səsləndirin + Punktuasiya Fokus Göstəricisini fərdiləşdirin Jestləri fərdiləşdirin Fərdi etiketlər @@ -203,7 +211,8 @@ Ton dəyişikliklərindən istifadə edin Klaviatura exosu Element təsviri sırası - Silinmiş hərfləri daha yüksək səslə deyin + Klaviatura ilə silinmiş mətni daha yüksək səslə deyin + Danışarkən səs tonunu dəyişməyin Brayl klaviaturası Vibrasiya haqqında geri əlaqə Səs haqqında geri əlaqə @@ -211,6 +220,7 @@ Danışarkən digər audio səs səviyyəsini azaldın Səsli rəyin həcmi Talkback dayandırma və yenidən başlatma qısayolu + Ekran qısayolunu gizlədin Developer ayarları Daxil etmək üçün tədbirlər seçin Filter əlçatımlığı tədbir daxiletməsi @@ -256,7 +266,7 @@ TalkBack menyusunu açın Geri əlaqəni durdur Danışığı durdurun və ya davam etdirin - Nitqi aktiv və ya deaktiv edin + TalkBack səsini aktiv və ya deaktiv edin Başdan oxuyun Növbəti elementdən etibarən oxuyun Data strukturunu çap edin @@ -278,7 +288,6 @@ Əlçatımlıq qısayolunu basıb saxlayın Naviqasiya fokusunu irəli çəkin və ya oxuma nizamlayıcısını aşağı endirin Naviqasiya fokusunu geri çəkin və ya oxuma nizamlayıcısını yuxarı qaldırın - Hazırda seçilmiş əməliyyatı aktivləşdirin Axtarış nəticəsi Medianı oxudun və ya durdurun Bütün tətbiqlər @@ -323,7 +332,7 @@ Oxuma Xüsusi funksiyalar Digər - Kopyalama, yapışdırma, seçmə kimi əməliyyatların cari element üçün mövcudluğunu göstərir + Cari element üçün fərdi əməliyyatlar mövcud olduqda göstərilir Kopyalama, əlavə etmə, seçmə və daha çoxu. Mətn bölməsi seçdiyiniz zaman göstərilir. Fokuslanmış elementdə keçidləri açın Növbəti və ya əvvəlki səhifəyə keçin. Çox səhifəli məzmunu oxuduğunuz zaman göstərilir. @@ -342,7 +351,6 @@ Mətndən-nitqə ayarlarını açın TalkBack səsli rəyini deaktiv edin Redaktə etmək mümkün deyil - Əməliyyatları icra edin Hər dəfə bir simvol oxuyun Hər dəfə bir söz oxuyun Hər dəfə bir sətir oxuyun @@ -365,7 +373,7 @@ TalkBack danışarkən digər səslərin səviyyəsini azaldın İrəli və ya geri sürüşdürün Əlçatımlılıq səsini artırın və ya azaldın - Seçilmiş şəkilə daxil edilmiş mətni ucadan oxuyun + Bu şəkil üçün avtomatik təsvir alın aşağı aşağıya, sonra sağa Yuxarı sürüşdürün @@ -408,9 +416,7 @@ 2 barmaqla iki dəfə toxunub saxlayın 3 barmaqla iki dəfə toxunub saxlayın 4 barmaqla iki dəfə toxunub saxlayın - 3 barmaqla toxunub saxlama 2 barmaqla üç dəfə toxunub saxlama - 3 barmaqla üç dəfə toxunub saxlama Tənzimləmək üçün \"%1$s\" və ya %2$s\" Tənzimləmək üçün \"%1$s\" Naməlum jest @@ -433,9 +439,8 @@ Ekran açıq olan zaman Ekran kilidi göstərilən zaman Yalnız bildirişdən - Düymə seçmək üçün barmağınızı basıb saxlayın, sonra iki dəfə toxunun - Hərf düyməsi seçmək üçün barmağınızı basıb saxlayın, sonra qaldırın. Digər düymələr üçün iki dəfə toxunun. - Hər hansı açarı seçmək üçün barmağınızı basıb saxlayın, sonra qaldırın + Açarı seçmək üçün barmağınızı basıb saxlayın, sonra iki dəfə toxunun + Açarı seçmək üçün barmağınızı basıb saxlayın, sonra qaldırın Deaktiv Çox yüngül İşıq @@ -485,6 +490,7 @@ Etiketləri eksport etmək üçün tətbiq seçin: TalkBack funksiyasının bu versiyasına defolt girişimlik jestlərinə dəyişikliklər daxildir. Bu jestlərlə əlaqəli əməliyyatlar TalkBack ayarlarında dəyişdirilə bilər. Toxunuşla Kəşf aktiv ediləndən sonra, müəyyən əməliyyatları həyata keçirmək üçün aşağıdakı jestləri edə bilərsiniz.\n\n%1$s Səsi artırmaq və azaltmaq düymələrini uzun basmaq + Ekranı gpzlətmək və ya göstərmək üçün hər iki səs düyməsini üç dəfə cəld basın Ekran gizlədilsin? Bununla ictimai yerlərdə ekranı başqalarının görməməsi üçün ekran söndürülür və məxfilik təmin edilir TalkBack funksiyasının bu versiyasına defolt girişimlik jestlərinə dəyişikliklər daxildir.\n\nYuxarı-sonra-aşağı jesti ekrandakı ilk elementə keçməyinizə yardım edəcək, aşağı-sonra-yuxarı jesti ekrandakı son elementə keçməyinizə imkan verəcək.\n\nOxunuş detalizasiyası elementə fokuslanaraq, sonra TalkBack məzmun menyusundan detalizasiyanın seçilməsi ilə dəyişə bilər.\n\nTalkBack Ayarlarında edilmiş əməliyyatları bu jestlər vasitəsilə dəyişə bilərsiniz. @@ -500,9 +506,6 @@ Debaq funksiyasını aktiv etmək istədiyinizə əminsiniz?\n\nDebaq funksiyası ekranınızın kontentini cihazınızın jurnalına yönəldir və digər tətbiqlər də onu oxuyur. Performans Statistikası aktiv edilsin? Performans statistikasını aktiv etmək ist\'diyinizə əminsiniz?\n\nPerformans statistikası daha çox yaddaş və enerji istifadəsinə səbəb ola bilər. - Ətraflı giriş aktiv edilsin? - Ətraflı giriş sazlama prosesində kömək edə bilər, lakin şəxsi məlumatların sistem jurnalı buferində görünməsinə səbəb ola bilər.\n\n Ətraflı girişi aktiv etmək istəyirsiniz? - Bəli, ətraflı girişi aktiv edin Telefona girişə icazə verilsin? Bu, TalkBack-ə zəng edərkən elanları azaltmağa kömək edir Davam edin @@ -556,11 +559,9 @@ Əlçatımlılıq səsi Slayderi tənzimləyin Dəyəri tənzimləyin - Əməliyyatlar Parolları səsləndirin Həmişə səsləndirilən parollar Səs və vibrasiya - Səs kopyalandı, %1$s Bağlayın Axtarışı bağlayın @@ -595,15 +596,13 @@ %2$s üzrə oxumaq üçün %1$s Bunu istifadə etmək üçün TalkBack ayarlarına keçin və \'%1$s\' üçün jest əlavə edin Brayl klaviaturası aktiv deyil. TalkBack ayarlarına keçin, Brayl klaviaturasını ayarlayın və yenidən sınayın. - Təkliflər əlçatandır - Təkliflər əlçatandır. Giriş üçün %1$s Səhifə %1$d/%2$d Əvvəlki Növbəti Bağlayın Bitirin Yuxarı keçin - TalkBack\'də yeni funksiyalar + TalkBack\'də yeni funksiyalar Öyrənmə sessiyası bağlansın? TalkBack ayarlarında istənilən vaxt buraya qayıda bilərsiniz. Təlimdə qalın @@ -647,14 +646,6 @@ TalkBack funksiyasını yeni jestlərlə daha sürətli istifadə etmək qaydasını öyrənmək üçün toxunun. Qovşaq strukturu girişlərə çap edilib. Bu yaxınlarda icra edilmiş jestləri təqdim edirik, hansı jestin yanlış olduğunu və nə gözlədiyinizi bildirin. - Sadələşdirilmiş səs səviyyəsi nizamlayıcıları, daha sürətli əməliyyat nizamlayıcıları və s. əldə edəcəksiniz.\n\nNövbəti ekranlarda önəmli yeniliklər haqqında məlumat əldə edəcəksiniz. Bu, təqribən 5 dəqiqə vaxt aparacaq.\n\nMəlumatları TalkBack ayarlarında istənilən vaxt nəzərdən keçirə bilərsiniz. - Səs nizamlayıcıları üzrə dəyişikliklər - Səsə nəzarəti təkmilləşdirmək üçün səs düymələri daha mətn kursorlarını və ya slayderləri idarə etmir.\n\nSlayderin yerini dəyişmək üçün yuxarı və ya aşağı sürüşdürün.\n\nMətn kursorunun yerini dəyişmək üçün mətn qutusunda yuxarı və ya aşağı sürüşdürün. Bu, brayl klaviaturası oxu nizamlayıcıları üçün də keçərlidir. - Şəkillərdə mətn - Şəkillərdəki mətn haqqında avtomatik olaraq və ya lazım olduqda ətraflı məlumat əldə edə bilərsiniz.\n\nEtiketi olmayan şəkillər üçün: TalkBack görünən mətni avtomatik oxuyacaq.\n\nBütün şəkillər üçün: TalkBack menyusunu açın və \"Şəkildəki mətni təsvir edin\" seçimini edin.\n\nŞəkillər cihazınızda qalır və heç vaxt Google\'a göndərilmir. Yəni ki, bu funksiyaların hər ikisini internet bağlantısı olmadan istifadə edə bilərsiniz. - Pəncərə naviqasiyası - Ekranınızda bildiriş paneli, əsas məzmun və klaviatura kimi müxtəlif bölmələr arasında keçid edə bilərsiniz.\n\nPəncərə naviqasiyasından istifadə etmək üçün 4 barmağınızla aşağı sürüşdürün. - Ekranınızda bildiriş paneli, əsas məzmun və klaviatura kimi müxtəlif bölmələr arasında keçid edə bilərsiniz.\n\nPəncərə naviqasiyasından istifadə etmək üçün aşağı, sonra yuxarı sürüşdürün. Pəncərə naviqasiyasını seçənə qədər davam edin. Pəncərəyə keçmək üçün aşağı sürüşdürün. Dərslik TalkBack\'ə xoş gəlmisiniz TalkBack ekranı görməkdə çətinlik olan şəxslər və ya belə vəziyyətlər üçün nəzərdə tutulmuş ekran oxuyucusudur. O, ekrana baxmadan cihazınızı istifadə edə bilməniz üçün sizə səsli rəy təmin edir.\n\nHər iki səs düyməsini bir neçə saniyə basıb saxlamaqla TalkBack\'i aktiv və ya deaktiv edə bilərsiniz.\n\nTalkBack aktiv olduqda, ekranda fokuslanan element ucadan oxunur.\n\nSağa çəkdikdə növbəti elementə keçir, sola çəkdikdə isə əvvəlki elementə keçir.\n\nNövbəti düyməsini tapmaq üçün indi sağa çəkin. @@ -697,14 +688,14 @@ Barmağınızı klaviatura boyunca hərəkət etdirin. Yazmaq istədiyiniz hərfi eşitdikdə barmağınızı götürün.\n\nAşağıda mətn qutusunu aktivləşdirməyi yoxlayın və adınızı yazın. Brayl klaviaturası ilə də yaza bilərsiniz. Onu TalkBack ayarlarında tapın. Kursorun hərəkət etdirilməsi - Mətn qutusunu aktivləşdirdiyiniz zaman yuxarı və ya aşağı sürüşdürərək kursoru hərflər arasında hərəkət etdirə bilərsiniz.\n\nBunu aşağıda mətn qutusunda yoxlayın. + Mətn qutusunu aktivləşdirdiyiniz zaman səs səviyyəsini artırma və azaltma düymələrinə basaraq kursoru hərflər arasında hərəkət etdirə bilərsiniz.\n\nBunu aşağıda mətn qutusunda yoxlayın. TalkBack\'ə xoş gəlmisiniz Mətnin seçilməsi Mətn qutusunda kursoru seçmək istədiyiniz mətnin başlanğıcına gətirin.\n\nSeçmə rejimini başlatmaq üçün 2 barmaq ilə iki dəfə toxunub saxlayın. Sonra kursoru mətnin axırına hərəkət etdirin. Seçmə rejimini sonlandırmaq üçün yenidən 2 barmaq ilə iki dəfə toxunub saxlayın.\n\nAşağıda mətn qutusunda \"Xoş gəlmisiniz\" sözünü seçməyə çalışın. - Mətn qutusunda kursoru seçmək istədiyiniz mətnin başlanğıcına gətirin.\n\nTalkBack menyusunu açmaq üçün aşağı, sonra sağa çəkin. Əməliyyatlara iki dəfə toxunun, sonra seçmə rejimini başladın. Kursoru mətnin axırına gətirin.\n\nTalkBack menyusunu yenidən açın, sonra seçmə rejimini sonlandırmaq üçün əməliyyatlara iki dəfə toxunun.\n\nAşağıda mətn qutusunda \"Xoş gəlmisiniz\" sözünü seçməyə çalışın. + Mətn qutusunda kursoru seçmək istədiyiniz mətnin başlanğıcına gətirin.\n\nTalkBack menyusunu açmaq üçün aşağı, sonra sağa çəkin. Redaktə seçimlərinə iki dəfə toxunun, sonra seçmə rejimini başladın. Kursoru mətnin axırına gətirin.\n\nTalkBack menyusunu yenidən açın, sonra seçmə rejimini sonlandırmaq üçün redaktə seçimlərinə iki dəfə toxunun.\n\nAşağıda mətn qutusunda \"Xoş gəlmisiniz\" sözünü seçməyə çalışın. Kopyala, kəs və əlavə et - Mətni seçdikdən sonra əməliyyatlara iki dəfə toxunun, sonra kopyalayın.\n\nAşağıda mətn qutusunda bir söz kopyalamağa çalışın. - Mətni kəsmək və ya əlavə etmək üçün TalkBack menyusunu açın və əməliyyatlara iki dəfə toxunun.\n\nMətni əlavə etmək üçün 3 barmaqla üç dəfə toxunun.\n\nAşağıda mətn qutusunda bir söz əlavə etməyə çalışın. + Mətni seçdikdən sonra 3 barmaq ilə iki dəfə toxunaraq onu kopyalayın.\n\nAşağıda mətn qutusunda bir söz kopyalamağa çalışın. + Mətni kəsmək üçün 3 barmaq ilə iki dəfə toxunub saxlayın.\n\nMətni əlavə etmək üçün 3 barmaq ilə üç dəfə toxunun.\n\nAşağıda mətn qutusunda bir söz əlavə etməyə çalışın. Mətni seçdikdən sonra onu TalkBack menyusunda kopyalaya bilərsiniz. TalkBack menyusunu açmaq üçün aşağıya, sonra sağa çəkin. Redaktə seçimlərinə iki dəfə toxunun və sonra kopyalayın.\n\nAşağıda mətn qutusunda bir söz kopyalamağa çalışın. Mətni kəsmək və ya əlavə etmək üçün TalkBack menyusunu açın və redaktə seçimlərinə iki dəfə toxunun.\n\nAşağıda mətn qutusunda bir söz əlavə etməyə çalışın. Mətni buraya daxil edin @@ -747,7 +738,6 @@ Elementlər arasında hərəkət etmək üçün sağa və ya sola sürüşdürün Elementi aktivləşdirmək üçün iki dəfə toxunun Sürüşdürmək üçün 2 barmağınızı çəkin - Telefonun qoşulub-qoşulmadığını yoxlayın. Qalın sərhədlər Rəng Defolt @@ -759,12 +749,6 @@ Boz Sorğu bağlanıb Mətn: %1$s - Şəkildəki mətni təsvir edin - Aşkarlanan ikona: %1$s - Əməliyyat dəstəklənmir. - Heç bir əməliyyat seçilməyib. - Dəstəklənən əməliyyat seçin. - Əməliyyat yoxdur. - Əməliyyat ayarı aktiv deyil. - Mətn tapılmadı + Şəkli təsvir edin + Proqnozlaşdırılmış ikona: %1$s diff --git a/talkback/src/main/res/values-b+es+419/strings.xml b/talkback/src/main/res/values-b+es+419/strings.xml index 323a92f0e..14dbc6d07 100644 --- a/talkback/src/main/res/values-b+es+419/strings.xml +++ b/talkback/src/main/res/values-b+es+419/strings.xml @@ -1,13 +1,12 @@ Si TalkBack está activado, responde por voz a tus acciones para que puedas usar el dispositivo sin mirar la pantalla. Puede resultar útil para personas ciegas o con baja visión.\n\nPara navegar usando TalkBack, haz lo siguiente:\n• Desliza el dedo hacia la derecha o hacia la izquierda para moverte por los elementos.\n• Presiona dos veces un elemento para activarlo.\n• Arrastra dos dedos para desplazarte.\n\nPara desactivar TalkBack, sigue estos pasos:\n• Presiona el interruptor hasta que veas un contorno verde. Presiona el interruptor dos veces.\n• En el mensaje de confirmación, presiona Aceptar. A continuación, presiona Aceptar dos veces. - Si activas TalkBack, escucharás comentarios por voz que te ayudarán a usar el dispositivo sin mirar la pantalla. Se diseñó esta función para situaciones o personas que no logran ver la pantalla.<br><br><b>Cómo usar Talkback</b><br>• Desliza el dedo hacia la derecha o izquierda para moverte por los elementos.<br>• Presiona dos veces un elemento para activarlo.<br>•Arrastra 2 dedos para desplazarte.<br><br><b>Cómo desactivar Talkback</b><br><br><b>Teclas de volumen:</b> Mantén presionadas las teclas de volumen durante algunos segundos.<br><br><b>Configuración</b><br>• Presiona el interruptor <b>Usar Talkback</b>. Verás un borde verde. Presiona dos veces el interruptor.<br>• En el mensaje de confirmación, presiona Detener. Luego, presiona dos veces para detener. + Si activas TalkBack, escucharás comentarios por voz que te ayudarán a usar el dispositivo sin mirar la pantalla. Se diseñó esta función para situaciones o personas que no logran ver la pantalla.<br><br><b>Cómo usar Talkback</b><br>• Desliza el dedo hacia la derecha o izquierda para moverte por los elementos.<br>• Presiona dos veces un elemento para activarlo.<br>•Arrastra 2 dedos para desplazarte.<br><br><b>Cómo desactivar Talkback</b><br><br><b>Teclas de volumen:</b> Mantén presionadas las teclas de volumen durante algunos segundos.<br><br><b>Configuración</b><br>• Presiona el botón <b>Usar Talkback</b>. Verás un borde verde. Presiona dos veces el botón.<br>• En el mensaje de confirmación, presiona Detener. Luego, presiona dos veces para detener. Mencionar elementos en pantalla Configuración de TalkBack Configuración de texto a voz Idiomas Idioma de voz - Acciones Acciones del sistema Versión %1$s Etiquetas personalizadas @@ -31,37 +30,46 @@ Se desbloqueó el dispositivo. Audio Volumen de voz - Leer notificación con pantalla apagada - Leer siempre la cantidad de elementos de la lista - Leer la cantidad de métodos de desplazamiento + Leer con pantalla apagada + Se leerán notificaciones cuando la pantalla esté apagada + No leer con la pantalla apagada + Leer la cantidad de elementos de la lista en pantalla + Leer solo al desplazarse con un gesto + Leer siempre Cubrir sensor de proximidad para detener salida de voz - Leer las letras con ejemplos - Cuando seleccionas una tecla en el teclado o navegas por carácter, oirás un ejemplo para cada letra, por ejemplo, \"h, hotel\". - Leer signos de puntuación y símbolos + Pronunciar letras fonéticas + No se leen las letras fonéticas + Las letras fonéticas se leerán si mantienes presionadas las teclas del teclado y navegas por carácter + Puntuación + No se leen la puntuación ni los símbolos + Se leen la puntuación y los símbolos Letras mayúsculas No hacer nada Decir \"mayúscula\" Cambiar el tono Reproducir sonido Pronunciar sugerencias de uso - Después de describir contenido, sugerir uso - Leer información de lista y cuadrícula + No se leen las sugerencias de uso al mover el enfoque de accesibilidad + Se leen las sugerencias de uso durante la navegación con un breve retraso + Dictar información de lista y cuadrícula + Se lee la posición de los elementos en cuadrículas y listas + No se lee la posición de los elementos en cuadrículas y listas ¿Quieres restablecer los gestos? Se restablecerán todos los gestos a sus acciones predeterminadas.\n\nPerderás todos los cambios que hayas hecho. Restablecer Se restableció la configuración de gestos. Leer tipo de elemento - Para elementos destacados + Se lee qué tipo de elemento está destacado + No se lee qué tipo de elemento está destacado Leer ID de elementos en voz alta - Para botones sin etiquetas - Ventanas del sistema de voz - Cuando cambias a otras ventanas del sistema como barra de estado, notificaciones o controles de volumen + No se leen en voz alta los ID de elementos de botones sin etiquetas + Se leen en voz alta los ID de elementos de botones sin etiquetas Exploración táctil Controles Presiona una vez para activar Presiona un elemento destacado una vez para activarlo Verbosidad - Leer signos de puntuación y símbolos + Puntuación Personalizar el indicador de enfoque Personalizar gestos Etiquetas personalizadas @@ -202,8 +210,9 @@ Esta combinación de teclas ya se utiliza para la acción \"%1$s\". ¿Quieres eliminarla y asignar esta combinación de teclas para \"%2$s\"? Utilizar los cambios de tono Eco de teclado - Descripción de elementos - Pronunciar las letras borradas en una voz más aguda + Orden de descripción de los elementos + Pronunciar el texto borrado con el teclado en una voz más aguda + No cambiar el tono al hablar Teclado braille Vibración Respuesta de sonido @@ -211,6 +220,7 @@ Reducir el volumen del audio de otras aplicaciones al hablar Volumen de la respuesta Combinación de teclas para suspender y reanudar TalkBack + Acceso directo para ocultar pantalla Configuración para desarrolladores Seleccionar eventos para registrar Filtrar el registro de eventos de accesibilidad @@ -256,7 +266,7 @@ Abrir menú de TalkBack Detener comentarios Pausar o reanudar la voz - Activar o desactivar el dictado + Activar o desactivar el sonido de TalkBack Leer desde la parte superior Leer a partir del siguiente elemento Imprimir el árbol de nodos @@ -278,7 +288,6 @@ Mantener presionado el acceso directo de accesibilidad Mueve el enfoque de navegación hacia adelante o ajusta el control de lectura hacia abajo Mueve el enfoque de navegación hacia atrás o ajusta el control de lectura hacia arriba - Activa la acción seleccionada actualmente Resultado de la búsqueda Reproducir o detener cont. multimedia Todas las apps @@ -323,7 +332,7 @@ Lectura Funciones especiales Otros - Muestra las acciones existentes para el elemento actual (copiar, pegar, seleccionar y mucho más) + Se muestra cuando existen acciones personalizadas para el elemento seleccionado Copiar, pegar, seleccionar y más (se muestra cuando seleccionas un cuadro de texto) Abrir vínculos dentro de un elemento enfocado Ir a la página anterior o la siguiente (se muestra cuando lees contenido de varias páginas) @@ -342,7 +351,6 @@ Abre la configuración de texto a voz Desactiva los comentarios de voz de TalkBack No editable - Realizar acciones Leer un carácter a la vez Leer una palabra a la vez Leer una línea a la vez @@ -365,7 +373,7 @@ Bajar el volumen de otro audio que se reproduce cuando TalkBack está leyendo Desplazar hacia adelante o hacia atrás Aumentar o disminuir el volumen de accesibilidad - Leer el texto incorporado en una imagen seleccionada + Obtener una descripción automática de esta imagen abajo hacia abajo y luego hacia la derecha Deslizar hacia arriba @@ -408,9 +416,7 @@ Presionar dos veces con 2 dedos y mantener Presionar dos veces con 3 dedos y mantener Presionar dos veces con 4 dedos y mantener - Mantener presionado con 3 dedos Presionar tres veces y mantener presionado con 2 dedos - Presionar tres veces con 3 dedos y mantener presionado \"%1$s\" o \"%2$s\" para realizar ajustes \"%1$s\" para realizar ajustes Gesto desconocido @@ -433,9 +439,8 @@ Cuando se active la pantalla Cuando se muestre la pantalla bloqueada Solo a partir de notificación - Mantén presionado para seleccionar cualquier tecla y, luego, presiona dos veces - Mantén presionado para seleccionar una tecla de letra y, luego, levanta el dedo. Presiona dos veces para ver otras teclas. - Mantén presionado para seleccionar cualquier tecla y, luego, levanta el dedo + Mantén presionado para seleccionar la tecla y, luego, presiona dos veces + Mantén presionado para seleccionar la tecla y, luego, levanta el dedo Inhabilitado Muy suave Suave @@ -485,6 +490,7 @@ Elige la aplicación para exportar etiquetas: Esta versión de TalkBack incluye cambios en los gestos de accesibilidad predeterminados. Puedes personalizar las acciones asociadas a estos gestos en la configuración de TalkBack. Si la Exploración táctil está habilitada, puedes usar estos gestos para realizar acciones determinadas.\n\n%1$s Mantener presionadas las teclas para subir y bajar el volumen + Presiona ambas teclas de volumen tres veces rápidamente para ocultar o mostrar la pantalla ¿Quieres ocultar la pantalla? Esta opción desactiva la pantalla para mejorar la privacidad, ya que no permite que otros usuarios la vean en lugares públicos Esta versión de TalkBack incluye cambios en los gestos de accesibilidad predeterminados.\n\nEl gesto de ir hacia arriba y, luego, hacia abajo te permite desplazarte al primer elemento de la pantalla, y el gesto de ir hacia abajo y, luego, hacia arriba te llevará al último elemento.\n\nAhora puedes cambiar el nivel de detalle de lectura. Para ello, debes enfocar un elemento y seleccionar el nivel de detalle deseado en el menú contextual de TalkBack.\n\nPuedes modificar las acciones que se realizan mediante estos gestos en la configuración de TalkBack. @@ -500,9 +506,6 @@ ¿Confirmas que quieres activar la depuración de árbol de nodos?\n\nEsta opción muestra el contenido de la pantalla en los registros del dispositivo, y es posible que otras aplicaciones puedan leerlo. ¿Quieres habilitar las estadísticas de rendimiento? ¿Estás seguro de que quieres activar las estadísticas de rendimiento?\n\nLas estadísticas de rendimiento pueden consumir más memoria y batería. - ¿Quieres habilitar el registro detallado? - El registro detallado puede ayudar con la depuración, pero podría hacer que aparezca información personal en el búfer de registro del sistema.\n\n ¿Quieres habilitarlo? - Sí, habilitar el registro detallado ¿Quieres permitir acceso al teléfono? Con esta opción, TalkBack reduce los avisos que recibes cuando estás en una llamada Continuar @@ -556,11 +559,9 @@ Volumen de accesibilidad Ajustar control deslizante Ajustar valor - Acciones - Decir contraseñas + Leer contraseñas en voz alta Las contraseñas se leen en voz alta Sonido y vibración - Sonido se copió %1$s Cerrar Cerrar búsqueda @@ -595,15 +596,13 @@ %1$s para leer por %2$s Si quieres usar esta función, ve a la configuración de TalkBack y agrega un gesto para \"%1$s\" El teclado braille no está activado. Ve a la configuración de TalkBack, establécelo y reintenta. - Sugerencias disponibles - Sugerencias disponibles. Para acceder, %1$s Página %1$d de %2$d Anterior Siguiente Cerrar Finalizar Navegar hacia arriba - Nuevas funciones de TalkBack + Nuevas funciones de TalkBack ¿Quieres cerrar el instructivo? Puedes regresar en cualquier momento desde la configuración de TalkBack. Permanecer en el instructivo @@ -647,14 +646,6 @@ Presiona para aprender a usar TalkBack más rápido con gestos nuevos. El árbol de nodos se imprimió como registros. Estos son los gestos que se realizaron recientemente. Informa qué gesto es incorrecto y cómo debería ser. - Tendrás acceso a controles de volumen simplificados, controles de acciones más rápidas y mucho más.\n\nEn las próximas pantallas, obtendrás más información sobre actualizaciones y cambios. Esto tomará alrededor de 5 minutos.\n\nPuedes consultar esta información en la configuración de TalkBack en cualquier momento. - Cambios en el control del volumen - A fin de mejorar el control del volumen, las teclas de volumen ya no controlan los cursores de texto ni los controles deslizantes .\n\nPara cambiar la posición de un control deslizante, desliza el dedo hacia arriba o hacia abajo.\n\nPara cambiar la posición del cursor de texto, desliza el dedo hacia arriba o hacia abajo dentro de un cuadro de texto. Esta función también está disponible en los controles de lectura de los teclados braille. - Texto en imágenes - Puedes obtener más detalles del texto en imágenes automáticamente o cuando lo necesites.\n\nEn las imágenes que no tienen ninguna etiqueta, TalkBack leerá automáticamente el texto que aparezca en ella.\n\nPara el resto de las imágenes, abre el menú de TalkBack y selecciona \"Describir el texto en una imagen\".\n\nLas imágenes permanecen en el dispositivo y nunca se envían a Google. Esto significa que puedes usar ambas funciones sin conexión a Internet. - Navegación entre ventanas - Puedes alternar entre diferentes secciones de la pantalla, como la barra de notificaciones, el contenido principal y el teclado.\n\nPara usar la navegación entre ventanas, desliza 4 dedos hacia abajo. - Puedes alternar entre diferentes secciones de la pantalla, como la barra de notificaciones, el contenido principal y el teclado.\n\nPara usar la navegación entre ventanas, desliza el dedo hacia abajo y, luego, hacia arriba. Continúa realizando esta acción hasta que selecciones la navegación entre ventanas. Para navegar a la ventana, desliza el dedo hacia abajo. Instructivo Te damos la bienvenida a TalkBack TalkBack es un lector de pantalla diseñado para personas que no logran ver la pantalla o situaciones que dificultan esta posibilidad. Reproduce comentarios por voz para ayudarte a usar tu dispositivo sin mirar la pantalla.\n\nPuedes activar o desactivar TalkBack manteniendo presionadas ambas teclas de volumen durante varios segundos.\n\nCuando TalkBack está activado, el elemento enfocado en la pantalla se describe en voz alta.\n\nPuedes deslizar el dedo hacia la derecha para ir al siguiente elemento o hacia la izquierda para ir al elemento anterior.\n\nDesliza el dedo hacia la derecha ahora para encontrar el botón Siguiente. @@ -697,14 +688,14 @@ Desliza el dedo por el teclado y levántalo cuando escuches la letra que quieres escribir.\n\nPrueba activar el cuadro de texto que se encuentra más abajo y escribe tu nombre. También puedes escribir con el teclado en braille. Encuéntralo en la configuración de TalkBack. Cómo mover el cursor - Cuando actives el cuadro de texto, puedes deslizar el dedo hacia arriba o hacia abajo para mover el cursor entre las letras.\n\nHaz la prueba en el cuadro de texto a continuación. + Una vez que activas un cuadro de texto, puedes presionar las teclas para subir o bajar el volumen a fin de mover el cursor entre las letras.\n\nPruébalo en el cuadro de texto que se encuentra más abajo. Te damos la bienvenida a TalkBack Cómo seleccionar texto En un cuadro de texto, mueve el cursor al principio del texto que quieras seleccionar.\n\nPresiona dos veces con 2 dedos y mantén presionado para iniciar el modo de selección. Luego, mueve el cursor al final del texto, vuelve a presionar dos veces con 2 dedos y mantén presionado para finalizar el modo de selección.\n\nEn el cuadro de texto que se encuentra más abajo, prueba seleccionar \"bienvenida\". - En un cuadro de texto, mueve el cursor al principio del texto que quieras seleccionar.\n\nDesliza el dedo hacia abajo y hacia la derecha para abrir el menú de TalkBack. Presiona dos veces las acciones a fin de activar el modo de selección. Mueve el cursor al final del texto.\n\nVuelve a abrir el menú de TalkBack y presiona dos veces las acciones para desactivar el modo de selección.\n\nEn el cuadro de texto que se encuentra más abajo, prueba seleccionar \"bienvenida\". + En un cuadro de texto, mueve el cursor al principio del texto que quieras seleccionar.\n\nDesliza el dedo hacia abajo y hacia la derecha para abrir el menú de TalkBack. Presiona dos veces las opciones de edición a fin de activar el modo de selección. Mueve el cursor al final del texto.\n\nVuelve a abrir el menú de TalkBack y presiona dos veces las opciones de edición para desactivar el modo de selección.\n\nEn el cuadro de texto que se encuentra más abajo, prueba seleccionar \"bienvenida\". Cómo copiar, cortar y pegar - Luego de seleccionar el texto, presiona dos veces las acciones y copia.\n\nPrueba copiar una palabra en el cuadro de texto que se encuentra a continuación. - Para cortar o pegar texto, abre el menú de TalkBack y presiona dos las acciones.\n\nPara pegar texto, presiona tres veces con 3 dedos.\n\nPrueba pegar una palabra en el cuadro de texto que se encuentra más abajo. + Después de seleccionar el texto, presiona dos veces con 3 dedos para copiarlo.\n\nPrueba copiar una palabra del cuadro de texto que se encuentra más abajo. + Para cortar texto, presiona dos veces con 3 dedos y mantén presionado.\n\nPara pegarlo, presiona tres veces con 3 dedos.\n\nPrueba pegar una palabra dentro del cuadro de texto que se encuentra más abajo. Después de seleccionar el texto, podrás copiarlo en el menú de TalkBack. Para abrir el menú, desliza el dedo hacia abajo y hacia la derecha. Presiona dos veces las opciones de edición y, luego, copiar.\n\nPrueba copiar una palabra en el cuadro de texto que se encuentra a continuación. Para cortar o pegar texto, abre el menú de TalkBack y presiona dos veces las opciones de edición.\n\nPrueba pegar una palabra en el cuadro de texto que se encuentra más abajo. Pegar texto aquí @@ -747,7 +738,6 @@ Desliza el dedo hacia la derecha o la izquierda para desplazarte por los elementos Presiona dos veces para activar un elemento Arrastra 2 dedos para desplazarte - Verifica que el teléfono esté conectado. Bordes anchos Color Predeterminado @@ -759,12 +749,6 @@ Gris Encuesta cerrada Texto: %1$s - Describir el texto en una imagen - Ícono detectado: %1$s - No se admite la acción. - No se seleccionó ninguna acción. - Selecciona una acción admitida. - Sin acciones. - No se habilitó el parámetro de configuración de acciones. - No se encontró texto + Describir imagen + Ícono predicho: %1$s diff --git a/talkback/src/main/res/values-b+sr+Latn/strings.xml b/talkback/src/main/res/values-b+sr+Latn/strings.xml index 03a830060..1b916774f 100644 --- a/talkback/src/main/res/values-b+sr+Latn/strings.xml +++ b/talkback/src/main/res/values-b+sr+Latn/strings.xml @@ -7,7 +7,6 @@ Podešavanja pretvaranja teksta u govor Jezici Govorni jezik - Radnje Sistemske radnje Verzija %1$s Upravljanje prilagođenim oznakama @@ -20,7 +19,7 @@ Započeto Zaustavljeno Nikakav tekst nije izabran - Puni se %1$s Nivo baterije %2$s posto. + Puni se %1$s Nivo baterije %2$s odsto. Punjenje %1$s %1$s (%2$s) izbrisano je @@ -31,37 +30,46 @@ Uređaj je otključan. Zvuk Jačina zvuka govora - Govori obaveštenja kada je ekran isključen - Uvek izgovaraj broj stavki liste - Izgovara broj za sve načine skrolovanja + Govori kada je ekran isključen + Obaveštenja se izgovaraju kada je ekran isključen + Nema govora kada je ekran isključen + Izgovori broj stavki u listi na ekranu + Izgovaraj samo prilikom pomeranja pomoću pokreta + Uvek se izgovara Prekrijte senzor za blizinu da biste zaustavili govor - Izgovaraj slova sa primerima - Kada izaberete tastere na tastaturi ili se krećete prema znaku, čućete primer sa svakim slovom, poput „h, hotel“ - Izgovaraj interpunkciju i simbole + Izgovaraj fonetska slova + Fonetska slova se ne izgovaraju + Fonetska slova se izgovaraju kada pritisnete i zadržite tastere na tastaturi i krećete se po znakovima + Znaci interpunkcije + Znaci interpunkcije i simboli se ne izgovaraju + Znaci interpunkcije i simboli se izgovaraju Velika slova Ne radi ništa Reci „veliko slovo“ Promenite visinu glasa Pusti zvuk Izgovaraj savete o korišćenju - Posle opisivanja sadržaja predlažu kako da ga koristite - Izgovaraj podatke o listama i mrežama + Saveti o korišćenju se ne izgovaraju tokom premeštanja fokusa funkcije pristupačnosti + Saveti o korišćenju se izgovaraju tokom navigacije posle kratke pauze + Infor. o listama i mrežama za govor + Informacije o listama i mrežama se izgovaraju + Informacije o listama i mrežama se ne izgovaraju Želite da resetujete pokrete? Ovim ćete resetovati sve pokrete na podrazumevane radnje.\n\nIzgubićete sve promene koje ste uneli. Resetuj Podešavanja pokreta su resetovana. Izgovori tip elementa - Za fokusirane stavke + Tip elementa se izgovora za stavke u fokusu + Tip elementa se ne izgovara za stavke u fokusu. Izgovaraj ID-ove elemenata - Za neoznačenu dugmad - Izgovaraj nazive sistemskih prozora - Kada prelazite na druge sistemske prozore, poput statusne trake, obaveštenja ili kontrola jačine zvuka + ID-ovi elemenata se ne izgovaraju za neoznačenu dugmad + ID-ovi elemenata se izgovaraju za neoznačenu dugmad Istraživanje dodirom Kontrole Aktiviranje jednim dodirom Dodirnite fokusiranu stavku da biste je aktivirali Obim govora - Izgovaraj interpunkciju i simbole + Znaci interpunkcije Prilagodite indikator fokusa Prilagodite pokrete Prilagođene oznake @@ -203,7 +211,8 @@ Koristi promene frekvencije Eho tastature Raspored opisa elemenata - Izbrisana slova će se izgovarati višim glasom + Povratne informacije tastature o izbrisanom tekstu će se izgovarati višim glasom + Ne menjaj frekvenciju glasa pri govoru Tastatura sa Brajevom azbukom Obaveštenje vibracijom Obaveštenje zvukom @@ -211,6 +220,7 @@ Smanjite jačinu drugog zvuka tokom govora Jačina obaveštenja zvukom Prečica za pauziranje/nastavak Talkback-a + Prečica za skrivanje ekrana Programerska podešavanja Izaberite događaje koje ćete evidentirati Filtriraj evidentiranje događaja pristupačnosti @@ -256,7 +266,7 @@ Otvara TalkBack meni Pauzira povratne informacije Pauzira ili nastavlja govor - Uključite ili isključite govor + Uključuje ili isključuje zvuk za TalkBack Čitaj od vrha Čitaj od sledeće stavke Štampa stablo sa čvorovima @@ -278,7 +288,6 @@ Prečica za zadržavanje dugmeta za pristupačnost Pomerite fokus kretanja napred ili prilagodite kontrolu za čitanje nadole Pomerite fokus kretanja nazad ili prilagodite kontrolu za čitanje nagore - Aktiviranje trenutno izabrane radnje Rezultat pretrage Pušta ili pauzira medijski sadržaj Sve aplikacije @@ -323,7 +332,7 @@ Čitanje Specijalne funkcije Drugo - Prikazuje kada radnje postoje za aktuelnu stavku, uključujući kopiranje, lepljenje, biranje i drugo + Prikazuje se kada za aktuelnu stavku postoje prilagođene radnje Kopira, nalepljuje, bira i drugo. Prikazuje se kada izaberete okvir za tekst. Otvara linkove u okviru fokusirane stavke Ide na sledeću ili prethodnu stranicu. Prikazuje se kada čitate sadržaj sa više stranica. @@ -342,7 +351,6 @@ Otvara podešavanja pretvaranja teksta u govor Isključuje TalkBack govorne povratne informacije Ne može da se izmeni - Obavite radnje Čita jedan po jedan znak Čita jednu po jednu reč Čita jedan po jedan red @@ -365,7 +373,7 @@ Smanjuje jačinu drugih zvukova dok TalkBack govori Pomerajte unapred ili unazad Povećajte ili smanjite jačinu zvuka za pristupačnost - Pročitajte tekst sa izabrane slike + Preuzima se automatski opis slike nadole nadole, pa nadesno Prevlačenje nagore @@ -408,9 +416,7 @@ Dvostruki dodir i zadržavanje sa 2 prsta Dvostruki dodir i zadržavanje sa 3 prsta Dvostruki dodir i zadržavanje sa 4 prsta - Dodir i zadržavanje sa 3 prsta Trostruki dodir i zadržavanje sa 2 prsta - Trostruki dodir i zadržavanje sa 3 prsta %1$s ili %2$s da biste prilagodili %1$s da biste prilagodili Nepoznat pokret @@ -433,9 +439,8 @@ Kada se ekran uključi Kada se prikaže zaključani ekran Samo iz obaveštenja - Zadržite prst da biste izabrali bilo koji taster, pa dvaput dodirnite - Zadržite prst da biste izabrali taster sa slovom, pa ga podignite. Dvaput dodirnite za druge tastere. - Zadržite prst da biste izabrali bilo koji taster, pa ga podignite + Zadržite prst da biste izabrali taster, pa dvaput dodirnite + Zadržite prst da biste izabrali taster, pa ga podignite Onemogućeno je Veoma lagano Lagano @@ -486,6 +491,7 @@ Izaberite aplikaciju da biste izveli oznake: Ova verzija TalkBack-a obuhvata promene podrazumevanih pokreta pristupačnosti. Možete da prilagodite radnje povezane sa ovim pokretima u okviru podešavanja TalkBack-a. Kada je Istraživanje dodirom omogućeno, možete da koristite sledeće pokrete za obavljanje određenih radnji.\n\n%1$s Pritisnite i zadržite tastere za pojačavanje i stišavanje zvuka + Brzo pritisnite oba tastera za jačinu zvuka tri puta da biste sakrili ili prikazali ekran Želite da sakrijete ekran? Ovim isključujete ekran da biste poboljšali privatnost tako da ekran neće biti vidljiv za druge kada ste na javnim mestima Ova verzija TalkBack-a obuhvata promene podrazumevanih pokreta pristupačnosti.\n\nPokret nagore pa nadole vam omogućava da se pomerite do prve stavke na ekranu, dok vas pokret nadole pa nagore pomera do poslednje stavke.\n\nSada možete da promenite granularnost čitanja tako što ćete se fokusirati na stavku, a zatim izabrati granularnost iz TalkBack kontekstualnog menija.\n\nMožete da promenite radnje koje se obavljaju pomoću ovih pokreta u Podešavanjima TalkBack-a. @@ -501,9 +507,6 @@ Želite li stvarno da uključite otklanjanje grešaka u stablu sa čvorovima?\n\nOtklanjanje grešaka u stablu sa čvorovima otkriva sadržaj ekrana evidencijama na uređaju, koje mogu da čitaju druge aplikacije. Želite li da omogućite statistiku učinka? Želite li stvarno da uključite statistiku učinka?\n\nStatistika učinka troši više memorije i baterije. - Želite da omogućite detaljniju evidenciju? - Detaljnija evidencija može da pomogne u otklanjanju grešaka, ali lični podaci mogu da se prikazuju u međumemoriji sistemske evidencije.\n\n Da li želite da omogućite detaljniju evidenciju? - Da, omogući detaljniju evidenciju Želite da dozvolite pristup telefonu? Ovo pomaže da TalkBack smanji broj obaveštenja kada imate poziv Nastavi @@ -558,11 +561,9 @@ Jačina zvuka za pristupačnost Prilagodi klizač Podesi vrednost - Radnje Izgovaraj lozinke Lozinke se uvek izgovaraju Zvuk i vibracija - Zvuk kopirano, %1$s Zatvori Zatvori pretragu @@ -598,15 +599,13 @@ %1$s da biste pročitali do: %2$s Da biste koristili ovo, idite u TalkBack podešavanja i dodajte pokret za „%1$s“ Tastatura sa Brajevom azbukom nije uključ. Idite u TalkBack podešavanja, podesite je i probajte opet. - Dostupni su predlozi - Dostupni su predlozi. Da biste pristupili, %1$s %1$d. stranica od %2$d Prethodna Sledeća Zatvori Završi Idite nagore - Nove funkcije u TalkBack-u + Nove funkcije u TalkBack-u Želite li da zatvorite vodič? Možete da se vratite na ovo u bilo kom trenutku u podešavanjima TalkBack-a. Ostani u vodiču @@ -650,14 +649,6 @@ Dodirnite da biste saznali kako da brže koristite TalkBack pomoću novih pokreta. Stablo sa čvorovima je odštampano u evidenciju. Evo nekih pokreta koje ste nedavno obavili. Prijavite pokret koji je netačan i šta se očekuje. - Dobićete pojednostavljene kontrole za jačinu zvuka, brže kontrole za radnje i drugo.\n\nSaznaćete više o važnim ažuriranjima i promenama na nekoliko sledećih ekrana. To će trajati oko 5 minuta.\n\nOve informacije uvek možete da pregledate u podešavanjima za TalkBack. - Promene kontrola za jačinu zvuka - Da bi se poboljšala kontrola jačine zvuka, tasteri za jačinu zvuka više ne kontrolišu kursore za tekst ni klizače.\n\nDa biste promenili poziciju klizača, prevucite nagore ili nadole.\n\nDa biste promenili poziciju kursora za tekst, prevucite nagore ili nadole u okviru za tekst. Ovo radi i za kontrole čitanja na tastaturi sa Brajevom azbukom. - Tekst na slikama - Više detalja o tekstu na slikama možete da dobijete automatski ili kada vam trebaju.\n\nZa slike koje nemaju oznaku: TalkBack će automatski čitati tekst koji se prikaže.\n\nZa sve slike: Otvorite TalkBack meni i izaberite „Opiši tekst na slici“.\n\nSlike ostaju na uređaju i nikada se ne šalju Google-u. To znači da možete da koristite obe funkcije bez internet veze. - Kretanje po prozorima - Možete da prelazite sa jednog odeljka na drugi na ekranu, na primer na traku sa obaveštenjima, glavni sadržaj i tastaturu.\n\nDa biste koristili kretanje po prozorima, prevucite nadole pomoću 4 prsta. - Možete da prelazite sa jednog odeljka na drugi na ekranu, na primer na traku sa obaveštenjima, glavni sadržaj i tastaturu.\n\nDa biste koristili kretanje po prozorima, prevucite nadole, pa nagore. Nastavite dok ne izaberete kretanje po prozorima. Da biste se kretali do prozora, prevucite nadole. Vodič Dobro došli u TalkBack TalkBack je čitač ekrana predviđen za situacije ili osobe sa problemima pri pregledu sadržaja ekrana. Pruža vam govorne povratne informacije da biste mogli da koristite uređaj bez gledanja u ekran.\n\nMožete da uključite ili isključite TalkBack tako što ćete zadržati oba tastera za jačinu zvuka nekoliko sekundi.\n\nKada je TalkBack uključen, fokusirana stavka na ekranu se izgovara naglas.\n\nPrevlačenjem udesno prelazite na sledeću stavku, a prevlačenjem ulevo na prethodnu.\n\nPrevucite udesno odmah da biste pronašli sledeće dugme. @@ -700,14 +691,14 @@ Pomerajte prst po tastaturi. Kada čujete slovo koje želite da unesete, podignite prst.\n\nProbajte da aktivirate okvir za tekst u nastavku i unesite ime. Možete da unosite tekst i pomoću tastature sa Brajevom azbukom. Pronađite to u TalkBack podešavanjima. Pomeranje kursora - Kada aktivirate okvir za tekst, možete da pomerate kursor između slova prevlačenjem nagore ili nadole.\n\nProbajte to u okviru za tekst u nastavku. + Kada aktivirate okvir za tekst, možete da pomerate kursor između slova pritiskom tastera za jačinu zvuka nagore ili nadole.\n\nProbajte to u okviru za tekst u nastavku. Dobro došli u TalkBack Biranje teksta U okviru za tekst pomerite kursor na početak teksta koji želite da izaberete.\n\nDvaput dodirnite i zadržite pomoću 2 prsta da biste pokrenuli režim izbora. Zatim pomerite kursor na kraj teksta. Ponovo dvaput dodirnite i zadržite pomoću 2 prsta da biste zaustavili režim izbora.\n\nProbajte da izaberete reč Dobro došli u okviru za tekst u nastavku. - U okviru za tekst pomerite kursor na početak teksta koji želite da izaberete.\n\nPrevucite nadole, pa udesno, da biste otvorili TalkBack meni. Dvaput dodirnite radnje, pa pokrenite režim izbora. Pomerite kursor na kraj teksta.\n\nPonovo otvorite TalkBack meni, pa dvaput dodirnite radnje da biste zaustavili režim izbora.\n\nProbajte da izaberete reč Dobro došli u okviru za tekst u nastavku. + U okviru za tekst pomerite kursor na početak teksta koji želite da izaberete.\n\nPrevucite nadole, pa udesno, da biste otvorili TalkBack meni. Dvaput dodirnite opcije za izmene, pa pokrenite režim izbora. Pomerite kursor na kraj teksta.\n\nPonovo otvorite TalkBack meni, pa dvaput dodirnite opcije za izmene da biste zaustavili režim izbora.\n\nProbajte da izaberete reč Dobro došli u okviru za tekst u nastavku. Kopiranje, isecanje i nalepljivanje - Kada izaberete tekst, dvaput dodirnite radnje, pa kopirajte.\n\nProbajte da kopirate reč u okviru za tekst u nastavku. - Da biste isekli ili nalepili tekst, otvorite TalkBack meni i dvaput dodirnite radnje.\n\nDa biste nalepili tekst, triput dodirnite sa 3 prsta.\n\nProbajte da nalepite reč u okviru za tekst u nastavku. + Kada izaberete tekst, kopirajte ga tako što ćete dvaput dodirnuti pomoću 3 prsta.\n\nProbajte da kopirate reč u okviru za tekst u nastavku. + Da biste isekli tekst, dvaput dodirnite i zadržite pomoću 3 prsta.\n\nDa biste nalepili tekst, triput dodirnite pomoću 3 prsta.\n\nProbajte da nalepite reč u okviru za tekst u nastavku. Kada izaberete tekst, možete da ga kopirate u TalkBack meni. Prevucite nadole, pa udesno, da biste otvorili TalkBack meni. Dvaput dodirnite opcije za izmene i zatim kopirajte.\n\nProbajte da kopirate reč u okviru za tekst u nastavku. Da biste isekli ili nalepili tekst, otvorite TalkBack meni i dvaput dodirnite opcije za izmene.\n\nProbajte da nalepite reč koju ste kopirali u okviru za tekst u nastavku. Nalepite tekst ovde @@ -750,7 +741,6 @@ Prevlačite udesno ili ulevo da biste se kretali između stavki Dvaput dodirnite da biste aktivirali stavku Prevucite dva prsta da biste skrolovali - Proverite da li je telefon povezan. Debele ivice Boja Podrazumevano @@ -762,12 +752,6 @@ Siva Anketa je zatvorena Tekst: %1$s - Opišite tekst na slici - Otkrivena ikona: %1$s - Radnja nije podržana. - Nijedna radnja nije izabrana. - Izaberite podržanu radnju. - Nema radnji. - Podešavanje radnji nije omogućeno. - Tekst nije pronađen + Opiši sliku + Predviđena ikona: %1$s diff --git a/talkback/src/main/res/values-be/strings.xml b/talkback/src/main/res/values-be/strings.xml index 8ce0110e9..cfca8ab15 100644 --- a/talkback/src/main/res/values-be/strings.xml +++ b/talkback/src/main/res/values-be/strings.xml @@ -7,7 +7,6 @@ Налады сінтэзу маўлення Мовы Мова вуснага маўлення - Дзеянні Дзеянні ў сістэме Версія %1$s Кіраванне карыстальніцкімі меткамі @@ -31,37 +30,46 @@ Прылада разблакіравана. Аўдыя Гучнасць гаворкі - Агучваць абвесткі пры выключаным экране - Заўсёды агучваць колькасць элементаў у спісе - Агучваць колькасць элементаў на экране для ўсіх метадаў прагортвання + Гаварыць, калі экран выключаны + Апавяшчэнні прагаворваюцца, калі экран выключаны + Гаворка адключаная, калi выключаны экран + Агучваць колькасць элементаў у спісе на экране + Агучваць толькі пры пракрутцы экрана жэстам + Заўсёды агучваць Закрыйце датчык збліжэння, каб спыніць маўленне - Агучваць літары з прыкладамі слоў - Калі вы націскаеце клавішы клавіятуры ці перамяшчаецеся па сімвалах, вы чуеце разам з кожнай літарай прыклад слова, напрыклад \"г, гасцініца\" - Агучваць знакі прыпынку і сімвалы + Прагаворванне фанетычных сімвалаў + Фанетычныя сімвалы не прагаворваюцца + Фанетычныя сімвалы прагаворваюцца пры доўгім націсканні на клавіятуру і навігацыі па сімвале + Знакі пунктуацыі + Знакі пунктуацыі і сімвалы не агучваюцца + Знакі пунктуацыі і сімвалы агучваюцца Вялікія літары Нічога не рабіць Сказаць \"вялікая літара\" Змяніць вышыню голасу Прайграць гук Прагаворваць падказкі па выкарыстанні - Пасля апісання змесціва прапаноўваюцца спосабы выкарыстання - Агучваць інфармацыю са спіса або сеткі + Падказкі па выкарыстанні не прагаворваюцца пры перамяшчэнні фокуса службы спецыяльных магчымасцей + Падчас навігацыі падказкі па выкарыстанні прагаворваюцца пасля кароткай затрымкі + Прагаворваць месца ў спісе або ў сетцы + Даныя пра месца ў спісе ці сетку прагаворваюцца + Даныя пра месца ў спісе або сетку не прагаворваюцца Скінуць жэсты? Гэта дзеянне скіне ўсе жэсты да стандартных значэнняў.\n\nВы страціце ўсе зробленыя вамі змяненні. Скінуць Налады жэстаў скінуты. Прагаворваць тып элемента - Для элементаў, на якія наведзены курсор + Тып элемента прагаворваецца для элементаў у фокусе + Тып элемента не прагаворваецца для элементаў у фокусе Агучваць ідэнтыфікатары элемента - Для кнопак без метак - Агучваць назвы вокнаў сістэмы - Пры пераключэнні на іншыя вокны сістэмы, напрыклад на панэль стану, апавяшчэнні ці рэгулятары гучнасці + Для кнопак без подпісу ідэнтыфікатары элемента не прагаворваюцца + Ідэнтыфікатары элемента прагаворваюцца для кнопак без подпісу Азнаямленне дотыкам Сродкі кіравання Актывізацыя адным дотыкам Для актывізацыі пэўнага элемента дакрануцца да яго адзін раз Дэталізацыя - Агучваць знакі прыпынку і сімвалы + Знакі пунктуацыі Індыкатар наладжвання фокуса Наладзіць жэсты Карыстальніцкія меткі @@ -203,7 +211,8 @@ Змяняць танальнасць гуку Рэха клавіятуры Парадак апісання элемента - Агучваць павышаным тонам выдаленне літар + Агучваць павышаным тонам падказку клавіятуры пра выдаленне тэксту + Не змяняць вышыню голасу падчас гаворкі Клавіятура Брайля Вiбрацыя (звар. сувязь) Гукавая зваротная сувязь @@ -211,6 +220,7 @@ Змяншаць гучнасць іншых праграм падчас гаворкi Гучнасць гукавога сігналу Спалучэнне клавіш для прыпынення і ўзнаўлення TalkBack + Хуткі доступ да зацямнення экрана Налады распрацоўшчыка Выбраць падзеі для ўнясення ў журнал Фільтр унясення падзей спецыяльных магчымасцей у журнал @@ -256,7 +266,7 @@ Адкрыць меню TalkBack Прыпыненне зваротнай сувязі Прыпыніць або ўзнавіць гаворку - Уключыць або выключыць маўленне + Уключыць або выключыць гук TalkBack Чытанне зверху Чытаць з наступнага элемента Адпраўка дрэва вузлоў @@ -278,7 +288,6 @@ Утрымліваць кнопку спецыяльных магчымасцей Перайсці далей або запаволіць хуткасць чытання Перайсці назад ці паскорыць хуткасць чытання - Актываваць бягучае выбранае дзеянне Вынік пошуку Прайграць або прыпыніць мультымедыя Усе праграмы @@ -323,7 +332,7 @@ Чытанне Спецыяльныя функцыі Іншае - Паказвае, калі для бягучага элемента даступныя дзеянні, у тым ліку капіраванне, устаўка, вылучэнне і г. д. + Адлюстроўваецца, калі для гэтага элемента ёсць спецыяльныя дзеянні Капіраванне, устаўка, вылучэнне і іншыя дзеянні. Адлюстроўваецца, калі выбрана тэкставае поле. Адкрыццё спасылак у выбраным элеменце Пераход да наступнай ці папярэдняй старонкі. Адлюстроўваецца, калі вы чытаеце змесціва з некалькімі старонкамі. @@ -342,7 +351,6 @@ Адкрыццё налад сінтэзу маўлення Выключэнне агучвання TalkBack Нельга змяніць - Выканаць дзеянні Чытанне па сімвалах Чытанне па словах Чытанне па радках @@ -365,7 +373,7 @@ Зніжэнне гучнасці іншых аўдыя падчас агучвання ў TalkBack Прагартаць уперад або назад Рэгуляванне гучнасці для спецыяльных магчымасцей - Зачытаць тэкст, устаўлены ў выбраны відарыс + Загрузіць аўтаматычнае апісанне гэтага відарыса уніз уніз, затым управа Правядзенне пальцам уверх @@ -408,9 +416,7 @@ Двойчы націснуць двума пальцамі і ўтрымліваць іх на экране Двойчы націснуць трыма пальцамі і ўтрымліваць іх на экране Двойчы націснуць чатырма пальцамі і ўтрымліваць іх на экране - Дотык і ўтрыманне трыма пальцамі Трайны дотык і ўтрыманне двума пальцамі - Трайны дотык і ўтрыманне трыма пальцамі Каб наладзіць, выканайце жэст \"%1$s\" або %2$s\" Каб наладзіць, выканайце жэст \"%1$s\" Невядомы жэст @@ -433,9 +439,8 @@ Калі ўключаецца экран Калі паказаны экран блакіроўкі Толькі з апавяшчэння - Для выбару любой клавішы затрымаць палец, а потым двойчы націснуць - Для выбару клавішы з літарай затрымаць палец, а потым падняць яго. Двойчы націснуць для выбару іншых клавіш. - Для выбару любой клавішы затрымаць палец, а потым падняць яго + Для выбару клавішы затрымаць палец, а потым двойчы націснуць + Для выбару клавішы затрымаць палец, а потым падняць яго Адключана Вельмi лёгка Лёгка @@ -487,6 +492,7 @@ Выбраць праграму для экспарту метак: У гэтай версіі TalkBack зменены стандартныя жэсты спецыяльных магчымасцяў. Дзеяннi, звязаныя з гэтымi жэстамi, можна змяніць у наладах. Калi ўключана функцыя «Азнаямленне дакрананнем», вы можаце выкарыстоўваць наступныя жэсты, каб выконваць пэўныя дзеяннi.\n\n%1$s Доўгае націсканне кнопак рэгулявання гучнасці + Хуткае націсканне на абедзве клавішы гучнасці тры разы зацямняе ці паказвае экран Зацямніць экран? Гэта дзеянне выключае дысплэй, каб павысіць прыватнасць. Ваш экран становіцца нябачным для іншых у грамадскіх месцах У гэтай версіі TalkBack зменены стандартныя жэсты спецыяльных магчымасцей.\n\nЖэст \"уверх, затым уніз\" дазваляе перайсці да першага элемента на экране, а жэст \"уніз, затым уверх\" – да апошняга элемента.\n\nСтупень дэталізацыі чытання цяпер можна змяніць, вылучыўшы элемент і выбраўшы ступень дэталізацыі ў кантэкстным меню TalkBack.\n\nВы можаце змяніць дзеянні, якія выконваюцца з дапамогай гэтых жэстаў, у наладах TalkBack. @@ -502,9 +508,6 @@ Вы ўпэўненыя, што хочаце ўключыць адладку дрэва вузлоў?\n\nПадчас адладкі дрэва вузлоў змесціва вашага экрана пападае ў журналы вашай прылады, якія могуць быць прачытаныя іншымі праграмамі. Уключыць статыстыку прадукцыйнасці? Вы ўпэўнены, што хочаце ўключыць статыстыку прадукцыйнасці?\n\nСтатыстыка прадукцыйнасці можа спажываць больш памяці і зараду акумулятара. - Уключыць падрабязнае вядзенне журнала? - Падрабязнае вядзенне журналаў можа спрыяць адладцы, але пры гэтым у буферы сістэмнага журнала можа з\'явіцца асабістая інфармацыя.\n\n Уключыць падрабязнае вядзенне журналаў? - Да, уключыць падрабязнае вядзенне журналаў Дазволіць доступ да тэлефона? Гэта дзеянне дапаможа TalkBack паменшыць колькасць апавяшчэнняў, якія будуць перашкаджаць падчас выкліку Далей @@ -560,11 +563,9 @@ Гучнасць для спецыяльных магчымасцей Наладзіць паўзунок Наладзіць значэнне - Дзеянні Прагаворваць паролі Заўсёды прагаворваць паролі Гук і вібрацыя - Гук скапіравана: %1$s Закрыць Закрыць пошук @@ -601,15 +602,13 @@ %1$s, каб чытаць па: %2$s Каб выкарыстоўваць гэты жэст, адкрыйце налады TalkBack і дадайце жэст для наступнага: \"%1$s\" Клавіятура Брайля выключана. Перайдзіце ў налады TalkBack, наладзьце клавіятуру Брайля і паўтарыце. - Прапануем варыянты - Прапануем варыянты. Каб атрымаць доступ, %1$s Старонка %1$d з %2$d Назад Далей Закрыць Завяршыць Перайсці ўверх - Новыя функцыі ў TalkBack + Новыя функцыі ў TalkBack Закрыць дапаможнік? Вы можаце ў любы час вярнуцца да дапаможніка ў наладах TalkBack. Застацца ў дапаможніку @@ -653,14 +652,6 @@ Націсніце, каб даведацца, як хутчэй выкарыстоўваць TalkBack з дапамогай новых жэстаў. Дрэва вузлоў надрукавана ў журналах. Перад вамі жэсты, выкананыя за апошні час. Паведаміце, які з іх з\'яўляецца няправільным і які жэст павінен выкарыстоўвацца замест яго. - Цяпер стала прасцей змяняць гучнасць і хутка выконваць патрэбныя дзеянні.\n\nНа наступных старонках вы можаце азнаёміцца з інфармацыяй пра асноўныя змяненні. Гэта зойме ў вас каля 5 хвілін.\n\nТаксама вы заўсёды можаце знайсці гэтыя звесткі ў наладах TalkBack. - Змяненні ў кіраванні гучнасцю - Кіраваць гучнасцю стала прасцей! Для перамяшчэння тэкставага курсора і паўзунка цяпер не трэба выкарыстоўваць клавішы гучнасці.\n\nКаб змяніць пазіцыю паўзунка, правядзіце пальцам уверх або ўніз.\n\nКаб змяніць пазіцыю тэкставага курсора, правядзіце пальцам уверх або ўніз у тэкставым полі. Гэтыя жэсты таксама можна выкарыстоўваць на клавіятуры Брайля для кіравання чытаннем. - Тэкст на відарысах - TalkBack можа агучваць тэкст на відарысах.\n\nКалі відарыс не мае меткі, TalkBack будзе аўтаматычна агучваць любы выяўлены тэкст.\n\nДля агучвання тэкстаў на астатніх відарысах адкрыйце меню TalkBack і выберыце \"Апісаць тэкст на відарысе\".\n\nВідарысы застаюцца на вашай прыладзе, яны не адпраўляюцца ў Google. Гэта азначае, што абедзве функцыі працуюць без падключэння да інтэрнэту. - Навігацыя між вокнамі - Вы можаце пераключацца паміж рознымі раздзеламі на экране, напрыклад пераходзіць на панэль апавяшчэнняў, у асноўнае змесціва ці на клавіятуру.\n\nКаб выкарыстоўваць навігацыю між вокнамі, правядзіце па экране чатырма пальцамі ўніз. - Вы можаце пераключацца паміж рознымі раздзеламі на экране, напрыклад пераходзіць на панэль апавяшчэнняў, у асноўнае змесціва ці на клавіятуру.\n\nКаб выкарыстоўваць навігацыю між вокнамі, правядзіце па экране ўніз, а потым уверх. Паўтарайце жэст, пакуль не выбераце навігацыю між вокнамі. Каб перайсці да акна, правядзіце ўніз. Дапаможнік Вітаем у TalkBack TalkBack – гэта праграма чытання з экрана, якая прызначана для сітуацый ці людзей, у якіх узнікаюць складанасці з праглядам экрана. Дзякуючы галасавой зваротнай сувязі вы можаце выкарыстоўваць прыладу не гледзячы на экран.\n\nВы можаце ўключыць або выключыць TalkBack, утрымліваючы некалькі секунд абедзве клавішы гучнасці.\n\nКалі TalkBack уключаны, агучваецца выбраны элемент на экране.\n\nПрагортванне ўправа перамяшчае да наступнага элемента, а прагортванне ўлева – да папярэдняга.\n\nПрагартайце ўправа, каб знайсці наступную кнопку. @@ -703,14 +694,14 @@ Правядзіце пальцам па клавіятуры. Калі вы пачуеце літару, якую хочаце ўвесці, падніміце палец.\n\nПаспрабуйце актываваць тэкставае поле ўнізе і ўвесці сваё імя. Вы можаце таксама ўвесці тэкст з дапамогай клавіятуры Брайля. Вы знойдзеце яе ў наладах TalkBack. Перамяшчэнне курсора - У актыўным тэкставым полі вы можаце перамяшчаць курсор паміж літарамі, праводзячы па экране ўверх або ўніз.\n\nПатрэніруйцеся ў тэкставым полі ўнізе. + Пасля актывацыі тэкставага поля вы зможаце перамяшчаць курсор паміж літарамі, націскаючы на клавішы павышэння ці паніжэння гучнасці.\n\nПатрэніруйцеся ў тэкставым полі ўнізе. Вітаем у TalkBack Вылучэнне тэксту Націснуўшы на тэкставае поле, перамясціце курсор у пачатак тэксту, які хочаце вылучыць.\n\nКаб пачаць вылучэнне, двойчы націсніце 2 пальцамі і, утрымліваючы іх, перамясціце курсор у канец тэксту. Зноў націсніце двойчы і ўтрымлівайце, каб завяршыць вылучэнне.\n\nПаспрабуйце вылучыць \"Вітаем\" у тэкставым полі ўнізе. - Націснуўшы на тэкставае поле, перамясціце курсор у пачатак тэксту, які хочаце вылучыць.\n\nКаб адкрыць меню TalkBack, правядзіце пальцам па экране ўніз, а потым управа. Двойчы націсніце дзеянні, а потым запусціце рэжым вылучэння. Перамясціце курсор у канец тэксту.\n\nЗноў адкрыйце меню TalkBack, потым двойчы націсніце дзеянні, каб завяршыць вылучэнне.\n\nПаспрабуйце вылучыць слова \"Вітаем\" у тэкставым полі ўнізе. + Націснуўшы на тэкставае поле, перамясціце курсор у пачатак тэксту, які хочаце вылучыць.\n\nКаб адкрыць меню TalkBack, правядзіце пальцам па экране ўніз, а потым управа. Двойчы націсніце параметры змянення, а потым запусціце рэжым вылучэння. Перамясціце курсор у канец тэксту.\n\nЗноў адкрыйце меню TalkBack, потым двойчы націсніце параметры змянення, каб завяршыць вылучэнне.\n\nПаспрабуйце вылучыць \"Вітаем\" у тэкставым полі ўнізе. Капіраванне, выразанне і ўстаўка - Пасля выбару тэксту двойчы націсніце на дзеянні, а потым выберыце \"Скапіраваць\".\n\nПаспрабуйце скапіраваць слова ў тэкставае поле ўнізе. - Каб выразаць ці ўставіць тэкст, адкрыйце меню TalkBack і двойчы націсніце на дзеянні.\n\nКаб уставіць тэкст, тройчы націсніце трыма пальцамі.\n\nПаспрабуйце ўставіць слова ў тэкставае поле ўнізе. + Пасля вылучэння тэксту скапіруйце яго, двойчы націснуўшы трыма пальцамі.\n\nПаспрабуйце скапіраваць слова ў тэкставым полі ўнізе. + Каб выразаць тэкст, двойчы націсніце трыма пальцамі і ўтрымлівайце іх на экране.\n\nКаб уставіць тэкст, тройчы націсніце трыма пальцамі.\n\nПаспрабуйце ўставіць слова ў тэкставае поле ўнізе. Пасля вылучэння тэксту яго можна скапіраваць праз меню TalkBack. Каб адкрыць меню TalkBack, правядзіце пальцам па экране ўніз, а потым управа. Двойчы націсніце параметры змянення, а потым выберыце \"Скапіраваць\".\n\nПаспрабуйце скапіраваць слова ў тэкставае поле ўнізе. Каб выразаць ці ўставіць тэкст, адкрыйце меню TalkBack і двойчы націсніце параметры змянення.\n\nПаспрабуйце ўставіць слова ў тэкставае поле ўнізе. Устаўце тэкст тут @@ -753,7 +744,6 @@ Праводзьце пальцам управа ці ўлева, каб перамяшчацца паміж элементамі Дакраніцеся двойчы, каб актываваць элемент Каб прагартаць, перацягніце 2 пальцамі - Праверце, ці падключаны тэлефон. Тоўстыя межы Колер Стандартны @@ -765,12 +755,6 @@ Шэры Апытанне закрыта Тэкст: %1$s - Апісаць тэкст на відарысе - Выяўлены значок: %1$s - Дзеянне не падтрымліваецца. - Дзеянне не выбрана. - Выберыце дзеянне, якое падтрымліваецца. - Няма дзеянняў. - Налада дзеянняў не ўключана. - Тэкст не знойдзены + Апісаць відарыс + Падказка для значка: %1$s diff --git a/talkback/src/main/res/values-bg/strings.xml b/talkback/src/main/res/values-bg/strings.xml index 7b7e61d6c..7582d8ef5 100644 --- a/talkback/src/main/res/values-bg/strings.xml +++ b/talkback/src/main/res/values-bg/strings.xml @@ -7,7 +7,6 @@ Настройки за синтезиран говор Езици Език на говора - Действия Системни действия Версия %1$s Персонализирани етикети @@ -31,37 +30,46 @@ Устройството е отключено. Аудио Сила на звука на говора - Изговаряне на известията при изкл. екран - Винаги да се изговаря броят на списъчните елементи - Изговаряне на броя елементи на екрана за всички методи за превъртане + Говор при изключен екран + Известията се изговарят, когато екранът е изключен + Не се изговаря нищо, когато екранът е изключен + Изговаряне на броя на списъчните елементи на екрана + Елементите се изговарят само при превъртане с жест + Елементите се изговарят винаги Закрийте сензора за близост, за да спрете говора - Изговаряне на буквите с примери - Когато избирате клавиши или навигирате по знак, ще чувате пример заедно със съответната буква, например „х, хотел“ - Изговаряне на пункт. знаци и символите + Произнасяне на фонетични букви + Фонетичните букви няма да бъдат изговаряни + Фонетичните букви ще бъдат изговаряни при продължително натискане на клавишите на клавиатурата и придвижване знак по знак + Пунктуация + Пунктуационните знаци и символите няма да бъдат изговаряни + Пунктуационните знаци и символите ще бъдат изговаряни Главни букви Да не се прави нищо Кажете: „Главна буква“ Промяна на честотата Възпроизвеждане на звук Произнасяне на подсказки за употребата - След описването на съдържание се дава предложение как да се използва - Изговаряне на позиция в списъци и таблици + Подсказките за употребата няма да бъдат изговаряни при преместване на фокуса на функцията за достъпност + При придвижване подсказките за употребата ще бъдат изговаряни след кратко забавяне + Позиция в списъци и таблици: Изговаряне + Позициите на списъчните и табличните елементи ще бъдат изговаряни + Позициите на списъчните и табличните елементи няма да бъдат изговаряни Искате ли да нулирате жестовете? Така ще се възстановят стандартните действия за всички жестове.\n\nЩе загубите всички направени от вас промени. Нулиране Настройките за жестовете са нулирани. Изговаряне на типа на елементите - За елементи, върху които е поставен фокусът + Типът на елементите, върху които е поставен фокусът, ще бъде изговарян + Типът на елементите, върху които е поставен фокусът, няма да бъде изговарян Изговаряне на идентификаторите на елементите - За бутоните без етикет - Изговаряне на системните прозорци - Когато превключите към други системни прозорци, като например лентата на състоянието, известията или контролите за силата на звука + Идентификаторите на елементите няма да бъдат изговаряни за бутоните без етикет + Идентификаторите на елементите ще бъдат изговаряни за бутоните без етикет Изследване чрез докосване Контроли Докоснете един път, за да активирате Докоснете веднъж елемент, върху който е поставен фокусът, за да активирате Детайлност на говора - Изговаряне на пункт. знаци и символите + Пунктуация Персонализиране на индикатора за фокус Персонализиране на жестовете Персонализирани етикети @@ -203,7 +211,8 @@ Да се използват промените във височината Ехо от клавиатурата Ред на описване на елементите - Произнасяне с по-висока височина на гласа на изтритите букви + Произнасяне с по-висока височина на гласа на изтрития текст от клавиатурата + Без промяна на височината на гласа при говорене Брайлова клавиатура Обр. връзка с вибриране Звукова обратна връзка @@ -211,6 +220,7 @@ Намаляване на силата на звука на другите аудиоизточници при говорене Звук. обратна връзка: Сила на звука Пряк път за спиране и възобновяване на работата на TalkBack + Пряк път за затъмняване на екрана Настройки за програмисти Избиране на събития за запис в регистрационни файлове Филтриране на записването в регистрационни файлове на събития за достъпност @@ -256,7 +266,7 @@ Отваряне на менюто на TalkBack Поставяне на пауза на обратната връзка Поставяне на пауза или възобновяване на говора - Включване или изключване на говора + Вкл. или изкл. на гласовата обратна връзка от TalkBack Четене от горната част Четене от следващия елемент Отпечатване на дървото с възли @@ -278,7 +288,6 @@ Пряк път за задържане на бутона за достъпност Фокус за навигиране напред или намаляване на скоростта за четене Фокус за навигиране назад или увеличаване на скоростта за четене - Активиране на понастоящем избраното действие Резултат от търсенето Пускане или пост. на пауза на мултимедия Всички приложения @@ -323,7 +332,7 @@ Четене Специални функции Друго - Показва, когато съществуват действия за текущия елемент, включително копиране, поставяне, избиране и др. + Показва се при наличие на персонализирани действия за текущия елемент Копиране, поставяне, избиране и др. Опциите се показват, когато изберете текстово поле. Отваряне на връзките в елемент, върху който е поставен фокусът Към следващата или предишната страница. Опциите се показват, когато четете съдържание с няколко страници. @@ -342,7 +351,6 @@ Отваряне на настройките за синтезиран говор Изключване на гласовата обратна връзка от TalkBack Не може да се редактира - Извършване на действия Четене знак по знак Четене дума по дума Четене ред по ред @@ -365,7 +373,7 @@ Намаляване на силата на другите възпроизвеждани звуци, когато TalkBack говори Превъртане напред или назад Увеличаване или намаляване на силата на звука на услугите за достъпност - Четене на глас на текста, вграден в избраното изображение + Автоматично получаване на описание за това изображение надолу надолу и след това надясно Прекарване на пръст нагоре @@ -408,9 +416,7 @@ Двукр. докосване и задържане с 2 пръста Двукр. докосване и задържане с 3 пръста Двукр. докосване и задържане с 4 пръста - Докосване и задържане с 3 пръста Трикратно докосване и задържане с 2 пръста - Трикратно докосване и задържане с 3 пръста „%1$s“ или „%2$s“ за коригиране „%1$s“ за коригиране Неизвестен жест @@ -434,8 +440,7 @@ При показан заключен екран Само от известие Натиснете с пръст и задръжте за избор на клавиш, след което докоснете двукратно - Натиснете с пръст и задръжте за избор на клавиш с буква, след което вдигнете пръста си. Докоснете двукратно за други клавиши. - Натиснете с пръст и задръжте за избор на клавиш, след което вдигнете пръста си + Натиснете с пръст и задръжте за избор на клавиш, след което вдигнете пръста си Деактивирано Много леко Леко @@ -485,6 +490,7 @@ Изберете приложение за експортиране на етикети: Тази версия на TalkBack включва промени на стандартните жестове за достъпност. Свързаните с тях действия могат да бъдат персонализирани в настройките на услугата. Когато функцията за изследване чрез докосване е активирана, можете да използвате следните жестове, за да изпълните определени действия.\n\n%1$s Продължително натискане на бутоните за увеличаване и намаляване на силата на звука + Затъмнете или осветете екрана с три бързи натискания на двата бутона за силата на звука Да се затъмни ли екранът? Тази опция изключва екрана с цел подобряване на поверителността, така че да не е видим за други хора на обществени места Тази версия на TalkBack включва промени в стандартните жестове за достъпност.\n\nЖестът с прекарване на пръст нагоре и след това надолу ви дава възможност да преминете към първия елемент на екрана, а надолу и след това нагоре – към последния.\n\nДетайлността при четене вече може да бъде променена, като поставите фокуса върху елемент и след това изберете опция от контекстното меню на TalkBack.\n\nИмате възможност да променяте изпълняваните чрез тези жестове действия от настройките на TalkBack. @@ -500,9 +506,6 @@ Наистина ли искате да включете отстраняването на грешки за дървото с възли?\n\nТо показва съдържанието на екрана ви на регистрационните файлове на устройството ви, които може да бъдат прочетени от други приложения. Да се активират ли статистическите данни за ефективността? Наистина ли искате да включите статистическите данни за ефективността?\n\nТова може да доведе до използване на повече памет и до по-бързо изтощаване на батерията. - Да се активира ли подробното регистриране? - Подробното регистриране може да помогне при отстраняването на грешки, но може да доведе и до показването на лична информация в системния регистрационен буфер.\n\n Искате ли да активирате подробното регистриране? - Да, активиране на подробното регистриране Да се разреши ли достъпа до телефона? Това помага на TalkBack да намали прекъсващите съобщения по време на обаждане Напред @@ -556,11 +559,9 @@ Сила на звука за услугите за достъпност Регулиране на плъзгача Коригиране на стойността - Действия Изговаряне на паролите Паролите ще бъдат изговаряни винаги Звук и вибриране - Звук копирахте текста „%1$s“ Затваряне Затваряне на търсенето @@ -595,15 +596,13 @@ %1$s, за да четете по %2$s За да използвате това, отворете настройките за TalkBack и добавете жест за „%1$s“ Брайловата клавиатура не е включена. Отворете настройките на TalkBack, настройте я и опитайте пак. - Налице са предложения - Налице са предложения. За достъп %1$s. Страница %1$d от %2$d Назад Напред Затваряне Край Придвижване нагоре - Нови функции в TalkBack + Нови функции в TalkBack Да се затвори ли урокът? Можете да се върнете към него по всяко време от настройките на TalkBack. Оставане в урока @@ -647,14 +646,6 @@ Докоснете, за да научите как да използвате TalkBack по-бързо с помощта на новите жестове. Дървото с възли е отпечатано в регистрационните файлове. Ето наскоро използваните жестове. Моля, изберете грешния и посочете какъв очаквате да бъде. - Ще разполагате с опростени контроли за силата на звука, по-бързи контроли за действия и др.\n\nНа следващите няколко екрана ще научите повече за ключовите актуализации и промени. Това ще отнеме около 5 минути.\n\nМожете да прегледате тази информация в настройките на TalkBack по всяко време. - Промени в контролирането на силата на звука - С цел подобряване на контрола на силата на звука съответните бутони вече не служат за управление на текстовия курсор и плъзгачите.\n\nЗа да преместите даден плъзгач, прекарайте пръст нагоре или надолу.\n\nЗа да промените позицията на текстовия курсор, прекарайте пръст нагоре или надолу в съответното текстово поле. Тези жестове работят и при управление на четенето посредством брайлова клавиатура. - Текст в изображенията - Можете да виждате текста в изображенията автоматично или когато е необходимо.\n\nЗа изображенията без етикет: TalkBack автоматично ще чете текста, който се показва.\n\nЗа всички изображения: Отворете менюто на TalkBack и изберете „Описание на текста в изображението“.\n\nИзображенията не напускат устройството ви и никога не се изпращат до Google. Това означава, че можете да използвате и двете функции без връзка с интернет. - Навигиране между прозорците - Можете да превключвате между различни секции на екрана, като например лентата за известия, основното съдържание и клавиатурата.\n\nЗа да навигирате между прозорците, прекарайте четири пръста надолу. - Можете да превключвате между различни секции на екрана, като например лентата за известия, основното съдържание и клавиатурата.\n\nЗа да навигирате между прозорците, прекарайте пръст надолу и след това нагоре. Повтаряйте жеста, докато изберете съответния начин на навигация. За да навигирате до желания прозорец, прекарайте пръст надолу. Урок Добре дошли в TalkBack TalkBack е екранен четец, предназначен за хора, които трудно виждат екрана, или ситуации, в които видимостта е намалена. Той осигурява обратна връзка с говор, така че да можете да използвате устройството си, без да гледате екрана.\n\nИмате възможност да включите или изключите TalkBack, като натиснете и задържите двата бутона за силата на звука за няколко секунди.\n\nКогато услугата е включена, елементът на екрана, върху който е поставен фокусът, се прочита на глас.\n\nПрекарайте пръст надясно, за да се придвижите до следващия елемент, или наляво, за да се върнете към предишния.\n\nСега прекарайте пръст надясно, за да намерите бутона „Напред“. @@ -697,14 +688,14 @@ Плъзнете пръст през клавиатурата. Вдигнете го, когато чуете буквата, която искате да въведете.\n\nОпитайте да изберете текстовото поле по-долу и да въведете името си. Можете също да въвеждате текст чрез брайловата клавиатура. Ще намерите опцията за това в настройките на TalkBack. Преместване на курсора - Когато сте избрали текстово поле, можете да местите курсора между буквите, като прекарвате пръст нагоре или надолу.\n\nИзпробвайте това в текстовото поле по-долу. + Когато сте избрали текстово поле, можете да местите курсора между буквите, като натискате бутоните за увеличаване или намаляване на силата на звука.\n\nИзпробвайте това в текстовото поле по-долу. Добре дошли в TalkBack Избиране на текст В текстово поле преместете курсора в началото на съдържанието, което искате да изберете.\n\nДокоснете два пъти с 2 пръста и задръжте, за да стартирате режима за избиране. След това преместете курсора в края на текста и отново докоснете два пъти с 2 пръста и задръжте, за да излезете от режима за избиране.\n\nОпитайте да изберете „Добре дошли“ в текстовото поле по-долу. - В текстово поле преместете курсора в началото на съдържанието, което искате да изберете.\n\nПрекарайте пръст надолу и след това надясно, за да отворите менюто на TalkBack. Докоснете два пъти „Действия“ и след това стартирайте режима за избиране. Преместете курсора в края на текста.\n\nОтворете отново менюто на TalkBack, след което докоснете два пъти „Действия“, за да излезете от режима за избиране.\n\nОпитайте да изберете „Добре дошли“ в текстовото поле по-долу. + В текстово поле преместете курсора в началото на съдържанието, което искате да изберете.\n\nПрекарайте пръст надолу и след това надясно, за да отворите менюто на TalkBack. Докоснете два пъти опциите за редактиране и след това стартирайте режима за избиране. Преместете курсора в края на текста.\n\nОтворете отново менюто на TalkBack, след което докоснете два пъти опциите за редактиране, за да излезете от режима за избиране.\n\nОпитайте да изберете „Добре дошли“ в текстовото поле по-долу. Копиране, изрязване и поставяне - След като изберете текст, докоснете два пъти опциите за действия и след това копирайте.\n\nОпитайте да копирате дума в текстовото поле по-долу. - За да изрежете или поставите текст, отворете менюто на TalkBack и докоснете два пъти опциите за действия.\n\nЗа да поставите текст, докоснете три пъти с 3 пръста.\n\nОпитайте да поставите дума в текстовото поле по-долу. + След като изберете текст, копирайте го чрез двукратно докосване с 3 пръста.\n\nОпитайте да копирате дума в текстовото поле по-долу. + За да изрежете текст, докоснете два пъти и задръжте с 3 пръста.\n\nЗа да поставите текст, докоснете три пъти с 3 пръста.\n\nОпитайте да поставите дума в текстовото поле по-долу. След като изберете текст, можете да го копирате в менюто на TalkBack. За да отворите менюто, прекарайте пръст надолу и след това надясно. Докоснете два пъти опциите за редактиране и след това копирайте.\n\nОпитайте да копирате дума в текстовото поле по-долу. За да изрежете или поставите текст, отворете менюто на TalkBack и докоснете два пъти опциите за редактиране.\n\nОпитайте да поставите дума в текстовото поле по-долу. Поставете текста тук @@ -747,7 +738,6 @@ Прекарвайте пръст надясно или наляво, за да се придвижвате между елементите. Докоснете два пъти, за да активирате даден елемент Плъзнете 2 пръста, за да превъртите - Моля, проверете дали телефонът е свързан. Дебели контури Цвят По подразбиране @@ -759,12 +749,6 @@ сиво Анкетата е затворена Текст: %1$s - Описание на текста в изображението - Разпозната икона: %1$s - Действието не се поддържа. - Няма избрано действие. - Моля, изберете поддържано действие. - Няма действия. - Настройката за действията не е активирана. - Няма намерен текст + Описание на изображението + Предвиждана икона: %1$s diff --git a/talkback/src/main/res/values-bn/strings.xml b/talkback/src/main/res/values-bn/strings.xml index 774fa20b9..c8e17013b 100644 --- a/talkback/src/main/res/values-bn/strings.xml +++ b/talkback/src/main/res/values-bn/strings.xml @@ -7,7 +7,6 @@ \'টেক্সট-টু-স্পিচ\' সেটিংস ভাষা কথ্য ভাষা - অ্যাকশন সিস্টেম সংক্রান্ত অ্যাকশন ভার্সন %1$s কাস্টম লেবেল পরিচালনা @@ -31,37 +30,46 @@ ডিভাইস আনলক করা হয়েছে৷ অডিও ভাষ্যের ভলিউম - স্ক্রিন বন্ধ থাকলে বিজ্ঞপ্তি পড়ে শোনায় - তালিকাভুক্ত আইটেমের সংখ্যা সব সময়ই পড়ে শোনায় - স্ক্রল করার সব পদ্ধতি গুনতি পড়ে শোনায় + স্ক্রিন বন্ধ থাকার সময় বলুন + স্ক্রিন বন্ধ থাকলে বিজ্ঞপ্তি উচ্চারিত হয় + স্ক্রিন বন্ধ থাকাকালীন কোন ভাষ্য সক্রিয় থাকবে না + স্ক্রিনে দেখানো তালিকায় কতগুলি আইটেম আছে তা শুনুন + শুধুমাত্র ইঙ্গিতের মাধ্যমে স্ক্রল করার সময় শুনুন + সবসময় শোনানো হবে স্পিচ আউটপুট বন্ধ করতে প্রক্সিমিটি সেন্সরটি কভার করুন - উদাহরণ সহ অক্ষর পড়ে শোনায় - কীবোর্ডের কোনও কী বেছে নিলে অথবা কোনও অক্ষর দিয়ে নেভিগেট করলে, আপনি প্রতিটা অক্ষরের জন্য একটি করে উদাহরণ শুনতে পাবেন, যেমন \"হ, হোটেল\" - যতিচিহ্ন ও প্রতীক পড়ে শোনায় + ফোনেটিক অক্ষরগুলি বলুন + ফোনেটিক অক্ষরগুলি শোনা যাবে না + কীবোর্ডের কোনো কী অনেকক্ষণ চেপে ধরে রাখলে এবং অক্ষর ধরে ধরে নেভিগেট করলে ফোনেটিক অক্ষরগুলি শোনা যাবে + যতিচিহ্ন + যতিচিহ্ন এবং প্রতীক চিহ্ন পড়ে শোনানো হবে না + যতিচিহ্ন এবং প্রতীক চিহ্ন পড়ে শোনানো হবে বড় হাতের অক্ষর যেমন আছে থাক “বড় হাতের” বলুন পিচ বদল করুন আওয়াজ হতে দিন ব্যবহারের সংকেতগুলি বলুন - কন্টেন্ট ব্যাখ্যা করার পরে সাজেশন দিন, সেটি কীভাবে ব্যবহার করতে হয় - তালিকা ও গ্রিডের তথ্য পড়ে শোনায় + অ্যাক্সেসযোগ্যতার ফোকাস সরানোর সময় ব্যবহারের পরামর্শ শোনা যাবে না + নেভিগেট করার সময় সামান্য পরে পরে ব্যবহারের পরামর্শ শোনা যাবে + শোনার তালিকা ও গ্রিডের তথ্য + তালিকা ও গ্রিডের তথ্য শোনা যাবে + তালিকা ও গ্রিডের তথ্য শোনা যাবে না জেসচার রিসেট করতে চান? এর ফলে সমস্ত জেসচার সেটিং ডিফল্টে রিসেট হয়ে যাবে।\n\nজেসচারে আপনার করা পরিবর্তন আর পাওয়া যাবে না। রিসেট করুন জেসচার সেটিংস রিসেট করা হয়েছে। উপাদানের ধরণ শোনা যাবে - ফোকাস করা আইটেমের জন্য + ফোকাস করা আইটেমগুলির জন্য উপাদানের ধরণ শোনা যাবে + ফোকাস করা আইটেমগুলির জন্য উপাদানের ধরণ শোনা যাবে না এলিমেন্ট আইডি শুনুন - লেবেল না করা বোতামের জন্য - কথা বলে এমন সিস্টেম উইন্ডো - স্ট্যাটাস বার, বিজ্ঞপ্তি বা ভলিউম নিয়ন্ত্রণ করার জন্য যখন আপনি পাল্টে অন্য সিস্টেম উইন্ডো বেছে নেন + লেবেলহীন বোতামের ক্ষেত্রে উপাদান আইডি শোনানো হবে না + লেবেলহীন বোতামের ক্ষেত্রে উপাদান আইডি শোনানো হবে স্পর্শ করে অন্বেষণ করা কন্ট্রোল চালু করতে একবার ট্যাপ করুন চালু করতে ফোকাস করা আইটেমে একবার ট্যাপ করুন ভার্বাসিটি - যতিচিহ্ন ও প্রতীক পড়ে শোনায় + যতিচিহ্ন ফোকাস ইন্ডিকেটর কাস্টমাইজ করুন জেসচার কাস্টমাইজ করুন কাস্টম লেবেলগুলি @@ -203,7 +211,8 @@ পিচ পরিবর্তনগুলি ব্যবহার করুন কীবোর্ড প্রতিধ্বনি এলিমেন্টের বিবরণের ক্রম - অক্ষর মুছে দেওয়ার সময় উঁচু-স্বরে বলো + কীবোর্ড ব্যবহার করে মুছে দেওয়া টেক্সট আরও উঁচু স্বরে বলতে হবে + বলার সময় ভয়েস পিচ পরিবর্তন করবেন না ব্রেইল কীবোর্ড কম্পন প্রতিক্রিয়া সাউন্ড ফিডব্যাক @@ -211,6 +220,7 @@ বলার সময় অন্য অডিওর ভলিউম কমান সাউন্ড ফিডব্যাক ভলিউম Talkback স্থগিত এবং শর্টকাট আবার শুরু করুন + স্ক্রিন শর্টকাট লুকান ডেভেলপার সেটিংস লগ করার জন্য ইভেন্টগুলি বেছে নিন অ্যাক্সেসযোগ্যতা ইভেন্টের লগ ফিল্টার করুন @@ -256,7 +266,7 @@ টকব্যাক মেনু খুলুন প্রতিক্রিয়া থামান কথা বলার মাধ্যমে মতামত দেওয়ার সুবিধা পজ করুন বা আবার শুরু করুন - স্পিচ চালু বা বন্ধ করুন + টকব্যাক ফিচারের সাউন্ড চালু বা বন্ধ করুন উপর থেকে পড়ুন পরবর্তী আইটেম থেকে পড়ুন নোড ট্রি প্রিন্ট করুন @@ -278,7 +288,6 @@ অ্যাক্সেসিবিলিটি শর্টকাট ট্যাপ করে ধরে রাখুন নেভিগেশন ফোকাস এগিয়ে নিয়ে যান অথবা রিডিং কন্ট্রোল নিচে অ্যাডজাস্ট করুন নেভিগেশন ফোকাস পিছনে নিয়ে যান অথবা রিডিং কন্ট্রোল উপরে অ্যাডজাস্ট করুন - বর্তমানে বেছে নেওয়া অ্যাকশন চালু করুন সার্চের ফলাফল মিডিয়া প্লে বা পজ করুন সব অ্যাপ @@ -323,7 +332,7 @@ রিডিং বিশেষ ফিচার অন্যান্য - বর্তমান আইটেমের জন্য কপি, পেস্ট, বেছে নেওয়া বা আরও কোনও অ্যাকশন উপলভ্য থাকলে তা দেখানো হয় + বর্তমান আইটেমের জন্য পছন্দমতো কোনও অ্যাকশন থাকলে এটি দেখানো হয় কপি, পেস্ট, সিলেক্ট এবং আরও বিকল্প। আপনি টেক্সট বক্স বেছে নিলে বিকল্পগুলি দেখা যায়। ফোকাস করা হয়েছে এমন একটি আইটেমের মধ্যে থাকা লিঙ্ক খুলুন পরের অথবা আগের পৃষ্ঠায় যান। একাধিক পৃষ্ঠায় আপনার কন্টেন্ট পড়ার সময় এই সুবিধা দেখা যায়। @@ -342,7 +351,6 @@ \'টেক্সট-টু-স্পিচ\' সেটিংস খুলুন টকব্যাক মেনুর ভয়েসের মাধ্যমে মতামত জানানোর সুবিধা বন্ধ করুন এডিট করা যাবে না - অ্যাকশন পারফর্ম করুন একবারে একটি অক্ষর পড়ুন একবারে একটি শব্দ পড়ুন একবারে একটি লাইন পড়ুন @@ -365,7 +373,7 @@ টকব্যাকে মেনুতে কথা শোনার সময় ডিভাইসে চলতে থাকা অন্যান্য অডিওর ভলিউম কম করে দিন সামনের দিকে অথবা পিছনের দিকে স্ক্রল করুন অ্যাক্সেসিবিলিটি ভলিউম বাড়ান অথবা কমান - বেছে নেওয়া ছবিতে এম্বেড করা টেক্সট পড়ুন + এই ছবির জন্য অটোমেটিক বিবরণ পান নিচে নিচে তারপর ডানদিকে উপরের দিকে সোয়াইপ করুন @@ -408,9 +416,7 @@ ২টি আঙুল দিয়ে ডবল ট্যাপ করে ধরে রাখুন ৩টি আঙুল দিয়ে ডবল ট্যাপ করে ধরে রাখুন ৪টি আঙুল দিয়ে ডবল ট্যাপ করে ধরে রাখুন - ৩টি আঙ্গুল দিয়ে ট্যাপ করে ধরে থাকুন ২টি আঙুল দিয়ে তিনবার ট্যাপ করে ধরে থাকুন - ৩টি আঙ্গুল দিয়ে ট্রিপল ট্যাপ করে ধরে থাকুন অ্যাডজাস্ট করার জন্য \"%1$s\" বা %2$s\" কোনও একটিতে সেট করুন অ্যাডজাস্ট করার জন্য \"%1$s\"-এ সেট করুন অজানা জেসচার @@ -433,9 +439,8 @@ যখন স্ক্রিন চালু হয় যখন লক স্ক্রিন প্রদর্শিত হয় শুধুমাত্র বিজ্ঞপ্তি থেকে - যেকোনও কী বেছে নিতে আঙুল দিয়ে টাচ করে ধরে থাকুন ও তারপর ডবল ট্যাপ করুন - অক্ষর কী বেছে নিতে আঙুল দিয়ে টাচ করে ধরে থাকুন ও তারপর আঙুল সরিয়ে নিন। অন্যান্য কী এর জন্য ডবল ট্যাপ করুন। - কোনও কী বেছে নিতে আঙুল দিয়ে স্পর্শ করে ধরে থাকুন ও তারপর আঙুল সরিয়ে নিন + কোনও কী বেছে নিতে আঙুল দিয়ে স্পর্শ করে ধরে থাকুন ও তারপর ডবল ট্যাপ করুন + কোনও কী বেছে নিতে আঙুল দিয়ে স্পর্শ করে ধরে থাকুন ও তারপর আঙুল সরিয়ে নিন বন্ধ করা আছে খুব হাল্কা করে হাল্কা করে @@ -485,6 +490,7 @@ লেবেলগুলি রপ্তানি করতে অ্যাপ্লিকেশান চয়্ন করুন: TalkBack এর এই সংস্করণে ডিফল্ট অ্যাক্সেসযোগ্যতা অঙ্গভঙ্গিগুলিতে করা পরিবর্তনগুলি রয়েছে৷ এইসব অঙ্গভঙ্গির সঙ্গে থাকা ক্রিয়াগুলি TalkBack সেটিংসে কাস্টমাইজ করা যেতে পারে৷ যখন স্পর্শের মাধ্যমে অন্বেষণ সক্ষমিত তখন আপনি কিছু ক্রিয়ার কার্য সম্পাদন করতে আপনি নিম্নলিখিত অঙ্গভঙ্গিগুলি ব্যবহার করতে পারেন৷\n\n%1$s ভলিউম আপ এবং ডাউন কীগুলিকে দীর্ঘ সময ধরে টিপুন + স্ক্রিন লুকাতে বা দেখাতে ভলিউম কী দুটি তিনবার দ্রুত প্রেস করুন স্ক্রিন লুকাবেন? এটি গোপনীয়তার বিষয়টি উন্নত করার জন্য প্রদর্শনটি বন্ধ করে দেয় যাতে সর্বজনীন জায়গায় আপনার স্ক্রিনটি বাকিরা যেন দেখতে না পায় \'টকব্যাক\' ফিচারের এই ভার্সনে ডিফল্ট অ্যাক্সেসিবিলিটি জেসচারে করা পরিবর্তনগুলি অন্তর্ভুক্ত রয়েছে।\n\nউপরে-তারপর-নিচে যাওয়ার জেসচার আপনাকে স্ক্রিনের প্রথম আইটেমে যেতে দেবে এবং নিচে-তারপর-উপরে যাওয়ার জেসচারের মাধ্যমে আপনি শেষ আইটেমে যেতে পারবেন।\n\nএকটি আইটেমে ফোকাস করে ও তারপরে টকব্যাক কন্টেক্সট মেনু থেকে গ্র্যানুলারিটি বেছে নিয়ে রিডিং গ্র্যানুলারিটি এখন পরিবর্তন করা যেতে পারে।\n\nআপনি \'টকব্যাক\' সেটিংসে এইসব জেসচারের মাধ্যমে করা অ্যাকশনগুলি পরিবর্তন করতে পারেন। @@ -500,9 +506,6 @@ আপনি কি নোড ট্রি ডিবাগিং চালু করার বিষয়ে নিশ্চিত?\n\nনোড ট্রি ডিবাগিং আপনার স্ক্রীনের সামগ্রীটিকে আপনার ডিভাইসের লগগুলিতে প্রকাশ করবে, যা অন্য কোনো অ্যাপ্লিকেশান পড়ে নিতে পারে৷ কার্য-সম্পাদনার পরিসংখ্যান সক্ষম করবেন? কার্য-সম্পাদনার পরিসংখ্যান চালু করার বিষয়ে কি আপনি নিশ্চিত আছেন?\n\nকার্য-সম্পাদনার পরিসংখ্যানের জন্য অনেকটা মেমরি এবং পাওয়ার লাগতে পারে৷ - ভার্বোস লগিং চালু করবেন? - ভার্বোস লগিং ডিবাগিং করতে সাহায্য করতে পারে তবে সিস্টেম লগ বাফারে ব্যক্তিগত তথ্য হয়ত প্রকাশ করতে পারে।\n\n ভার্বোস লগিং চালু করতে চান? - হ্যাঁ, ভার্বোস লগিং চালু করুন ফোন অ্যাক্সেস করার অনুমতি দেবেন? আপনি কল করার সময় এটি টকব্যাকের ঘোষণা কমাতে সাহায্য করে। চালিয়ে যান @@ -556,11 +559,9 @@ অ্যাক্সেসিবিলিটি ভলিউম স্লাইডার অ্যাডজাস্ট করুন মান অ্যাডজাস্ট করুন - অ্যাকশন পাসওয়ার্ড বলা পাসওয়ার্ড সবসময় বলতে হবে সাউন্ড এবং ভাইব্রেশন - সাউন্ড %1$s কপি করা হয়েছে বন্ধ করুন সার্চ বন্ধ করুন @@ -595,15 +596,13 @@ %2$s-এর হিসেবে পড়ার জন্য %1$s এটি ব্যবহার করার জন্য, টকব্যাক সেটিংসে গিয়ে \'%1$s\'-এর জন্য জেসচার যোগ করুন ব্রেইল কীবোর্ড চালু করা নেই। \'টকব্যাক\' সেটিংস থেকে ব্রেইল কীবোর্ড চালু করে আবার চেষ্টা করুন। - সাজেশন উপলভ্য - সাজেশন উপলভ্য। অ্যাক্সেস করতে, %1$s %2$dটির মধ্যে %1$d নম্বর পৃষ্ঠা পূর্ববর্তী পরবর্তী বন্ধ করুন শেষ করুন উপরের দিকে নেভিগেট করুন - নতুন \'টকব্যাক\' ফিচার + নতুন \'টকব্যাক\' ফিচার টিউটোরিয়াল বন্ধ করতে চান? আপনি যেকোনও সময় \'টকব্যাক\' সেটিংসে গিয়ে এটি দেখতে পারেন। টিউটোরিয়াল দেখতে থাকুন @@ -647,14 +646,6 @@ নতুন জেসচার সহ \'টকব্যাক\' আরও দ্রুত কীভাবে ব্যবহার করা যায় তা জানতে ট্যাপ করুন। লগে নোড ট্রি প্রিন্ট করা হয়েছে। সম্প্রতি পারফর্ম করা জেসচার এখানে দেওয়া হয়েছে, কোন জেসচারটি সঠিক নয় সেই বিষয়ে রিপোর্ট করুন এবং কীভাবে জেসচার উন্নত করা যায় তা বলুন। - সরলীকৃত ভলিউম কন্ট্রোল, দ্রুত অ্যাকশন কন্ট্রোল ও আরও অনেক কিছু পাবেন।\n\nপরবর্তী কয়েকটি স্ক্রিনে কী সংক্রান্ত আপডেট ও পরিবর্তনের বিষয়ে জানবেন। এজন্য ৫ মিনিট সময় লাগবে।\n\nআপনি যেকোনও সময় টকব্যাক সেটিংস থেকে এই তথ্য পর্যালোচনা করতে পারবেন। - ভলিউম কন্ট্রোল সংক্রান্ত পরিবর্তন - ভলিউম কন্ট্রোল আরও ভাল করতে, ভলিউম কী আর টেক্সট কার্সর বা স্লাইড কন্ট্রোল করতে পারবে না।\n\nস্লাইডারের অবস্থান পরিবর্তন করতে, টেক্সট বক্সে উপরের বা নিচের দিকে সোয়াইপ করুন।\n\nটেক্সট কার্সরের অবস্থান পরিবর্তন করতে, টেক্সট বক্সে উপরের বা নিচের দিকে সোয়াইপ করুন। এছাড়াও, এটি ব্রেইল কীবোর্ডের রিডিং কন্ট্রোলে কাজ করে। - ছবির মধ্যে থাকা টেক্সট - অটোমেটিক অথবা যখন প্রয়োজন তখন আপনি ছবির মধ্যে থাকা টেক্সটের বিবরণ পেতে পারবেন।\n\nযেসব ছবিতে লেবেল নেই: ভেসে ওঠা টেক্সট, টকব্যাক অটোমেটিক পড়বে।\n\nসব ছবির ক্ষেত্রে: টকব্যাক মেনু খুলে \"ছবির মধ্যে থাকা টেক্সটের বিবরণ দাও\" বিকল্প বেছে নিন।\n\nছবি আপনার ডিভাইসেই থাকে, কখনও Google-এ পাঠানো হয় না। এর অর্থ হল, আপনি এই দুটি ফিচারই ইন্টারনেট কানেকশন ছাড়া ব্যবহার করতে পারবেন। - উইন্ডো নেভিগেশন - আপনার স্ক্রিনের বিভিন্ন বিভাগের মধ্যে পরিবর্তন করতে পারবেন, যেমন বিজ্ঞপ্তি বার, মূল কন্টেন্ট ও কীবোর্ড।\n\nউইন্ডো নেভিগেশন ব্যবহার করতে, ৪টি আঙ্গুল দিয়ে নিচের দিকে সোয়াইপ করুন। - আপনার স্ক্রিনের বিভিন্ন বিভাগের মধ্যে পরিবর্তন করতে পারবেন, যেমন বিজ্ঞপ্তি বার, মূল কন্টেন্ট ও কীবোর্ড।\n\nউইন্ডো নেভিগেশন ব্যবহার করতে, নিচের দিকে সোয়াইপ করে তারপরে উপরের দিকে সোয়াইপ করুন। উইন্ডো নেভিগেশন বেছে না নেওয়া পর্যন্ত চালিয়ে যান। উইন্ডোয় নেভিগেট করতে, নিচের দিকে সোয়াইপ করুন। টিউটোরিয়াল টকব্যাক-এ স্বাগতম টকব্যাক এমন একটি স্ক্রিন রিডার যা আপনার বা যাদের স্ক্রিন দেখতে অসুবিধা হয় তাদের জন্য তৈরি করা হয়েছে। এটিতে পড়ে শোনানোর সুবিধা রয়েছে যার জন্য স্ক্রিনের দিকে না তাকিয়েই আপনি ডিভাইস অ্যাক্সেস করতে পারবেন।\n\nকয়েক সেকেন্ডের জন্য উভয় ভলিউম কী প্রেস করে ধরে থেকে টকব্যাক বিকল্প চালু বা বন্ধ করতে পারেন।\n\nটকব্যাক বিকল্প চালু থাকাকালীন, স্ক্রিনে ফোকাস করা আইটেম জোরে পড়ে শোনানো হয়।\n\nডানদিকে সোয়াইপ করলে পরবর্তী আইটেমে যাবেন এবং বাঁদিকে সোয়াইপ করলে পূর্ববর্তী আইটেমে ফিরে যাবেন।\n\nএখনই ডানদিকে সোয়াইপ করে পরবর্তী বোতামটি খুঁজুন। @@ -697,14 +688,14 @@ পুরো কীবোর্ড জুড়ে আপনার আঙুল এদিক-ওদিকে নাড়াচাড়া করুন। যে অক্ষর টাইপ করতে চাইছেন তা শুনতে পেলেই আঙুল স্ক্রিন থেকে তুলে নিন।\n\nনিচে থাকা টেক্সট বক্স চালু করে দেখুন ও আপনার নাম টাইপ করুন। আপনি \'ব্রেইল কীবোর্ড\' ব্যবহার করেও টাইপ করতে পারেন। \'টকব্যাক\' সেটিংসে গিয়ে এটি খুঁজে দেখুন। কার্সর এক জায়গা থেকে অন্য জায়গাতে নিয়ে যাওয়া - আপনি কোনও টেক্সট বক্স চালু করলে, উপরের দিকে বা নিচের দিকে সোয়াইপ করে দুটি অক্ষরের মধ্যে কার্সর সরাতে পারবেন।\n\nনিচের টেক্সট বক্সে এটা করে দেখুন। + আপনি টেক্সট বক্স চালু করলে, ভলিউম বাড়ানো বা কম করার কী প্রেস করে একটি অক্ষর থেকে অন্য অক্ষরে কার্সর নিয়ে যেতে পারবেন।\n\nনিচের টেক্সট বক্সে এটি করে দেখুন। টকব্যাকে স্বাগত টেক্সট বেছে নিন টেক্সট বক্সের মধ্যে আপনি যে টেক্সট বেছে নিতে চান, তার একদম শুরুতে কার্সর নিয়ে যান।\n\nটেক্সট বেছে নেওয়ার মোড শুরু করতে, ২টি আঙুল দিয়ে ডবল ট্যাপ করে ধরে থাকুন। তারপরে কার্সর টেক্সটের একদম শেষে নিয়ে যান। টেক্সট বেছে নেওয়ার মোড শেষ করতে আবার ২টি আঙুল দিয়ে ডবল ট্যাপ করে ধরে থাকুন।\n\nনিচের বক্সে লেখা “স্বাগতম” শব্দটি বেছে নিয়ে দেখুন। - টেক্সট বক্সের মধ্যে আপনি যে টেক্সট বেছে নিতে চান, তার একদম শুরুতে কার্সর নিয়ে যান।\n\n\'টকব্যাক\' মেনু খুলতে নিচের দিকে সোয়াইপ করার পরে ডানদিকে সোয়াইপ করুন। টেক্সট বেছে নেওয়ার মোড শুরু করতে \'অ্যাকশন\' বিকল্পে ডবল ট্যাপ করুন। টেক্সট বক্সের একদম শেষে কার্সর নিয়ে যান।\n\n\'টকব্যাক\' মেনু আবার খুলুন এবং তারপরে টেক্সট বেছে নেওয়ার মোড শেষ করতে \'অ্যাকশন\' বিকল্পে ডবল ট্যাপ করুন।\n\nনিচের টেক্সট বক্সে “স্বাগতম” শব্দটি বেছে নিয়ে দেখুন। + টেক্সট বক্সের মধ্যে আপনি যে টেক্সট বেছে নিতে চান, তার একদম শুরুতে কার্সর নিয়ে যান।\n\n\'টকব্যাক\' মেনু খুলতে নিচের দিকে সোয়াইপ করে তারপরে ডানদিকে সোয়াইপ করুন। \'এডিট করুন\' বিকল্পে ডবল ট্যাপ করে তারপরে টেক্সট বেছে নেওয়ার মোড শুরু করুন। টেক্সট বক্সের একদম শেষে কার্সর নিয়ে যান।\n\n\'টকব্যাক\' মেনু আবার খুলুন এবং তারপরে টেক্সট বেছে নেওয়ার মোড শেষ করতে \'এডিট করুন\' বিকল্পে ডবল ট্যাপ করুন।\n\nনিচের বক্সে লেখা “স্বাগতম” শব্দটি বেছে নিয়ে দেখুন। কপি, কাট ও পেস্ট করা - টেক্সট বেছে নেওয়ার পরে, ডবল ট্যাপ অ্যাকশনের পরে কপি করুন।\n\nনিচে উল্লেখ করা টেক্সট বক্স থেকে একটি শব্দ কপি করে দেখুন। - টেক্সট কাট করে পেস্ট করতে, \'টকব্যাক\' মেনু খুলে ডবল ট্যাপ করুন।\n\nToটেক্সট পেস্ট করতে, ৩টি আঙুল দিয়ে ট্রিপল ট্যাপ করুন।\n\nনিচের টেক্সট বক্সে একটি শব্দ পেস্ট করে দেখুন। + টেক্সট বেছে নেওয়ার পরে, ৩টি আঙুল দিয়ে দু\'বার ট্যাপ করে কপি করুন।\n\nনিচের টেক্সট বক্স থেকে একটি শব্দ কপি করে দেখুন। + টেক্সট কাট করার জন্য, ৩টি আঙুল দিয়ে ডবল-ট্যাপ করে ধরে থাকুন।\n\nটেক্সট পেস্ট করতে, ৩টি আঙুল দিয়ে তিনবার ট্যাপ করুন।\n\nনিচের টেক্সট বক্সে একটি শব্দ পেস্ট করে দেখুন। টেক্সট বেছে নেওয়ার পরে এটিকে আপনি \'টকব্যাক\' মেনুতে গিয়ে কপি করতে পারবেন। \'টকব্যাক\' মেনু খুলতে নিচের দিকে সোয়াইপ করে তারপরে ডানদিকে সোয়াইপ করুন। \'এডিট করুন\' বিকল্পে ডবল ট্যাপ করে তারপর কপি করুন।\n\nনিচের টেক্সট বক্স থেকে একটি শব্দ কপি করে দেখুন। টেক্সট কাট বা পেস্ট করতে, \'টকব্যাক\' মেনু খুলে \'এডিট করুন\' বিকল্পে ডবল ট্যাপ করুন।\n\nনিচের টেক্সট বক্সে একটি শব্দ পেস্ট করে দেখুন। এখানে টেক্সট পেস্ট করুন @@ -747,7 +738,6 @@ একটি আইটেম থেকে আর একটি আইটেমে যাওয়ার জন্য বাঁদিকে অথবা ডানদিকে সোয়াইপ করুন কোনও আইটেমকে সক্রিয় করতে ডবল ট্যাপ করুন স্ক্রল করার জন্য ২টি আঙুল দিয়ে টানুন - ফোন কানেক্ট করা আছে কিনা তা চেক করুন। পুরু বর্ডার রঙ ডিফল্ট @@ -759,12 +749,6 @@ ধূসর সমীক্ষা বন্ধ করা আছে টেক্সট: %1$s - ছবিতে টেক্সটের বিবরণ দিন - এই আইকন শনাক্ত করা হয়েছে: %1$s - অ্যাকশন কাজ করে না। - কোনও অ্যাকশন বেছে নেওয়া হয়নি। - কাজ করবে এমন একটি অ্যাকশন বেছে নিন। - কোনও অ্যাকশন নেই। - অ্যাকশন সেটিং চালু করা নেই। - কোনও টেক্সট খুঁজে পাওয়া যায়নি + ছবির বিবরণ দিন + আনুমানিক আইকন: %1$s diff --git a/talkback/src/main/res/values-bs/strings.xml b/talkback/src/main/res/values-bs/strings.xml index cef4787ac..f32fb9a91 100644 --- a/talkback/src/main/res/values-bs/strings.xml +++ b/talkback/src/main/res/values-bs/strings.xml @@ -7,7 +7,6 @@ Postavke za pretvaranje teksta u govor Jezici Jezik govora - Radnje Radnje sistema Verzija %1$s Upravljanje prilagođenim oznakama @@ -31,37 +30,46 @@ Uređaj je otključan. Zvuk Jačina govora - Izgovaraj obavještenja kad je ekran isklj. - Uvijek izgovaraj broj stavki liste - Izgovara broj za sve metode klizanja + Govori kada je ekran isključen + Obavještenja se izgovaraju kada je ekran isključen + Kada je ekran isključen nema izgovora. + Izgovorite broj stavki u listama na ekranu + Izgovarajte samo dok kližete uz pokret + Uvijek se izgovara Prekrijte senzor za blizinu da zaustavite govor - Izgovaraj slova s primjerima - Kad odaberete tipke na tastaturi ili se krećete po znakovima, čut ćete primjer za svako slovo, npr. \"h, hotel\" - Izgovaraj znakove interpunkcije i simbole + Izgovaranje fonetskih slova + Fonetsko pismo se ne izgovara + Fonetsko pismo se izgovara kada pritisnite i dugo držite pritisnutim tipke na tastaturi i krećete se po znaku + Interpunkcija + Interpunkcija i simboli se ne izgovaraju + Interpunkcija i simboli se izgovaraju Velika slova Ne čini ništa Reci: \"Veliko slovo\" Promijeni visinu glasa Reproduciraj zvuk Izgovaranje savjeta o korištenju - Nakon opisa sadržaja predloži način upotrebe - Izgovaraj informacije o listi i mreži + Savjeti za korištenje se ne izgovaraju prilikom pomijeranja fokusa pristupačnosti + Savjeti za korištenje se izgovaraju prilikom kretanja nakon kratke odgode + Izgovaranje informacija s liste i mreže + Informacije s liste i mreže se izgovaraju + Informacije s liste i mreže se ne izgovaraju Vratiti pokrete na zadano? Ovim će se svi pokreti vratiti na zadane radnje.\n\nIzgubit ćete sve promjene koje ste izvršili. Vrati na zadano Postavke pokreta su vraćene na zadano. Izgovaranje tipa elementa - Za stavke u fokusu + Vrsta elementa se izgovara za stavke u fokusu + Vrsta elementa se ne izgovara za stavke u fokusu Izgovor ID-ova elementa - Za neoznačenu dugmad - Izgovaraj nazive prozora sistema - Kada se prebacite na druge prozore sistema kao što su statusna traka, obavještenja ili kontrole jačine zvuka + ID-ovi elementa se ne izgovaraju za neoznačenu dugmad + ID-ovi elementa se izgovaraju za neoznačenu dugmad Istraži dodirom Kontrole Jednom dodirnite da aktivirate Jednom dodirnite fokusiranu stavku da je aktivirate Rječitost - Izgovaraj znakove interpunkcije i simbole + Interpunkcija Prilagodite pokazivač fokusa Prilagodite pokrete Prilagođene oznake @@ -203,7 +211,8 @@ Korištenje promjena visine glasa Eho tastature Redoslijed opisa elemenata - Izgovaranje izbrisanih slova u višem tonalitetu + Izgovaranje teksta izbrisanog putem tastature u višem tonalitetu + Ne mijenjaj visinu glasa tokom govora Tastatura s Braillevim pismom Obavještenje vibracijom Obavještenje zvukom @@ -211,6 +220,7 @@ Smanjenje jačine zvuka ostalih aplikacija tokom govora Jačina zvuka obavještenja Prečica za prekid i nastavak aplikacije TalkBack + Sakrij prečicu na ekranu Programerske postavke Odaberite koje događaje želite bilježiti Filtriraj zapise pristupačnosti @@ -256,7 +266,7 @@ Otvaranje TalkBack menija Pauziraj povratne informacije Pauziranje ili nastavak govora - Uključivanje ili isključivanje govora + Uključivanje ili isključivanje zvuka TalkBacka Čitanje od vrha Čitanje od sljedeće stavke Odštampaj čvor stabla @@ -278,7 +288,6 @@ Držanje prečice za pristupačnost Pomjeranje fokusa navigacije naprijed ili podešavanje kontrole za čitanje nadolje Pomjeranje fokusa navigacije nazad ili podešavanje kontrole za čitanje nagore - Aktivirajte trenutno odabranu radnju Rezultat pretraživanja Reprodukcija ili pauziranje medija Sve aplikacije @@ -323,7 +332,7 @@ Čitanje Posebne funkcije Drugo - Prikazuje kada postoje radnje za aktuelnu stavku, uključujući kopiranje, lijepljenje, biranje i drugo + Prikazuje se kada postoje prilagođene radnje za trenutnu stavku Kopiranje, lijepljenje, odabir i još mnogo toga. Prikazuje se kada odaberete okvir za tekst. Otvaranje linkova unutar fokusirane stavke Prelazak na narednu ili prethodnu stranicu. Prikazuje se kada čitate sadržaj s više stranica. @@ -342,7 +351,6 @@ Otvaranje postavki za pretvaranje teksta u govor Isključivanje povratnih informacija TalkBacka Nije moguće urediti - Izvršavanje radnji Čitanje znak po znak Čitanje riječ po riječ Čitanje red po red @@ -365,7 +373,7 @@ Smanjivanje jačine drugih zvukova koji se reproduciraju dok TalkBack govori Klizanje naprijed ili nazad Pojačavanje ili smanjivanje jačine zvuka za pristupačnost - Čitanje teksta ugrađenog u odabranu sliku + Primite automatski opis za ovu sliku dolje dolje pa desno Prevlačenje nagore @@ -408,9 +416,7 @@ Dvostruki dodir i držanje s 2 prsta Dvostruki dodir i držanje s 3 prsta Dvostruki dodir i držanje s 4 prsta - Dodirnite i držite s 3 prsta Trostruki dodir i držanje s 2 prsta - Trostruki dodir i držanje s 3 prsta \"%1$s\" ili \"%2$s\" da podesite \"%1$s\" da podesite Nepoznat pokret @@ -433,9 +439,8 @@ Kada se ekran uključi Kada se prikaže zaključani ekran Samo iz obavještenja - Držite prstom da odaberete tipku, a zatim dvaput dodirnite - Držite prstom da odaberete tipku sa slovom, a zatim ga podignite. Dvaput dodirnite za druge tipke. - Držite prstom da odaberete tipku, a zatim ga podignite + Držite prstom da izaberete tipku, a onda dvaput dodirnite + Držite prstom da izaberete tipku, a onda podignite prst Onemogućeno Veoma lagano Lagano @@ -486,6 +491,7 @@ Odaberite aplikaciju za izvoz oznake: Ova verzija aplikacije TalkBack uključuje promjene podrazumijevanih pokreta za pristupačnost. Radnje povezane s ovim pokretima mogu se prilagoditi u postavkama TalkBacka. Kada je omogućeno Istraživanje dodirom, možete koristiti sljedeće pokrete za obavljanje određenih radnji.\n\n%1$s Dugo pritisnite tipke za pojačavanje i stišavanje zvuka + Pritisnite obje tipke za jačinu zvuka tri puta brzo da sakrijete ili prikažete ekran Sakriti ekran? Ovim se isključuje ekran radi poboljšanja privatnosti tako da ekran ne bude vidljiv drugima kada ste na javnom mjestu Ova verzija TalkBacka uključuje promjene zadanih pokreta za pristupačnost.\n\nPokret gore-dolje će vam omogućiti da pređete na prvu stavku na ekranu, a pokret dolje-gore pomjera vas na posljednju stavku.\n\nPreciznost čitanja sada se može promijeniti fokusiranjem neke stavke i izborom preciznosti iz lokalnog kontekstnog menija TalkBacka.\n\nRadnje koje se izvode tim pokretima mogu se promijeniti u meniju Postavke TalkBacka. @@ -501,9 +507,6 @@ Jeste li sigurni da želite uključiti ispravljanje grešaka na čvoru stabla?\n\nIspravljanje grešaka na čvoru stabla izlaže sadržaj ekrana zapisima vašeg uređaja, što druge aplikacije mogu pročitati. Želite li uključiti Statistiku rada? Jeste li sigurni da želite uključiti statistiku rada?\n\nStatistika rada može trošiti više memorije i energije. - Omogućiti opširno zapisivanje? - Opširno zapisivanje može pomoći kod otklanjanja grešaka, ali se zbog toga lične informacije mogu prikazivati u međumemoriji zapisnika sistema.\n\n Želite li omogućiti opširno zapisivanje? - Da, omogući opširno zapisivanje Dozvoliti pristup telefonu? To pomaže TalkBacku da smanji broj obavijesti tokom poziva Nastavi @@ -558,11 +561,9 @@ Jačina zvuka za pristupačnost Podesite klizač Podesite vrijednost - Radnje Izgovaranje lozinki Lozinke se uvijek izgovaraju Zvuk i vibracija - Zvuk kopirano, %1$s Zatvori Zatvori pretraživanje @@ -598,15 +599,13 @@ %1$s da se čitaju %2$s Da koristite ovo, idite u postavke TalkBacka i dodajte pokret za postavku \"%1$s\" Brailleva tastatura nije uključena. Idite u postavke TalkBacka, postavite je i pokušajte ponovo. - Prijedlozi su dostupni - Prijedlozi su dostupni. Da pristupite, %1$s Stranica %1$d od %2$d Nazad Naprijed Zatvori Završi Idi nagore - Nove funkcije u TalkBacku + Nove funkcije u TalkBacku Zatvoriti vodič? Na ovo se možete vratiti bilo kada u postavkama TalkBacka. Ostani u vodiču @@ -650,14 +649,6 @@ Dodirnite da saznate kako brže koristiti TalkBack pomoću novih pokreta. Stablo s čvorovima je odštampano u zapisnike. Ovo su nedavno izvršeni pokreti. Prijavite koji je pokret pogrešan i šta se očekuje. - Dobit ćete pojednostavljene kontrole za jačinu zvuka, kontrole za brze radnje i još mnogo toga.\n\nNa nekoliko sljedećih ekrana saznat ćete više o ključnim ažuriranjima i promjenama. To će trajati oko 5 minuta.\n\nOve informacije možete pregledati u postavkama TalkBacka bilo kada. - Promjene kontrola za jačinu zvuka - Radi unapređenja kontrola za jačinu zvuka, tipke za jačinu zvuka više ne kontroliraju kursore u tekstu ni klizače.\n\nDa promijenite položaj klizača, prevucite naviše ili naniže.\n\nDa promijenite položaj kursora u tekstu, prevucite naviše ili naniže u okviru za tekst. Ovo također funkcionira u kontrolama za čitanje na tastaturi s Braillevim pismom. - Tekst u slikama - Više detalja o tekstu na slikama možete dobiti automatski ili kada vam zatrebaju.\n\nZa slike koje nemaju oznaku: TalkBack će automatski čitati tekst koji se pojavi.\n\nZa sve slike: otvorite meni za TalkBack i odaberite \"Opiši tekst na slici\".\n\nSlike ostaju na vašem uređaju i nikada se ne šalju u Google. To znači da možete koristiti ove obje funkcije bez internetske veze. - Navigacija u prozoru - Možete prelaziti između različitih odjeljaka na ekranu, kao što su traka s obavještenjima, glavni sadržaj i tastatura.\n\nDa koristite navigaciju u prozoru, prevucite naniže s 4 prsta. - Možete prelaziti između različitih odjeljaka na ekranu, kao što su traka s obavještenjima, glavni sadržaj i tastatura.\n\nDa koristite navigaciju u prozoru, prevucite naniže pa naviše. Nastavite dok ne odaberete navigaciju u prozoru. Za navigaciju u prozoru, prevucite naniže. Vodič Dobro došli u TalkBack TalkBack je čitač ekrana namijenjen situacijama ili osobama koje imaju poteškoće s prepoznavanjem sadržaja ekrana. Pruža vam govorne povratne informacije, tako da možete koristiti uređaj bez gledanja u ekran.\n\nMožete uključiti ili isključiti TalkBack tako što ćete nekoliko sekundi držati obje tipke za jačinu zvuka.\n\nKada je TalkBack uključen, fokusirana stavka na ekranu se izgovara naglas.\n\nPrevlačenjem udesno prelazite na sljedeću stavku, a prevlačenjem ulijevo na prethodnu.\n\nPrevucite udesno sada da pronađete dugme Naprijed. @@ -700,14 +691,14 @@ Pređite prstom preko tastature. Kada čujete slovo koje želite upisati, podignite prst.\n\nProbajte aktivirati okvir za tekst u nastavku i upisati svoje ime. Također možete pisati tastaturom s Braillevim pismom koju ćete pronaći u postavkama TalkBacka. Pomjeranje kursora - Kada aktivirate okvir za tekst, kursor možete pomjerati između slova prevlačeći naviše ili naniže.\n\nIsprobajte u okviru za tekst ispod. + Kada aktivirate okvir za tekst, možete pomjerati kursor s jednog slova na drugo pritiskanjem tipki za jačinu zvuka.\n\nIsprobajte u okviru za tekst u nastavku. Dobro došli u TalkBack Odabir teksta U okviru za tekst pomjerite kursor na početak teksta koji želite odabrati.\n\nDodirnite dvaput i zadržite pomoću 2 prsta da pokrenete način rada za odabir. Zatim pomjerite kursor na kraj teksta. Ponovo dodirnite dvaput i zadržite pomoću 2 prsta da okončate način rada za odabir.\n\nPokušajte odabrati riječi \"Dobro došli\" u okviru za tekst u nastavku. - U okviru za tekst pomjerite kursor na početak teksta koji želite odabrati.\n\nPrevucite nadolje pa udesno da otvorite meni TalkBacka. Dodirnite dvaput radnje, a zatim pokrenite način rada za odabir. Pomjerite kursor na kraj teksta.\n\nPonovo otvorite meni TalkBacka, a zatim dodirnite dvaput radnje da okončate način rada za odabir.\n\nPokušajte odabrati riječi \"Dobro došli\" u okviru za tekst u nastavku. + U okviru za tekst pomjerite kursor na početak teksta koji želite odabrati.\n\nPrevucite nadolje pa udesno da otvorite meni TalkBacka. Dodirnite dvaput opcije za uređivanje, a zatim pokrenite način rada za odabir. Pomjerite kursor na kraj teksta.\n\nPonovo otvorite meni Talkbacka, a zatim dodirnite dvaput opcije za uređivanje da okončate način rada za odabir.\n\nPokušajte odabrati riječi \"Dobro došli\" u okviru za tekst u nastavku. Kopirajte, izrežite i zalijepite - Nakon što izaberete tekst, dvaput dodirnite radnje i kopirajte ga.\n\nPokušajte kopirati riječ u okviru za tekst u nastavku. - Da izrežete ili zalijepite tekst, otvorite meni TalkBacka i dvaput dodirnite radnje.\n\nDa zalijepite tekst, triput dodirnite s tri prsta.\n\nPokušajte zalijepiti riječ u okvir za tekst u nastavku. + Nakon odabira teksta, kopirajte ga tako što ćete dodirnuti dvaput s 3 prsta.\n\nPokušajte kopirati riječ u okviru za tekst u nastavku. + Da izrežete tekst, dodirnite dvaput i zadržite pomoću 3 prsta.\n\nDa zalijepite tekst, dodirnite triput pomoću 3 prsta.\n\nPokušajte zalijepiti riječ u okvir za tekst u nastavku. Nakon odabira teksta, možete ga kopirati u meniju TalkBacka. Prevucite nadolje, a zatim udesno da otvorite meni TalkBacka. Dodirnite dvaput opcije za uređivanje, a zatim kopirajte.\n\nPokušajte kopirati riječ u okvir za tekst u nastavku. Da izrežete ili zalijepite tekst, otvorite meni TalkBacka i dodirnite dvaput opcije za uređivanje.\n\nPokušajte zalijepiti riječ u okvir za tekst u nastavku. Zalijepite tekst ovdje @@ -750,7 +741,6 @@ Prevucite udesno ili ulijevo da se krećete između stavki Dodirnite dvaput da aktivirate stavku Prevucite s dva prsta da kližete - Provjerite je li telefon povezan. Debele ivice Boja Zadano @@ -762,12 +752,6 @@ Siva Anketa je zatvorena Tekst: %1$s - Opiši tekst na slici - Otkrivena ikona: %1$s - Radnja nije podržana. - Nije odabrana nijedna radnja. - Odaberite podržanu radnju. - Nema radnji. - Postavka radnji nije omogućena. - Tekst nije pronađen + Opiši sliku + Predviđena ikona: %1$s diff --git a/talkback/src/main/res/values-bs/strings_voicecommands.xml b/talkback/src/main/res/values-bs/strings_voicecommands.xml index caa169b56..ed3e9d545 100644 --- a/talkback/src/main/res/values-bs/strings_voicecommands.xml +++ b/talkback/src/main/res/values-bs/strings_voicecommands.xml @@ -95,7 +95,7 @@ Nije moguće prepoznati ovu komandu. Recite \"%1$s\" da dobijete listu svih komandi. Recite \"%1$s\" da dobijete listu svih komandi. Pokušajte ponovo za koji trenutak - Glasovni unos \"%1$s\" nije prepoznat kao glasovna komanda. + Govorni unos \"%1$s\" nije prepoznat kao glasovna komanda. Oznaka je sačuvana Nema dostupnih radnji Nema sljedećeg naslova diff --git a/talkback/src/main/res/values-ca/strings.xml b/talkback/src/main/res/values-ca/strings.xml index 5b111bde2..e66cb9835 100644 --- a/talkback/src/main/res/values-ca/strings.xml +++ b/talkback/src/main/res/values-ca/strings.xml @@ -7,7 +7,6 @@ Configuració de text a parla Idiomes Idioma parlat - Accions Accions del sistema Versió %1$s Gestiona etiquetes personalitzades @@ -31,37 +30,46 @@ Dispositiu desbloquejat Àudio Volum de la parla - Enuncia notific. amb pantalla desactivada - Enuncia sempre el nombre d\'elements de la llista - Enuncia el recompte per a tots els mètodes de desplaçament + Enuncia amb la pantalla desactivada + S\'enuncien les notificacions quan la pantalla està apagada + Veu desactivada amb pantalla apagada + Enuncia el nombre d\'elements de la llista de la pantalla + Enuncia només quan em desplaci amb un gest + Llegeix sempre Tapa el sensor de proximitat per aturar la parla - Enuncia les lletres amb exemples - Quan seleccionis tecles del teclat o naveguis per caràcter, sentiràs un exemple amb cada lletra, com ara \"h, hotel\" - Enuncia la puntuació i els símbols + Enuncia les lletres fonètiques + Les lletres fonètiques no es llegeixen + S\'enuncien les lletres fonètiques en mantenir premudes les tecles i navegar per caràcter + Puntuació + La puntuació i els símbols no s\'enuncien + La puntuació i els símbols s\'enuncien Lletres en majúscula No facis res Digues \"majúscula\" Canvia el to Reprodueix un so Enuncia els consells d\'ús - Després de descriure el contingut, suggereix com pots utilitzar-lo - Enuncia inform. de llistes i quadrícules + Els consells d\'ús no es llegeixen en moure la selecció d\'accessibilitat + S\'enuncien els consells d\'ús durant la navegació amb un breu retard + Enuncia la informació de llistes i quadrícules + S\'enuncia la informació de llistes i quadrícules + No es llegeix la informació de llistes i quadrícules Vols restablir els gestos? Es restabliran tots els gestos a les accions predeterminades.\n\nPerdràs tots els canvis que hagis fet. Restableix S\'ha restablert la configuració de gestos. Enuncia el tipus d\'element - Per als elements en què s\'ha posat el focus + S\'enuncia el tipus d\'element per als elements focalitzats + No es llegeix el tipus dels elements seleccionats Enuncia els identificadors dels elements - Per als botons sense etiqueta - Enuncia les finestres del sistema - Quan canvies a altres finestres del sistema, com ara la barra d\'estat, les notificacions o els controls de volum + No es llegeixen els identificadors dels elements dels botons sense etiquetar + S\'enuncien els identificadors dels elements dels botons sense etiquetar Exploració tàctil Controls Fes un toc per activar Toca una vegada un element on s\'hagi posat el focus per activar-lo Verbositat - Enuncia la puntuació i els símbols + Puntuació Personalitza l\'indicador de focus Personalitza els gestos Etiquetes personalitzades @@ -203,7 +211,8 @@ Utilitza canvis de to Eco del teclat Ordre de descripció dels elements - Enuncia les lletres suprimides amb una veu més aguda + Enuncia el text esborrat amb el teclat amb una veu més aguda + No canviïs el to de la veu durant l\'enunciació Teclat braille Avisos amb vibració Avisos sonors @@ -211,6 +220,7 @@ Redueix el volum de la resta d\'àudio durant l\'enunciació Volum dels avisos sonors Drecera per suspendre i reprendre TalkBack + Drecera per amagar la pantalla Configuració per a desenvolupadors Selecciona esdeveniments per registrar Filtra el registre d\'esdeveniments d\'accessibilitat @@ -256,7 +266,7 @@ Obre el menú de TalkBack Posa en pausa els comentaris Posa en pausa o reprèn la parla - Activa o desactiva la parla + Activa o desactiva el so de TalkBack Llegeix des del començament Llegeix a partir de l\'element següent Imprimeix l\'arbre de nodes @@ -278,7 +288,6 @@ Mantén premuda la drecera d\'accessibilitat Mou el focus de navegació cap endavant o ajusta el control de lectura cap avall Mou el focus de navegació cap enrere o ajusta un control de lectura cap amunt - Activa l\'acció seleccionada en aquests moments Resultats de la cerca Reprodueix o posa en pausa el contingut multimèdia Totes les aplicacions @@ -323,7 +332,7 @@ Lectura Funcions especials Altres - Mostra quan hi ha accions per a l\'element actual, com ara copiar, enganxar, seleccionar i més + Es mostra quan hi ha accions personalitzades per a l\'element actual Copia, selecciona, enganxa i més. Es mostra quan selecciones un quadre de text. Obre els enllaços dins d\'un element on s\'ha posat el focus Ves a la pàgina següent o anterior. Es mostra quan llegeixes contingut amb diverses pàgines. @@ -342,7 +351,6 @@ Obre la configuració de text a parla Desactiva els comentaris de veu de TalkBack No es pot editar - Fes accions Llegeix els caràcters d\'un en un Llegeix les paraules d\'una en una Llegeix les línies d\'una en una @@ -365,7 +373,7 @@ Abaixa el volum d\'altres fonts d\'àudio que s\'estiguin reproduint quan TalkBack parli Desplaça cap endavant o cap enrere Apuja o abaixa el volum d\'accessibilitat - Llegeix en veu alta el text inserit en una imatge seleccionada + Obtén una descripció automàtica d\'aquesta imatge avall avall i a la dreta Llisca cap amunt @@ -408,9 +416,7 @@ Fes doble toc amb 2 dits i mantén premut Fes doble toc amb 3 dits i mantén premut Fes doble toc amb 4 dits i mantén premut - Toc amb 3 dits i mantén premut Triple toc i mantén premut amb 2 dits - Triple toc amb 3 dits i mantén premut %1$s o %2$s per ajustar %1$s per ajustar Gest desconegut @@ -433,9 +439,8 @@ Quan s\'activi la pantalla Quan es mostri la pantalla de bloqueig Només des de notificacions - Mantén una tecla premuda per seleccionar-la i, a continuació, fes doble toc - Mantén una tecla de lletra premuda per seleccionar-la i, a continuació, aixeca el dit. En el cas de les altres tecles, fes doble toc. - Mantén una tecla premuda per seleccionar-la i, a continuació, aixeca el dit + Mantén la tecla premuda per seleccionar-la i, a continuació, fes doble toc + Mantén la tecla premuda per seleccionar-la i, a continuació, aixeca el dit Desactivat Molt fluix Fluix @@ -485,11 +490,12 @@ Tria l\'aplicació per exportar les etiquetes: Aquesta versió de TalkBack inclou canvis als gestos d\'accessibilitat predeterminats. Les accions associades amb aquests gestos es poden personalitzar dins de la configuració de TalkBack. Si Explora amb el tacte està activat, pots utilitzar els gestos següents per dur a terme determinades accions.\n\n%1$s Mantén premudes les tecles d\'apujar el volum i d\'abaixar-lo + Prem les dues tecles de volum tres vegades ràpidament per amagar o mostrar la pantalla Vols amagar la pantalla? Això desactiva la pantalla per millorar la privadesa i que altres persones no puguin veure la teva pantalla quan siguis en llocs públics. Aquesta versió de TalkBack inclou canvis als gestos d\'accessibilitat predeterminats.\n\nEl gest cap amunt i cap avall et permetrà moure\'t al primer element de la pantalla, mentre que el gest cap avall i cap amunt et desplaçarà al darrer element.\n\nAra pots canviar la granularitat de lectura posant el focus en un element i, a continuació, seleccionant una granularitat al menú contextual de TalkBack.\n\nPots canviar les accions que duen a terme aquests gestos a la configuració de TalkBack. Aquesta versió de TalkBack inclou canvis en els gestos d\'accessibilitat predeterminats.\n\nAra el gest per anar cap amunt porta a l\'opció de navegació anterior, i el gest per anar cap avall, a la següent. - Aquesta configuració s\'ha suprimit de TalkBack a causa de problemes amb la fiabilitat:\n• Gestos de toc al lateral del dispositiu.\n• Agita per iniciar la lectura contínua. + Aquesta configuració s\'ha suprimit de TalkBack a causa de problemes amb la fiabilitat:\n• Gestos de toc al lateral del dispositiu.\n• Sacseja per iniciar la lectura contínua. Accepta els gestos Personalitza els gestos Desactiva-ho tot @@ -500,9 +506,6 @@ Confirmes que vols activar la depuració de l\'arbre de nodes?\n\nAquesta acció exposa el contingut de la pantalla als registres del dispositiu, i altres aplicacions el poden llegir. Vols activar les estadístiques de rendiment? Segur que vols activar les estadístiques de rendiment?\n\nÉs possible que consumeixin més memòria i bateria. - Vols activar el registre detallat? - El registre detallat pot ajudar en el procés de depuració, però pot provocar que hi hagi informació personal que aparegui a la memòria intermèdia del registre del sistema.\n\n Vols activar el registre detallat? - Sí, activa el registre detallat Vols permetre l\'accés al telèfon? Això ajuda TalkBack a reduir els avisos durant una trucada Continua @@ -556,11 +559,9 @@ Volum d\'accessibilitat Ajusta el control lliscant Ajusta el valor - Accions Enuncia les contrasenyes Les contrasenyes s\'enuncien sempre So i vibració - So s\'ha copiat %1$s Tanca Tanca la cerca @@ -595,15 +596,13 @@ %1$s per llegir per %2$s Per utilitzar-ho, ves a la configuració de TalkBack i afegeix un gest per a %1$s El teclat braille no està activat. Ves a la configuració de TalkBack, configura el teclat i torna-hi. - Hi ha suggeriments disponibles - Hi ha suggeriments disponibles. Per accedir-hi, %1$s. Pàgina %1$d de %2$d Anterior Següent Tanca Finalitza Navega cap amunt - Funcions noves a TalkBack + Funcions noves a TalkBack Vols tancar el tutorial? Pots tornar-hi en qualsevol moment a la configuració de TalkBack. Queda\'t al tutorial @@ -647,14 +646,6 @@ Toca per obtenir informació sobre com pots utilitzar TalkBack més ràpidament amb els gestos nous. L\'arbre de nodes s\'ha imprès als registres. Aquí s\'indiquen els gestos que has dut a terme recentment; informa del gest que no és correcte i explica què n\'esperaves. - Tindràs controls de volum simplificats i controls d\'acció més ràpids, entre d\'altres.\n\nA les pantalles següents, obtindràs informació sobre els canvis i les novetats clau. Aquest procés durarà uns 5 minuts.\n\nPots tornar a consultar aquesta informació en qualsevol moment a la configuració de TalkBack. - Canvis en el control del volum - Per millorar el control del volum, les tecles de volum ja no controlen els cursors de text ni els controls lliscants.\n\nPer canviar la posició d\'un control lliscant, llisca cap amunt o cap avall.\n\nPer canviar la posició del cursor de text, llisca cap amunt o cap avall en un quadre de text. Això també s\'aplica als controls de lectura del teclat braille. - Text en imatges - Pots obtenir més informació sobre el text de les imatges automàticament o bé quan ho necessitis.\n\nEn el cas d\'imatges que no tinguin cap etiqueta, TalkBack llegirà automàticament el text que s\'hi mostri.\n\nEn totes les imatges, obre el menú de TalkBack i selecciona Descriu el text de la imatge.\n\nLes imatges es conserven al dispositiu i no s\'envien mai a Google. Això vol dir que pots utilitzar totes dues funcions sense connexió a Internet. - Navegació per finestres - Pots canviar entre diferents seccions de la pantalla, com ara la barra de notificacions, el contingut principal i el teclat.\n\nPer utilitzar la navegació per finestres, llisca cap avall amb 4 dits. - Pots canviar entre diferents seccions de la pantalla, com ara la barra de notificacions, el contingut principal i el teclat.\n\nPer utilitzar la navegació per finestres, llisca cap avall i després cap amunt. Repeteix aquest gest fins que hagis seleccionat la navegació per finestres. Per navegar fins a la finestra en qüestió, llisca cap avall. Tutorial Et donem la benvinguda a TalkBack TalkBack és un lector de pantalla pensat per a situacions o persones amb dificultats per veure la pantalla. Et proporciona avisos de veu perquè puguis utilitzar el dispositiu sense mirar la pantalla.\n\nPots activar o desactivar TalkBack mantenint premudes les dues tecles de volum durant uns quants segons.\n\nQuan TalkBack està activat, l\'element en pantalla on es posa el focus s\'anuncia en veu alta.\n\nSi llisques cap a la dreta, es passarà a l\'element següent, mentre que si ho fas cap a l\'esquerra, es passarà a l\'anterior.\n\nLlisca cap a la dreta ara mateix per anar al botó Següent. @@ -697,14 +688,14 @@ Mou el dit pel teclat. Quan sentis la lletra que vols escriure, aixeca el dit.\n\nProva d\'activar el quadre de text següent i escriu el teu nom. També pots escriure amb el teclat braille. El trobaràs a la configuració de TalkBack. Mou el cursor - Quan hagis activat un quadre de text, podràs moure el cursor entre les lletres lliscant cap amunt o cap avall.\n\nProva-ho al quadre de text següent. + Quan hagis activat un quadre de text, podràs moure el cursor entre les lletres prement les tecles per apujar i abaixar volum.\n\nProva-ho al quadre de text següent. Et donem la benvinguda a TalkBack Selecciona text En un quadre de text, mou el cursor al principi del text que vols seleccionar.\n\nFes doble toc i mantén premut amb 2 dits per iniciar el mode de selecció. A continuació, mou el cursor al final del text. Fes doble toc i mantén premut amb 2 dits una altra vegada per sortir del mode de selecció.\n\nProva de seleccionar la paraula \"benvinguda\" al quadre de text següent. - En un quadre de text, mou el cursor al principi del text que vols seleccionar.\n\nLlisca el dit cap avall i cap a la dreta per obrir el menú de TalkBack. Fes doble toc a les accions i inicia el mode de selecció. Mou el cursor fins al final del text.\n\nTorna a obrir el menú de TalkBack i fes doble toc a les accions per sortir del mode de selecció.\n\nProva de seleccionar la paraula \"benvinguda\" al quadre de text següent. + En un quadre de text, mou el cursor al principi del text que vols seleccionar.\n\nLlisca el dit cap avall i cap a la dreta per obrir el menú de TalkBack. Fes doble toc a les opcions d\'edició i inicia el mode de selecció. Mou el cursor fins al final del text.\n\nTorna a obrir el menú de TalkBack i fes doble toc a les opcions d\'edició per sortir del mode de selecció.\n\nProva de seleccionar la paraula \"benvinguda\" al quadre de text següent. Copia, retalla i enganxa - Després de seleccionar el text, fes doble toc a les accions i copia.\n\nProva de copiar una paraula al quadre de text següent. - Per copiar o enganxar text, obre el menú de TalkBack i fes doble toc a les accions.\n\nPer enganxar text, fes triple toc amb tres dits.\n\nProva d\'enganxar una paraula al quadre de text següent. + Després de seleccionar el text, copia\'l fent doble toc amb 3 dits.\n\nProva de copiar una paraula al quadre de text següent. + Per retallar text, fes-hi doble toc amb tres dits i mantén premut.\n\nPer enganxar text, fes-hi triple toc amb 3 dits.\n\nProva d\'enganxar una paraula al quadre de text següent. Un cop has seleccionat el text, pots copiar-lo al menú de TalkBack. Llisca cap avall i després cap a la dreta per obrir el menú de TalkBack. Fes doble toc a les opcions d\'edició i copia.\n\nProva de copiar una paraula al quadre de text següent. Per copiar o enganxar text, obre el menú de TalkBack i fes doble toc a les opcions d\'edició.\n\nProva d\'enganxar una paraula al quadre de text següent. Enganxa text aquí @@ -747,7 +738,6 @@ Llisca cap a la dreta o cap a l\'esquerra per moure\'t pels elements Fes doble toc per activar un element Arrossega 2 dits per desplaçar-te - Comprova que el telèfon estigui connectat. Vores gruixudes Color Predeterminat @@ -759,12 +749,6 @@ Gris S\'ha tancat l\'enquesta Text: %1$s - Descriu el text de la imatge - Icona detectada: %1$s - L\'acció no s\'admet. - No hi ha cap acció seleccionada. - Selecciona una acció admesa. - Cap acció. - L\'opció de configuració de les accions no està activada. - No s\'ha trobat cap text + Descriu la imatge + Predicció d\'icona: %1$s diff --git a/talkback/src/main/res/values-cs/strings.xml b/talkback/src/main/res/values-cs/strings.xml index 19ad55e9e..e1c904af8 100644 --- a/talkback/src/main/res/values-cs/strings.xml +++ b/talkback/src/main/res/values-cs/strings.xml @@ -7,7 +7,6 @@ Nastavení převodu textu na řeč Jazyky Mluvený jazyk - Akce Akce systému Verze %1$s Správa vlastních štítků @@ -31,37 +30,46 @@ Zařízení bylo odemknuto. Zvuk Hlasitost řeči - Hlasová oznámení při vypnuté obrazovce - Vždy vyslovovat počet položek v seznamu - U všech metod posouvání vyslovovat počet + Řeč při vypnuté obrazovce + Když je vypnutá obrazovka, mluvená oznámení jsou zapnuta + Když je vypnutá obrazovka, je řeč také vypnuta + Přečíst počet položek seznamu na obrazovce + Přečíst jen při posouvání pomocí gesta + Přečíst vždy Pokud chcete ukončit řeč, zakryjte snímač vzdálenosti - Vyslovovat písmena s příklady - Když vyberete klávesu na klávesnici nebo provedete navigaci pomocí znaku, uslyšíte písmeno a slovo, například „h, hotel“ - Vyslovovat interpunkci a symboly + Vyslovovat fonetická písmena + Fonetický přepis písmen se nevyslovuje + Při dlouhém stisknutí tlačítka na klávesnici a přesunu po jednotlivých znacích je vyslovován fonetický přepis písmen + Interpunkce + Interpunkce a symboly se nebudou vyslovovat + Interpunkce a symboly se budou vyslovovat Velká písmena Nic nedělat Řekněte „velká písmena“ Změnit tón hlasu Přehrát zvuk Přehrávat tipy k použití - Po popsání obsahu navrhnout způsob použití - Hlasové informace o seznamech a mřížkách + Při přesunu zaměření pro usnadnění přístupu nejsou hlasově sdělovány rady ohledně použití + Při navigaci jsou po krátké prodlevě hlasově sdělovány rady ohledně použití + Číst informace ze seznamů a mřížek + Informace ze seznamů a mřížek jsou sdělovány + Informace ze seznamů a mřížek nejsou sdělovány Resetovat gesta? Všechna gesta budou resetována na výchozí akce.\n\nVšechny provedené změny budou ztraceny. Resetovat Nestavení gest byla resetována. Číst typy prvků - Pro vybrané položky + U zaměřených prvků bude vysloven typ prvku + U zaměřených prvků nebude vysloven typ prvku Čtení ID prvků - Pro tlačítka bez štítku - Vyslovovat systémová okna - Když přepnete na jiná systémová okna, jako je stavový řádek, oznámení nebo ovládání hlasitosti + U neoznačených tlačítek nebudou ID prvků vyslovována + U neoznačených tlačítek budou ID prvků vyslovována Prozkoumání dotykem Ovládací prvky Aktivovat jedním klepnutím Zaměřenou položku lze aktivovat jedním klepnutím Výřečnost - Vyslovovat interpunkci a symboly + Interpunkce Přizpůsobení indikátoru zaměření Přizpůsobit gesta Vlastní štítky @@ -203,7 +211,8 @@ Měnit výšku hlasu Hlasová odezva klávesnice Pořadí popisu prvků - Smazaná písmena vyslovovat vyšším hlasem + Vyslovovat text smazaný z klávesnice vyšším hlasem + Při mluvení neměnit výšku hlasu Braillská klávesnice Vibrační zpětná vazba Zvuková zpětná vazba @@ -211,6 +220,7 @@ Sníží hlasitost ostatních zvuků při hovoru Hlasitost zvukové odezvy Zkratka pro pozastavení a obnovení funkce TalkBack + Skrýt zkratku na obrazovce Nastavení pro vývojáře Vybrat události k zaprotokolování Filtrovat protokolování událostí přístupnosti @@ -256,7 +266,7 @@ Otevřít nabídku TalkBack Pozastavit zpětnou vazbu Pozastavit nebo obnovit řeč - Zapnout nebo vypnout hlasovou odezvu + Zapnout nebo vypnout zvuk čtečky TalkBack Číst shora Číst od další položky Vytisknout strom uzlů @@ -278,7 +288,6 @@ Podržet zkratku přístupnosti Posunout výběr dopředu nebo upravit ovládací prvek čtení dolů Posunout výběr nahoru nebo upravit ovládací prvek čtení nahoru - Aktivovat vybranou akci Výsledek vyhledávání Přehrát nebo pozastavit média Všechny aplikace @@ -323,7 +332,7 @@ Čtení Speciální funkce Jiné - Zobrazuje, když jsou pro aktuální položku k dispozici akce, včetně kopírování, vložení, výběru apod. + Zobrazí se, pokud jsou u aktuální položky k dispozici zvláštní akce Zkopírovat, vložit, vybrat apod. Zobrazí se, když vyberete textové pole. Otevřít odkazy ve vybrané položce Přejít na další nebo předchozí stránku. Zobrazuje se při čtení obsahu s několika stránkami. @@ -342,7 +351,6 @@ Otevřít nastavení převodu textu na řeč Vypnout hlasovou odezvu čtečky TalkBack Nelze upravit - Provádění akcí Číst po znacích Číst po slovech Číst po řádcích @@ -365,7 +373,7 @@ Když mluví čtečka TalkBack, snížit hlasitost ostatních zvuků Posunout vpřed nebo zpět Zvýšit nebo snížit hlasitost zvuků pro usnadnění přístupu - Přečíst text vložený ve vybraném obrázku + Načíst automatický popis tohoto obrázku dolů dolů a pak doprava Přejetí nahoru @@ -408,9 +416,7 @@ Dvojité klepnutí a podržení dvěma prsty Dvojité klepnutí a podržení třemi prsty Dvojité klepnutí a podržení čtyřmi prsty - Klepnout a podržet třemi prsty Třikrát klepnout a podržet dvěma prsty - Trojité klepnutí a podržení třemi prsty Lze upravit gestem „%1$s“ nebo „%2$s“ Lze upravit gestem „%1$s“ Neznámé gesto @@ -434,8 +440,7 @@ Při zobrazení obrazovky uzamčení Pouze z oznámení Podržením prstu vyberte klávesu a pak dvakrát klepněte - Podržením prstu vyberte klávesu a pak prst zvedněte. Na jiné klávesy je potřeba dvakrát klepnout. - Podržením prstu vyberte libovolnou klávesu, pak prst zvedněte + Podržením prstu vyberte klávesu, pak prst zvedněte Vypnuto Velmi lehké Lehké @@ -487,6 +492,7 @@ Zvolte aplikaci, do které budou exportovány štítky: V této verzi aplikace TalkBack byla změněna výchozí gesta pro usnadnění. Akce přiřazené k těmto gestům lze přizpůsobit v nastavení TalkBack. Když je zapnutá funkce Prozkoumání dotykem, můžete použít následující gesta k provádění určitých akcí.\n\n%1$s Dlouhé stisknutí tlačítek zvýšení a snížení hlasitosti + Obrazovku můžete skrýt nebo zobrazit, když třikrát rychle stisknete obě tlačítka hlasitosti Skrýt obrazovku? Obrazovka se vypne, aby ji neviděli lidé na veřejných místech a bylo tak posíleno vaše soukromí V této verzi aplikace TalkBack byla změněna výchozí gesta pro usnadnění.\n\nGestem „nahoru a potom dolů“ můžete přejít na první položku na obrazovce. Gestem „dolů a potom nahoru“ přejdete na poslední položku.\n\nÚroveň podrobnosti čtení lze nyní změnit tím, že vyberete položku a poté zvolíte úroveň podrobnosti v kontextové nabídce.\n\nAkce odpovídající těmto gestům můžete změnit v nastavení aplikace TalkBack. @@ -502,9 +508,6 @@ Opravdu chcete zapnout ladění stromu uzlů?\n\nLadění stromu uzlů odhalí obsah obrazovky protokolům zařízení, které mohou číst jiné aplikace. Aktivovat statistiky výkonu? Opravdu chcete statistiky výkonu zapnout?\n\nStatistiky výkonu mohou spotřebovávat více paměti a energie. - Povolit podrobné protokolování? - Podrobné protokolování může pomoct při ladění, ale může způsobit, že se ve vyrovnávací paměti protokolu systému objeví osobní údaje.\n\n Chcete povolit podrobné protokolování? - Ano Povolit přístup k telefonu? Toto oprávnění funkci TalkBack umožňuje snížit množství oznámení během hovorů Pokračovat @@ -560,11 +563,9 @@ Hlasitost zvuků pro usnadnění přístupu Upravit posuvník Upravit hodnotu - Akce Vyslovovat hesla Hesla jsou vždy vyslovována Zvuk a vibrace - Zvuk zkopírováno, %1$s Zavřít Zavřít vyhledávání @@ -601,15 +602,13 @@ %1$s spustíte čtení po %2$s Chcete-li toto gesto použít, v nastavení aplikace TalkBack přidejte gesto pro %1$s Braillská klávesnice není zapnuta. Nakonfigurujte ji v nastavení TalkBack a zkuste to znovu. - Jsou k dispozici návrhy - Jsou k dispozici návrhy Otevřete je tímto gestem: %1$s Strana %1$d z %2$d Předchozí Další Zavřít Dokončit Přejít nahoru - Nové funkce aplikace TalkBack + Nové funkce aplikace TalkBack Zavřít výukový program? V nastavení aplikace TalkBack se k němu můžete kdykoli vrátit. Zůstat ve výukovém programu @@ -653,14 +652,6 @@ Klepnutím zobrazíte návod, jak čtečku TalkBack používat rychleji pomocí nových gest. Strom uzlů byl uložen do protokolů. Zde jsou naposledy provedená gesta. Nahlaste, které gesto je špatně a co je očekáváno. - Získáte zjednodušené ovládání hlasitosti, rychlejší ovládání akcí a další funkce.\n\nO nejdůležitějších novinkách a změnách se dozvíte na několika dalších obrazovkách. Projdete je asi za pět minut.\n\nTyto informace si můžete kdykoli přečíst v nastavení aplikace TalkBack. - Změny ovládání hlasitosti - Aby se lépe ovládala hlasitost, tlačítka hlasitosti již neovládají textové kurzory ani posuvníky.\n\nPozici posuvníku změníte přejetím prstem nahoru nebo dolů.\n\nPozici textového kurzoru změníte přejetím nahoru nebo dolů v textovém poli. Funguje to i při ovládání čtení pomocí braillské klávesnice. - Text v obrázcích - Další podrobnosti o textu v obrázcích můžete získat automaticky, nebo když je potřebujete.\n\nObrázky bez popisku: Aplikace TalkBack automaticky přečte text, který se zobrazí.\n\nVšechny obrázky: Otevřete nabídku TalkBack a vyberte Popsat text v obrázku.\n\nObrázky zůstávají v zařízení a nikdy se neodesílají do Googlu. Obě tyto funkce tedy můžete používat i bez připojení k internetu. - Navigace v oknech - Můžete přecházet mezi jednotlivými sekcemi na obrazovce, jako je lišta oznámení, hlavní obsah nebo klávesnice.\n\nPokud chcete používat navigaci v oknech, přejeďte dolů čtyřmi prsty. - Můžete přecházet mezi jednotlivými sekcemi na obrazovce, jako je lišta oznámení, hlavní obsah nebo klávesnice.\n\nPokud chcete používat navigaci v oknech, přejeďte prstem dolů a potom nahoru. Pokračujte, dokud nevyberete navigaci v oknech. Do okna přejdete přejetím prstem dolů. Výukový program Vítá vás TalkBack TalkBack je čtečka obrazovky určená pro situace nebo lidi, kteří nevidí na displej. Poskytuje hlasovou odezvu, abyste mohli zařízení používat i bez sledování obrazovky.\n\nFunkci TalkBack můžete zapnout nebo vypnout tím, že na několik sekund podržíte obě tlačítka hlasitosti.\n\nKdyž je funkce TalkBack zapnutá, hlasově oznamuje položku vybranou na obrazovce.\n\nPřejetím doprava přejdete na další položku, přejetím doleva přejdete na předchozí položku.\n\nPřejeďte teď prstem doprava, abyste našli tlačítko Další. @@ -703,14 +694,14 @@ Pohybujte prstem po klávesnici. Až uslyšíte písmeno, které chcete napsat, prst zvedněte.\n\nZkuste aktivovat textové pole níže a napsat svoje jméno. Můžete psát také pomocí braillské klávesnice. Najdete ji v nastavení TalkBack. Přesunutí kurzoru - Když máte aktivované textové pole, můžete přejížděním prstem nahoru a dolů přesouvat kurzor mezi písmeny.\n\nVyzkoušejte si to v textovém poli níže. + Když máte aktivované textové pole, můžete stisknutím tlačítek zvýšení a snížení hlasitosti přesouvat kurzor mezi písmeny.\n\nVyzkoušejte si to v textovém poli níže. Vítá vás TalkBack Výběr textu V textovém poli přesuňte kurzor na začátek textu, který chcete vybrat.\n\nSpusťte režim výběru tak, že dvěma prsty dvakrát klepnete na obrazovku a podržíte ji. Potom přesuňte kurzor na konec textu. Znovu dvěma prsty dvakrát klepněte na obrazovku a podržte ji, abyste režim výběru ukončili.\n\nZkuste v textovém poli níže vybrat slovo „Vítá“. - V textovém poli přesuňte kurzor na začátek textu, který chcete vybrat.\n\nPřejetím prstem dolů a potom doprava otevřete nabídku TalkBack. Dvakrát klepněte na akce a pak spusťte režim výběru. Přesuňte kurzor na konec textu.\n\nZnovu otevřete nabídku TalkBack a potom dvojitým klepnutím na akce ukončete režim výběru.\n\nZkuste v textovém poli níže vybrat slovo „Vítá“. + V textovém poli přesuňte kurzor na začátek textu, který chcete vybrat.\n\nPřejetím prstem dolů a potom doprava otevřete nabídku TalkBack. Dvakrát klepněte na možnosti úprav a pak spusťte režim výběru. Přesuňte kurzor na konec textu.\n\nZnovu otevřete nabídku TalkBack a potom dvojitým klepnutím na možnosti úprav ukončete režim výběru.\n\nZkuste v textovém poli níže vybrat slovo „Vítá“. Kopírování, vyjímání a vkládání - Po výběru textu dvakrát klepněte na akce a potom na Kopírovat.\n\nZkuste zkopírovat nějaké slovo do textového pole níže. - Oříznutí nebo vložení textu: Otevřete nabídku TalkBack a dvakrát klepněte na akce.\n\nVložení textu: Třikrát klepněte třemi prsty.\n\nZkuste vložit nějaké slovo do textového pole níže. + Až vyberete text, zkopírujte ho dvojitým klepnutím třemi prsty.\n\nZkuste zkopírovat nějaké slovo do textového pole níže. + Vyjmutí textu: Dvakrát klepněte a podržte obrazovku třemi prsty.\n\nVložení textu: Třikrát klepněte třemi prsty.\n\nZkuste vložit nějaké slovo do textového pole níže. Až vyberete text, můžete ho zkopírovat do nabídky TalkBack. Přejetím prstem dolů a potom doprava otevřete nabídku TalkBack. Dvakrát klepněte na možnosti úprav a potom na kopírování.\n\nZkuste zkopírovat nějaké slovo do textového pole níže. Oříznutí nebo vložení textu: Otevřete nabídku TalkBack a dvakrát klepněte na možnosti úprav.\n\nZkuste vložit nějaké slovo do textového pole níže. Sem vložte text @@ -753,7 +744,6 @@ Přejetím prstem vlevo nebo vpravo lze přecházet mezi položkami. Dvojitým klepnutím položku aktivujete. Přetažením dvěma prsty můžete obsah posouvat. - Zkontrolujte, zda je telefon připojen. Tlusté ohraničení Barva Výchozí @@ -765,12 +755,6 @@ Šedá Průzkum byl ukončen Text: %1$s - Popsat text v obrázku - Zjištěná ikona: %1$s - Akce není podporována. - Není vybrána žádná akce. - Vyberte podporovanou akci. - Žádné akce. - Nastavení akcí není aktivováno. - Nebyl nalezen žádný text + Popsat obrázek + Předpokládaná ikona: %1$s diff --git a/talkback/src/main/res/values-da/strings.xml b/talkback/src/main/res/values-da/strings.xml index 1d9f1d784..eb551c6b3 100644 --- a/talkback/src/main/res/values-da/strings.xml +++ b/talkback/src/main/res/values-da/strings.xml @@ -7,7 +7,6 @@ Indstillinger for oplæsning Sprog Talt sprog - Handlinger Systemhandlinger Version %1$s Administrer tilpassede etiketter @@ -31,37 +30,46 @@ Enheden er låst op. Lyd Talelydstyrke - Læs notifikationer op ved slukket skærm - Læs altid antal listeelementer højt - Læs antallet op for alle rullemetoder + Oplæs ved slukket skærm + Notifikationer læses op, når skærmen er slukket + Ingen tale, når skærmen er slukket + Oplæs antallet af listeelementer på skærmen + Oplæs kun, når der rulles via bevægelse + Oplæses altid Dæk nærhedssensoren til for at stoppe oplæsningen - Læs bogstaver op med eksempler - Når du vælger taster eller navigerer via tegn, hører du et eksempel sammen med hvert bogstav, f.eks. \"h, hotel\" - Læs tegn og symboler op + Læs fonetiske bogstaver højt + Fonetiske bogstaver læses ikke højt + Fonetiske bogstaver læses højt ved langt tryk på tastaturet, og når du navigerer fra tegn til tegn + Tegnsætning + Tegn og symboler skal læses ikke højt + Tegn og symboler skal læses højt Store bogstaver Lad være med at gøre noget Sig \"store bogstaver\" Skift stemmeleje Afspil lyd Læs brugstips højt - Giv forslag til, hvordan indhold kan bruges, efter det er blevet beskrevet - Læs oplysninger om lister og gitre højt + Brugstips læses ikke højt, når fokusmarkeringen flyttes + Brugstips læses højt, når du bevæger dig rundt på en side, efter en kort forsinkelse + Oplæs oplysninger om lister og gitre + Oplysninger om lister og gitre læses højt + Oplysninger om lister og gitre læses ikke højt Vil du nulstille bevægelser? Denne handling gendanner standardhandlingerne for alle bevægelser.\n\nDu mister eventuelle ændringer, du har foretaget. Nulstil Indstillingerne for bevægelser er blevet nulstillet. Oplæs elementtype - Til elementer, der er i fokus + Elementtypen læses højt for elementer i fokus + Elementtypen læses ikke højt for elementer i fokus Oplæs element-id\'er - Til knapper uden etiket - Vinduer for stemmesystem - Når du skifter til andre systemvinduer såsom statusbjælken, notifikationer eller lydstyrkeknapper + Element-id\'er oplæses ikke for knapper uden etiket + Element-id\'er oplæses for knapper uden etiket Tryk for at høre Styring Tryk én gang for at aktivere Tryk én gang på et element, der er fokus på, for at aktivere det Detaljering - Læs tegn og symboler op + Tegnsætning Tilpas fokusindikatoren Tilpas bevægelser Tilpassede etiketter @@ -203,7 +211,8 @@ Skift toneleje Tastaturekko Rækkefølge for beskrivelse af elementer - Læs bogstaver, der slettes, op i et højere toneleje + Oplæs tekst, der slettes ved hjælp af tastaturet, i et højere toneleje + Skift ikke toneleje, når der tales Braille-tastatur Vibrationsfeedback Lydfeedback @@ -211,6 +220,7 @@ Skru ned for andre lyde, når der tales Lydstyrke for feedback Genvej for suspendering og genoptagelse af TalkBack + Genvejen Skjul skærm Indstillinger for udviklere Vælg, hvilke hændelser der skal logføres Filtrér hændelseslogføring af hjælpefunktioner @@ -256,7 +266,7 @@ Åbn TalkBack-menu Sæt feedback på pause Sæt tale på pause, eller genoptag - Aktivér eller deaktiver tale + Aktivér eller deaktiver TalkBack-lyd Læs fra toppen Læs fra det næste element Udskriv træstruktur @@ -278,7 +288,6 @@ Hold genvejen til hjælpefunktioner nede Flyt navigationsfokus videre, eller flyt styringselementet til læsning nedad Flyt navigationsfokus tilbage, eller flyt styringselementet til læsning opad - Aktivér den aktuelt valgte handling Søgeresultat Afspil eller sæt medie på pause Alle apps @@ -323,7 +332,7 @@ Læsning Særlige funktioner Andet - Viser, hvornår handlinger gælder for det aktuelle element, bl.a. kopiering, indsætning og markering + Vises, når der er tilpassede handlinger for det aktuelle element Kopiér, indsæt, markér m.m. Vises, når du vælger et tekstfelt. Åbn links inden for et fokuseret element Gå til næste eller forrige side. Vises, når du læser indhold med flere sider. @@ -342,7 +351,6 @@ Åbn indstillinger for oplæsning Deaktiver talefeedback fra TalkBack Kan ikke redigeres - Udfør handlinger Læs ét tegn ad gangen Læs ét ord ad gangen Læs én linje ad gangen @@ -365,7 +373,7 @@ Skru ned for andre lyde, når TalkBack taler Rul frem eller tilbage Skru op eller ned for lydstyrken til hjælpefunktioner - Læs den tekst, der er indlejret i det valgte billede, højt + Få en automatisk beskrivelse for dette billede nedad ned og så til højre Stryg op @@ -408,9 +416,7 @@ Tryk to gange og hold nede med to fingre Tryk to gange og hold nede med tre fingre Tryk to gange og hold nede med fire fingre - Tryk med 3 fingre, og hold dem nede Tryk tre gange med to fingre, og hold dem nede - Tryk tre gange med tre fingre, og hold dem nede \"%1$s\" eller \"%2$s\" for at justere \"%1$s\" for at justere Ukendt bevægelse @@ -434,8 +440,7 @@ Når låseskærmen vises Kun fra notifikation Hold fingeren nede på en tast for at vælge den, og tryk derefter to gange - Hold fingeren nede på en bogstavtast for at vælge den, og løft derefter fingeren igen. Tryk to gange på andre taster. - Hold fingeren nede på en tast for at vælge den, og løft derefter fingeren igen + Hold fingeren nede på en tast for at vælge den, og løft derefter fingeren igen Deaktiveret Meget let Let @@ -485,6 +490,7 @@ Vælg en app for at eksportere etiketter: I denne version af TalkBack er standardbevægelserne for hjælpefunktioner ændret. De handlinger, der knyttes til disse bevægelser, kan tilpasses i indstillingerne for TalkBack. Når Udforsk ved berøring er aktiveret, kan du bruge følgende bevægelser til at udføre bestemte handlinger.\n\n%1$s Tryk på tasterne Lydstyrke op og ned, og hold dem nede + Tryk på begge lydstyrkeknapperne tre gange hurtigt efter hinanden for at skjule eller vise skærmen Vil du skjule skærmen? Denne indstilling forbedrer dit privatliv ved at slukke skærmen, så din skærm ikke kan ses af andre, når du befinder dig på offentlige steder Denne version af TalkBack har ændrede standardbevægelser for hjælpefunktioner.\n\nMed en bevægelse oppefra og ned kan du gå til det første element på skærmen, og med en bevægelse nedefra og op kommer du til det sidste element.\n\nDetaljegraden for læsningen kan nu ændres ved at fokusere på et element og derefter vælge en detaljegrad fra TalkBack-genvejsmenu.\n\nDu kan ændre de handlinger, der udføres af disse bevægelser, i indstillingerne for TalkBack. @@ -500,9 +506,6 @@ Er du sikker på, at du vil aktivere fejlretning i træstruktur?\n\nFejlretning i træstruktur medfører, at indholdet på din skærm kan ende i enhedens logfiler, som kan læses af andre apps. Vil du aktivere effektivitetsstatistik? Er du sikker på, at du vil aktivere effektivitetsstatistik?\n\nEffektivitetsstatistik anvender muligvis mere hukommelse og strøm. - Vil du aktivere detaljeret logging? - Detaljeret logging kan være en hjælp til fejlretning, men kan medføre, at personlige oplysninger vises i systemets logbuffer.\n\n Vil du aktivere detaljeret logging? - Ja, aktivér detaljeret logging Vil du give adgang til telefonen? Dette hjælper TalkBack med at reducere antallet af meddelelser, når du er i gang med et opkald Fortsæt @@ -556,11 +559,9 @@ Lydstyrke for hjælpefunktioner Juster skyderen Juster værdien - Handlinger Oplæs adgangskoder Adgangskoder oplæses altid Lyd og vibration - Lyd kopieret, %1$s Luk Luk søgningen @@ -595,15 +596,13 @@ %1$s for at læse en/et %2$s ad gangen Hvis du vil bruge denne funktion, kan du gå til indstillingerne for TalkBack og tilføje en bevægelse for \"%1$s\" Brailletastaturet er ikke aktiveret. Gå til TalkBack-indstillinger, og konfigurer brailletastatur. - Der er tilgængelige forslag - Der er tilgængelige forslag. Få adgang ved at %1$s Side %1$d af %2$d Forrige Næste Luk Udfør Gå op - Nye funktioner i TalkBack + Nye funktioner i TalkBack Vil du lukke selvstudiet? Du kan til enhver tid vende tilbage i indstillingerne for TalkBack. Bliv i selvstudiet @@ -647,14 +646,6 @@ Tryk for at få flere oplysninger om, hvordan du kan bruge TalkBack hurtigere med nye bevægelser. Træstrukturen er blevet gemt i de pågældende logs. Her er de bevægelser, du har brugt for nylig. Rapportér, hvilken af bevægelserne der ikke fungerer, og hvad du forventer af den. - Du får enkel lydstyrkeregulering, smartere genvejsknapper og meget mere.\n\nI det efterfølgende får du flere oplysninger om vigtige opdateringer og ændringer. Det tager cirka 5 minutter.\n\nDu kan til enhver tid se disse oplysninger i indstillingerne for TalkBack. - Ændringer af lydstyrkeregulering - Lydstyrkereguleringen er blevet forbedret, idet lydstyrkeknapperne ikke længere bruges til at styre tekstmarkører eller skydere.\n\nHvis du vil ændre placeringen af en skyder, skal du stryge opad eller nedad.\n\nHvis du vil ændre placeringen af en tekstmarkør, skal du stryge opad eller nedad i tekstfeltet. Dette fungerer også med indstillinger for oplæsning på brailletastaturet. - Tekst i billeder - Du kan få flere oplysninger om tekst i billeder automatisk, eller når du har brug for det.\n\nTekst i billeder, der ikke har en etiket: TalkBack læser automatisk den tekst, der vises.\n\nTekst i alle billeder: Åbn TalkBack-menuen, og vælg \"Beskriv teksten i billedet\".\n\nBilleder forbliver på din enhed og sendes aldrig til Google. Det betyder, at du kan bruge begge disse funktioner uden en internetforbindelse. - Vinduesnavigation - Du kan skifte mellem forskellige sektioner på skærmen, f.eks. notifikationsbjælken, hovedindholdet og tastaturet.\n\nHvis du vil bruge vinduesnavigation, skal du stryge nedad med 4 fingre. - Du kan skifte mellem forskellige sektioner på skærmen, f.eks. notifikationsbjælken, hovedindholdet og tastaturet.\n\nHvis du vil bruge vinduesnavigation, skal du stryge nedad og derefter opad. Fortsæt, indtil du har valgt vinduesnavigation. Stryg nedad for at gå til vinduesnavigation. Selvstudie Velkommen til TalkBack TalkBack er en skærmlæser, der er beregnet til brugere med nedsat syn og til situationer, hvor det kan være svært at se skærmen. TalkBack giver dig talefeedback, så du kan bruge din enhed uden at kigge på skærmen.\n\nDu kan aktivere eller deaktivere TalkBack ved at holde begge lydstyrkeknapper inde i nogle sekunder.\n\nNår TalkBack er aktiveret, bliver det element, der er i fokus på skærmen, læst højt.\n\nDu kan stryge til højre for at gå til næste element eller til venstre for at gå til forrige element.\n\nStryg til højre nu for at se den næste knap. @@ -697,14 +688,14 @@ Flyt din finger over tastaturet. Løft fingeren, når du hører det bogstav, du vil skrive.\n\nPrøv at aktivere tekstfeltet nedenfor og skrive dit navn. Du kan også skrive med brailletastatur. Find det i indstillingerne til TalkBack. Flytning af markøren - Når du har aktiveret et tekstfelt, kan du flytte markøren mellem bogstaver ved at stryge opad eller nedad.\n\nPrøv det i tekstfeltet nedenfor. + Når du har aktiveret et tekstfelt, kan du flytte markøren mellem bogstaver ved at trykke op eller ned på lydstyrkeknapperne.\n\nPrøv det i tekstfeltet nedenfor. Velkommen til TalkBack Markering af tekst I et tekstfelt skal du flytte markøren til starten af den tekst, du vil markere.\n\nTryk to gange, og hold to fingre nede på teksten for at starte markeringen. Flyt derefter markøren til slutningen af teksten. Tryk igen to gange, og hold to fingre nede på teksten for at afslutte markeringen.\n\nPrøv at markere ordet \"Velkommen\" i tekstfeltet nedenfor. - I et tekstfelt skal du flytte markøren til starten af den tekst, du vil markere.\n\nStryg nedad og derefter til højre for at åbne TalkBack-menuen. Tryk to gange på handlingerne, og start derefter tilstanden for markering. Flyt markøren til slutningen af teksten.\n\nÅbn TalkBack-menuen igen, og tryk to gange på handlingerne for at afslutte markeringen.\n\nPrøv at markere ordet \"Velkommen\" i tekstfeltet nedenfor. + I et tekstfelt skal du flytte markøren til starten af den tekst, du vil markere.\n\nStryg nedad og derefter til højre for at åbne TalkBack-menuen. Tryk to gange på redigeringsmulighederne, og start derefter markeringen. Flyt markøren til slutningen af teksten.\n\nÅbn TalkBack-menuen igen, og tryk to gange på redigeringsmulighederne for at afslutte markeringen.\n\nPrøv at markere ordet \"Velkommen\" i tekstfeltet nedenfor. Kopiér, klip og indsæt - Når du har markeret tekst, skal du trykke to gange på handlingerne og derefter kopiere.\n\nPrøv at kopiere et ord i tekstfeltet nedenfor. - Hvis du vil klippe eller indsætte tekst, skal du åbne TalkBack-menuen og trykke to gange på handlingerne.\n\nDu kan indsætte tekst ved at trykke tre gange med tre fingre.\n\nPrøv at indsætte et ord i tekstfeltet nedenfor. + Når du har markeret tekst, kan du kopiere den ved at trykke to gange med tre fingre.\n\nPrøv at kopiere et ord i tekstfeltet nedenfor. + Hvis du vil klippe tekst, skal du trykke to gange og holde nede med tre fingre.\n\nDu kan indsætte tekst ved at trykke tre gange med tre fingre.\n\nPrøv at indsætte et ord i tekstfeltet nedenfor. Når du har markeret tekst, kan du kopiere den i TalkBack-menuen. Stryg nedad og derefter til højre for at åbne TalkBack-menuen. Tryk to gange på redigeringsmulighederne, og kopiér derefter.\n\nPrøv at kopiere et ord i tekstfeltet nedenfor. Hvis du vil klippe eller indsætte tekst, skal du åbne TalkBack-menuen og trykke to gange på redigeringsmulighederne.\n\nPrøv at indsætte et ord i tekstfeltet nedenfor. Indsæt tekst her @@ -747,7 +738,6 @@ Stryg til højre eller venstre for at gå fra den ene til den anden Tryk to gange for at aktivere et element Træk to fingre for at rulle - Tjek, om telefonen har forbindelse. Brede kanter Farve Standard @@ -759,12 +749,6 @@ Grå Undersøgelsen er slut Tekst: %1$s - Beskriv teksten i billedet - Registreret ikon: %1$s - Denne handling understøttes ikke. - Der er ikke valgt nogen handling. - Vælg en understøttet handling. - Ingen handlinger. - Indstillingen for handlinger er ikke aktiveret. - Der blev ikke fundet nogen tekst + Beskriv billedet + Forudsagt ikon: %1$s diff --git a/talkback/src/main/res/values-de/strings.xml b/talkback/src/main/res/values-de/strings.xml index 5146d59c8..26a39b373 100644 --- a/talkback/src/main/res/values-de/strings.xml +++ b/talkback/src/main/res/values-de/strings.xml @@ -7,7 +7,6 @@ Einstellungen für Sprachausgabe Sprachen Gesprochene Sprache - Aktionen Systemaktionen Version %1$s Benutzerdefinierte Labels verwalten @@ -31,37 +30,46 @@ Gerät entsperrt Audio Sprachlautstärke - Benachrichtigung sprechen, wenn Bildschirm aus - Immer die Zahl der Listenelemente sprechen - Zahl für alle Scrolling-Methoden sprechen + Bei ausgeschaltetem Bildschirm sprechen + Benachrichtigungen werden auch bei deaktiviertem Bildschirm gesprochen + Keine Sprachausgabe bei deaktiviertem Bildschirm + Anzahl der Listenelemente auf dem Bildschirm vorlesen + Nur beim Scrollen mit einer Geste vorlesen + Wird immer vorgelesen Näherungssensor abdecken, um die Sprachausgabe zu beenden - Buchstaben mit Beispielen sprechen - Wenn du Tasten auf der Tastatur betätigst oder von Zeichen zu Zeichen gehst, hörst du ein Beispiel zusammen mit den einzelnen Buchstaben, z. B. „H, Hotel“. - Satzzeichen und Symbole sprechen + Buchstabieralphabet nutzen + Es wird nicht mit dem Buchstabieralphabet buchstabiert + Das Buchstabieralphabet wird verwendet, wenn der Nutzer lange auf Tasten drückt und Zeichen für Zeichen auswählt + Satzzeichen + Satzzeichen und Symbole werden nicht gesprochen + Satzzeichen und Symbole werden gesprochen Großbuchstaben Nichts tun Sag: „Großbuchstaben“ Tonhöhe ändern Ton abspielen Nutzungshinweise vorlesen - Nach der Beschreibung des Inhalts Vorschlag zur Verwendung machen - Listen- und Rasterinformationen sprechen + Nutzungshinweise werden beim Verschieben des Bedienungshilfenfokus nicht vorgelesen + Nutzungshinweise werden beim Navigieren mit einer kurzen Verzögerung vorgelesen + Listen- und Rasterinformationen vorlesen + Listen- und Rasterinformationen werden vorgelesen + Listen- und Rasterinformationen werden nicht vorgelesen Touch-Gesten zurücksetzen? Dadurch werden alle Touch-Gesten auf ihre Standardaktionen zurückgesetzt.\n\nAlle vorgenommenen Anpassungen gehen dabei verloren. Zurücksetzen Die Einstellungen für Touch-Gesten wurden zurückgesetzt. Elementtyp vorlesen - Für Elemente im Fokus + Der Elementtyp von Elementen im Fokus wird vorgelesen + Der Elementtyp von Elementen im Fokus wird nicht vorgelesen Element-IDs vorlesen - Für Schaltflächen ohne Beschriftung - Systemfenster vorlesen - Wenn du zu anderen Systemfenstern wie der Statusleiste, den Benachrichtigungen oder den Lautstärkereglern wechselst + Element-IDs werden bei Schaltflächen ohne Label nicht vorgelesen + Element-IDs werden bei Schaltflächen ohne Label vorgelesen Tippen & Entdecken Steuerelemente Zum Aktivieren einmal tippen Einmal auf ein fokussiertes Element tippen, um es zu aktivieren Ausführlichkeit - Satzzeichen und Symbole sprechen + Satzzeichen Fokusanzeige anpassen Touch-Gesten anpassen Benutzerdefinierte Labels @@ -203,7 +211,8 @@ Änderungen der Stimmlage Tastatur-Echo Reihenfolge der Elementbeschreibung - Spricht die Buchstaben, die gelöscht wurden, in einer höheren Tonlage + Spricht den Text, der gelöscht wurde, in einer höheren Tonlage + Beim Sprechen nicht die Stimmlage ändern Brailletastatur Vibrations­feedback Akustisches Feedback @@ -211,6 +220,7 @@ Andere Audioquellen während der Spracheingabe leiser stellen Lautstärke Feedbacksignal TalkBack sperren und über Tastenkombination erneut starten + Kurzbefehl zum Ausblenden des Displays Entwicklereinstellungen Termine zum Protokollieren auswählen Bedienungshilfen nach Terminprotokollierung filtern @@ -223,7 +233,7 @@ Leistungsstatistiken aktivieren Overlay für Fehlerbehebungsprotokoll aktivieren Aus Sperre erneut starten - Eingabeeinstellung + Bevorzugte Eingabeeinstellung Display ausgeblendet Display wird angezeigt Die TalkBack-Bedienungshilfe hat das Display ausgeblendet @@ -256,7 +266,7 @@ TalkBack-Menü öffnen Feedback anhalten Sprachausgabe pausieren oder fortsetzen - Sprachfeedback ein- oder ausschalten + Ton von TalkBack ein- oder ausschalten Von oben an lesen Ab dem nächsten Element lesen Knotenstruktur drucken @@ -278,7 +288,6 @@ Kurzbefehl für Bedienungshilfen gedrückt halten Fokus zur nächsten Option weiterbewegen oder mit einem Steuerelement zum Lesen die Geschwindigkeit verringern Fokus zur vorherigen Option zurückbewegen oder mit einem Steuerelement zum Lesen die Geschwindigkeit erhöhen - Aktuell ausgewählte Aktion ausführen Suchergebnis Medien wiedergeben oder pausieren Alle Apps @@ -323,7 +332,7 @@ Lesen Besondere Funktionen Sonstiges - Wird angezeigt, wenn für das aktuelle Element Aktionen wie z. B. Kopieren, Einfügen oder Auswählen vorhanden sind + Wird angezeigt, wenn für das aktuelle Element benutzerdefinierte Aktionen vorhanden sind Kopieren, einfügen, auswählen und mehr. Wird bei Auswahl eines Textfelds angezeigt. Links in einem fokussierten Element öffnen Zur nächsten oder vorherigen Seite gehen. Wird beim Lesen von Inhalten mit mehreren Seiten angezeigt. @@ -342,7 +351,6 @@ Einstellungen für die Sprachausgabe öffnen TalkBack-Sprachfeedback deaktivieren Nicht bearbeitbar - Aktionen durchführen Zeichen für Zeichen vorlesen Wort für Wort vorlesen Zeile für Zeile vorlesen @@ -365,7 +373,7 @@ Die Lautstärke anderer Audiowiedergaben senken, wenn TalkBack spricht Vor- oder zurückscrollen Du kannst die Lautstärke der Bedienungshilfen erhöhen oder verringern - Eingebetteten Text in einem ausgewählten Bild vorlesen + Automatische Beschreibung für dieses Bild Nach unten Nach-unten-nach-rechts Nach oben wischen @@ -408,9 +416,7 @@ Mit 2 Fingern doppeltippen und halten Mit 3 Fingern doppeltippen und halten Mit 4 Fingern doppeltippen und halten - Mit 3 Fingern tippen und halten Mit 2 Fingern dreimal tippen und dann halten - Mit 3 Fingern dreimal tippen und halten Zum Anpassen „%1$s“ oder „%2$s“ Zum Anpassen „%1$s“ Unbekannte Touch-Geste @@ -433,9 +439,8 @@ Wenn der Bildschirm aktiviert wird Wenn Sperrbildschirm angezeigt wird Nur über die Benachrichtigungen - Gedrückt halten, um beliebige Taste auszuwählen, dann doppeltippen - Gedrückt halten, um Buchstabentaste auszuwählen, dann Finger anheben. Für weitere Tasten doppeltippen. - Gedrückt halten, um beliebige Taste auszuwählen, dann Finger anheben + Gedrückt halten, um Taste auszuwählen, dann doppeltippen + Gedrückt halten, um Taste auszuwählen, dann doppeltippen Deaktiviert Ganz leicht Leicht @@ -485,6 +490,7 @@ App zum Exportieren von Labels wählen: Bei dieser Version von TalkBack wurden Änderungen bei den Standardgesten für die Bedienungshilfen vorgenommen. Die Aktionen, die diesen Gesten zugewiesen sind, können in den TalkBack-Einstellungen angepasst werden. Wenn \"Tippen & Entdecken\" aktiviert ist, kannst du die folgenden Touch-Gesten einsetzen, um bestimmte Aktionen auszuführen.\n\n%1$s Lautstärketasten \"Lauter\" und \"Leiser\" lange drücken + Beide Lautstärketasten schnell hintereinander dreimal drücken, um das Display ein- oder auszublenden Display ausblenden? Hiermit wird das Display ausgeschaltet, um deine Privatsphäre zu schützen. Damit verhinderst du, dass Dritte an öffentlichen Orten dein Display sehen können. Bei dieser Version von TalkBack wurden Änderungen an den Standard-Touch-Gesten für die Bedienungshilfen vorgenommen.\n\nMit der Nach-oben-dann-nach-unten-Geste gelangst du zum ersten Element auf dem Bildschirm und mit der Nach-unten-dann-nach-oben-Geste gelangst du zum letzten Element.\n\nDie Leseeinheit kannst du jetzt ändern, indem du den Fokus auf ein Element setzt und anschließend die Einheit aus dem TalkBack-Kontextmenü auswählst.\n\nDie mit diesen Touch-Gesten verknüpften Aktionen können in den TalkBack-Einstellungen geändert werden. @@ -500,9 +506,6 @@ Soll das Knotenstruktur-Debugging wirklich aktiviert werden?\n\nDadurch werden deine Bildschirminhalte in den Geräteprotokollen gespeichert, die möglicherweise von anderen Apps eingesehen werden. Leistungsstatistiken aktivieren? Sollen die Leistungsstatistiken wirklich aktiviert werden?\n\nLeistungsstatistiken können den Speicher- und Energiebedarf erhöhen. - Ausführliche Protokolle aktivieren? - Die ausführliche Protokollierung kann bei der Fehlerbehebung helfen – es können jedoch personenbezogene Daten im Systemzwischenspeicher erscheinen.\n\n Möchtest du die ausführliche Protokollierung aktivieren? - Ja, ausführliche Protokollierung aktivieren Zugriff auf Smartphone zulassen? Dadurch kann TalkBack die Anzahl der Ansagen verringern, während du telefonierst Weiter @@ -556,11 +559,9 @@ Lautstärke der Bedienungshilfen Schieberegler anpassen Wert anpassen - Aktionen Passwörter aussprechen Passwörter werden immer gesprochen Töne und Vibration - Ton Kopiert, %1$s Schließen Suche schließen @@ -588,22 +589,20 @@ Satzzeichen %1$s Audio-Ducking %1$s Akustisches Feedback %1$s - Vibrations­feed⁠back %1$s + Vibrationsfeedback %1$s %1$s oder %2$s %1$s, um eine andere Einstellung auszuwählen %1$s, um die Einstellung anzupassen %1$s, um den Text folgendermaßen zu lesen: %2$s Rufe dazu die TalkBack-Einstellungen auf und füge eine Geste für \"%1$s\" hinzu Die Brailletastatur ist nicht aktiviert. Richte sie in den TalkBack-Einstellungen ein und versuch es erneut. - Vorschläge verfügbar - Vorschläge verfügbar. So kannst du darauf zugreifen: %1$s Seite %1$d von %2$d Zurück Weiter Schließen Fertig Nach oben - Neue Funktionen in TalkBack + Neue Funktionen in TalkBack Anleitung schließen? In den TalkBack-Einstellungen kannst du jederzeit zum Tutorial zurückkehren. Anleitung nicht schließen @@ -647,14 +646,6 @@ Tippe hier, um zu erfahren, wie du TalkBack mit neuen Touch-Gesten schneller verwenden kannst. Die Knotenstruktur wurde ins Protokoll gedruckt. Diese Touch-Gesten wurden kürzlich ausgeführt. Du kannst uns Probleme mit Touch-Gesten melden und uns sagen, wie sie eigentlich aussehen sollten. - Du erhältst vereinfachte Lautstärkeregler, schnellere Steuerelemente u. v. a. m.\n\nAuf den nächsten Bildschirmen erfährst du mehr zu wichtigen Updates und Änderungen. Es dauert ungefähr 5 Minuten.\n\nDu kannst dir diese Informationen jederzeit in den TalkBack-Einstellungen ansehen. - Änderungen an der Lautstärkeregelung - Wir haben die Lautstärkeregelung optimiert. Daher werden nun mit den Lautstärketasten keine Textcursor oder Schieberegler mehr bedient.\n\nDu kannst die Position eines Schiebereglers ändern, indem du nach oben oder unten wischst.\n\nDie Position des Textcursors änderst du, indem du in einem Textfeld nach oben oder unten wischst. Das funktioniert auch mit dem Steuerelement zum Lesen auf der Brailletastatur. - Text in Bildern - Du kannst genauere Details zu Text in Bildern automatisch oder nach Wunsch abrufen.\n\nBei Bildern, die kein Label haben, liest TalkBack automatisch den angezeigten Text vor.\n\nBei allen Bildern: Öffne das TalkBack-Menü und wähle „Text im Bild beschreiben“.\n\nBilder bleiben auf deinem Gerät und werden nie an Google gesendet. Das bedeutet, dass du beide Funktionen auch ohne Internetverbindung verwenden kannst. - Fensternavigation - Du kannst zwischen verschiedenen Bereichen des Bildschirms wechseln, z. B. Benachrichtigungsleiste, Hauptinhalt und Tastatur.\n\nWenn du den Fensternavigationsmodus verwenden möchtest, wische mit 4 Fingern nach unten. - Du kannst zwischen verschiedenen Bereichen des Bildschirms wechseln, z. B. Benachrichtigungsleiste, Hauptinhalt und Tastatur.\n\nWenn du den Fensternavigationsmodus verwenden möchtest, wische nach unten und dann nach oben. Mach weiter, bis du die Fensternavigation ausgewählt hast. Wische nach unten, um zum Fenster zu gelangen. Anleitung Willkommen bei TalkBack TalkBack ist ein Screenreader für sehbehinderte Nutzer und für Situationen, in denen das Display schlecht oder gar nicht zu sehen ist. Du erhältst gesprochenes Feedback, sodass du dein Gerät nutzen kannst, ohne auf das Display sehen zu müssen.\n\nDu kannst TalkBack aktivieren oder deaktivieren, indem du beide Lautstärketasten einige Sekunden lang gedrückt hältst.\n\nWenn TalkBack aktiviert ist, wird das Bildschirmelement im Fokus vorgelesen.\n\nWenn du nach rechts wischst, wird der Fokus auf das nächste Element bewegt, wenn du nach links wischst, auf das vorherige.\n\nWische jetzt nach rechts, um zur Schaltfläche „Weiter“ zu wechseln. @@ -697,14 +688,14 @@ Bewege deinen Finger über die Tastatur. Wenn du den Buchstaben hörst, den du eingeben möchtest, hebe den Finger an.\n\nVersuche, das folgende Textfeld zu aktivieren, und gib deinen Namen ein. Du kannst auch mit der Brailletastatur Text eingeben. Du findest sie in den TalkBack-Einstellungen. Den Cursor bewegen - Wenn du ein Textfeld aktiviert hast, kannst du den Cursor auf der Tastatur bewegen, indem du nach oben oder unten wischst.\n\nProbiere es unten im Textfeld aus. + Wenn du ein Textfeld aktiviert hast, kannst du zum Bewegen des Cursors in der Tastatur die Lautstärketasten verwenden.\n\nProbiere es unten im Textfeld aus. Willkommen bei TalkBack Text auswählen Wenn du Text in einem Textfeld auswählen möchtest, bewege den Cursor an den Anfang des auszuwählenden Textes.\n\nDurch Doppeltippen und Halten mit zwei Fingern wird der Textauswahlmodus gestartet. Bewege den Cursor dann zum Ende des Textes. Durch Doppeltippen und Halten mit zwei Fingern wird der Textauswahlmodus wieder beendet.\n\nVersuche, im folgenden Textfeld das Wort „Willkommen“ auszuwählen. - Wenn du Text in einem Textfeld auswählen möchtest, bewege den Cursor an den Anfang des auszuwählenden Textes.\n\nWische nach unten und dann nach rechts, um das TalkBack-Menü zu öffnen. Tippe doppelt auf „Aktionen“ und aktiviere dann den Auswahlmodus. Bewege den Cursor zum Ende des Textes.\n\nÖffne noch einmal das TalkBack-Menü und tippe dann doppelt auf „Aktionen“, um den Auswahlmodus zu beenden.\n\nVersuche, im folgenden Textfeld das Wort „Willkommen“ auszuwählen. + Wenn du Text in einem Textfeld auswählen möchtest, bewege den Cursor an den Anfang des auszuwählenden Textes.\n\nWische nach unten und dann nach rechts, um das TalkBack-Menü zu öffnen. Tippe doppelt auf „Bearbeitungsoptionen“ und dann auf „Auswahlmodus aktivieren“. Bewege den Cursor zum Ende des Textes.\n\nÖffne noch einmal das TalkBack-Menü und tippe dann doppelt auf die Bearbeitungsoptionen, um den Textauswahlmodus zu beenden.\n\nVersuche, im folgenden Textfeld das Wort „Willkommen“ auszuwählen. Kopieren, ausschneiden und einfügen - Tippe nach dem Auswählen von Text doppelt auf „Aktionen“ und kopiere dann den Text.\n\nVersuche, in das folgende Textfeld ein Wort zu kopieren. - Wenn du Text ausschneiden oder einfügen möchtest, öffne das TalkBack-Menü und tippe doppelt auf „Aktionen“.\n\nDurch dreimaliges Tippen mit 3 Fingern wird Text eingefügt.\n\nVersuche, in das folgende Textfeld ein Wort einzufügen. + Wenn du den ausgewählten Text kopieren möchtest, tippe doppelt mit drei Fingern.\n\nVersuche, ein Wort in das folgende Textfeld zu kopieren. + Wenn du Text ausschneiden möchtest, tippe doppelt mit drei Fingern auf den Text und halte das Display kurz gedrückt.\n\nTippe zum Einfügen des ausgeschnittenen Textes dreimal mit drei Fingern.\n\Versuche, in das folgende Textfeld ein Wort einzufügen. Nachdem du Text ausgewählt hast, kannst du ihn in das TalkBack-Menü kopieren. Wische nach unten und dann nach rechts, um das TalkBack-Menü zu öffnen. Tippe doppelt auf „Bearbeitungsoptionen“ und dann auf „Kopieren“.\n\nVersuche, in das folgende Textfeld ein Wort zu kopieren. Wenn du Text ausschneiden oder einfügen möchtest, öffne das TalkBack-Menü und tippe doppelt auf „Bearbeitungsoptionen“.\n\nVersuche, in das folgende Textfeld ein Wort einzufügen. Text hier einfügen @@ -747,7 +738,6 @@ Wische nach rechts oder links, um zwischen Elementen zu wechseln Tippe doppelt auf ein Element, um es auszuwählen Ziehe mit zwei Fingern, um zu scrollen - Bitte prüfe, ob das Smartphone verbunden ist. Breiter Rand Farbe Standard @@ -759,12 +749,6 @@ Grau Umfrage geschlossen Text: %1$s - Text im Bild beschreiben - Erkanntes Symbol: %1$s - Aktion wird nicht unterstützt. - Keine Aktion ausgewählt. - Bitte wähle eine unterstützte Aktion aus. - Keine Aktionen. - Aktionen sind in den Einstellungen nicht aktiviert. - Kein Text gefunden + Bild beschreiben + Erkanntes Symbol: %1$s diff --git a/talkback/src/main/res/values-el/strings.xml b/talkback/src/main/res/values-el/strings.xml index 966404aa0..7416d75ad 100644 --- a/talkback/src/main/res/values-el/strings.xml +++ b/talkback/src/main/res/values-el/strings.xml @@ -7,7 +7,6 @@ Ρυθμίσεις μετατροπής κειμένου σε ομιλία Γλώσσες Γλώσσα ομιλίας - Ενέργειες Ενέργειες συστήματος Έκδοση %1$s Διαχ. προσ/μένων ετικ. @@ -31,37 +30,46 @@ Η συσκευή ξεκλειδώθηκε. Ήχος Ένταση ομιλίας - Εκφ. ειδοπ. όταν η οθόνη είναι απενεργ. - Να εκφωνείται πάντα ο αριθμός στοιχείων λίστας - Εκδώνηση του αριθμού όλων των μεθόδων κύλισης + Μιλήστε όταν η οθόνη είναι απενεργοπ. + Οι ειδοποιήσεις εκφωνούνται όταν η οθόνη είναι απενεργοποιημένη + Δεν υπάρχει ομιλία όταν η οθόνη είναι απενεργοποιημένη + Εκφώνηση του αριθμού των στοιχείων λίστας στην οθόνη + Εκφώνηση μόνο όταν πραγματοποιείται κύλιση με κίνηση + Εκφωνείται πάντα Καλύψτε τον αισθητήρα εγγύτητας για να σταματήσετε την ομιλία - Εκφώνηση γραμμάτων με παραδείγματα - Όταν επιλέγετε πλήκτρα στο πληκτρολόγιο ή πλοηγήστε κατά χαρακτήρα, μαζί με κάθε γράμμα θα ακούγεται ένα παράδειγμα, όπως \"ξ, ξενοδοχείο\" - Εκφώνηση σημείων στίξης και συμβόλων + Εκφώνηση φωνητικών γραμμάτων + Δεν γίνεται εκφώνηση φωνητικών γραμμάτων + Τα φωνητικά γράμματα εκφωνούνται κατά το παρατεταμένο πάτημα πλήκτρων πληκτρολογίου και την πλοήγηση βάσει χαρακτήρα + Σημεία στίξης + Τα σημεία στίξης και τα σύμβολα δεν εκφωνούνται + Τα σημεία στίξης και τα σύμβολα εκφωνούνται Κεφαλαία γράμματα Να μην γίνει καμία ενέργεια Εκφώνηση της λέξης \"κεφαλαία\" Αλλαγή τόνου Αναπαραγωγή ήχου Υποδείξεις χρήσης ομιλίας - Μετά την περιγραφή του περιεχομένου, να προτείνεται ο τρόπος χρήσης - Εκφώνηση πληροφ. λίστας και πλέγματος + Δεν γίνεται εκφώνηση των υποδείξεων χρήσης κατά τη μετακίνηση της εστίασης προσβασιμότητας + Γίνεται εκφώνηση των υποδείξεων χρήσης κατά την πλοήγηση, μετά από μια μικρή καθυστέρηση + Εκφώνηση πληροφοριών λίστας/πλέγματος + Γίνεται εκφώνηση των πληροφοριών λίστας και πλέγματος + Δεν γίνεται εκφώνηση των πληροφοριών λίστας και πλέγματος Επαναφορά κινήσεων; Με αυτήν την ενέργεια θα γίνει επαναφορά των κινήσεων στις προεπιλεγμένες ενέργειες.\n\Τυχόν αλλαγές που έχετε κάνει θα χαθούν. Επαναφορά Η επαναφορά των ρυθμίσεων κινήσεων ολοκληρώθηκε. Εκφώνηση τύπου στοιχείου - Για εστιασμένα στοιχεία + Ο τύπος στοιχείου εκφωνείται για εστιασμένα στοιχεία + Ο τύπος στοιχείου δεν εκφωνείται για εστιασμένα στοιχεία Εκφώνηση αναγνωριστικών στοιχείων - Για κουμπιά χωρίς ετικέτα - Εκφώνηση τίτλων παραθύρων συστήματος - Κατά την εναλλαγή σε άλλα παράθυρα συστήματος, όπως στη γραμμή κατάστασης, στις ειδοποιήσεις ή στα στοιχεία ελέγχου έντασης ήχου + Τα αναγνωριστικά στοιχείων δεν εκφωνούνται για κουμπιά χωρίς ετικέτα + Τα αναγνωριστικά στοιχείων εκφωνούνται για κουμπιά χωρίς ετικέτα Εξερεύνηση μέσω αφής Στοιχεία ελέγχου Ενεργοποίηση με ένα πάτημα Πατήστε μία φορά το εστιασμένο στοιχείο για ενεργοποίηση Έκταση - Εκφώνηση σημείων στίξης και συμβόλων + Σημεία στίξης Προσαρμογή ένδειξης εστίασης Προσαρμογή κινήσεων Προσαρμοσμένες ετικέτες @@ -203,7 +211,8 @@ Χρήση αλλαγών τόνου φωνής Ηχώ πληκτρολογίου Σειρά περιγραφής στοιχείου - Εκφώνηση γραμμάτων που έχουν διαγραφεί σε υψηλότερο τόνο φωνής + Εκφώνηση κειμένου που διαγράφεται από το πληκτρολόγιο σε υψηλότερο τόνο φωνής + Μην αλλάζετε τον τόνο της φωνή σας ενώ μιλάτε Πληκτρολόγιο μπράιγ Σχόλια με δόνηση Ηχητικά σχόλια @@ -211,6 +220,7 @@ Μείωση της έντασης των άλλων ήχων κατά την ομιλία Ένταση ηχητικών σχολίων Συντόμευση αναστολής και συνέχισης Talkback + Συντόμευση απόκρυψης οθόνης Ρυθμίσεις προγραμματιστή Συμβάντα προς καταγραφή Φιλτράρισμα καταγραφής συμβάτων προσβασιμότητας @@ -256,7 +266,7 @@ Άνοιγμα μενού TalkBack Παύση σχολίων Παύση ή συνέχιση ομιλίας - Ενεργοποίηση ή απενεργοποίηση ομιλίας + Ενεργοποίηση ή απενεργοποίηση ήχου TalkBack Ανάγνωση από την αρχή Ανάγνωση από το επόμενο στοιχείο Εκτύπωση δέντρου κόμβου @@ -278,7 +288,6 @@ Παρατεταμένο κράτημα συντόμευσης προσβασιμότητας Μετακινήστε την εστίαση πλοήγησης προς τα εμπρός ή προσαρμόστε το στοιχείο ελέγχου ανάγνωσης προς τα κάτω Μετακινήστε την εστίαση πλοήγησης προς τα πίσω ή προσαρμόστε το στοιχείο ελέγχου ανάγνωσης προς τα επάνω - Ενεργοποίηση της τρέχουσας επιλεγμένης ενέργειας Αποτέλεσμα αναζήτησης Αναπαραγωγή ή παύση μέσου Όλες οι εφαρμογές @@ -323,7 +332,7 @@ Ανάγνωση Ειδικές λειτουργίες Άλλο - Δείχνει πότε υπάρχουν ενέργειες για το τρέχον στοιχείο, συμπεριλαμβανομένης της αντιγραφής, της επικόλλησης, της επιλογής κ.ά. + Εμφανίζεται όταν υπάρχουν προσαρμοσμένες ενέργειες για το τρέχον στοιχείο. Αντιγράψτε, επικολλήστε, επιλέξτε και εκτελέστε διάφορες άλλες ενέργειες. Εμφανίζεται όταν επιλέγετε ένα πλαίσιο κειμένου. Ανοίξτε τους συνδέσμους στο εστιασμένο στοιχείο. Μεταβείτε στην προηγούμενη ή την επόμενη σελίδα. Εμφανίζεται όταν διαβάζετε περιεχόμενο με πολλές σελίδες. @@ -342,7 +351,6 @@ Ανοίξτε τις ρυθμίσεις μετατροπής κειμένου σε ομιλία. Απενεργοποιήστε τα φωνητικά σχόλια στο TalkBack. Χωρίς δυνατότητα επεξεργασίας - Εκτέλεση ενεργειών Ανάγνωση ενός χαρακτήρα κάθε φορά Ανάγνωση μίας λέξης κάθε φορά Ανάγνωση μίας γραμμής κάθε φορά @@ -365,7 +373,7 @@ Μειώστε την ένταση αναπαραγωγής των άλλων ήχων κατά την εκφώνηση από το TalkBack. Κύλιση προς τα μπροστά ή προς τα πίσω Αύξηση ή μείωση της έντασης Προσβασιμότητας - Εκφώνηση κειμένου ενσωματωμένου στην επιλεγμένη εικόνα + Λήψη αυτόματης περιγραφής για αυτήν την εικόνα κάτω κάτω και δεξιά Σύρετε προς τα επάνω @@ -408,9 +416,7 @@ Διπλό παρατεταμένο πάτημα με 2 δάχτυλα Διπλό παρατεταμένο πάτημα με 3 δάχτυλα. Διπλό παρατεταμένο πάτημα με 4 δάχτυλα - Παρατεταμένο πάτημα με τρία δάχτυλα Τριπλό παρατεταμένο πάτημα με 2 δάχτυλα - Τριπλό παρατεταμένο πάτημα με 3 δάχτυλα \"%1$s\" ή %2$s\" για προσαρμογή \"%1$s\" για προσαρμογή Άγνωστη κίνηση @@ -434,8 +440,7 @@ Κατά την εμφάνιση της οθόνης κλειδώματος Μόνο από ειδοποίηση Πατήστε παρατεταμένα με το δάχτυλό σας για επιλογή πλήκτρου και έπειτα πατήστε δύο φορές - Πατήστε παρατεταμένα με το δάχτυλό σας για επιλογή πλήκτρου και έπειτα σηκώστε το. Πατήστε δύο φορές για άλλα πλήκτρα. - Πατήστε παρατεταμένα με το δάχτυλό σας για επιλογή πλήκτρου και έπειτα σηκώστε το + Πατήστε παρατεταμένα με το δάχτυλό σας για επιλογή πλήκτρου και έπειτα σηκώστε το Απενεργοποιημένο Πολύ ελαφριά Ελαφριά @@ -485,6 +490,7 @@ Επιλογή εφαρμογής για εξαγωγή ετικετών: Αυτή η έκδοση του TalkBack περιλαμβάνει αλλαγές στις προεπιλεγμένες κινήσεις προσβασιμότητας. Οι ενέργειες που συσχετίζονται με αυτές τις κινήσεις μπορούν να προσαρμοστούν μέσα από τις ρυθμίσεις του TalkBack. Όταν η \"Εξερεύνηση μέσω αφής\" είναι ενεργοποιημένη, μπορείτε να χρησιμοποιείτε τις ακόλουθες κινήσεις για να εκτελείτε ορισμένες ενέργειες.\n\n%1$s Πιέστε παρατεταμένα το πλήκτρο αύξησης έντασης και το πλήκτρο μείωσης έντασης + Πατήστε γρήγορα τρεις φορές και τα δύο κουμπιά έντασης ήχου για απόκρυψη ή εμφάνιση της οθόνης Απόκρυψη οθόνης; Αυτή η ενέργεια απενεργοποιεί την οθόνη για τη βελτίωση του απορρήτου, έτσι ώστε η οθόνη σας να μην είναι ορατή σε άλλα άτομα όταν είστε σε δημόσιους χώρους. Αυτή η έκδοση του TalkBack περιλαμβάνει αλλαγές στις προεπιλεγμένες κινήσεις προσβασιμότητας.\n\nΜε την κίνηση προς τα πάνω και μετά κάτω μετακινείστε στο πρώτο στοιχείο της οθόνης, ενώ με την κίνηση προς τα κάτω και μετά πάνω μετακινείστε στο τελευταίο στοιχείο.\n\nΜπορείτε πλέον να αλλάξετε την ευαισθησία ανάγνωσης εστιάζοντας σε ένα στοιχείο και επιλέγοντας την ευαισθησία από το μενού περιβάλλοντος του Talkback.\n\nΜπορείτε να αλλάξετε τις ενέργειες που εκτελούνται από αυτές τις κινήσεις στις ρυθμίσεις του TalkBack. @@ -500,9 +506,6 @@ Είστε βέβαιοι ότι θέλετε να ενεργοποιήσετε τον εντοπισμό σφαλμάτων του δέντρου του κόμβου;\n\nΟ εντοπισμός σφαλμάτων του δέντρου του κόμβου εκθέτει το περιεχόμενο της οθόνης σας στα αρχεία καταγραφής της συσκευής σας, η οποία μπορεί να αναγνωστεί από άλλες εφαρμογές. Ενεργοποίηση στατιστικών στοιχείων απόδοσης; Είστε βέβαιοι ότι επιθυμείτε να ενεργοποιήσετε τα στατιστικά στοιχεία απόδοσης;\n\nΤα στατιστικά στοιχεία απόδοσης ενδέχεται να χρησιμοποιήσουν μνήμη και επεξεργαστική ισχύ. - Να ενεργοποιηθεί η λεπτομερής καταγραφή; - Η λεπτομερής καταγραφή μπορεί να συμβάλει στον εντοπισμό και τη διόρθωση σφαλμάτων, ωστόσο η ενεργοποίησή της ενδέχεται να έχει ως αποτέλεσμα την εμφάνιση προσωπικών στοιχείων στο αρχείο καταγραφής συστήματος.\n\n Θέλετε να ενεργοποιήσετε τη λεπτομερή καταγραφή; - Ναι, να ενεργοποιηθεί η λεπτομερής καταγραφή Να επιτρέπεται η πρόσβαση στο τηλέφωνο; Αυτό βοηθά το TalkBack να μειώσει τις ανακοινώσεις όταν βρίσκεστε σε κλήση. Συνέχεια @@ -556,11 +559,9 @@ Ένταση ήχου Προσβασιμότητας Προσαρμογή ρυθμιστικού Προσαρμογή τιμής - Ενέργειες Εκφώνηση κωδικών πρόσβασης Οι κωδικοί πρόσβασης εκφωνούνται πάντα Ήχος και δόνηση - Ήχος έγινε αντιγραφή, %1$s Κλείσιμο Κλείσιμο αναζήτησης @@ -595,15 +596,13 @@ %1$s για ανάγνωση κατά %2$s Για να το χρησιμοποιήσετε, μεταβείτε στις ρυθμίσεις TalkBack και προσθέστε μια κίνηση για %1$s Πληκτρολόγιο μπράιγ ανενεργό. Ανοίξτε τις ρυθμίσεις TalkBack για να το ρυθμίσετε και δοκιμάστε ξανά. - Υπάρχουν διαθέσιμες προτάσεις - Υπάρχουν διαθέσιμες προτάσεις. Για πρόσβαση, %1$s Σελίδα %1$d από %2$d Προηγούμενο Επόμενο Κλείσιμο Τέλος Πλοήγηση προς τα επάνω - Νέες λειτουργίες στο TalkBack + Νέες λειτουργίες στο TalkBack Κλείσιμο οδηγού; Μπορείτε να επιστρέψετε μέσω των ρυθμίσεων του TalkBack οποιαδήποτε στιγμή. Παραμονή στον οδηγό @@ -647,14 +646,6 @@ Πατήστε για να μάθετε πώς μπορείτε να χρησιμοποιείτε το TalkBack γρηγορότερα με τις νέες κινήσεις. Το δέντρο κόμβου εκτυπώθηκε σε αρχεία καταγραφής. Αυτές είναι κινήσεις που εκτελέστηκαν πρόσφατα. Αναφέρετε ποια κίνηση είναι εσφαλμένη και ποια είναι η αναμενόμενη λειτουργία. - Θα έχετε στη διάθεσή σας απλοποιημένα στοιχεία ελέγχου έντασης ήχου, ταχύτερα στοιχεία ελέγχου ενεργειών και πολλά άλλα.\n\nΣτις επόμενες οθόνες θα μάθετε περισσότερα για τις σημαντικές ενημερώσεις και αλλαγές. Θα χρειαστείτε περίπου 5 λεπτά.\n\nΜπορείτε να διαβάσετε ξανά αυτές τις πληροφορίες ανά πάσα στιγμή μέσω των ρυθμίσεων του TalkBack. - Αλλαγές στα στοιχεία ελέγχου έντασης ήχου - Για τη βελτίωση του στοιχείου ελέγχου της έντασης ήχου, τα κουμπιά έντασης ήχου δεν ελέγχουν πλέον τους δείκτες κειμένου ή τα ρυθμιστικά.\n\nΓια να αλλάξετε τη θέση ενός ρυθμιστικού, σύρετε προς τα επάνω ή προς τα κάτω.\n\nΓια να αλλάξετε τη θέση του δείκτη κειμένου, σύρετε προς τα επάνω ή προς τα κάτω σε ένα πλαίσιο κειμένου. Αυτό λειτουργεί επίσης σε στοιχεία ελέγχου ανάγνωσης πληκτρολογίου μπράιγ. - Κείμενο σε εικόνες - Μπορείτε να λάβετε περισσότερες λεπτομέρειες σχετικά με το κείμενο στις εικόνες αυτόματα ή όταν το χρειάζεστε.\n\nΓια εικόνες που δεν έχουν ετικέτα: Το TalkBack θα διαβάζει αυτόματα το κείμενο που εμφανίζεται.\n\nΓια όλες τις εικόνες: Ανοίξτε το μενού του TalkBack και επιλέξτε Περιγραφή κειμένου στην εικόνα.\n\nΟι εικόνες παραμένουν στη συσκευή σας και δεν αποστέλλονται ποτέ στην Google. Αυτό σημαίνει ότι μπορείτε να χρησιμοποιήσετε και τις δύο αυτές λειτουργίες χωρίς σύνδεση στο διαδίκτυο. - Πλοήγηση σε παράθυρο - Μπορείτε να κάνετε εναλλαγή μεταξύ διαφορετικών ενοτήτων της οθόνης σας, όπως της γραμμής ειδοποιήσεων, του κύριου περιεχομένου και του πληκτρολογίου.\n\nΓια να χρησιμοποιήσετε την πλοήγηση σε παράθυρο, σύρετε προς τα κάτω με 4 δάχτυλα. - Μπορείτε να κάνετε εναλλαγή μεταξύ διαφορετικών ενοτήτων της οθόνης σας, όπως της γραμμής ειδοποιήσεων, του κύριου περιεχομένου και του πληκτρολογίου.\n\nΓια να χρησιμοποιήσετε την πλοήγηση σε παράθυρο, σύρετε προς τα κάτω και έπειτα προς τα επάνω. Συνεχίστε μέχρι να επιλέξετε την πλοήγηση σε παράθυρο. Για πλοήγηση στο παράθυρο, σύρετε προς τα κάτω. Οδηγός Καλώς ήρθατε στο TalkBack Το TalkBack είναι ένας αναγνώστης οθόνης που προορίζεται για περιπτώσεις όπου κάποιο άτομο αντιμετωπίζει δυσκολία με την παρακολούθηση του περιεχομένου της οθόνης. Παρέχει εκφωνημένα σχόλια για να μπορείτε να χρησιμοποιήσετε τη συσκευή χωρίς να κοιτάτε την οθόνη.\n\nΜπορείτε να ενεργοποιήσετε ή να απενεργοποιήσετε το TalkBack πατώντας παρατεταμένα και τα δύο κουμπιά έντασης ήχου για αρκετά δευτερόλεπτα.\n\nΌταν είναι ενεργοποιημένο το TalkBack, εκφωνείται το στοιχείο στο οποίο έχετε εστιάσει στην οθόνη.\n\nΜεταβείτε στο επόμενο στοιχείο με σάρωση προς τα δεξιά και στο προηγούμενο με σάρωση προς τα αριστερά.\n\nΓια να βρείτε το κουμπί Επόμενο, σαρώστε τώρα προς τα δεξιά. @@ -697,14 +688,14 @@ Μετακινήστε το δάχτυλό σας κατά μήκος του πληκτρολογίου. Όταν ακούσετε το γράμμα που θέλετε να πληκτρολογήσετε, σηκώστε το δάχτυλό σας.\n\nΔοκιμάστε να ενεργοποιήσετε το παρακάτω πλαίσιο κειμένου και να πληκτρολογήσετε το όνομά σας. Μπορείτε επίσης να πληκτρολογήσετε με το πληκτρολόγιο μπράιγ. Μπορείτε να το βρείτε στις ρυθμίσεις του TalkBack. Μετακίνηση του δείκτη - Αφού ενεργοποιήσετε ένα πλαίσιο κειμένου, μπορείτε να μετακινήσετε τον δείκτη μεταξύ των γραμμάτων σύροντας προς τα επάνω ή προς τα κάτω.\n\nΔοκιμάστε το στο παρακάτω πλαίσιο κειμένου. + Αφού ενεργοποιήσετε ένα πλαίσιο κειμένου, μπορείτε να μετακινήσετε τον δείκτη μεταξύ των γραμμάτων πιέζοντας τα κουμπιά έντασης ήχου επάνω ή κάτω.\n\nΔοκιμάστε το στο παρακάτω πλαίσιο κειμένου. Καλώς ήρθατε στο TalkBack Επιλογή κειμένου Σε ένα πλαίσιο κειμένου, μετακινήστε τον δείκτη στην αρχή του κειμένου που θέλετε να επιλέξετε.\n\nΠατήστε δύο φορές παρατεταμένα με δύο δάχτυλα για να ξεκινήσετε τη λειτουργία επιλογής. Έπειτα μετακινήστε τον δείκτη στο τέλος του κειμένου. Πατήστε ξανά δύο φορές παρατεταμένα με 2 δάχτυλα για να τερματίσετε τη λειτουργία επιλογής.\n\nΔοκιμάστε να επιλέξετε τη λέξη «Καλώς ορίσατε» στο παρακάτω πλαίσιο κειμένου. - Στο πλαίσιο κειμένου, μετακινήστε τον δείκτη στην αρχή του κειμένου που θέλετε να επιλέξετε.\n\nΣύρετε προς τα κάτω και έπειτα προς τα δεξιά για να ανοίξετε το μενού TalkBack. Πατήστε δύο φορές τις ενέργειες και έπειτα ξεκινήστε τη λειτουργία επιλογής. Μετακινήστε τον δείκτη στο τέλος του κειμένου.\n\nΑνοίξτε ξανά το μενού TalkBack και πατήστε δύο φορές τις ενέργειες για να τερματίσετε τη λειτουργία επιλογής.\n\nΔοκιμάστε να επιλέξετε τη φράση \"Καλώς ορίσατε\" στο παρακάτω πλαίσιο κειμένου. + Στο πλαίσιο κειμένου, μετακινήστε τον δείκτη στην αρχή του κειμένου που θέλετε να επιλέξετε.\n\nΣύρετε προς τα κάτω και έπειτα προς τα δεξιά για να ανοίξετε το μενού TalkBack. Πατήστε δύο φορές τις επιλογές επεξεργασίας και έπειτα τη λειτουργία επιλογής. Μετακινήστε τον δείκτη στο τέλος του κειμένου.\n\nΑνοίξτε ξανά το μενού TalkBack και πατήστε δύο φορές τις επιλογές επεξεργασίας για να τερματίσετε τη λειτουργία επιλογής.\n\nΔοκιμάστε να επιλέξετε τη λέξη «Καλώς ορίσατε» στο παρακάτω πλαίσιο κειμένου. Αντιγραφή, αποκοπή και επικόλληση - Αφού επιλέξετε κείμενο, πατήστε δύο φορές Ενέργειες και έπειτα αντιγράψτε το κείμενο.\n\nΔοκιμάστε να αντιγράψετε μια λέξη στο παρακάτω πλαίσιο κειμένου. - Για αποκοπή ή επικόλληση κειμένου, ανοίξτε το μενού TalkBack και πατήστε δύο φορές Ενέργειες.\n\nΓια να επικολλήσετε κείμενο, πατήστε τρεις φορές με τρία δάχτυλα.\n\nΔοκιμάστε να επικολλήσετε μια λέξη στο παρακάτω πλαίσιο κειμένου. + Αφού επιλέξετε κείμενο, πατήστε δύο φορές με 3 δάχτυλα για να το αντιγράψετε.\n\nΔοκιμάστε να αντιγράψετε μια λέξη στο παρακάτω πλαίσιο κειμένου. + Για την αποκοπή κειμένου, πατήστε δύο φορές παρατεταμένα με 3 δάχτυλα.\n\nΓια να επικολλήσετε κείμενο, πατήστε τρεις φορές με 3 δάχτυλα.\n\nΔοκιμάστε να επικολλήσετε μια λέξη στο παρακάτω πλαίσιο κειμένου. Αφού επιλέξετε κείμενο, μπορείτε να το αντιγράψετε στο μενού TalkBack. Σύρετε προς τα κάτω και έπειτα προς τα δεξιά για να ανοίξετε το μενού TalkBack. Πατήστε δύο φορές τις επιλογές επεξεργασίας και έπειτα επιλέξτε αντιγραφή.\n\nΔοκιμάστε να αντιγράψετε μια λέξη στο παρακάτω πλαίσιο κειμένου. Για την αποκοπή ή την επικόλληση κειμένου, ανοίξτε το μενού TalkBack και πατήστε δύο φορές τις επιλογές επεξεργασίας.\n\nΔοκιμάστε να επικολλήσετε μια λέξη στο παρακάτω πλαίσιο κειμένου. Επικόλληση κειμένου εδώ @@ -747,7 +738,6 @@ Σύρετε προς τα δεξιά ή τα αριστερά για μετακίνηση μεταξύ στοιχείων. Πατήστε δύο φορές για ενεργοποίηση ενός στοιχείου. Σύρετε με δύο δάχτυλα για κύλιση. - Ελέγξτε εάν το τηλέφωνο είναι συνδεδεμένο. Παχιά περιθώρια Χρώμα Προεπιλογή @@ -759,12 +749,6 @@ Γκρι Η έρευνα έκλεισε Κείμενο: %1$s - Περιγραφή κειμένου στην εικόνα - Εντοπίστηκε εικονίδιο: %1$s - Η ενέργεια δεν υποστηρίζεται. - Δεν έχει επιλεγεί ενέργεια. - Επιλέξτε μια υποστηριζόμενη ενέργεια. - Καμία ενέργεια. - Η ρύθμιση ενεργειών δεν είναι ενεργοποιημένη. - Δεν βρέθηκε κείμενο. + Περιγραφή εικόνας + Προβλεπόμενο εικονίδιο: %1$s diff --git a/talkback/src/main/res/values-en-rAU/strings.xml b/talkback/src/main/res/values-en-rAU/strings.xml index 47183895c..5ecf39b38 100644 --- a/talkback/src/main/res/values-en-rAU/strings.xml +++ b/talkback/src/main/res/values-en-rAU/strings.xml @@ -7,7 +7,6 @@ Text-to-speech settings Languages Spoken language - Actions System actions Version %1$s Manage Custom Labels @@ -31,37 +30,46 @@ Device unlocked. Audio Speech volume - Speak notifications when screen is off - Always speak number of list items - Speak count for all scrolling methods + Speak when screen is off + Notifications are spoken when the screen is off + No speech occurs when the screen is off + Speak the number of list items on the screen + Speak only when scrolling with gesture + Always spoken Cover proximity sensor to stop speech - Speak letters with examples - When you select keyboard keys or navigate by character, you\'ll hear an example along with each letter, like \'h, hotel\' - Speak punctuation and symbols + Speak phonetic letters + Phonetic letters are not spoken + Phonetic letters are spoken when long pressing on keyboard keys and navigating by character + Punctuation + Punctuation and symbols are not spoken + Punctuation and symbols are spoken Capital letters Do nothing Say \'capital\' Change pitch Play sound Speak usage hints - After describing content, suggest how to use - Speak list and grid info + Usage hints are not spoken when moving accessibility focus + Usage hints are spoken during navigation after a brief delay + Speak list and grid information + List and grid information is spoken + List and grid information is not spoken Reset gestures? This will reset all gestures to their default actions.\n\nYou will lose any changes that you have made. Reset The gesture settings have been reset. Speak element type - For focused items + Element type is spoken for focused items + Element type is not spoken for focused items Speak element IDs - For unlabelled buttons - Speak system windows - When you switch to other system windows like the status bar, notifications, or volume controls + Element IDs are not spoken for unlabelled buttons + Element IDs are spoken for unlabelled buttons Explore by Touch Controls Single-tap to activate Tap once on a focused item to activate Verbosity - Speak punctuation and symbols + Punctuation Customise focus indicator Customise gestures Custom labels @@ -203,7 +211,8 @@ Use pitch changes Keyboard echo Element description order - Speak deleted letters in a higher-pitched voice + Speak keyboard deleted text in a higher-pitched voice + Don\'t change voice pitch when speaking Braille keyboard Vibration feedback Sound feedback @@ -211,6 +220,7 @@ Decrease other audio volume while speaking Sound feedback volume TalkBack suspend and resume shortcut + Hide screen shortcut Developer settings Select events to log Filter accessibility event logging @@ -256,7 +266,7 @@ Open TalkBack menu Pause feedback Pause or resume speech - Turn speech on or off + Turn TalkBack sound on or off Read from top Read from next item Print node tree @@ -278,7 +288,6 @@ Hold accessibility shortcut Move navigation focus forwards or adjust reading control down Move navigation focus backwards or adjust reading control up - Activate the currently selected action Search result Play or pause media All apps @@ -323,7 +332,7 @@ Reading Special features Other - Shows when actions exist for the current item, including copy, paste, select and more + Shows when custom actions exist for the current item Copy, paste, select and more. Shows when you select a text box. Open links within a focused item Go to the next or previous page. Shows when you are reading content with multiple pages. @@ -342,7 +351,6 @@ Open text-to-speech settings Turn off TalkBack voice feedback Not editable - Perform actions Read one character at a time Read one word at a time Read one line at a time @@ -365,7 +373,7 @@ Lower volume of other audio playing when TalkBack speaks Scroll forwards or backwards Increase or decrease accessibility volume - Read out text embedded in a selected image + Get an automatic description for this image down down then right Swipe up @@ -408,9 +416,7 @@ Double-tap and hold with 2 fingers Double-tap and hold with 3 fingers Double-tap and hold with 4 fingers - Tap and hold with 3 fingers Triple-tap and hold with two fingers - Triple-tap and hold with three fingers \'%1$s\' or \'%2$s\' to adjust \'%1$s\' to adjust Unknown gesture @@ -433,9 +439,8 @@ When screen turns on When lock screen is shown From notification only - Hold finger to select any key, then double-tap - Hold finger to select letter key, then lift. Double-tap for other keys. - Hold finger to select any key, then lift + Hold finger to select key, then double-tap + Hold finger to select key, then lift Disabled Very light Light @@ -485,6 +490,7 @@ Choose application to export labels: This version of TalkBack includes changes to the default accessibility gestures. The actions associated with these gestures can be customised within TalkBack settings. When Explore by touch is enabled, you can use the following gestures to perform certain actions.\n\n%1$s Long press volume up and down keys + Press both volume keys three times quickly to hide or show the screen Hide screen? This turns off the display to improve privacy so that your screen is not visible to others when in public places This version of TalkBack includes changes to the default accessibility gestures.\n\nThe up-then-down gesture will allow you to move to the first item on the screen, and the down-then-up gesture will move to the last item.\n\nThe reading granularity can now be changed by focusing an item, then selecting a granularity from the talkback context menu.\n\nYou can change the actions performed by these gestures in TalkBack settings. @@ -500,9 +506,6 @@ Are you sure that you want to turn on node tree debugging?\n\nNode tree debugging exposes the content of your screen to your device\'s logs, which may be read by other applications. Enable Performance Statistics? Are you sure that you want to turn on performance statistics?\n\nPerformance statistics may consume more memory and power. - Enable verbose logging? - Verbose logging can aid in debugging but may cause personal information to appear in the system log buffer.\n\n Do you want to enable verbose logging? - Yes, enable verbose logging Allow phone access? This helps TalkBack reduce announcements when you\'re on a call Continue @@ -556,11 +559,9 @@ Accessibility volume Adjust slider Adjust value - Actions Speak passwords Passwords always spoken Sound and vibration - Sound copied, %1$s Close Close search @@ -595,15 +596,13 @@ %1$s to read by %2$s To use this, go to TalkBack settings and add a gesture for \'%1$s\' Braille keyboard isn\'t turned on. Go to TalkBack settings, set up Braille keyboard, then try again. - Suggestions available - Suggestions available. To access, %1$s Page %1$d of %2$d Previous Next Close Finish Navigate up - New features in TalkBack + New features in TalkBack Close tutorial? You can come back to it at any time in TalkBack settings. Stay in tutorial @@ -647,14 +646,6 @@ Tap to learn how to use TalkBack faster with new gestures. Node tree has been printed to logs. Here are gestures performed recently. Please report which gesture is wrong and what is expected. - You will get simplified volume controls, quicker action controls and more.\n\nYou will learn about key updates and changes in the next few screens. This will take about five minutes.\n\nYou can review this information in TalkBack settings at any time. - Volume control changes - To improve volume control, volume keys do not control text cursors or sliders anymore.\n\nTo change the position of a slider, swipe up or down.\n\nTo change the position of the text cursor, swipe up or down in a text box. This also works in braille keyboard reading controls. - Text in images - You can get more detail about text in images automatically or when you need it.\n\nFor images that do not have a label: TalkBack will automatically read the text that appears.\n\nFor all images: Open the TalkBack menu and select \'Describe text in image\'.\n\nImages stay on your device and are never sent to Google. This means that you can use both of these features without an Internet connection. - Window navigation - You can switch between different sections on your screen, like the notification bar, main content and keyboard.\n\nTo use window navigation, swipe down with four fingers. - You can switch between different sections on your screen, like the notification bar, main content and keyboard.\n\nTo use window navigation, swipe down and then up. Keep going until you have selected window navigation. To navigate to the window, swipe down. Tutorial Welcome to TalkBack TalkBack is a screen reader intended for situations or people who have difficulty seeing the screen. It gives you spoken feedback so that you can use your device without looking at the screen.\n\nYou can turn TalkBack on or off by holding both volume keys for several seconds.\n\nWhen TalkBack is on, the focused item on the screen is spoken out loud.\n\nSwiping right will move to the next item, and swiping left will move to the previous item.\n\nSwipe right now to find the next button. @@ -697,14 +688,14 @@ Move your finger across the keyboard. When you hear the letter that you want to type, lift your finger.\n\nTry activating the text box below and type your name. You can also type with the braille keyboard. Find it in TalkBack settings. Moving the cursor - When you have activated a text box, you can move the cursor between letters by swiping up or down.\n\nTry it in the text box below. + When you have activated a text box, you can move the cursor between letters by pressing the volume keys up or down.\n\nTry it in the text box below. Welcome to TalkBack Selecting text In a text box, move the cursor to the beginning of the text that you want to select.\n\nDouble-tap and hold with two fingers to start selection mode. Then move the cursor to the end of the text. Double-tap and hold with two fingers again to end selection mode.\n\nTry to select the word \'Welcome\' in the text box below. - In a text box, move the cursor to the beginning of the text that you want to select.\n\nSwipe down and then right to open the TalkBack menu. Double-tap actions and then start selection mode. Move the cursor to the end of the text.\n\nOpen the TalkBack menu again, then double-tap actions to end selection mode.\n\nTry to select the word \'Welcome\' in the text box below. + In a text box, move the cursor to the beginning of the text that you want to select.\n\nSwipe down and then right to open the TalkBack menu. Double-tap editing options and then start selection mode. Move the cursor to the end of the text.\n\nOpen the TalkBack menu again, then double-tap editing options to end selection mode.\n\nTry to select the word \'Welcome\' in the text box below. Copy, cut and paste - After selecting text, double-tap actions and then copy.\n\nTry to copy a word in the text box below. - To cut or paste text, open the TalkBack menu and double-tap actions.\n\nTo paste text, triple-tap with three fingers.\n\nTry to paste a word in the text box below. + After selecting text, copy it by double-tapping with three fingers.\n\nTry to copy a word in the text box below. + To cut text, double-tap and hold with three fingers.\n\nTo paste text, triple-tap with three fingers.\n\nTry to paste a word in the text box below. After selecting text, you can copy it in the TalkBack menu. Swipe down and then right to open the TalkBack menu. Double-tap editing options and then copy.\n\nTry to copy a word in the text box below. To cut or paste text, open the TalkBack menu and double-tap editing options.\n\nTry to paste a word in the text box below. Paste text here @@ -747,7 +738,6 @@ Swipe right or left to move between items Double-tap to activate an item Drag two fingers to scroll - Please check if the phone is connected. Thick borders Colour Default @@ -759,12 +749,6 @@ Grey Survey closed Text: %1$s - Describe text in image - Detected icon: %1$s - Action not supported. - No action selected. - Please select a supported action. - No actions. - Actions setting is not enabled. - No text found + Describe image + Predicted icon: %1$s diff --git a/talkback/src/main/res/values-en-rGB/strings.xml b/talkback/src/main/res/values-en-rGB/strings.xml index b789cc0b0..0b37525f1 100644 --- a/talkback/src/main/res/values-en-rGB/strings.xml +++ b/talkback/src/main/res/values-en-rGB/strings.xml @@ -7,7 +7,6 @@ Text-to-speech settings Languages Spoken language - Actions System actions Version %1$s Manage Custom Labels @@ -31,37 +30,46 @@ Device unlocked. Audio Speech volume - Speak notifications when screen is off - Always speak number of list items - Speak count for all scrolling methods + Speak when screen is off + Notifications are spoken when the screen is off + No speech occurs when the screen is off + Speak the number of list items on the screen + Speak only when scrolling with gesture + Always spoken Cover proximity sensor to stop speech - Speak letters with examples - When you select keyboard keys or navigate by character, you\'ll hear an example along with each letter, like \'h, hotel\' - Speak punctuation and symbols + Speak phonetic letters + Phonetic letters are not spoken + Phonetic letters are spoken when long pressing on keyboard keys and navigating by character + Punctuation + Punctuation and symbols are not spoken + Punctuation and symbols are spoken Capital letters Do nothing Say \'capital\' Change pitch Play sound Speak usage hints - After describing content, suggest how to use - Speak list and grid info + Usage hints are not spoken when moving accessibility focus + Usage hints are spoken during navigation after a brief delay + Speak list and grid information + List and grid information is spoken + List and grid information is not spoken Reset gestures? This will reset all gestures to their default actions.\n\nYou will lose any changes that you have made. Reset The gesture settings have been reset. Speak element type - For focused items + Element type is spoken for focused items + Element type is not spoken for focused items Speak element IDs - For unlabelled buttons - Speak system windows - When you switch to other system windows like the status bar, notifications, or volume controls + Element IDs are not spoken for unlabelled buttons + Element IDs are spoken for unlabelled buttons Explore by Touch Controls Single-tap to activate Tap once on a focused item to activate Verbosity - Speak punctuation and symbols + Punctuation Customise focus indicator Customise gestures Custom labels @@ -203,7 +211,8 @@ Use pitch changes Keyboard echo Element description order - Speak deleted letters in a higher-pitched voice + Speak keyboard deleted text in a higher-pitched voice + Don\'t change voice pitch when speaking Braille keyboard Vibration feedback Sound feedback @@ -211,6 +220,7 @@ Decrease other audio volume while speaking Sound feedback volume TalkBack suspend and resume shortcut + Hide screen shortcut Developer settings Select events to log Filter accessibility event logging @@ -256,7 +266,7 @@ Open TalkBack menu Pause feedback Pause or resume speech - Turn speech on or off + Turn TalkBack sound on or off Read from top Read from next item Print node tree @@ -278,7 +288,6 @@ Hold accessibility shortcut Move navigation focus forwards or adjust reading control down Move navigation focus backwards or adjust reading control up - Activate the currently selected action Search result Play or pause media All apps @@ -323,7 +332,7 @@ Reading Special features Other - Shows when actions exist for the current item, including copy, paste, select and more + Shows when custom actions exist for the current item Copy, paste, select and more. Shows when you select a text box. Open links within a focused item Go to the next or previous page. Shows when you are reading content with multiple pages. @@ -342,7 +351,6 @@ Open text-to-speech settings Turn off TalkBack voice feedback Not editable - Perform actions Read one character at a time Read one word at a time Read one line at a time @@ -365,7 +373,7 @@ Lower volume of other audio playing when TalkBack speaks Scroll forwards or backwards Increase or decrease accessibility volume - Read out text embedded in a selected image + Get an automatic description for this image down down then right Swipe up @@ -408,9 +416,7 @@ Double-tap and hold with 2 fingers Double-tap and hold with 3 fingers Double-tap and hold with 4 fingers - Tap and hold with 3 fingers Triple-tap and hold with two fingers - Triple-tap and hold with three fingers \'%1$s\' or \'%2$s\' to adjust \'%1$s\' to adjust Unknown gesture @@ -433,9 +439,8 @@ When screen turns on When lock screen is shown From notification only - Hold finger to select any key, then double-tap - Hold finger to select letter key, then lift. Double-tap for other keys. - Hold finger to select any key, then lift + Hold finger to select key, then double-tap + Hold finger to select key, then lift Disabled Very light Light @@ -485,6 +490,7 @@ Choose application to export labels: This version of TalkBack includes changes to the default accessibility gestures. The actions associated with these gestures can be customised within TalkBack settings. When Explore by touch is enabled, you can use the following gestures to perform certain actions.\n\n%1$s Long press volume up and down keys + Press both volume keys three times quickly to hide or show the screen Hide screen? This turns off the display to improve privacy so that your screen is not visible to others when in public places This version of TalkBack includes changes to the default accessibility gestures.\n\nThe up-then-down gesture will allow you to move to the first item on the screen, and the down-then-up gesture will move to the last item.\n\nThe reading granularity can now be changed by focusing an item, then selecting a granularity from the talkback context menu.\n\nYou can change the actions performed by these gestures in TalkBack settings. @@ -500,9 +506,6 @@ Are you sure that you want to turn on node tree debugging?\n\nNode tree debugging exposes the content of your screen to your device\'s logs, which may be read by other applications. Enable Performance Statistics? Are you sure that you want to turn on performance statistics?\n\nPerformance statistics may consume more memory and power. - Enable verbose logging? - Verbose logging can aid in debugging but may cause personal information to appear in the system log buffer.\n\n Do you want to enable verbose logging? - Yes, enable verbose logging Allow phone access? This helps TalkBack reduce announcements when you\'re on a call Continue @@ -556,11 +559,9 @@ Accessibility volume Adjust slider Adjust value - Actions Speak passwords Passwords always spoken Sound and vibration - Sound copied, %1$s Close Close search @@ -595,15 +596,13 @@ %1$s to read by %2$s To use this, go to TalkBack settings and add a gesture for \'%1$s\' Braille keyboard isn\'t turned on. Go to TalkBack settings, set up Braille keyboard, then try again. - Suggestions available - Suggestions available. To access, %1$s Page %1$d of %2$d Previous Next Close Finish Navigate up - New features in TalkBack + New features in TalkBack Close tutorial? You can come back to it at any time in TalkBack settings. Stay in tutorial @@ -647,14 +646,6 @@ Tap to learn how to use TalkBack faster with new gestures. Node tree has been printed to logs. Here are gestures performed recently. Please report which gesture is wrong and what is expected. - You will get simplified volume controls, quicker action controls and more.\n\nYou will learn about key updates and changes in the next few screens. This will take about five minutes.\n\nYou can review this information in TalkBack settings at any time. - Volume control changes - To improve volume control, volume keys do not control text cursors or sliders anymore.\n\nTo change the position of a slider, swipe up or down.\n\nTo change the position of the text cursor, swipe up or down in a text box. This also works in braille keyboard reading controls. - Text in images - You can get more detail about text in images automatically or when you need it.\n\nFor images that do not have a label: TalkBack will automatically read the text that appears.\n\nFor all images: Open the TalkBack menu and select \'Describe text in image\'.\n\nImages stay on your device and are never sent to Google. This means that you can use both of these features without an Internet connection. - Window navigation - You can switch between different sections on your screen, like the notification bar, main content and keyboard.\n\nTo use window navigation, swipe down with four fingers. - You can switch between different sections on your screen, like the notification bar, main content and keyboard.\n\nTo use window navigation, swipe down and then up. Keep going until you have selected window navigation. To navigate to the window, swipe down. Tutorial Welcome to TalkBack TalkBack is a screen reader intended for situations or people who have difficulty seeing the screen. It gives you spoken feedback so that you can use your device without looking at the screen.\n\nYou can turn TalkBack on or off by holding both volume keys for several seconds.\n\nWhen TalkBack is on, the focused item on the screen is spoken out loud.\n\nSwiping right will move to the next item, and swiping left will move to the previous item.\n\nSwipe right now to find the next button. @@ -697,14 +688,14 @@ Move your finger across the keyboard. When you hear the letter that you want to type, lift your finger.\n\nTry activating the text box below and type your name. You can also type with the braille keyboard. Find it in TalkBack settings. Moving the cursor - When you have activated a text box, you can move the cursor between letters by swiping up or down.\n\nTry it in the text box below. + When you have activated a text box, you can move the cursor between letters by pressing the volume keys up or down.\n\nTry it in the text box below. Welcome to TalkBack Selecting text In a text box, move the cursor to the beginning of the text that you want to select.\n\nDouble-tap and hold with two fingers to start selection mode. Then move the cursor to the end of the text. Double-tap and hold with two fingers again to end selection mode.\n\nTry to select the word \'Welcome\' in the text box below. - In a text box, move the cursor to the beginning of the text that you want to select.\n\nSwipe down and then right to open the TalkBack menu. Double-tap actions and then start selection mode. Move the cursor to the end of the text.\n\nOpen the TalkBack menu again, then double-tap actions to end selection mode.\n\nTry to select the word \'Welcome\' in the text box below. + In a text box, move the cursor to the beginning of the text that you want to select.\n\nSwipe down and then right to open the TalkBack menu. Double-tap editing options and then start selection mode. Move the cursor to the end of the text.\n\nOpen the TalkBack menu again, then double-tap editing options to end selection mode.\n\nTry to select the word \'Welcome\' in the text box below. Copy, cut and paste - After selecting text, double-tap actions and then copy.\n\nTry to copy a word in the text box below. - To cut or paste text, open the TalkBack menu and double-tap actions.\n\nTo paste text, triple-tap with three fingers.\n\nTry to paste a word in the text box below. + After selecting text, copy it by double-tapping with three fingers.\n\nTry to copy a word in the text box below. + To cut text, double-tap and hold with three fingers.\n\nTo paste text, triple-tap with three fingers.\n\nTry to paste a word in the text box below. After selecting text, you can copy it in the TalkBack menu. Swipe down and then right to open the TalkBack menu. Double-tap editing options and then copy.\n\nTry to copy a word in the text box below. To cut or paste text, open the TalkBack menu and double-tap editing options.\n\nTry to paste a word in the text box below. Paste text here @@ -747,7 +738,6 @@ Swipe right or left to move between items Double-tap to activate an item Drag two fingers to scroll - Please check if the phone is connected. Thick borders Colour Default @@ -759,12 +749,6 @@ Grey Survey closed Text: %1$s - Describe text in image - Detected icon: %1$s - Action not supported. - No action selected. - Please select a supported action. - No actions. - Actions setting is not enabled. - No text found + Describe image + Predicted icon: %1$s diff --git a/talkback/src/main/res/values-en-rIN/strings.xml b/talkback/src/main/res/values-en-rIN/strings.xml index 47183895c..5ecf39b38 100644 --- a/talkback/src/main/res/values-en-rIN/strings.xml +++ b/talkback/src/main/res/values-en-rIN/strings.xml @@ -7,7 +7,6 @@ Text-to-speech settings Languages Spoken language - Actions System actions Version %1$s Manage Custom Labels @@ -31,37 +30,46 @@ Device unlocked. Audio Speech volume - Speak notifications when screen is off - Always speak number of list items - Speak count for all scrolling methods + Speak when screen is off + Notifications are spoken when the screen is off + No speech occurs when the screen is off + Speak the number of list items on the screen + Speak only when scrolling with gesture + Always spoken Cover proximity sensor to stop speech - Speak letters with examples - When you select keyboard keys or navigate by character, you\'ll hear an example along with each letter, like \'h, hotel\' - Speak punctuation and symbols + Speak phonetic letters + Phonetic letters are not spoken + Phonetic letters are spoken when long pressing on keyboard keys and navigating by character + Punctuation + Punctuation and symbols are not spoken + Punctuation and symbols are spoken Capital letters Do nothing Say \'capital\' Change pitch Play sound Speak usage hints - After describing content, suggest how to use - Speak list and grid info + Usage hints are not spoken when moving accessibility focus + Usage hints are spoken during navigation after a brief delay + Speak list and grid information + List and grid information is spoken + List and grid information is not spoken Reset gestures? This will reset all gestures to their default actions.\n\nYou will lose any changes that you have made. Reset The gesture settings have been reset. Speak element type - For focused items + Element type is spoken for focused items + Element type is not spoken for focused items Speak element IDs - For unlabelled buttons - Speak system windows - When you switch to other system windows like the status bar, notifications, or volume controls + Element IDs are not spoken for unlabelled buttons + Element IDs are spoken for unlabelled buttons Explore by Touch Controls Single-tap to activate Tap once on a focused item to activate Verbosity - Speak punctuation and symbols + Punctuation Customise focus indicator Customise gestures Custom labels @@ -203,7 +211,8 @@ Use pitch changes Keyboard echo Element description order - Speak deleted letters in a higher-pitched voice + Speak keyboard deleted text in a higher-pitched voice + Don\'t change voice pitch when speaking Braille keyboard Vibration feedback Sound feedback @@ -211,6 +220,7 @@ Decrease other audio volume while speaking Sound feedback volume TalkBack suspend and resume shortcut + Hide screen shortcut Developer settings Select events to log Filter accessibility event logging @@ -256,7 +266,7 @@ Open TalkBack menu Pause feedback Pause or resume speech - Turn speech on or off + Turn TalkBack sound on or off Read from top Read from next item Print node tree @@ -278,7 +288,6 @@ Hold accessibility shortcut Move navigation focus forwards or adjust reading control down Move navigation focus backwards or adjust reading control up - Activate the currently selected action Search result Play or pause media All apps @@ -323,7 +332,7 @@ Reading Special features Other - Shows when actions exist for the current item, including copy, paste, select and more + Shows when custom actions exist for the current item Copy, paste, select and more. Shows when you select a text box. Open links within a focused item Go to the next or previous page. Shows when you are reading content with multiple pages. @@ -342,7 +351,6 @@ Open text-to-speech settings Turn off TalkBack voice feedback Not editable - Perform actions Read one character at a time Read one word at a time Read one line at a time @@ -365,7 +373,7 @@ Lower volume of other audio playing when TalkBack speaks Scroll forwards or backwards Increase or decrease accessibility volume - Read out text embedded in a selected image + Get an automatic description for this image down down then right Swipe up @@ -408,9 +416,7 @@ Double-tap and hold with 2 fingers Double-tap and hold with 3 fingers Double-tap and hold with 4 fingers - Tap and hold with 3 fingers Triple-tap and hold with two fingers - Triple-tap and hold with three fingers \'%1$s\' or \'%2$s\' to adjust \'%1$s\' to adjust Unknown gesture @@ -433,9 +439,8 @@ When screen turns on When lock screen is shown From notification only - Hold finger to select any key, then double-tap - Hold finger to select letter key, then lift. Double-tap for other keys. - Hold finger to select any key, then lift + Hold finger to select key, then double-tap + Hold finger to select key, then lift Disabled Very light Light @@ -485,6 +490,7 @@ Choose application to export labels: This version of TalkBack includes changes to the default accessibility gestures. The actions associated with these gestures can be customised within TalkBack settings. When Explore by touch is enabled, you can use the following gestures to perform certain actions.\n\n%1$s Long press volume up and down keys + Press both volume keys three times quickly to hide or show the screen Hide screen? This turns off the display to improve privacy so that your screen is not visible to others when in public places This version of TalkBack includes changes to the default accessibility gestures.\n\nThe up-then-down gesture will allow you to move to the first item on the screen, and the down-then-up gesture will move to the last item.\n\nThe reading granularity can now be changed by focusing an item, then selecting a granularity from the talkback context menu.\n\nYou can change the actions performed by these gestures in TalkBack settings. @@ -500,9 +506,6 @@ Are you sure that you want to turn on node tree debugging?\n\nNode tree debugging exposes the content of your screen to your device\'s logs, which may be read by other applications. Enable Performance Statistics? Are you sure that you want to turn on performance statistics?\n\nPerformance statistics may consume more memory and power. - Enable verbose logging? - Verbose logging can aid in debugging but may cause personal information to appear in the system log buffer.\n\n Do you want to enable verbose logging? - Yes, enable verbose logging Allow phone access? This helps TalkBack reduce announcements when you\'re on a call Continue @@ -556,11 +559,9 @@ Accessibility volume Adjust slider Adjust value - Actions Speak passwords Passwords always spoken Sound and vibration - Sound copied, %1$s Close Close search @@ -595,15 +596,13 @@ %1$s to read by %2$s To use this, go to TalkBack settings and add a gesture for \'%1$s\' Braille keyboard isn\'t turned on. Go to TalkBack settings, set up Braille keyboard, then try again. - Suggestions available - Suggestions available. To access, %1$s Page %1$d of %2$d Previous Next Close Finish Navigate up - New features in TalkBack + New features in TalkBack Close tutorial? You can come back to it at any time in TalkBack settings. Stay in tutorial @@ -647,14 +646,6 @@ Tap to learn how to use TalkBack faster with new gestures. Node tree has been printed to logs. Here are gestures performed recently. Please report which gesture is wrong and what is expected. - You will get simplified volume controls, quicker action controls and more.\n\nYou will learn about key updates and changes in the next few screens. This will take about five minutes.\n\nYou can review this information in TalkBack settings at any time. - Volume control changes - To improve volume control, volume keys do not control text cursors or sliders anymore.\n\nTo change the position of a slider, swipe up or down.\n\nTo change the position of the text cursor, swipe up or down in a text box. This also works in braille keyboard reading controls. - Text in images - You can get more detail about text in images automatically or when you need it.\n\nFor images that do not have a label: TalkBack will automatically read the text that appears.\n\nFor all images: Open the TalkBack menu and select \'Describe text in image\'.\n\nImages stay on your device and are never sent to Google. This means that you can use both of these features without an Internet connection. - Window navigation - You can switch between different sections on your screen, like the notification bar, main content and keyboard.\n\nTo use window navigation, swipe down with four fingers. - You can switch between different sections on your screen, like the notification bar, main content and keyboard.\n\nTo use window navigation, swipe down and then up. Keep going until you have selected window navigation. To navigate to the window, swipe down. Tutorial Welcome to TalkBack TalkBack is a screen reader intended for situations or people who have difficulty seeing the screen. It gives you spoken feedback so that you can use your device without looking at the screen.\n\nYou can turn TalkBack on or off by holding both volume keys for several seconds.\n\nWhen TalkBack is on, the focused item on the screen is spoken out loud.\n\nSwiping right will move to the next item, and swiping left will move to the previous item.\n\nSwipe right now to find the next button. @@ -697,14 +688,14 @@ Move your finger across the keyboard. When you hear the letter that you want to type, lift your finger.\n\nTry activating the text box below and type your name. You can also type with the braille keyboard. Find it in TalkBack settings. Moving the cursor - When you have activated a text box, you can move the cursor between letters by swiping up or down.\n\nTry it in the text box below. + When you have activated a text box, you can move the cursor between letters by pressing the volume keys up or down.\n\nTry it in the text box below. Welcome to TalkBack Selecting text In a text box, move the cursor to the beginning of the text that you want to select.\n\nDouble-tap and hold with two fingers to start selection mode. Then move the cursor to the end of the text. Double-tap and hold with two fingers again to end selection mode.\n\nTry to select the word \'Welcome\' in the text box below. - In a text box, move the cursor to the beginning of the text that you want to select.\n\nSwipe down and then right to open the TalkBack menu. Double-tap actions and then start selection mode. Move the cursor to the end of the text.\n\nOpen the TalkBack menu again, then double-tap actions to end selection mode.\n\nTry to select the word \'Welcome\' in the text box below. + In a text box, move the cursor to the beginning of the text that you want to select.\n\nSwipe down and then right to open the TalkBack menu. Double-tap editing options and then start selection mode. Move the cursor to the end of the text.\n\nOpen the TalkBack menu again, then double-tap editing options to end selection mode.\n\nTry to select the word \'Welcome\' in the text box below. Copy, cut and paste - After selecting text, double-tap actions and then copy.\n\nTry to copy a word in the text box below. - To cut or paste text, open the TalkBack menu and double-tap actions.\n\nTo paste text, triple-tap with three fingers.\n\nTry to paste a word in the text box below. + After selecting text, copy it by double-tapping with three fingers.\n\nTry to copy a word in the text box below. + To cut text, double-tap and hold with three fingers.\n\nTo paste text, triple-tap with three fingers.\n\nTry to paste a word in the text box below. After selecting text, you can copy it in the TalkBack menu. Swipe down and then right to open the TalkBack menu. Double-tap editing options and then copy.\n\nTry to copy a word in the text box below. To cut or paste text, open the TalkBack menu and double-tap editing options.\n\nTry to paste a word in the text box below. Paste text here @@ -747,7 +738,6 @@ Swipe right or left to move between items Double-tap to activate an item Drag two fingers to scroll - Please check if the phone is connected. Thick borders Colour Default @@ -759,12 +749,6 @@ Grey Survey closed Text: %1$s - Describe text in image - Detected icon: %1$s - Action not supported. - No action selected. - Please select a supported action. - No actions. - Actions setting is not enabled. - No text found + Describe image + Predicted icon: %1$s diff --git a/talkback/src/main/res/values-es/strings.xml b/talkback/src/main/res/values-es/strings.xml index 53d8e63a9..14174812f 100644 --- a/talkback/src/main/res/values-es/strings.xml +++ b/talkback/src/main/res/values-es/strings.xml @@ -7,7 +7,6 @@ Ajustes de conversión de texto a voz Idiomas Idioma hablado - Acciones Acciones del sistema Versión %1$s Gestionar etiquetas personalizadas @@ -31,37 +30,46 @@ Dispositivo desbloqueado Audio Volumen de la voz - Decir notificaciones con pantalla apagada - Siempre decir número de elementos de una lista - Decir número de elementos para desplazarse + Hablar con la pantalla apagada + Se recibirán notificaciones por voz cuando la pantalla esté apagada + No permitir hablar con la pantalla apagada + Enunciar el número de elementos de la lista de la pantalla + Enunciar solo al desplazarse con un gesto + Enunciar siempre Tapar el sensor de proximidad para detener la voz - Deletrear con ejemplos - Cuando selecciones teclas del teclado o te desplaces carácter a carácter, escucharás un ejemplo de cada letra, como \"h, hotel\" - Decir puntuación y signos + Enunciar letras fonéticas + Las letras fonéticas no se leen + Las letras fonéticas se leen al mantener pulsadas las teclas y desplazarse por carácter + Puntuación + La puntuación y los símbolos no se dictan + La puntuación y los símbolos se dictan Letras mayúsculas No hacer nada Dice \"mayúscula\" Cambiar el tono Reproducir sonido Enunciar sugerencias de uso - Después de describir el contenido, sugerir qué hacer - Decir información de lista y cuadrícula + No se leen las sugerencias de uso al mover el enfoque de accesibilidad + Las sugerencias de uso se leen durante la navegación con un breve retraso + Enunciar cuadrículas y listas + Leer la información de cuadrículas y listas + No leer la información de cuadrículas y listas ¿Borrar gestos? Se restablecerán las acciones predeterminadas de todos los gestos.\n\nPerderás todas las personalizaciones que hayas hecho. Borrar Se han borrado los ajustes de gestos. Enunciar el tipo de elemento - Para elementos seleccionados + Decir qué tipo de elemento es el enfocado + No decir qué tipo de elemento está enfocado Enunciar los ID de los elementos - Para botones sin etiquetar - Ventanas del sistema de voz - Cuando cambias a otras ventanas del sistema, como la barra de estado, las notificaciones o los controles de volumen + No decir los ID de los elementos de botones sin etiquetar + Decir los ID de los elementos de botones sin etiquetar Exploración táctil Controles Activar con solo un toque Toca una vez un elemento seleccionado para activarlo Verbosidad - Decir puntuación y signos + Puntuación Personalizar el indicador de selección Personalizar gestos Etiquetas personalizadas @@ -99,7 +107,7 @@ Bajo Detalles de verbosidad Varios - Se ha activado la verbosidad en %1$s. + Se ha activado la verbosidad %1$s. Mapa de teclas Selecciona un mapa de teclas Restablecer el mapa de teclas @@ -202,8 +210,9 @@ Esta combinación de teclas se utiliza para la acción \"%1$s\". ¿Quieres borrarla y asignar el método abreviado de teclado a \"%2$s\"? Usar cambios de tono Eco de teclado - Descripción de elementos - Anuncia las letras eliminadas con una voz más aguda + Orden de descripción de los elementos + Anuncia el texto eliminado con una voz más aguda + No cambiar el tono al hablar Teclado braille Vibración Sonido @@ -211,6 +220,7 @@ Reduce el volumen de audio de otras aplicaciones durante la locución Volumen feedback sonoro Combinación de teclas para suspender y reanudar TalkBack + Acceso directo para ocultar pantalla Ajustes para desarrolladores Elegir eventos que registrar Filtrar el registro de eventos de accesibilidad @@ -256,7 +266,7 @@ Abre el menú de TalkBack Pausar notificaciones Pausar o reanudar voz - Activar o desactivar la voz + Activa o desactiva el sonido de TalkBack Leer desde la parte superior Leer a partir del siguiente elemento Imprimir árbol de nodos @@ -273,12 +283,11 @@ Cambiar el idioma hablado Control de lectura siguiente Control de lectura anterior - Gesto sin TalkBack + Gesto de paso del sistema Acceso directo a accesibilidad Mantener pulsado el acceso directo a accesibilidad Mueve el enfoque de navegación adelante o ajusta el control de lectura abajo Mueve el enfoque de navegación atrás o ajusta el control de lectura arriba - Activar la acción seleccionada Resultado de búsqueda Reproducir o pausar contenido Todas las aplicaciones @@ -298,7 +307,7 @@ Mover el cursor al final Iniciar o detener modo de selección Finalizar el modo de selección - Navegación por páginas + Navegación de la página Página siguiente Página anterior Subir página @@ -323,7 +332,7 @@ Lectura Funciones especiales Otros - Muestra las acciones disponibles para un elemento, como copiar, pegar, seleccionar y más + Se muestra si hay acciones personalizadas para el elemento seleccionado Copia, pega, selecciona y más. Se muestra al seleccionar un cuadro de texto. Abre enlaces dentro de un elemento seleccionado Navega a la página anterior o a la siguiente. Se muestra cuando se lee contenido de varias páginas. @@ -342,7 +351,6 @@ Abre los ajustes de la conversión de texto a voz Desactiva los comentarios de voz de TalkBack No se puede editar - Realizar acciones Lee los caracteres de uno en uno Lee las palabras de una en una Lee las líneas de una en una @@ -365,7 +373,7 @@ Baja el volumen del audio que se esté reproduciendo cuando TalkBack hable Desplázate hacia adelante o hacia atrás Sube o baja el volumen de accesibilidad - Lee el texto insertado en una imagen seleccionada + Obtener una descripción automática de esta imagen hacia abajo hacia abajo y hacia la derecha Deslizar hacia arriba @@ -379,11 +387,11 @@ Deslizar hacia abajo y luego a la izquierda Deslizar hacia abajo y luego a la derecha Deslizar hacia arriba y luego hacia la izquierda - Deslizar hacia arriba y luego hacia la derecha - Deslizar hacia la derecha y hacia abajo + Deslizar hacia la derecha y luego hacia arriba + Hacia la derecha y hacia abajo Deslizar hacia la derecha y luego hacia arriba - Deslizar hacia la izquierda y hacia abajo - Deslizar hacia la izquierda y hacia arriba + Hacia la izquierda y hacia abajo + Hacia la izquierda y hacia arriba Tocar con 2 dedos Doble toque con 2 dedos Triple toque con 2 dedos @@ -408,9 +416,7 @@ Doble toque y mantener con 2 dedos Doble toque y mantener con 3 dedos Doble toque y mantener con 4 dedos - Mantener pulsado con 3 dedos Triple toque y mantener pulsado con dos dedos - Triple toque y mantener pulsado con 3 dedos Haz los gestos \"%1$s\" o \"%2$s\" para ajustar Haz el gesto \"%1$s\" para ajustar Gesto desconocido @@ -433,9 +439,8 @@ Cuando se active la pantalla Cuando se muestre la pantalla de bloqueo Solo desde notificaciones - Mantén pulsada cualquier tecla para seleccionarla y luego da dos toques. - Mantén pulsada la tecla de una letra y luego levanta el dedo. Toca dos veces si quieres usar otras teclas. - Mantén pulsada alguna tecla para seleccionarla y luego levanta el dedo + Mantén pulsada una tecla para seleccionarla y luego da dos toques + Mantén pulsada una tecla para seleccionarla y luego levanta el dedo Inhabilitado Muy ligeramente Ligeramente @@ -485,6 +490,7 @@ Selecciona una aplicación para exportar etiquetas: Esta versión de TalkBack incluye cambios en los gestos de accesibilidad predeterminados. Las acciones asociadas a estos gestos se pueden personalizar en los ajustes de TalkBack. Si la exploración táctil está habilitada, puedes usar estos gestos para realizar determinadas acciones.\n\n%1$s Mantener pulsadas las teclas para subir y bajar el volumen + Pulsa rápidamente las dos teclas de volumen tres veces para ocultar o mostrar la pantalla ¿Ocultar la pantalla? Se apagará la pantalla para mejorar la privacidad; así, nadie podrá verla cuando estés en algún lugar público. Esta versión de TalkBack incluye cambios en los gestos de accesibilidad predeterminados.\n\nEl gesto de arriba a abajo te permitirá desplazarte hasta el primer elemento de la pantalla, mientras que el gesto de abajo a arriba te permitirá avanzar hasta el último elemento.\n\nAhora, el nivel de detalle de lectura se puede modificar. Para ello, resalta un elemento y, a continuación, selecciona un nivel de detalle en el menú contextual de TalkBack.\n\Puedes cambiar las acciones que realizan estos gestos en el menú de TalkBack. @@ -500,9 +506,6 @@ ¿Seguro que quieres activar la depuración de árbol de nodos?\n\nEsta opción muestra el contenido de la pantalla en los registros del dispositivo y otras aplicaciones pueden consultarlo. ¿Habilitar estadísticas de rendimiento? ¿Seguro que quieres activar las estadísticas de rendimiento?\n\nPuede que las estadísticas de rendimiento consuman más memoria y batería. - ¿Habilitar registro detallado? - El registro detallado puede ayudar en la depuración, pero es posible que haga que información personal aparezca en el búfer de registro del sistema.\n\n ¿Quieres habilitar el registro detallado? - Sí, habilitar registro detallado ¿Permitir acceso al teléfono? Con esta opción, TalkBack reduce los avisos que recibes cuando estás en una llamada Continuar @@ -513,18 +516,18 @@ Este es el último %1$s Error de %1$s ventana - encabezado + título botón cuadro combinado Punto de referencia ARIA campo de edición elemento enfocable - encabezado 1 - encabezado 2 - encabezado 3 - encabezado 4 - encabezado 5 - encabezado 6 + título 1 + título 2 + título 3 + título 4 + título 5 + título 6 enlace control gráfico @@ -556,11 +559,9 @@ Volumen de accesibilidad Ajustar control deslizante Ajustar valor - Acciones Decir contraseñas Las contraseñas se leen siempre Sonido y vibración - Sonido Se ha copiado %1$s Cerrar Cerrar búsqueda @@ -595,15 +596,13 @@ %1$s para que se lea por %2$s Para usarlo, ve a los ajustes de TalkBack y añade el gesto de %1$s El teclado braille no está activado. Configúralo en los ajustes de TalkBack e inténtalo de nuevo. - Hay sugerencias disponibles - Hay sugerencias disponibles. Para acceder, %1$s. Página %1$d de %2$d Anterior Siguiente Cerrar Finalizar Desplazarse hacia arriba - Funciones nuevas en TalkBack + Funciones nuevas en TalkBack ¿Cerrar tutorial? Puedes volver en cualquier momento desde los ajustes de TalkBack. Seguir en el tutorial @@ -647,14 +646,6 @@ Toca esta opción para aprender a utilizar TalkBack más rápido con los gestos nuevos. El árbol de nodos se ha incluido en los registros. Estos son los gestos que has realizado últimamente. Indica qué gesto no funciona bien y cómo debería ser. - Obtendrás controles de volumen simplificados, controles de acción más rápidos y más.\n\nEn las siguientes pantallas, descubrirás los cambios y las novedades más importantes. Te llevará unos 5 minutos.\n\nPuedes volver a consultar esta información en cualquier momento en los ajustes de TalkBack. - Cambios en el control de volumen - Para mejorar el control de volumen, las teclas de volumen ya no controlan los cursores de texto ni los controles deslizantes.\n\nPara cambiar la posición de un control deslizante, desliza el dedo hacia arriba o hacia abajo.\n\nPara cambiar la posición del cursor de texto, desliza el dedo hacia arriba o hacia abajo en un cuadro de texto. También funciona en los controles de lectura del teclado braille. - Texto en imágenes - Puedes obtener más información sobre el texto de las imágenes automáticamente o cuando lo necesites.\n\nEn el caso de las imágenes que no tienen una etiqueta: TalkBack leerá automáticamente el texto que aparece.\n\nPara todas las imágenes: abre el menú de TalkBack y selecciona \"Describir texto de la imagen\".\n\nLas imágenes permanecen en tu dispositivo y nunca se envían a Google. Por lo tanto, puedes usar ambas funciones sin conexión a Internet. - Navegación por ventana - Puedes cambiar entre las distintas secciones de la pantalla, como la barra de notificaciones, el contenido principal y el teclado.\n\nPara usar la navegación por ventana, desliza cuatro dedos hacia abajo. - Puedes cambiar entre las distintas secciones de la pantalla, como la barra de notificaciones, el contenido principal y el teclado.\n\nPara usar la navegación por ventana, desliza el dedo primero hacia abajo y luego hacia arriba. Sigue haciéndolo hasta que tengas seleccionada la navegación por ventana. Para ir a la ventana, desliza el dedo hacia abajo. Tutorial Te damos la bienvenida a TalkBack TalkBack es un lector de pantalla pensado para situaciones en las que no se puede mirar la pantalla y para personas a quienes les cuesta verla. Emite mensajes de voz para usar el dispositivo sin mirar la pantalla.\n\nPuedes activar o desactivar TalkBack pulsando las dos teclas de volumen durante varios segundos.\n\nCuando TalkBack está activado, el elemento seleccionado en la pantalla se lee en voz alta.\n\nSi deslizas el dedo hacia la derecha, irás al siguiente elemento, y si lo haces hacia la izquierda, irás al anterior.\n\nDesliza el dedo hacia la derecha ahora para encontrar el botón Siguiente. @@ -697,14 +688,14 @@ Mueve el dedo por el teclado. Cuando oigas la letra que quieres escribir, levanta el dedo.\n\nPrueba a activar el cuadro de texto que hay a continuación y escribe tu nombre. También puedes escribir con el teclado braille. Puedes encontrarlo en los ajustes de TalkBack. Mover el cursor - Después de activar un cuadro de texto, puedes mover el cursor por las letras deslizando el dedo hacia arriba o hacia abajo.\n\nPruébalo con el cuadro de texto que hay a continuación. + Después de activar un cuadro de texto, puedes mover el cursor por las letras pulsando las teclas de subir y bajar volumen.\n\nPruébalo en el cuadro de texto que hay a continuación. Te damos la bienvenida a TalkBack Seleccionar texto En un cuadro de texto, desplaza el cursor hasta el principio del texto que quieres seleccionar.\n\nTócalo dos veces y mantenlo pulsado con dos dedos para iniciar el modo de selección. Después, desplaza el cursor hasta el final del texto. Vuelve a tocarlo dos veces y a mantenerlo pulsado con dos dedos para salir del modo de selección.\n\nIntenta seleccionar la palabra \"bienvenida\" en el cuadro de texto que hay a continuación. - En un cuadro de texto, desplaza el cursor hasta el principio del texto que quieres seleccionar.\n\nDesliza el dedo hacia abajo y, luego, hacia la derecha para abrir el menú de TalkBack. Toca dos veces Acciones y, luego, inicia el modo de selección. Desplaza el cursor hasta el final del texto.\n\nVuelve a abrir el menú de TalkBack y toca dos veces Acciones para finalizar el modo de selección.\n\nIntenta seleccionar la palabra \"bienvenida\" en el cuadro de texto que hay a continuación. + En un cuadro de texto, desplaza el cursor hasta el principio del texto que quieres seleccionar.\n\nDesliza el dedo hacia abajo y luego hacia la derecha para abrir el menú de TalkBack. Toca dos veces las opciones de edición y luego inicia el modo de selección. Desplaza el cursor hasta el final del texto.\n\nVuelve a abrir el menú de TalkBack y luego toca dos veces las opciones de edición para salir del modo de selección.\n\nIntenta seleccionar la palabra \"bienvenida\" en el cuadro de texto que hay a continuación. Copiar, cortar y pegar - Cuando hayas seleccionado el texto, toca dos veces Acciones y, luego, cópialo.\n\nIntenta copiar una palabra en el cuadro de texto que hay a continuación. - Para cortar o pegar texto, abre el menú de TalkBack y toca dos veces Acciones.\n\nPara pegar el texto, toca tres veces con 3 dedos.\n\nIntenta pegar una palabra en el cuadro de texto que hay a continuación. + Puedes copiar cualquier texto seleccionado tocándolo dos veces con tres dedos.\n\nIntenta copiar una palabra del siguiente cuadro de texto. + Para cortar texto, tócalo dos veces y mantenlo pulsado con tres dedos.\n\nPara pegar texto, toca tres veces con tres dedos.\n\nIntenta pegar una palabra en el cuadro de texto que hay a continuación. Después de seleccionar texto, puedes copiarlo en el menú de TalkBack. Para abrir este menú, desliza el dedo hacia abajo y luego hacia la derecha. Toca dos veces las opciones de edición y luego copia el texto.\n\nIntenta copiar una palabra del cuadro de texto que hay a continuación. Para cortar o pegar texto, abre el menú de TalkBack y toca dos veces las opciones de edición.\n\nIntenta pegar una palabra en el cuadro de texto que hay a continuación. Pega el texto aquí @@ -747,7 +738,6 @@ Desliza el dedo hacia la derecha o hacia la izquierda para pasar de un elemento a otro Toca dos veces un elemento para activarlo Arrastra dos dedos para desplazarte - Comprueba si el teléfono tiene conexión. Bordes gruesos Color Predeterminado @@ -759,12 +749,6 @@ Gris Encuesta cerrada Texto: %1$s - Describir texto de la imagen - Icono detectado: %1$s - Acción no compatible. - No se ha seleccionado ninguna acción. - Selecciona una acción compatible. - Sin acciones. - El ajuste de las acciones no está habilitado. - No se ha encontrado texto + Describir imagen + Icono predecido: %1$s diff --git a/talkback/src/main/res/values-es/strings_voicecommands.xml b/talkback/src/main/res/values-es/strings_voicecommands.xml index 43b3a522e..bd98d3206 100644 --- a/talkback/src/main/res/values-es/strings_voicecommands.xml +++ b/talkback/src/main/res/values-es/strings_voicecommands.xml @@ -98,7 +98,7 @@ No se reconoce \"%1$s\" como comando de voz. Etiqueta guardada No hay acciones disponibles - No hay ningún encabezado más adelante + No hay ningún título más adelante No hay ningún enlace más adelante No hay ningún control más adelante No hay ningún punto de referencia más adelante diff --git a/talkback/src/main/res/values-et/strings.xml b/talkback/src/main/res/values-et/strings.xml index ce5bc31d1..36fc6a2d7 100644 --- a/talkback/src/main/res/values-et/strings.xml +++ b/talkback/src/main/res/values-et/strings.xml @@ -7,7 +7,6 @@ Kõnesünteesi seaded Keeled Hääle keel - Toimingud Süsteemitoimingud Versioon %1$s Kohandatud siltide haldamine @@ -31,37 +30,46 @@ Seade on avatud. Heli Kõne helitugevus - Loe märguanded ette, kui ekr. on väljas - Loe loendiüksuste arv alati ette - Loe ette kõikide kerimismeetodite arv + Rääkimine, kui ekraan on väljas + Märguanded esitatakse, kui ekraan on välja lülitatud + Kõnet ei toimu, kui ekraan on välja lülitatud + Ekraanil kuvatud üksuste arv loetakse ette + Ettelugemine toimub ainult liigutusega kerimisel + Alati loetakse ette Kõne peatamiseks katke lähedusandur - Loe tähed ette koos näidetega - Kui valite klaviatuuri klahvi või navigeerite tähthaaval, esitatakse iga tähega koos näide, nt „h, hotell“ - Loe ette kirjavahemärgid ja sümbolid + Loe ette foneetilised tähed + Foneetilisi tähti ei loeta ette + Klaviatuuril klahvide pikalt vajutamisel ja tähthaaval navigeerimisel loetakse foneetilised tähed ette + Kirjavahemärgid + Kirjavahemärke ja sümboleid ei loeta ette + Kirjavahemärgid ja sümbolid loetakse ette Suurtähed Ära tee midagi Öelge „suur” Helikõrguse muutmine Heli esitamine Loe ette kasutamisvihjed - Esita pärast sisu kirjeldamist kasutamise soovitusi - Loe ette loendi- ja ruudustikuteave + Juurdepääsetavuse fookuse liigutamisel ei loeta kasutamisvihjeid ette + Navigeerimisel loetakse kasutamisvihjed ette pärast lühikest viivitust + Loendi- ja ruudustikuteabe ettelugemine + Loendi ja ruudustiku teave loetakse ette + Loendi ja ruudustiku teavet ei loeta ette Kas soovite liigutused lähtestada? See lähtestab kõik liigutused vaiketoimingutele.\n\nKaotate kõik tehtud muudatused. Lähtesta Liigutuste seaded on lähtestatud. Elemendi tüübi ettelugemine - Fokuseeritud üksuste puhul + Fokuseeritud üksuste elemendi tüüp loetakse ette + Fokuseeritud üksuste elemendi tüüpi ei loeta ette Elemendi ID-de ettelugemine - Siltideta nuppude puhul - Kõnesüsteemi aknad - Kui lülitute muudele süsteemiakendele, nagu olekuriba, märguanded või helitugevuse juhtnupud + Elemendi ID-sid siltideta nuppude kohta ette ei loeta + Elemendi ID-d siltideta nuppude kohta loetakse ette Puudutusega uurimine Juhtelemendid Üks puudutus aktiveerimiseks Aktiveerimiseks puudutage esile tõstetud üksust ühe korra Sõnaohtrus - Loe ette kirjavahemärgid ja sümbolid + Kirjavahemärgid Fookuse indikaatori kohandamine Liigutuste kohandamine Kohandatud sildid @@ -203,7 +211,8 @@ Helikõrguse muudatuste kasutamine Klaviatuuri kaja Elemendi kirjelduse järjestus - Kustutatud tähed loetakse ette kõrgema tooniga + Ütle klaviatuuri kustutatud tekst kõrgema tooniga + Ära muuda kõne ajal helikõrgust Braille\' klaviatuur Vibreerimisega tagasiside Helitagasiside @@ -211,6 +220,7 @@ Helitugevuse vähendamine rääkimise ajal Helitagasiside helitugev. TalkBacki peatamise ja jätkamise otsetee + Ekraanikuva peitmise otsetee Arendaja seaded Logitavate sündmuste valimine Juurdepääsetavuse sündmuste logimise filtreerimine @@ -256,7 +266,7 @@ TalkBacki menüü avamine Peata tagasiside Kõne peatamine või jätkamine - Kõne sisse- või väljalülitamine + TalkBacki heli sisse- või väljalülitamine Lugemine ülalt alates Lugemine alates järgmisest üksusest Prindi sõlmepuu @@ -278,7 +288,6 @@ Juurdepääsetavuse otsetee hoidmine Navigeerimise fookuse edasi või lugemise juhtelemendi allapoole teisaldamine Navigeerimise fookuse tagasi või lugemise juhtelemendi ülespoole teisaldamine - Praegu valitud toimingu aktiveerimine Otsingutulemus Meedia esitamine või peatamine Kõik rakendused @@ -323,7 +332,7 @@ Lugemine Erifunktsioonid Muu - Kuvatakse, kui praeguse üksuse puhul on saadaval toimingud (sh kopeerimine, kleepimine, valimine ja muud) + Kuvatakse, kui praeguse üksuse jaoks on saadaval kohandatud toimingud Kopeerimine, kleepimine, valimine ja muu. Kuvatakse, kui valite tekstivälja. Esiletõstetud üksuses linkide avamine Liikumine järgmisele või eelmisele lehele. Kuvatakse, kui loete sisu mitmelt leheküljelt. @@ -342,7 +351,6 @@ Kõnesünteesi seadete avamine TalkBacki suulise tagasiside väljalülitamine Pole muudetav - Toimingute tegemine Lugemine tähthaaval Lugemine sõnahaaval Lugemine ridahaaval @@ -365,7 +373,7 @@ TalkBacki rääkimise ajal muude esitatava helide helitugevuse vähendamine Kerige edasi või tagasi Suurendage või vähendage juurdepääsufunktsioonide helitugevust - Valitud pildile manustatud teksti ettelugemine + Hankige selle pildi puhul automaatne kirjeldus alla alla ja paremale Üles pühkimine @@ -408,9 +416,7 @@ 2 sõrmega topeltpuudutamine ja all hoidmine 3 sõrmega topeltpuudutamine ja all hoidmine 4 sõrmega topeltpuudutamine ja all hoidmine - Puudutamine ja hoidmine kolme sõrmega Kolmikpuudutamine ja hoidmine kahe sõrmega - Kolmikpuudutamine ja hoidmine kolme sõrmega Kohandamiseks liigutus „%1$s“ või „%2$s“ Kohandamiseks liigutus „%1$s“ Tundmatu liigutus @@ -433,9 +439,8 @@ Ekraani sisselülitamisel Lukustuskuva ilmumisel Ainult märguandest - Hoidke sõrme mis tahes klahvi valimiseks, seejärel topeltpuudutage - Hoidke sõrme täheklahvi valimiseks, seejärel eemaldage sõrm. Muude klahvide puhul topeltpuudutage. - Hoidke sõrme mis tahes klahvi valimiseks, seejärel eemaldage sõrm + Hoidke sõrme klahvi valimiseks, seejärel topeltpuudutage + Hoidke sõrme klahvi valimiseks, seejärel eemaldage sõrm Keelatud Väga õrnalt Õrnalt @@ -485,6 +490,7 @@ Valige siltide eksportimiseks rakendus: See TalkBacki versioon hõlmab muudatusi juurdepääsu vaikeliigutustele. Nende liigutustega seotud toiminguid saab kohandada TalkBacki seadetes. Kui on lubatud funktsioon Puudutusega uurimine, saate teatud toimingute jaoks kasutada järgmiseid liigutusi.\n\n%1$s Helitugevuse suurendamise ja vähendamise klahvide pikk vajutus + Mõlema helitugevuse klahvi kolm korda kiirelt vajutamine ekraanikuva peitmiseks või näitamiseks Kas peita ekraanikuva? See lülitab ekraanikuva välja, et suurendada privaatsust. Nii ei ole teie ekraanikuva avalikus kohas teistele nähtav. See TalkBacki versioon sisaldab juurdepääsu vaikeliigutuste muudatusi.\n\nÜlalt alla liigutus võimaldab liikuda ekraanikuval oleva esimese üksuse juurde ja alt üles liigutus viimase üksuse juurde.\n\nLugemise detailsust saab nüüd muuta, valides üksuse ja seejärel TalkBacki kontekstimenüüst detailsuse.\n\nNende liigutustega sooritatavaid toiminguid saate muuta TalkBacki seadetes. @@ -500,9 +506,6 @@ Kas soovite kindlasti sõlmepuu silumise sisse lülitada?\n\nSõlmepuu silumisel avaldatakse ekraanil olev sisu seadme logidele, mida võivad lugeda teised rakendused. Kas lubada toimivusstatistika? Kas soovite toimivusstatistika kindlasti sisse lülitada?\n\nToimivusstatistika võib kulutada rohkem mälu ja toidet. - Kas lubada paljusõnaline logimine? - Paljusõnaline logimine võib silumisel abiks olla, kuid süsteemi logipuhvrisse võivad ilmuda isiklikud andmed.\n\n Kas soovite paljusõnalise logimise lubada? - Jah, luba paljusõnaline logimine Kas lubada juurdepääs telefonile? See aitab TalkBackil vähendada teavituste hulka, kui teil on kõne pooleli Jätka @@ -556,11 +559,9 @@ Juurdepääsufunktsioonide helitugevus Kohandage liugurit Kohandage väärtust - Toimingud Paroolide ettelugemine Paroolid loetakse alati ette Heli ja vibreerimine - Heli kopeeritud, %1$s Sule Sule otsing @@ -595,15 +596,13 @@ %1$s, et lugeda %2$s Selle kasutamiseks avage TalkBacki seaded ja lisage liigutus „%1$s“ Braille\' klaviatuur pole sisse lülitatud. Avage TalkBacki seaded, seadistage Braille\' klaviatuur ja proovige uuesti. - Soovitused on saadaval - Soovitused on saadaval. Juurdepääsu saamiseks tehke järgmist: %1$s. Leht %1$d/%2$d Eelmine Järgmine Sulge Lõpeta Liigu üles - TalkBacki uued funktsioonid + TalkBacki uued funktsioonid Kas sulgeda õpetus? TalkBacki seadetes saate selle juurde alati tagasi tulla. Jää õpetusse @@ -647,14 +646,6 @@ Puudutage, et vaadata, kuidas TalkBacki uute liigutuste abil kiiremini kasutada. Sõlmepuu on logidesse prinditud. Siin on hiljuti tehtud liigutused. Teavitage, milline liigutus on vale ja mida liigutuselt ootate. - Saate kasutada lihtsamaid helitugevuse juhtnuppe, kiiremini toiminguid hallata ja teha muudki.\n\nJärgmistel kuvadel saate teavet peamiste värskenduste ja muudatuste kohta See võtab umbes viis minutit.\n\nSelle teabe saate millal tahes uuesti üle vaadata TalkBacki seadetes. - Helitugevuse juhtimise muudatused - Helitugevuse juhtimise täiustamiseks ei juhi helitugevuse nupud enam tekstikursorit ega liugureid.\n\nLiuguri asendi muutmiseks pühkige üles või alla.\n\nTekstikursori asendi muutmiseks pühkige tekstikastis üles või alla. See toimib ka Braille\' klaviatuuri lugemise juhtseadete puhul. - Piltidel olev tekst - Võite teksti või piltide kohta hankida rohkem teavet automaatselt või siis, kui seda vajate.\n\nPildid, millel silti pole: TalkBack loeb kuvatava teksti automaatselt ette.\n\nKõik pildid: avage TalkBacki menüü ja tehke valik „Kirjelda pildil olevat teksti“.\n\nPildid jäävad teie seadmesse ja neid ei saadeta kunagi Google\'ile. See tähendab, et saate mõlemat funktsiooni kasutada ilma internetiühenduseta. - Akendes navigeerimine - Saate vahetada ekraanikuva eri jaotiste (nt märguanderiba, peamine sisu ja klaviatuur) vahel.\n\nAkendes navigeerimise kasutamiseks pühkige nelja sõrmega alla. - Saate vahetada ekraanikuva eri jaotiste (nt märguanderiba, peamine sisu ja klaviatuur) vahel.\n\nAkendes navigeerimise kasutamiseks pühkige alla ja siis üles. Jätkake, kuni olete valinud akendes navigeerimise. Aknasse navigeerimiseks pühkige alla. Õpetused Tere tulemast TalkBacki TalkBack on ekraanilugeja, mis on mõeldud kasutamiseks piiratud nähtavusega olukordades või kehva nägemisvõimega inimestele. See esitab teile suulist tagasisidet, et saaksite seadet kasutada ekraani vaatamata.\n\nTalkBacki saate sisse või välja lülitada, kui hoiate mõlemat helitugevuse klahvi mitu sekundit all.\n\nKui TalkBack on sisse lülitatud, öeldakse ekraanil esile tõstetud üksus kuuldavalt.\n\nParemale pühkimisega liigute järgmisele üksusele ja vasakule pühkimisega eelmisele üksusele.\n\nPühkige nüüd paremale, et leida nupp „Järgmine”. @@ -697,14 +688,14 @@ Liigutage sõrme klaviatuuril. Kui kuulete tähte, mille soovite sisestada, tõstke sõrm ekraanilt.\n\nProovige aktiveerida allolev tekstikast ja sisestada oma nimi. Saate teksti sisestada ka Braille\' klaviatuuriga. See on saadaval TalkBacki seadetes. Kursori liigutamine - Kui olete aktiveerinud tekstikasti, saate kursorit tähtede vahel liigutada, pühkides üles või alla.\n\nProovige seda allolevas tekstikastis. + Kui olete tekstikasti aktiveerinud, saate liigutada kursorit tähtede vahel, vajutades helitugevuse suurendamise ja vähendamise nuppu.\n\nProovige seda allolevas tekstikastis. Tere tulemast TalkBacki Teksti valimine Teisaldage kursor tekstikastis valitava teksti algusesse.\n\nValimisrežiimi aktiveerimiseks topeltpuudutage ja hoidke kahe sõrmega all. Seejärel teisaldage kursor teksti lõppu. Valimisrežiimist väljumiseks topeltpuudutage ja hoidke kahe sõrmega veel kord.\n\nProovige allolevas tekstikastis valida tekst „Tere tulemast“. - Teisaldage kursor tekstikastis valitava teksti algusesse.\n\nTalkBacki menüü avamiseks pühkige alla ja siis paremale. Topeltpuudutage toiminguid ja seejärel aktiveerige valimisrežiim. Teisaldage kursor teksti lõppu.\n\nAvage uuesti TalkBacki menüü ja seejärel topeltpuudutage toiminguid, et valimisrežiimist väljuda.\n\nProovige allolevas tekstikastis valida tekst „Tere tulemast“. + Teisaldage kursor tekstikastis valitava teksti algusesse.\n\nTalkBacki menüü avamiseks pühkige alla ja siis paremale. Topeltpuudutage muutmisvalikuid ja seejärel aktiveerige valimisrežiim. Teisaldage kursor teksti lõppu.\n\nAvage uuesti TalkBacki menüü ja seejärel topeltpuudutage, et valimisrežiimist väljuda.\n\nProovige allolevas tekstikastis valida tekst „Tere tulemast“. Kopeerimine, lõikamine ja kleepimine - Pärast teksti valimist topeltpuudutage toiminguid ja seejärel kopeerige.\n\nProovige sõna allolevast tekstikastist kopeerida. - Teksti lõikamiseks või kleepimiseks avage TalkBacki menüü ja topeltpuudutage toiminguid.\n\nTeksti kleepimiseks puudutage kolme sõrmega kolm korda.\n\nProovige kleepida sõna allolevasse tekstikasti. + Pärast teksti valimist kopeerige see, puudutades kolme sõrmega.\n\nProovige kopeerida sõna allolevasse tekstikasti. + Teksti lõikamiseks topeltpuudutage ja hoidke kolme sõrmega.\n\nTeksti kleepimiseks puudutage kolme sõrmega kolm korda.\n\nProovige kleepida sõna allolevasse tekstikasti. Pärast teksti valimist saate selle kopeerida TalkBacki menüü kaudu. Pühkige alla ja seejärel paremale, et avada TalkBacki menüü. Topeltpuudutage muutmisvalikuid ja seejärel käsku Kopeeri.\n\nProovige kopeerida sõna allolevasse tekstikasti. Teksti lõikamiseks või kleepimiseks avage TalkBacki menüü ja topeltpuudutage muutmisvalikuid.\n\nProovige kleepida sõna allolevasse tekstikasti. Kleepige tekst siia @@ -747,7 +738,6 @@ Üksuste vahel liikumiseks pühkige paremale või vasakule Üksuse aktiveerimiseks topeltpuudutage Kerimiseks lohistage kahe sõrmega - Kontrollige, kas telefon on ühendatud. Paksud äärised Värv Vaikeseade @@ -759,12 +749,6 @@ Hall Küsitlus on suletud Tekst: %1$s - Pildil oleva teksti kirjeldamine - Tuvastatud ikoon: %1$s - Toimingut ei toetata. - Toimingut pole valitud. - Valige toetatud toiming. - Toiminguid ei ole. - Toimingute seade pole lubatud. - Teksti ei leitud + Pildi kirjeldamine + Ikoon Ennustatud: %1$s diff --git a/talkback/src/main/res/values-eu/strings.xml b/talkback/src/main/res/values-eu/strings.xml index fe893061c..f2d85494d 100644 --- a/talkback/src/main/res/values-eu/strings.xml +++ b/talkback/src/main/res/values-eu/strings.xml @@ -7,7 +7,6 @@ Testua ahots bihurtzeko eginbidearen ezarpenak Hizkuntzak Hitz egiteko hizkuntza - Ekintzak Sistemaren ekintzak %1$s bertsioa Kudeatu etiketa pertsonalizatuak @@ -31,37 +30,46 @@ Gailua desblokeatu da. Audioa Hizketaren bolumena - Irakurri jakinarazpenak ozen pantaila itzalita badago - Esan beti ozen zerrendako elementu kopurua - Esan ozen zerrenda mota guztietako elementu kopurua + Hitz egin pantaila itzalita dagoenean + Jakinarazpenak ozen irakurtzen dira pantaila itzalita dagoenean + Ez da ezer esaten ozen pantaila itzalita dagoenean + Irakurri ozen pantailako zerrendako elementu kopurua + Irakurri ozen keinu bidez gora edo behera egitean soilik + Irakurri beti ozen Hizketa gelditzeko, estali hurbiltasun-sentsorea - Esan hizkiak ozen adibide eta guzti - Teklatuko teklak hautatzen dituzunean edo karaktere batetik bestera aldatzean hizkiaren izena eta haren adibide bat entzungo dituzu; esate baterako. \"i, ilargia\" - Esan ozen puntuazio-zeinu eta ikurren izenak + Irakurri ozen hizki fonetikoak + Hizki fonetikoak ez dira irakurtzen ozen + Teklatuko teklak sakatuta edukitzean eta karaktere batetik bestera mugitzean irakurtzen dira ozen hizki fonetikoak + Puntuazioa + Puntuazioa eta ikurrak ez dira esaten ozen + Puntuazioa eta ikurrak ozen esaten dira Maiuskulak Ez egin ezer Esan \"maiuskula\" Aldatu ahotsaren tonua Erreproduzitu soinua Irakurri ozen erabilera-argibideak - Edukia deskribatu ondoren, iradoki nola erabil litekeen - Esan ozen zerrendetako eta saretetako edukia + Erabilera-argibideak ez dira irakurtzen ozen erabilerraztasun-kurtsorea mugitzean + Erabilera-argibideak nabigatu ahala irakurtzen dira ozen, tarte labur baten ondoren + Irakurri ozen zerrenda/saretetako info. + Zerrendetako eta saretetako informazioa ozen irakurtzen da + Zerrendetako eta saretetako informazioa ez da irakurtzen ozen Keinuak berrezarri nahi dituzu? Keinu guztien ekintza lehenetsiak berrezarriko dira.\n\nEgin dituzun aldaketa guztiak galdu egingo dituzu. Berrezarri Berrezarri dira keinuen ezarpenak. Irakurri ozen elementu mota - Fokuratutako elementuen kasuan + Fokuratuta dauden elementuen mota ozen irakurtzen da + Fokuratuta dauden elementuen mota ez da irakurtzen ozen Irakurri ozen elementuen IDak - Etiketarik gabeko botoien kasuan - Esan sistemaren leihoen izenak - Sistemaren beste leiho batera joaten zarenean; esate baterako, egoera-barrara, jakinarazpenetara edo bolumena kontrolatzeko aukeretara + Elementuen IDak ez dira ozen irakurtzen etiketarik gabeko botoien kasuan + Elementuen IDak ozen irakurtzen dira etiketarik gabeko botoien kasuan Arakatu sakatuta Kontrolatzeko aukerak Aktibatzeko, sakatu behin Fokuratutako elementua aktibatzeko, saka ezazu behin Adierazgarritasuna - Esan ozen puntuazio-zeinu eta ikurren izenak + Puntuazioa Pertsonalizatu fokuratze-adierazlea Pertsonalizatu keinuak Etiketa pertsonalizatuak @@ -203,14 +211,16 @@ Erabili ahots-tonuaren aldaketak Entzun tekla bakoitza Elementuak azaltzeko ordena - Irakurri ozen ezabatutako hizkiak ahots-tonu altuago bat erabilita + Esan teklatuak ezabatutako testua ahots-tonu altuago bat erabilita + Ez aldatu ahotsaren tonua hitz egiterakoan Braille-teklatua Dardara bidezko erantzuna Audio-azalpenak Atzeko planoko bolumena jaistea Hitz egin bitartean, txikiagotu beste audio guztia Audio-azalpenen bolumena - TalkBack behin-behinean eteteko edo berriro erabiltzen hasteko lasterbidea + TalkBack eteteko edo berriro erabiltzen hasteko lasterbidea + Pantaila ezkutatzeko lasterbidea Garatzaileen ezarpenak Hautatu erregistroan gorde beharreko gertaerak Iragazi erregistroan gorde beharreko erabilerraztasun-jarduerak @@ -222,7 +232,7 @@ Bilaketa egin beharrean, erabili ahozko bilaketaren gakoa nodoaren zuhaitza inprimatzeko Gaitu errendimenduaren estatistikak Gaitu arazketa-erregistroak gainjartzeko aukera - Berrekin behin-behinean etenda egotetik + Berrekin behin-behinean itxita egotetik Idazteko aukera hobetsia Pantaila ezkutatu da Pantaila ikusgai dago @@ -256,7 +266,7 @@ Ireki TalkBack-en menua Pausatu azalpenak Pausatu hizketa edo berrekin iezaiozu - Aktibatu edo desaktibatu ahozko argibideak + Aktibatu edo desaktibatu TalkBack-en soinua Irakurri goitik hasita Irakurri hurrengo elementutik aurrera Inprimatu nodo-zuhaitza @@ -278,7 +288,6 @@ Eduki sakatuta erabilerraztasun-lasterbidea Eraman nabigazioaren fokuratzea aurrera edo doitu irakurketa kontrolatzeko aukera bat beherantz Eraman nabigazioaren fokuratzea atzera edo doitu irakurketa kontrolatzeko aukera bat gorantz - Aktibatu hautatuta dagoen ekintza Bilaketa-emaitza Erreproduzitu edo pausatu multimedia-edukia Aplikazio guztiak @@ -323,7 +332,7 @@ Irakurketa Eginbide bereziak Beste batzuk - Elementu honekin erlazionatutako ekintzen berri ematen du (adibidez, elementua kopiatzen, itsasten edo hautatzen bada, etab.) + Unean uneko elementuaren inguruan ekintza pertsonalizatuak daudenean agertzen da Kopiatu, itsatsi, hautatu eta beste. Testu-koadro bat hautatzean agertzen da. Ireki fokuratutako elementu bateko estekak Joan aurreko edo hurrengo orrira. Hainbat orri dituen edukia irakurtzen ari zarenean agertzen da. @@ -342,7 +351,6 @@ Ireki testua ahots bihurtzeko eginbidearen ezarpenak Desaktibatu TalkBack-en ahozko argibideak Ezin da editatu - Gauzatu ekintzak Irakurri karaktere bat aldiko Irakurri hitz bat aldiko Irakurri lerro bat aldiko @@ -365,7 +373,7 @@ Jaitsi erreproduzitzen ari diren beste audio batzuen bolumena TalkBack-ek hitz egiten duenean Egin aurrera edo atzera Igo edo jaitsi erabilerraztasun-eginbideen bolumena - Irakurri ozen hautatutako irudi batean kapsulatutako testua + Lortu irudiaren azalpen automatikoa behera behera eta eskuinera Pasatu hatza gora @@ -408,9 +416,7 @@ Sakatu birritan eta eduki sakatuta bi hatzekin Sakatu birritan eta eduki sakatuta hiru hatzekin Sakatu birritan eta eduki sakatuta lau hatzekin - Eduki sakatuta hiru hatzekin Sakatu hiru aldiz eta eduki sakatuta bi hatzekin - Sakatu hiru aldiz eta eduki sakatuta hiru hatzekin Doitzeko, \"%1$s\" edo %2$s\" Doitzeko, \"%1$s\" Keinu ezezaguna @@ -433,9 +439,8 @@ Pantaila pizten denean Pantaila blokeatua erakusten denean Eskuz berrekiten zaionean soilik - Tekla bat hautatzeko, eduki hatza sakatuta eta, gero, sakatu tekla birritan - Hizkien teklak hautatzeko, eduki itzazu sakatuta eta, gero, jaso hatza. Bestelako teklak hautatzeko, aldiz, saka itzazu birritan. - Tekla bat hautatzeko, eutsi hatzari eta, gero, jaso ezazu + Tekla bat hautatzeko, eutsi hatzari eta, gero, sakatu tekla birritan + Tekla bat hautatzeko, eutsi hatzari eta, gero, jaso ezazu Desgaituta Oso arina Arina @@ -455,8 +460,8 @@ Ukitu hau erabilerraztasun-keinuei egindako aldaketak berrikusteko. TalkBack eten egin da Ukitu berrekiteko - TalkBack behin-behinean eten nahi duzu? - Ziur TalkBack behin-behinean eten nahi duzula?\n\nTalkBack behin-behinean etenda dagoen bitartean, gailuak ez du emango audio-azalpenik eta \"Arakatu ukituta\" eginbidea desgaitu egingo da. + TalkBack eten nahi duzu? + Ziur TalkBack eten nahi duzula?\n\nTalkBack etenda dagoen bitartean, gailuak ez du emango audio-azalpenik eta \"Arakatu ukituta\" eginbidea desgaitu egingo da. Jakinarazpenen paneletik berrekin diezaiokezu TalkBack eginbidearen erabilerari Jakinarazpenen paneletik edo pantaila piztuta berrekin diezaiokezu TalkBack eginbidea erabiltzeari Jakinarazpenen paneletik edo pantaila blokeatura itzulita berrekin diezaiokezu TalkBack eginbidea erabiltzeari @@ -485,6 +490,7 @@ Aukeratu etiketak esportatzeko erabili nahi duzun aplikazioa: TalkBack bertsio honetan, erabilerraztasun-keinu lehenetsiei aldaketak egin zaizkie. Keinuekin erlazionatutako ekintzak alda ditzakezu TalkBack ezarpenetan. \"Arakatu ukituta\" gaitzen denean, keinuak erabil ditzakezu ekintza jakin batzuk gauzatzeko.\n\n%1$s Sakatu luze bolumena igotzeko eta jaisteko teklak + Sakatu bi bolumen-botoiak hiru aldiz azkar pantaila ezkutatu edo erakusteko Pantaila ezkutatu nahi duzu? Pantaila itzali egingo da pribatutasuna hobetzeko; hala, toki publikoetan zaudenean, ingurukoek ezingo dute ikusi pantaila TalkBack-en bertsio honetan, erabilerraztasun-keinu lehenetsiei aldaketak egin zaizkie.\n\nGoitik beherako keinuarekin, pantailako lehen elementura joango zara eta, behetik gorakoarekin, berriz, azken elementura.\n\nIrakurriko beharreko zatien xehetasun-maila elementuak fokuratuta alda dezakezu, eta TalkBack-en laster-menutik xehetasun-maila bat hautatuta.\n\nKeinuek egiten dituzten ekintzak TalkBack-en ezarpenetan alda ditzakezu. @@ -500,9 +506,6 @@ Ziur nodo-zuhaitza arazteko aukera aktibatu nahi duzula?\n\nNodo-zuhaitza arazteko aukerarekin, gailuaren erregistroek pantailako edukia hauteman ahal izango dute, eta beste aplikazioek erregistro hori irakurri ahal izango dute. Errendimenduaren estatistikak gaitu nahi dituzu? Ziur errendimenduaren estatistikak aktibatu nahi dituzula?\n\nBaliteke memoria eta bateria gehiago erabiltzea. - Saioa hasteko modu xehatua gaitu nahi duzu? - Saioa hasteko modu xehatua lagungarria izan daiteke arazketa-lanetarako; alabaina, baliteke informazio pertsonala erakustea sistemaren erregistroaren bufferrean.\n\n Saioa hasteko modu xehatua gaitu nahi duzu? - Bai, gaitu saioa hasteko modu xehatua Telefonoa atzitzeko baimena eman nahi duzu? Horrela, TalkBack-ek iragarpenak murriztuko ditu deiak abian dituzunean Egin aurrera @@ -556,11 +559,9 @@ Erabilerraztasun-eginbideen bolumena Doitu graduatzailea Doitu balioa - Ekintzak Irakurri ozen pasahitzak Beti irakurtzen dira ozen pasahitzak Audioa eta dardara - Soinua kopiatu da %1$s Itxi Itxi bilaketa @@ -595,15 +596,13 @@ %1$s %2$s banaka irakurtzeko Erabiltzeko, joan TalkBack-en ezarpenetara eta gehitu keinu bat \"%1$s\" ekintzarako Braille-teklatua ez dago aktibatuta. Joan TalkBack eginbidearen ezarpenetara, konfiguratu Braille-teklatua eta saiatu berriro. - Iradokizunak daude - Iradokizunak daude. Haiek atzitzeko, %1$s %1$d/%2$d orria Aurrekoa Hurrengoa Itxi Amaitu Joan gora - TalkBack-en eginbide berriak + TalkBack-en eginbide berriak Tutoriala itxi nahi duzu? Edozein unetan itzul zaitezke TalkBack-en ezarpenetara. Gelditu tutorialean @@ -647,14 +646,6 @@ Sakatu hau TalkBack keinu berriekin azkarrago erabiltzen ikasteko. Nodo-zuhaitza erregistrotan antolatuta inprimatu da. Hona hemen berriki egindako keinuak. Adierazi zein dagoen oker eta zein izan beharko litzateke zuzena. - Bolumena kontrolatzeko aukera sinplifikatuak, ekintzak bizkorrago egiteko aukerak, etab. lortuko dituzu.\n\nHurrengo pantailetan, berritasun eta aldaketa garrantzitsuen berri emango zaizu. Bost bat minutu beharko dituzu.\n\nInformazio hori berrikusi nahi baduzu, joan TalkBack-en ezarpenetara. - Bolumena kontrolatzeko aukeren aldaketak - Bolumena hobeto kontrolatzeko, aurrerantzean, bolumen-botoiek ez dituzte kontrolatuko testu-kurtsorea edo graduatzaileak.\n\nGraduatzaile baten posizioa aldatzeko, pasatu hatza gora edo behera.\n\nTestu-kurtsore baten posizioa aldatzeko, pasatu hatza testu-koadro batean gora edo behera. Braille-teklatuaren bidezko irakurketa kontrolatzeko aukerekin ere funtzionatzen du horrek. - Irudietako testua - Irudietako testuari buruzko xehetasun gehiago lor ditzakezu automatikoki edo behar dituzunean.\n\nEtiketarik ez duten irudiei dagokienez: TalkBack-ek automatikoki irakurriko du agertzen den testua.\n\nIrudi guztiei dagokienez: ireki TalkBack-en menua eta hautatu \"Irakurri ozen irudiko testua\" dioen aukera.\n\nIrudiak gailuan gelditzen dira eta ez dira inoiz bidaltzen Google-ra. Horregatik, Internetera konektatuta egon gabe ere erabil ditzakezu bi eginbideok. - Leihoko nabigazioa - Pantailako atal batetik bestera ibil zaitezke; adibidez, jakinarazpenen barraren, eduki nagusiaren eta teklatuaren artean.\n\nLeihoko nabigazioa erabiltzeko, pasatu lau hatz behera. - Pantailako atal batetik bestera ibil zaitezke; adibidez, jakinarazpenen barraren, eduki nagusiaren eta teklatuaren artean.\n\nLeihoko nabigazioa erabiltzeko, pasatu hatza behera, eta gero gora. Jarraitu keinu hori egiten leihoko nabigazioa hautatu arte. Leihora nabigatzeko, pasatu hatza behera. Tutoriala Ongi etorri TalkBack-era TalkBack pantaila-irakurgailu bat da, pantaila ikusi ezin dutenek edo pantaila ikusi ezin den egoeretan erabiltzeko. Ahozko argibideak ematen dizkizu gailua pantailari begiratu gabe erabil dezazun.\n\nTalkBack aktibatzeko edo desaktibatzeko, eduki sakatuta bi bolumen-botoiak zenbait segundoz.\n\nTalkBack aktibatuta dagoenean, pantailan fokuratutako elementua ozen irakurtzen da.\n\nHatza eskuinera pasatuz gero, hurrengo elementura joango da; ezkerrera pasatuz gero, ordea, aurrekora.\n\nPasatu hatza eskuinera Hurrengoa botoia aurkitzeko. @@ -697,14 +688,14 @@ Mugitu hatza teklatuan. Idatzi nahi duzun hizkia entzuten duzunean, jaso hatza.\n\nAktibatu beheko testu-koadroa eta idatzi zure izena. Braille-teklatua ere erabil dezakezu idazteko. TalkBack-en ezarpenetan daukazu. Kurtsorea mugitzea - Testu-koadro bat aktibatu ondoren, hatza gora edo behera pasa dezakezu kurtsorea hizkien artean mugitzeko.\n\nEgin keinu hori beheko testu-koadroan. + Testu-koadro bat aktibatu ondoren, bolumena igotzeko eta jaisteko botoiak saka ditzakezu kurtsorea hizkien artean mugitzeko.\n\nEgin keinu hori beheko testu-koadroan. Ongi etorri TalkBack-era Testua hautatzea Testu-koadroan, eraman kurtsorea hautatu nahi duzun testuaren hasierara.\n\nSaka ezazu birritan eta eduki ezazu bi hatzekin sakatuta hautapen modua abiarazteko. Ondoren, eraman kurtsorea testuaren amaierara. Sakatu testu-koadroa berriro birritan eta eduki ezazu bi hatzekin sakatuta hautapen modua amaitzeko.\n\nHautatu beheko testu-koadroan dagoen \"Ongi\" hitza. - Testu-koadroan, eraman kurtsorea hautatu nahi duzun testuaren hasierara.\n\nPasatu hatza behera eta gero eskuinera TalkBack-en menua irekitzeko. Sakatu birritan ekintzak eta abiarazi hautapen modua. Eraman kurtsorea testuaren amaierara.\n\nIreki TalkBack-en menua berriro eta sakatu birritan ekintzak hautapen modutik irteteko.\n\nHautatu beheko testu-koadroan dagoen \"Ongi\" hitza. + Testu-koadroan, eraman kurtsorea hautatu nahi duzun testuaren hasierara.\n\nPasatu hatza behera eta gero eskuinera TalkBack-en menua irekitzeko. Sakatu birritan editatzeko aukerak eta abiarazi hautapen modua. Eraman kurtsorea testuaren amaierara.\n\nIreki TalkBack-en menua berriro eta sakatu editatzeko aukera birritan hautapen modua amaitzeko.\n\nHautatu beheko testu-koadroan dagoen \"Ongi\" hitza. Kopiatu, ebaki eta itsatsi - Testua hautatu ondoren, sakatu birritan ekintzak eta gero kopiatu.\n\nKopiatu beheko testu-koadroko hitz bat. - Testua kopiatu eta itsasteko, ireki TalkBack-en menua eta sakatu birritan ekintzak.\n\nTestua itsasteko, sakatu hirutan hiru hatzekin.\n\nItsatsi hitz bat beheko testu-koadroan. + Testua hautatu ondoren, kopia ezazu hiru hatzekin birritan sakatuta.\n\nKopiatu beheko testu-koadroko hitz bat. + Testua ebakitzeko, saka ezazu birritan eta eduki ezazu sakatuta hiru hatzekin.\n\nTestua itsasteko, saka ezazu hiru aldiz hiru hatzekin.\n\nItsatsi hitza beheko testu-koadroan. Testua hautatu ondoren, TalkBack-en menuan kopia dezakezu. Pasatu hatza behera eta, ondoren, eskuinera TalkBack-en menua irekitzeko. Sakatu editatzeko aukera birritan eta kopiatu testua.\n\nKopiatu beheko testu-koadroko hitz bat. Testua kopiatu eta itsasteko, ireki TalkBack-en menua eta sakatu editatzeko aukerak birritan.\n\nItsatsi hitza beheko testu-koadroan. Itsatsi testua hemen @@ -747,7 +738,6 @@ Pasatu hatza eskuinera edo ezkerrera elementu batetik bestera joateko Elementu bat aktibatzeko, saka ezazu birritan Gora eta behera egiteko, arrastatu bi hatz - Egiaztatu telefonoa konektatuta dagoela. Ertz lodiak Kolorea Lehenetsia @@ -759,12 +749,6 @@ Grisa Inkesta itxita dago Testua: %1$s - Irakurri ozen irudiko testua - %1$s ekintzaren ikonoa hauteman da - Ez da onartzen ekintza hori. - Ez dago ekintzarik hautatuta. - Hautatu onartzen den ekintza bat. - Ez dago ekintzarik. - Ekintzen ezarpena ez dago gaituta. - Ez da aurkitu testurik + Azaldu irudia + %1$s ikonoa aurresan da diff --git a/talkback/src/main/res/values-fa/strings.xml b/talkback/src/main/res/values-fa/strings.xml index 4e8e151d1..e61202155 100644 --- a/talkback/src/main/res/values-fa/strings.xml +++ b/talkback/src/main/res/values-fa/strings.xml @@ -7,7 +7,6 @@ تنظیمات نوشتار به گفتار زبان‌ها زبان گفتار - کنش‌ها کنش‌های سیستم نسخه %1$s مدیریت برچسب‌های سفارشی @@ -18,7 +17,7 @@ جستجو: %1$s جستجو لغو شد. شروع شد - متوقف شده + متوقف شد نوشتاری انتخاب نشده است در حال شارژ %1$s سطح شارژ باتری %2$s درصد. درحال شارژ شدن %1$s @@ -31,37 +30,46 @@ قفل دستگاه باز شد. صدا میزان صدای گفتار - وقتی صفحه خاموش است اطلاعات گفته شوند - همیشه تعداد موارد فهرست خوانده شود - تعداد کل روش‌های پیمایش خوانده می‌شود + بلند خواندن هنگام خاموش بودن صفحه نمایش + وقتی صفحه خاموش است اعلان‌ها پخش می‌شوند + وقتی صفحه خاموش است گفتار پخش نمی‌شود + تعداد موارد فهرست موجود در صفحه بلند خوانده شود + فقط هنگام پیمایش با اشاره، بلند خوانده شود + همیشه بلند خوانده شود پوشاندن حسگر مجاورت برای توقف گفتار - خواندن حروف به‌همراه مثال - ‏هنگام انتخاب کلیدهای صفحه‌کلید یا پیمایش با نویسه، مثالی به‌همراه هر حرف خواهید شنید، مثل «h, hotel» - خواندن نمادها و نشانه‌های سجاوندی + بلند خواندن حروف آوانگاری + حروف آوانگاری بازگو نمی‌شود + با فشار طولانی روی کلیدهای صفحه‌کلید و پیمایش در سطح نویسه، حروف آوانگاری بازگو می‌شوند + سجاوندی + نمادها و نشانه‌های سجاوندی خوانده نمی‌شوند + نمادها و نشانه‌های سجاوندی خوانده می‌شوند حروف بزرگ كاری انجام نشود ‏بگویید «capital» (حروف بزرگ) تغییر زیروبمی صدا پخش صدا بلند خواندن راهنمایی‌های استفاده - پس‌از شرح محتوا، نحوه استفاده پیشنهاد می‌شود - خواندن اطلاعات فهرست و جدول + هنگام جابه‌جا کردن کانونی کردن دسترس‌پذیری، نکته‌های استفاده بازگو نمی‌شوند + درحین پیمایش، نکته‌های استفاده پس از تأخیر کوتاهی بازگو می‌شوند + بلند خواندن اطلاعات فهرست و جدول + اطلاعات فهرست و جدول بازگو می‌شوند + اطلاعات فهرست و جدول بازگو نمی‌شود اشاره‌ها بازنشانی شوند؟ ‏با این کار همه اشاره‌ها به کنش‌های پیش‌فرض بازنشانی می‌شوند.\n\nهمه تغییراتی را که اعمال کرده‌اید ازدست خواهید داد. بازنشانی تنظیمات اشاره بازنشانی شد. بلند خواندن نوع عنصر - برای موارد متمرکزشده + نوع عنصر برای موردهای کانونی‌شده بازگو می‌شود + نوع عنصر برای موردهای کانونی‌شده بازگو نمی‌شود بلند خواندن شناسه‌های عنصر - برای دکمه‌های بدون برچسب - خوانده شدن عنوان پنجره‌های سیستم - وقتی به پنجره‌های دیگر سیستم مثل نوار وضعیت، اعلان‌ها، یا کنترل‌های صدا می‌روید + شناسه‌های عنصر برای دکمه‌های بدون برچسب بلند گفته نمی‌شوند + شناسه‌های عنصر برای دکمه‌های بدون برچسب بلند گفته می‌شوند کاوش با لمس کنترل‌ها فعال کردن تک‌ضربه‌ای برای فعال کردن، روی مورد متمرکزشده یک‌بار ضربه بزنید سطح جزئیات - خواندن نمادها و نشانه‌های سجاوندی + سجاوندی سفارشی ساختن نشانگر فوکوس سفارشی کردن اشاره‌ها برچسب‌های سفارشی @@ -196,14 +204,15 @@ نوشتاری برای جای‌گذاری وجود ندارد، ابتدا نوشتاری را کپی کنید. نوشتاری برای بریدن وجود ندارد، ابتدا نوشتاری را انتخاب کنید. نوشتاری برای حذف کردن وجود ندارد، ابتدا نوشتاری را انتخاب کنید. - مطمئنید می‌خواهید کلیدهای میان‌بر این نقشه‌کلید را به مقادیر پیش‌فرضشان بازنشانی کنید؟ لطفاً توجه داشته باشید، این اقدام واگردشدنی نیست. + مطمئنید می‌خواهید کلیدهای میان‌بر این نقشه‌کلید را به مقادیر پیش‌فرضشان بازنشانی کنید؟ لطفاً توجه داشته باشید، این اقدام قابل واگرد نیست. بازنشانی کلید از قبل در حال استفاده است این ترکیب کلید برای اقدام «%1$s» استفاده می‌شود. آیا می‌خواهید آن را پاک کنید و این میان‌بر را به «%2$s» اختصاص دهید؟ استفاده از تغییرات زیر و بمی صدا صدای صفحه‌کلید ترتیب شرح عنصر - حروف حذف‌شده با صدای زیرتری خوانده می‌شود + نوشتار حذف‌شده صفحه‌کلید با صدای زیرتری خوانده می‌شود + هنگام صحبت زیر و بمی صدا را تغییر ندهید صفحه‌کلید بریل بازخورد لرزشی بازخورد صوتی @@ -211,6 +220,7 @@ کم کردن صداهای دیگر هنگام صحبت کردن میزان بازخورد صدا ‏میان‌بر ازسرگیری و تعلیق TalkBack + میان‌بر پنهان کردن صفحه‌نمایش تنظیمات برنامه‌نویس انتخاب رویدادها برای ثبت گزارش فیلتر کردن ثبت رویداد قابلیت دسترس‌پذیری @@ -256,7 +266,7 @@ ‏باز کردن منوی TalkBack مکث بازخورد توقف موقت یا ازسرگیری گفتار - روشن یا خاموش کردن گفتار + ‏روشن یا خاموش کردن صدای TalkBack خواندن از بالا خواندن از مورد بعدی چاپ سر شاخه @@ -278,7 +288,6 @@ نگه داشتن میان‌بر دسترس‌پذیری جابه‌جایی تمرکز پیمایش به‌جلو یا تنظیم کنترل خواندن پایین جابه‌جایی تمرکز پیمایش به‌عقب یا تنظیم کنترل خواندن بالا - فعال کردن کنش انتخاب‌شده کنونی نتیجهٔ جستجو پخش یا توقف موقت رسانه همه برنامه‌ها @@ -323,10 +332,10 @@ خواندن ویژگی‌های ویژه غیره - هروقت کنشی برای مورد فعلی وجود داشته باشد نشان داده می‌شود، ازجمله کپی کردن، جای‌گذاری، انتخاب کردن، و غیره + وقتی کنش‌های سفارشی برای مورد کنونی وجود داشته باشد نمایش داده می‌شود کپی کردن، جای‌گذاری کردن، انتخاب کردن، و کارهای دیگر. وقتی چارگوش نوشتاری را انتخاب می‌کنید نمایش داده می‌شود. - پیوندهایِ درون مورد متمرکزشده را باز می‌کند - به صفحه قبل یا بعد می‌رود. وقتی درحال خواندن محتوایی چند صفحه‌ای هستید نمایش داده می‌شود. + باز کردن پیوندهایِ درون مورد متمرکزشده + رفتن به صفحه بعد یا قبلی. وقتی درحال خواندن محتوایی چند صفحه‌ای هستید نمایش داده می‌شود. وقتی مورد برچسب‌گذاری‌نشده‌ای را انتخاب می‌کنید نمایش داده می‌شود خواندن براساس نویسه، واژه، خط، و موارد دیگر خواندن همه موارد موجود در صفحه از بالای صفحه @@ -342,7 +351,6 @@ تنظیمات نوشتار به گفتار را باز کنید ‏بازخورد صوتی TalkBack را خاموش کنید قابل‌ویرایش نیست - انجام کنش‌ها خواندن یک نویسه در هربار خواندن یک واژه در هربار خواندن یک خط در هربار @@ -356,7 +364,7 @@ فقط در صفحه‌های وب نشان داده می‌شود خواندن یکی پس‌از دیگری ‏تغییر سرعت صحبت کردن TalkBack - تغییر اینکه کلیدهای تایپ‌شده، نکات استفاده، اطلاعات جدول، و اطلاعات دیگر بلند خوانده شوند یا نه + تغییر اینکه کلیدهای تایپ‌شده، خوانایاری‌های استفاده، اطلاعات جدول، و اطلاعات دیگر بلند خوانده شوند یا نه تغییر اینکه نمادها و نشانه‌های سجاوندی بلند خوانده شوند یا نه تغییر زبان گفتار. فقط زمانی نمایش داده می‌شود که چند زبان برای «نوشتار به گفتار» نصب کرده باشید. شنیدن جلوه‌های صوتی درحین پیمایش، مثل صدای بوق برای تأیید کنش‌ها. @@ -365,17 +373,17 @@ ‏کم کردن میزان صداهای دیگر وقتی TalkBack صحبت می‌کند پیمایش به‌سمت جلو یا عقب افزایش یا کاهش دادن میزان صدای «دسترس‌پذیری» - نوشتار جاسازی‌شده در تصویر منتخب خوانده می‌شود + دریافت شرح خودکار برای این تصویر پایین پایین سپس راست تند کشیدن به‌بالا تند کشیدن به‌پایین - تند کشیدن به سمت راست - تند کشیدن به سمت چپ + تند کشیدن به‌چپ + تند کشیدن به‌راست تند کشیدن به‌بالا سپس به‌پایین تند به‌پایین سپس به‌بالا کشیدن - تند کشیدن به سمت راست سپس به چپ - تند کشیدن به سمت چپ سپس به راست + تند کشیدن به‌چپ سپس راست + تند کشیدن به‌راست سپس چپ کشیدن انگشت به پایین سپس چپ کشیدن انگشت به پایین سپس راست کشیدن انگشت به بالا سپس چپ @@ -408,9 +416,7 @@ دوضربه زدن و نگه داشتن با ۲ انگشت دوضربه زدن و نگه داشتن با ۳ انگشت دوضربه زدن و نگه داشتن با ۴ انگشت - ضربه زدن و نگه داشتن با سه‌انگشت سه ضربه زدن و نگه داشتن با ۲ انگشت - سه‌ضربه زدن و نگه داشتن با سه انگشت برای تنظیم کردن، از «%1$s» یا «%2$s» استفاده کنید برای تنظیم کردن، از «%1$s» استفاده کنید اشاره ناشناس @@ -433,9 +439,8 @@ هنگامی که صفحه روشن می‌شود هنگامی‌که صفحه قفل نشان داده می‌شود فقط از اعلان - برای انتخاب هرکدام از کلیدها، انگشت را نگه دارید و سپس دوضربه بزنید - برای انتخاب کلید حروف، انگشت را نگه دارید و سپس بردارید. برای سایر کلیدها، دوضربه بزنید. - برای انتخاب کلید، انگشت را نگه دارید و سپس بردارید + برای انتخاب کلید، انگشت را نگه دارید و سپس دوضربه بزنید + برای انتخاب کلید، انگشت را نگه دارید و سپس بردارید غیرفعال بسیار آرام آرام @@ -485,6 +490,7 @@ برنامه را برای صادر کردن برچسب‌ها انتخاب کنید: ‏این نسخه از TalkBack حاوی تغییراتی در اشاره‌های دسترس‌پذیری پیش‌فرض است. کنش‌های مرتبط با این اشاره‌ها می‌توانند در تنظیمات TalkBack سفارشی شوند. هنگامی که کاوش با لمس کردن فعال است، می‌توانید از حرکات زیر برای اجرای کنش‌های خاصی استفاده کنید.\n\n%1$s فشار طولانی مدت بر کلید‌های کاهش و افزایش صدا + برای پنهان یا نمایان کردن صفحه، هر دو کلید میزان صدا را سه‌بار سریع فشار دهید صفحه‌نمایش پنهان شود؟ این تنظیم با خاموش کردن صفحه‌نمایش موجب بهبود حریم‌خصوصی می‌شود و وقتی در مکان‌های عمومی هستید صفحه‌نمایش شما برای دیگران قابل‌مشاهده نیست ‏در این نسخه TalkBack، اشاره‌های پیش‌فرض دسترس‌پذیری تغییراتی کرده است.\n\nبا اشاره بالا سپس پایین می‌توانید به اولین مورد در صفحه بروید، و با اشاره پایین سپس بالا می‌توانید به آخرین مورد بروید.\n\nاکنون با تمرکز روی یک مورد و سپس انتخاب جزئیات از منوی بافت TalkBack، می‌توان جزئیات خواندن را تغییر داد.\n\nمی‌توانید کنش‌هایی را که این اشاره‌ها اجرا می‌کنند در «تنظیمات TalkBack» تغییر دهید. @@ -501,9 +507,6 @@ آمار عملکرد فعال شود؟ ‏مطمئنید می‌خواهید آمار عملکرد را روشن کنید؟ \n\nممکن است آمار عملکرد، حافظه و توان بیشتری مصرف کند. - ورود به سیستم طولانی فعال شود؟ - ‏ورود به سیستم طولانی می‌تواند به اشکال‌زدایی کمک کند اما ممکن است باعث نشان داده شدن اطلاعات شخصی در میان‌گیری گزارش سیستم شود.\n\n می‌خواهید ورود به سیستم طولانی فعال شود؟ - بله، ورود به سیستم طولانی فعال شود دسترسی به تلفن مجاز شود؟ ‏این کار به TalkBack کمک می‌کند اعلامیه‌ها را زمانی‌که درحین تماس هستید کاهش دهد ادامه @@ -557,11 +560,9 @@ میزان دسترس‌پذیری تنظیم کردن لغزنده تنظیم مقدار - کنش‌ها ‏خواندن گذرواژه‌‎ها گذرواژه‌ها همیشه خوانده می‌شود صدا و لرزش - صدا کپی شد، %1$s بستن بستن جستجو @@ -596,15 +597,13 @@ برای یک‌به‌یک خواندن %2$s، %1$s ‏برای استفاده از این ویژگی، به تنظیمات TalkBack بروید و اشاره‌ای را برای «%1$s» اضافه کنید ‏صفحه‌کلید «بریل» روشن نمی‌شود. به تنظیمات TalkBack بروید، صفحه‌کلید «بریل» را راه‌اندازی کنید، و دوباره امتحان کنید. - پیشنهادهایی دردسترس است - پیشنهادهایی دردسترس است. برای دسترسی، %1$s صفحه %1$d از %2$d قبلی بعدی بستن پایان پیمایش به بالا - ‏ویژگی‌های جدید TalkBack + ‏ویژگی‌های جدید TalkBack آموزش گام‌به‌گام بسته شود؟ ‏هروقت خواستید می‌توانید در تنظیمات TalkBack به این صفحه برگردید. ماندن در آموزش گام‌به‌گام @@ -648,14 +647,6 @@ ‏برای آشنایی با نحوه استفاده سریع‌تر از TalkBack با اشاره‌های جدید ضربه بزنید. ساختار درختی گره‌ها در گزارش‌ها چاپ شد. این‌ها اشاره‌هایی هستند که اخیراً اجرا شده‌اند، لطفاً گزارش دهید که کدام اشتباه است و چه کنشی انتظار می‌رود. - ‏کنترل آسان‌تر میزان صدا، کنترل‌های سریع‌تر برای کنش‌ها، و ویژگی‌های بیشتری دریافت خواهید کرد.\n\nدر چند صفحه بعدی با به‌روزرسانی‌ها و تغییرات اصلی آشنا خواهید شد. این آشنایی حدود ۵ دقیقه زمان می‌برد.\n\nهرزمان بخواهید می‌توانید این اطلاعات را در تنظیمات TalkBack مرور کنید. - تغییرات در کنترل میزان صدا - ‏برای بهبود کنترل میزان صدا، کلیدهای میزان صدا دیگر نشانگرهای نوشتار یا لغزنده‌ها را کنترل نمی‌کنند.\n\nبرای تغییر موقعیت لغزنده، تند به‌بالا یا پایین بکشید.\n\nبرای تغییر موقعیت نشانگر نوشتار، در چارگوش نوشتاری تند به‌بالا یا پایین بکشید. این اشاره‌ها در کنترل‌های خواندن صفحه‌کلید بریل نیز کار می‌کنند. - نوشتار درون تصاویر - ‏می‌توانید به‌طور خودکار یا هرگاه نیاز داشته باشید، جزئیات بیشتری درباره نوشتار درون تصاویر دریافت کنید.\n\nبرای تصاویری که برچسب ندارند: TalkBack به‌طور خودکار نوشتاری را که ظاهر می‌شود می‌خواند.\n\nبرای همه تصاویر: منوی TalkBack را باز کنید و «توصیف نوشتار موجود در تصویر» را انتخاب کنید.\n\nتصاویر در دستگاهتان می‌مانند و هرگز به Google ارسال نمی‌شوند. یعنی می‌توانید بدون اتصال اینترنت از هر دوی این ویژگی‌ها استفاده کنید. - پیمایش پنجره - ‏می‌توانید بین بخش‌های مختلف صفحه‌نمایش، مانند نوار اعلان، محتوای اصلی، و صفحه‌کلید، جابه‌جا شوید.\n\nبرای استفاده از پیمایش پنجره، با چهار انگشت تند به‌پایین بکشید. - ‏می‌توانید بین بخش‌های مختلف صفحه‌نمایش، مانند نوار اعلان، محتوای اصلی، و صفحه‌کلید، جابه‌جا شوید.\n\nبرای استفاده از پیمایش پنجره، تند به‌پایین و سپس به بالا بکشید. آنقدر بالا بروید تا بتوانید پیمایش پنجره را انتخاب کنید. برای پیمایش به پنجره، تند به‌پایین بکشید. آموزش گام‌به‌گام ‏به TalkBack خوش آمدید ‏TalkBack صفحه‌خوانی است که برای افراد دارای اختلال بینایی یا مواقعی که دیدن صفحه‌نمایش مشکل است درنظر گرفته شده است. این ویژگی به شما بازخورد گفتاری می‌دهد تا بتوانید بدون نگاه کردن به صفحه‌نمایش از دستگاهتان استفاده کنید.\n\nمی‌توانید TalkBack را با نگه داشتن هر دو کلید میزان صدا به‌مدت چند ثانیه روشن یا خاموش کنید.\n\nوقتی TalkBack روشن باشد، مورد متمرکزشده در صفحه بلند خوانده می‌شود.\n\nبا تند کشیدن به راست به مورد بعدی می‌روید و با تند کشیدن به چپ به مورد قبلی می‌روید.\n\nاکنون تند به راست بکشید تا دکمه بعدی را پیدا کنید. @@ -698,14 +689,14 @@ ‏انگشتتان را روی صفحه‌کلید حرکت دهید. وقتی حرفی را که می‌خواهید تایپ کنید شنیدید، انگشتتان را بردارید.\n\nچارگوش نوشتاری زیر را فعال کنید و نامتان را تایپ کنید. ‏همچنین می‌توانید با صفحه‌کلید بریل تایپ کنید. آن را در تنظیمات TalkBack پیدا کنید. جابه‌جا کردن نشانگر - ‏هرگاه چارگوش نوشتاری فعال شده باشد، می‌توانید با تند کشیدن به‌بالا یا پایین، نشانگر را میان حروف حرکت دهید.\n\nاین ویژگی را در چارگوش نوشتاری زیر امتحان کنید. + ‏وقتی چارگوش نوشتاری را فعال کنید، می‌توانید با فشار دادن کلیدهای افزایش یا کاهش صدا، نشانگر را بین حروف جابه‌جا کنید.\n\nاین کار را در چارگوش نوشتاری زیر امتحان کنید. ‏به TalkBack خوش آمدید انتخاب نوشتار ‏در چارگوش نوشتاری، نشانگر را به ابتدای نوشتاری که می‌خواهید انتخاب کنید ببرید.\n\nبرای فعال کردن حالت انتخاب، با ۲ انگشت دوضربه بزنید و نگه دارید. سپس نشانگر را به انتهای نوشتار ببرید. دوباره با ۲ انگشت دوضربه بزنید و نگه دارید تا حالت انتخاب غیرفعال شود.\n\nکلمه «خوش آمدید» را در چارگوش نوشتاری زیر انتخاب کنید. - ‏در چارگوش نوشتاری، نشانگر را به ابتدای نوشتاری که می‌خواهید انتخاب کنید ببرید.\n\nتند به‌سمت پایین و سپس راست بکشید تا منوی TalkBack باز شود. روی کنش‌ها دوضربه بزنید و سپس حالت انتخاب را فعال کنید. نشانگر را به‌انتهای نوشتار ببرید.\n\nمنوی TalkBack را دوباره باز کنید، سپس روی کنش‌ها دوضربه بزنید تا حالت انتخاب غیرفعال شود.\n\nکلمه «خوش آمدید» را در چارگوش نوشتاری زیر انتخاب کنید. + ‏در چارگوش نوشتاری، نشانگر را به ابتدای نوشتاری که می‌خواهید انتخاب کنید ببرید.\n\nتند به‌سمت پایین و سپس راست بکشید تا منوی TalkBack باز شود. روی گزینه‌های ویرایش دوضربه بزنید و سپس حالت انتخاب را فعال کنید. نشانگر را به انتهای نوشتار ببرید.\n\nمنوی TalkBack را دوباره باز کنید، سپس روی گزینه‌های ویرایش دوضربه بزنید تا حالت انتخاب غیرفعال شود.\n\nکلمه «خوش آمدید» را در چارگوش نوشتاری زیر انتخاب کنید. کپی کردن، بریدن، و جای‌گذاری - ‏بعداز انتخاب نوشتار، روی کنش‌ها دوضربه بزنید و سپس کپی کنید.\n\nکلمه‌ای را در چارگوش نوشتاری زیر کپی کنید. - ‏برای بریدن یا جای‌گذاری نوشتار، منوی TalkBack را باز کنید و روی کنش‌ها دوضربه بزنید.\n\nبرای جای‌گذاری نوشتار، با ۳ انگشت سه ضربه بزنید.\n\nکلمه‌ای را در چارگوش نوشتاری زیر جای‌گذاری کنید. + ‏پس‌از انتخاب نوشتار، با ۳ انگشت دوضربه بزنید تا نوشتار کپی شود.\n\nکلمه‌ای را در چارگوش نوشتاری زیر کپی کنید. + ‏برای بریدن نوشتار، با ۳ انگشت دوضربه بزنید و نگه دارید.\n\nبرای جای‌گذاری نوشتار، با ۳ انگشت سه‌ضربه بزنید.\n\nکلمه‌ای را در چارگوش نوشتاری زیر جای‌گذاری کنید. ‏پس‌از انتخاب نوشتار، می‌توانید آن را در منوی TalkBack کپی کنید. برای باز کردن منوی TalkBack، تند به‌سمت پایین و سپس راست بکشید. روی گزینه‌های ویرایش دوضربه بزنید و سپس کپی کنید.\n\nکلمه‌ای را در چارگوش نوشتاری زیر کپی کنید. ‏برای بریدن یا جای‌گذاری نوشتار، منوی TalkBack را باز کنید و روی گزینه‌های ویرایش دوضربه بزنید.\n\nکلمه‌ای را در چارگوش نوشتاری زیر جای‌گذاری کنید. نوشتار را اینجا جای‌گذاری کنید @@ -748,7 +739,6 @@ برای جابه‌جا شدن بین موارد، آن‌ها را تند به راست یا چپ بکشید برای فعال کردن یکی از موارد، دو ضربه سریع بزنید برای پیمایش، با ۲ انگشت بکشید - لطفاً بررسی کنید تلفن متصل باشد. حاشیه ضخیم رنگ پیش‌فرض @@ -760,12 +750,6 @@ خاکستری نظرسنجی بسته شد نوشتار: %1$s - توصیف نوشتار موجود در تصویر - نماد شناسایی‌شده: %1$s - کنش پشتیبانی نمی‌شود. - کنشی انتخاب نشده است. - لطفاً کنش پشتیبانی‌شده‌ای انتخاب کنید. - کنشی وجود ندارد. - تنظیم کنش‌ها فعال نیست. - نوشتاری پیدا نشد + شرح تصویر + نماد پیش‌بینی‌شده: %1$s diff --git a/talkback/src/main/res/values-fa/strings_voicecommands.xml b/talkback/src/main/res/values-fa/strings_voicecommands.xml index 2f60ebb7b..2ebe50d74 100644 --- a/talkback/src/main/res/values-fa/strings_voicecommands.xml +++ b/talkback/src/main/res/values-fa/strings_voicecommands.xml @@ -77,7 +77,7 @@ برگشتن صفحه اصلی میزکار - متوقف کردن + توقف خروج بی‌صدا مکث diff --git a/talkback/src/main/res/values-fi/strings.xml b/talkback/src/main/res/values-fi/strings.xml index 4280d6e74..566ad5279 100644 --- a/talkback/src/main/res/values-fi/strings.xml +++ b/talkback/src/main/res/values-fi/strings.xml @@ -7,7 +7,6 @@ Tekstistä puheeksi ‑asetukset Kielet Puheen kieli - Toiminnot Järjestelmän toiminnot Versio %1$s Hallinnoi omia tunnisteita @@ -31,37 +30,46 @@ Laitteen lukitus avattu. Audio Puheen äänenvoimakkuus - Sano ilmoitukset, kun näyttö on sammut - Sano aina luettelokohtien määrä ääneen - Sano määrä ääneen kaikilla vieritystavoilla + Puhe, kun näyttö ei päällä + Ilmoitukset puhutaan, kun näyttö on pois päältä + Puhetta ei tuoteta, kun näyttö on pois päältä + Sano näytöllä näkyvien luettelokohtien määrä + Puhu vain eleillä vierittämisen yhteydessä + Puhutaan aina Lopeta puhe peittämällä lähestymisanturi - Sano kirjaimet ja esimerkit ääneen - Valitessasi näppäimistön näppäimiä tai siirtyessäsi merkeillä, kuulet esimerkin jokaisesta kirjaimesta, esimerkiksi \"h, hotelli\" - Sano välimerkit ja symbolit ääneen + Lausu foneettiset kirjaimet ääneen + Foneettisia kirjaimia ei sanota ääneen. + Foneettiset kirjaimet lausutaan ääneen, kun näppäintä painetaan pitkään ja kirjaimet valitaan yksi kerrallaan. + Välimerkit + Välimerkkejä ja symboleita ei sanota ääneen + Välimerkit ja symbolit sanotaan ääneen Isot kirjaimet Älä tee mitään Sano \"isot kirjaimet\" Äänenkorkeuden muuttaminen Äänen toistaminen Lausu käyttövinkit ääneen - Ehdota käyttötapaa sisällön kuvaamisen jälkeen - Sano luettelon ja ruudukon tiedot ääneen + Käyttövinkkejä ei lausuta ääneen, kun korostettu kohta muuttuu. + Käyttövihjeitä luetaan ääneen siirtymisen aikana lyhyen viiveen jälkeen. + Sano ääneen luettelon ja ruudukon tiedot + Luettelon ja ruudukon tiedot sanotaan ääneen. + Luettelon ja ruudukon tietoja ei sanota ääneen. Nollataanko eleet? Tämä palauttaa kaikki eleet oletustoimintoihin.\n\nMenetät tekemäsi muutokset. Nollaa Eleasetukset on nollattu. Sano ääneen elementin tyyppi - Korostetut kohteet + Elementin tyyppi sanotaan ääneen kohdistettujen kohteiden kohdalla. + Elementin tyyppiä ei sanota ääneen kohdistettujen kohteiden kohdalla. Sano elementtien tunnukset - Tunnisteettomat painikkeet - Sano järjestelmän ikkunat ääneen - Kun siirryt muihin järjestelmän ikkunoihin, esim. tilapalkkiin, ilmoituksiin tai äänenvoimakkuuden säätöön + Elementin tunnusta ei sanota ääneen, jos kyseessä on painike, jolla ei ole tunnistetta. + Elementtien tunnukset sanotaan ääneen, vaikka kyseessä olisi painike, jolla ei ole tunnistetta. Kosketuksella tutkiminen Ohjaimet Aktivoi yhdellä napautuksella Aktivoi napauttamalla kohdistettua kohdetta kerran Puheen määrä - Sano välimerkit ja symbolit ääneen + Välimerkit Yksilöi tarkennuksen tilaosoitinta Yksilöi eleitä Omat tunnisteet @@ -203,7 +211,8 @@ Käytä äänenkorkeuden muutoksia Sano painetut näppäimet Elementin kuvausjärjestys - Sano poistetut kirjaimet korkeammalla äänellä + Sano näppäimistön poistama teksti korkeammalla äänellä + Älä muuta äänenkorkeutta puhuttaessa Pistekirjoitusnäppäimistö Värinäpalaute Äänipalaute @@ -211,6 +220,7 @@ Pienennä muiden sovelluksien äänenvoimakkuutta puhuttaessa Äänipalautteen voimakkuus TalkBackin keskeytyksen ja jatkamisen pikanäppäin + Piilota näytön pikanäppäin Kehittäjäasetukset Valitse tapahtumat lokiin Suodata esteettömyystapahtumien lokeja @@ -256,7 +266,7 @@ Avaa TalkBack-valikko Keskeytä palaute Keskeytä puhe tai jatka sitä - Laita puhe päälle tai pois päältä + Laita TalkBackin äänet päälle tai pois päältä Lue alusta alkaen Lue seuraavasta kohteesta alkaen Tulosta solmupuu @@ -278,7 +288,6 @@ Paina pitkään esteettömyyden pikanäppäintä Siirrä navigoinnin korostusta eteenpäin tai muuta lukuasetusta pienemmäksi Siirrä navigoinnin korostusta taaksepäin tai muuta lukuasetusta suuremmaksi - Aktivoi valittu toiminto Hakutulos Toista mediaa tai keskeytä se Kaikki sovellukset @@ -323,7 +332,7 @@ Lukeminen Erityisominaisuudet Muu - Näyttää, kun nykyiselle kohteelle on käytettävissä toimintoja, esim. kopioi, liitä ja valitse + Näkyy, kun nykyiselle kohteelle on omia toimintoja Kopioi, liitä, valitse jne. Näkyy, kun valitset tekstikentän. Avaa korostetussa kohteessa olevat linkit Siirry seuraavalle tai edelliselle sivulle. Näkyy vain, kun luet sisältöä, jossa on useita sivuja. @@ -342,7 +351,6 @@ Avaa Tekstistä puheeksi ‑asetukset Laita TalkBackin äänipalaute pois päältä Ei muokattavissa - Käytä toimintoja Lue yksi merkki kerrallaan Lue yksi sana kerrallaan Lue yksi rivi kerrallaan @@ -365,7 +373,7 @@ Hiljennä muita ääniä, kun TalkBack puhuu Vieritä eteenpäin tai taaksepäin Lisää tai vähennä esteettömyyden äänenvoimakkuutta - Lue valittuun kuvaan upotettu teksti ääneen + Pyydä kuvasta automaattinen kuvaus alas alas ja oikealle Pyyhkäise ylös @@ -408,9 +416,7 @@ Kaksoisnapauta ja kosketa pitkään kahdella sormella Kaksoisnapauta ja kosketa pitkään kolmella sormella Kaksoisnapauta ja kosketa pitkään neljällä sormella - Pitkä kosketus kolmella sormella Kaksoisnapautus ja pitkä kosketus kahdella sormella - Kaksoisnapautus ja pitkä kosketus kolmella sormella \"%1$s\" tai %2$s\" säätääksesi \"%1$s\" säätääksesi Tuntematon ele @@ -433,9 +439,8 @@ Kun näyttö kytketään päälle Kun lukitusruutu näkyy Vain ilmoitusalueelta valittaessa - Valitse näppäin painamalla sormella ja kaksoisnapauta - Valitse kirjainnäppäin painamalla sormella ja nosta sitten sormesi. Kaksoisnapauta, jos haluat käyttää muita näppäimiä. - Valitse painike painamalla sormella ja nosta sitten sormesi + Valitse painike painamalla sormella ja kaksoisnapauta + Valitse painike painamalla sormella ja nosta sitten sormesi Pois päältä Hyvin kevyt Kevyt @@ -485,6 +490,7 @@ Valitse sovellus tunnisteiden viemiseen: Tämä TalkBackin versio sisältää muutoksia peruseleisiin. Eleisiin liittyviä toimintoja voi muokata TalkBack-asetuksissa. Kun kosketuksella tutkiminen on käytössä, voit suorittaa tiettyjä toimintoja seuraavilla eleillä.\n\n%1$s Äänenvoimakkuuden lisäys- ja vähennyspainikkeiden pitkä painallus + Piilota näyttö tai tuo se näkyviin painamalla nopeasti molempia äänenvoimakkuuspainikkeita kolme kertaa Piilotetaanko näyttö? Tämä laittaa näytön pois päältä yksityisyyden parantamiseksi, jotta muut eivät voi nähdä näyttöä julkisilla paikoilla Tämä TalkBackin versio sisältää muutoksia oletusarvoisesti käytettäviin eleisiin.\n\nYlös-alas-eleen avulla voit siirtyä näytön ensimmäiseen kohteeseen, alas-ylös siirtää sinut viimeiseen kohteeseen.\n\nLukemistarkkuutta voi nyt muuttaa kohdistamalla kohteeseen ja valitsemalla tarkkuuden TalkBack-kontekstivalikosta.\n\nVoit muuttaa eleiden toimintoja TalkBackin asetuksissa. @@ -500,9 +506,6 @@ Haluatko varmasti ottaa solmupuun virheenkorjauksen käyttöön?\n\nRuudun sisältö saattaa tällöin päätyä laitteen lokitiedostoihin, jotka saattavat olla muiden sovellusten luettavissa. Otetaanko toimintatilastot käyttöön? Haluatko varmasti ottaa toimintatilastot käyttöön?\n\nToimintatilastot voivat lisätä muistin ja virran kulutusta. - Otetaanko monisanainen loki käyttöön? - Virheenkorjauksessa monisanaisesta lokista voi olla hyötyä, mutta se voi saada henkilökohtaisia tietoja näkymään järjestelmän lokipuskurissa.\n\n Haluatko ottaa monisanaisen lokin käyttöön? - Kyllä, ota monisanainen loki käyttöön Sallitaanko pääsy puhelimeen? Tämän avulla TalkBack voi vähentää ilmoituksia puhelun aikana Jatka @@ -556,11 +559,9 @@ Esteettömyyden äänenvoimakkuus Siirrä liukusäädintä Säädä arvoa - Toiminnot Sano salasanat ääneen Salasanat sanotaan aina ääneen. Äänet ja värinä - Ääni kopioitu, %1$s Sulje Sulje haku @@ -595,15 +596,13 @@ %1$s lukeaksesi %2$stasolla Jos haluat käyttää tätä, palaa TalkBackin asetuksiin ja lisää ele, jolla %1$s toimii Pistekirjoitusnäppäimistö ei ole päällä. Ota se käyttöön TalkBack-asetuksista ja yritä uudelleen. - Ehdotuksia saatavilla - Ehdotuksia saatavilla. Jos haluat nähdä ne, %1$s Sivu %1$d/%2$d Edellinen Seuraava Sulje Valmis Siirry ylös - TalkBackin uudet ominaisuudet + TalkBackin uudet ominaisuudet Suljetaanko esittely? Voit palata siihen milloin tahansa TalkBackin asetuksissa. Jatka opastusta @@ -647,14 +646,6 @@ Napauta, niin näet ohjeet TalkBackin nopeampaan käyttöön uusilla eleillä. Solmupuu on lisätty lokeihin. Tässä on viime aikoina tehdyt eleet. Ilmoita, mikä ele on väärä ja mitä odotit sen sijaan. - Saat käyttöösi yksinkertaistetut äänenvoimakkuuden säätimet, nopeammat toimintosäätimet ja paljon muuta.\n\nSeuraavilla näytöillä voit lukea lisää tärkeistä päivityksistä ja muutoksista. Tämä kestää noin viisi minuuttia.\n\nVoit tarkistaa nämä tiedot milloin tahansa TalkBackin asetuksista. - Äänenvoimakkuuden säätimen muutokset - Äänenvoimakkuuden hallinnan parantamiseksi äänenvoimakkuuspainikkeet eivät enää hallitse tekstin kohdistimia tai liukusäätimiä.\n\nJos haluat muuttaa liukusäätimen paikkaa, pyyhkäise ylös tai alas.\n\nJos haluat muuttaa tekstin kohdistimen paikkaa, pyyhkäise ylös tai alas tekstikentässä. Tämä toimii myös pistekirjoitusnäppäimistön lukuasetuksissa. - Kuvissa oleva teksti - Voit saada enemmän tietoja kuvien tekstistä automaattisesti tai tarvittaessa.\n\nJos kuvassa ei ole tunnusta: TalkBack lukee automaattisesti näkyviin tulevan tekstin.\n\nKaikille kuville: Avaa TalkBack-valikko ja valitse \"Kuvaile kuvan tekstiä\".\n\nKuvat pysyvät laitteella eikä niitä lähetetä koskaan Googlelle. Tämä tarkoittaa, että voit käyttää kumpaakin ominaisuutta ilman verkkoyhteyttä. - Ikkunanavigointi - Voit siirtyä näytön osioiden, kuten ilmoituspalkin, pääsisällön ja näppäimistön, välillä.\n\nJos haluat käyttää ikkunanavigointia, pyyhkäise alaspäin neljällä sormella. - Voit siirtyä näytön osioiden, kuten ilmoituspalkin, pääsisällön ja näppäimistön, välillä.\n\nJos haluat käyttää ikkunanavigointia, pyyhkäise alaspäin ja sitten ylös. Jatka, kunnes olet valinnut ikkunanavigoinnin. Siirry ikkunaan pyyhkäisemällä alaspäin. Ohje Tervetuloa käyttämään TalkBackia TalkBack on näytönlukuohjelma, joka on tarkoitettu näkörajoitteisille ihmisille tai tilanteisiin, joissa näytön näkeminen on hankalaa. TalkBack antaa äänipalautetta, jonka avulla voit käyttää laitettasi näyttöä katsomatta.\n\nVoit laittaa TalkBackin päälle tai pois päältä painamalla molempia äänenvoimakkuuspainikkeita muutaman sekunnin ajan.\n\nKun Talkback on päällä, näytöllä korostettu kohde sanotaan ääneen.\n\nPyyhkäisemällä oikealle siirryt seuraavaan kohteeseen ja pyyhkäisemällä vasemmalle siirryt edelliseen.\n\nSiirry nyt Seuraava-painikkeeseen pyyhkäisemällä oikealle. @@ -697,14 +688,14 @@ Siirrä sormea näppäimistöllä, kunnes kuulet haluamasi kirjaimen, ja nosta sitten sormesi.\n\nKokeile aktivoida alla oleva tekstikenttä ja kirjoittaa nimesi. Voit kirjoittaa myös pistekirjoitusnäppäimistöllä. Löydät sen TalkBack-asetuksista. Osoittimen liikuttaminen - Kun olet aktivoinut tekstikentän, voit siirtää osoitinta kirjaimesta toiseen pyyhkäisemällä ylös tai alas.\n\nKokeile tätä alla olevassa tekstikentässä. + Kun olet aktivoinut tekstikentän, voit siirtää osoitinta kirjainten välillä painamalla äänenvoimakkuuden lisäys- tai vähennyspainiketta.\n\nKokeile tätä alla olevassa tekstikentässä. Tervetuloa käyttämään TalkBackia Tekstin valitseminen Voit valita tekstiä tekstikentästä siirtämällä osoittimen haluamasi tekstin alkuun.\n\nAvaa valintatila kaksoisnapauttamalla ja koskettamalla pitkään kahdella sormella. Siirrä osoitin sitten tekstin loppuun. Poistu valintatilasta kaksoisnapauttamalla ja koskettamalla pitkään kahdella sormella.\n\nKokeile valita sana \"Tervetuloa\" alla olevasta tekstikentästä. - Voit valita tekstiä tekstikentästä siirtämällä osoittimen haluamasi tekstin alkuun.\n\nAvaa TalkBack-valikko pyyhkäisemällä alas ja oikealle. Kaksoisnapauta toimintoja ja avaa valintatila. Siirrä osoitin tekstin loppuun.\n\nAvaa TalkBack-valikko uudelleen ja poistu sitten valintatilasta kaksoisnapauttamalla toimintoja.\n\nKokeile valita sana \"Tervetuloa\" alla olevasta tekstikentästä. + Voit valita tekstiä tekstikentästä siirtämällä osoittimen haluamasi tekstin alkuun.\n\nAvaa TalkBack-valikko pyyhkäisemällä alas ja oikealle. Kaksoisnapauta muokkausvaihtoehtoja ja avaa valintatila. Siirrä osoitin tekstin loppuun.\n\nAvaa TalkBack-valikko uudelleen ja poistu sitten valintatilasta kaksoisnapauttamalla muokkausvaihtoehtoja.\n\nKokeile valita sana \"Tervetuloa\" alla olevasta tekstikentästä. Kopioiminen, leikkaaminen ja liittäminen - Kun olet valinnut tekstin, kaksoisnapauta toimintoja ja kopioi sitten teksti.\n\nKokeile kopioida sana alla olevasta tekstikentästä. - Voit leikata tai liittää tekstiä avaamalla TalkBack-valikon ja kaksoisnapauttamalla toimintoja.\n\nVoit liittää tekstiä kolmoisnapauttamalla kolmella sormella.\n\nKokeile liittää sana alla olevaan tekstikenttään. + Kun olet valinnut tekstiä, kopioi se kaksoisnapauttamalla kolmella sormella.\n\nKokeile kopioida sana alla olevasta tekstikentästä. + Voit leikata tekstiä kaksoisnapauttamalla ja koskettamalla pitkään kolmella sormella.\n\nVoit liittää tekstiä kolmoisnapauttamalla kolmella sormella.\n\nKokeile liittää sana alla olevaan tekstikenttään. Kun olet valinnut tekstiä, voit kopioida sen TalkBack-valikon kautta. Avaa TalkBack-valikko pyyhkäisemällä alas ja oikealle. Kaksoisnapauta muokkausvaihtoehtoja ja kopioi teksti.\n\nKokeile kopioida sana alla olevasta tekstikentästä. Voit leikata tai liittää tekstiä avaamalla TalkBack-valikon ja kaksoisnapauttamalla muokkausvaihtoehtoja.\n\nKokeile liittää sana alla olevaan tekstikenttään. Liitä teksti tähän @@ -747,7 +738,6 @@ Pyyhkäise oikealle tai vasemmalle, jos haluat siirtyä kohteesta toiseen Aktivoi kohde kaksoisnapauttamalla Vieritä vetämällä kahta sormea - Tarkista, onko puhelin yhdistetty. Paksut reunat Väri Oletus @@ -759,12 +749,6 @@ Harmaa Kyselytutkimus suljettu Teksti: %1$s - Kuvaile kuvassa oleva teksti - Havaittu kuvake: %1$s - Toimintoa ei tueta. - Toimintoa ei ole valittu. - Valitse tuettu toiminto. - Ei toimintoja - Toimintojen asettaminen ei ole käytössä. - Tekstiä ei löytynyt + Kuvaile kuvaa + Ennakoitu kuvake: %1$s diff --git a/talkback/src/main/res/values-fil/strings.xml b/talkback/src/main/res/values-fil/strings.xml index 5300ca857..4deb7a666 100644 --- a/talkback/src/main/res/values-fil/strings.xml +++ b/talkback/src/main/res/values-fil/strings.xml @@ -7,7 +7,6 @@ Mga setting ng text-to-speech Mga Wika Sinasalitang wika - Mga Pagkilos Mga pagkilos ng system Bersyon na %1$s Pamahalaan ang Custom Labels @@ -31,37 +30,46 @@ Na-unlock ang device. Audio Volume ng pagsasalita - Speak notification pag na-off ang screen - Palaging bigkasin ang bilang ng item sa listahan - Bigkasin ang bilang para sa lahat ng paraan ng pag-scroll + Magsalita kapag naka-off ang screen + Binibigkas ang mga notification kapag naka-off ang screen + Walang pagsasalitang nagaganap kapag naka-off ang screen + Bigkasin ang bilang ng item sa listahan na nasa screen + Bigkasin lang kapag nagso-scroll nang may galaw + Binibigkas sa lahat ng oras Takpan ang proximity sensor para itigil ang pagsasalita - Bigkasin ang letra nang may halimbawa - Kapag pumili ka ng mga key ng keyboard o nag-navigate ka ayon sa character, makakarinig ka ng halimbawa kasabay ng bawat letra, gaya ng \"h, hotel\" - Banggitin ang mga punctuation at simbolo + Bigkasin ang mga phonetic na titik + Hindi binibigkas ang mga phonetic na titik + Binibigkas ang mga phonetic na titik kapag pumipindot nang matagal sa mga key ng keyboard at nagna-navigate sa bawat character + Bantas + Hindi binibigkas ang bantas at mga simbolo + Binibigkas ang bantas at mga simbolo Malalaking titik Walang gawin Sabihing “malaking” Palitan ang pitch I-play ang tunog Bigkasin ang mga hint sa paggamit - Pagkatapos ilarawan ang content, magmungkahi kung paano gamitin ito - Banggitin ang info ng listahan at grid + Hindi binibigkas ang mga pahiwatig sa paggamit kapag naglilipat ng focus ng accessibility + Binibigkas ang mga pahiwatig sa paggamit habang nagna-navigate pagkatapos ng maikling pagkaantala + Bigkasin ang list at grid information + Binibigkas ang impormasyon ng listahan at grid + Hindi binibigkas ang impormasyon ng listahan at grid I-reset ang mga galaw? Ire-reset nito ang lahat ng galaw sa mga default nitong pagkilos.\n\nMawawala mo ang anumang pagbabagong iyong ginawa. I-reset Na-reset ang mga setting galaw. Bigkasin ang uri ng element - Para sa mga naka-focus na item + Binibigkas ang uri ng element para sa mga naka-focus na item + Hindi binibigkas ang uri ng element para sa mga naka-focus na item Bigkasin ang mga element ID - Para sa mga button na walang label - Sabihin ang mga window ng system - Kapag lumipat ka sa ibang window ng system tulad ng status bar, mga notification, o kontrol ng volume + Hindi binibigkas ang mga element ID para sa mga button na walang label + Binibigkas ang mga element ID para sa mga button na walang label Explore by touch Mga Kontrol I-tap nang isang beses para i-activate Mag-tap nang isang beses sa naka-focus na item para i-activate Verbosity - Banggitin ang mga punctuation at simbolo + Bantas I-customize ang Focus Indicator I-customize ang mga galaw Mga custom na label @@ -203,7 +211,8 @@ Gumamit ng mga pagbabago sa pitch Echo ng keyboard Pagkakasunud-sunod ng paglalarawan ng element - Bigkasin ang mga na-delete na titik sa boses na may mas mataas na pitch + Bigkasin ang text na na-delete gamit ang keyboard sa boses na may mas mataas na pitch + Huwag baguhin ang pitch ng boses kapag nagsasalita Braille keyboard Feedback ng pag-vibrate Feedback ng tunog @@ -211,6 +220,7 @@ Bawasan ang iba pang volume ng audio habang nagsasalita Volume: feedback ng tunog Shortcut para sa pagsuspinde at pagpapatuloy ng Talkback + Shortcut para itago ang screen Mga setting ng developer Piliin ang mga ila-log na event I-filter ang pagla-log ng mga event sa accessibility @@ -256,7 +266,7 @@ Buksan ang menu ng TalkBack Mag-pause ng feedback I-pause o ipagpatuloy ang pagsasalita - I-on o i-off ang pagsasalita + I-on o i-off ang tunog ng TalkBack Magbasa mula sa itaas Magbasa mula sa susunod na item I-print ang node tree @@ -278,7 +288,6 @@ I-hold ang shortcut sa accessibility Iabante ang focus ng navigation o i-adjust pababa ang kontrol sa pagbabasa Iatras ang focus ng navigation o i-adjust pataas ang kontrol sa pagbabasa - I-activate ang kasalukuyang piniling pagkilos Resulta ng paghahanap Mag-play o mag-pause ng media Lahat ng app @@ -323,7 +332,7 @@ Pagbabasa Mga espesyal na feature Iba pa - Ipakita kung may mga pagkilos para sa kasalukuyang item, kasama ang pag-copy, pag-paste, pagpili, at higit pa + Lumalabas kapag may mga custom na pagkilos para sa kasalukuyang item Kopyahin, i-paste, piliin, at higit pa. Lumalabas kapag may pinili kang text box. Buksan ang mga link sa naka-focus na item Pumunta sa susunod o nakaraang page. Lumalabas kapag nagbabasa ka ng content na may maraming page. @@ -342,7 +351,6 @@ Buksan ang mga setting ng text-to-speech I-off ang feedback na boses ng TalkBack Hindi nae-edit - Magsagawa ng mga pagkilos Paisa-isang basahin ang mga character Paisa-isang basahin ang mga salita Paisa-isang basahin ang mga linya @@ -365,7 +373,7 @@ Hinaan ang volume ng iba pang audio na nagpe-play kapag nagsasalita ang TalkBack Mag-scroll paabante o paatras Dagdagan o bawasan ang volume ng Accessibility - Basahin nang malakas ang text na naka-embed sa napiling larawan + Makakuha ng awtomatikong paglalarawan para sa larawang ito pababa pababa pagkatapos ay pakanan Mag-swipe pataas @@ -408,9 +416,7 @@ Mag-double tap at mag-hold gamit ang 2 daliri Mag-double tap at mag-hold gamit ang 3 daliri Mag-double tap at mag-hold gamit ang 4 na daliri - Mag-tap at mag-hold gamit ang 3 daliri Mag-triple tap at mag-hold gamit ang 2 daliri - Mag-triple tap at mag-hold gamit ang 3 daliri \"%1$s\" o %2$s\" para isaayos \"%1$s\" para isaayos Hindi alam na galaw @@ -433,9 +439,8 @@ Kapag nag-on ang screen Kapag ipinakita ang lock screen Mula sa notification lang - Pumindot nang matagal para pumili ng anumang key, pagkatapos ay mag-double tap - Pumindot nang matagal para pumili ng letter key, pagkatapos ay iangat ang daliri Mag-double tap para sa iba pang key. - Pumindot nang matagal para pumili ng anumang key, pagkatapos ay iangat ang daliri + Pumindot nang matagal para piliin ang key, pagkatapos ay mag-double tap + Pumindot nang matagal para piliin ang key, pagkatapos ay iangat Naka-disable Napakahina Mahina @@ -485,6 +490,7 @@ Piliin ang application kung saan ie-export ang mga label: Kabilang sa bersyong ito ng TalkBack ang mga pagbabago sa mga default na galaw sa accessibility. Maaaring i-customize ang mga pagkilos na nauugnay sa mga galaw na ito sa loob ng mga setting ng TalkBack. Kapag naka-enable ang Explore by touch, maaari mong gamitin ang mga sumusunod na galaw upang magsagawa ng ilang partikular na pagkilos.\n\n%1$s Matagal na pagpindot sa mga key sa pagpapalakas at pagpapahina ng volume + Mabilis na pindutin nang tatlong beses ang parehong volume key para itago o ipakita ang screen Itago ang screen? Para mapahusay ang privacy, ino-off nito ang display para hindi makita ng iba ang iyong screen kapag nasa mga pampublikong lugar Kabilang sa bersyong ito ng TalkBack ang mga pagbabago sa mga default na galaw sa accessibility.\n\nMagbibigay-daan sa iyo ang galaw na pataas pagkatapos ay pababa na lumipat sa unang item sa screen, at lilipat naman ang galaw na pababa pagkatapos ay pataas sa huling item.\n\nPuwede na ngayong palitan ang granularity ng pagbabasa sa pamamagitan ng pagtuon sa isang item, pagkatapos ay pagpili ng granularity sa menu ng konteksto ng talkback.\n\nMapapalitan mo ang mga pagkilos na isinasagawa ng mga galaw na ito sa Mga Setting ng TalkBack. @@ -500,9 +506,6 @@ Sigurado ka bang gusto mong i-on ang pagde-debug ng node tree?\n\nInilalantad ng pagde-debug ng node tree ang content ng iyong screen sa mga log ng iyong device, na maaaring mabasa ng iba pang mga application. I-enable ang Mga Istatistika ng Performance? Sigurado ka bang gusto mong i-on ang mga istatistika ng performance?\n\nMaaaring makakonsumo ng higit pang memory at power ang mga istatistika ng performance. - I-enable ang verbose logging? - Makakatulong ang verbose logging sa pag-debug pero posibleng magdulot na may lumabas na personal na impormasyon sa buffer ng log ng system.\n\n Gusto mo bang i-enable ang verbose logging? - Oo, i-enable ang verbose logging Payagan ang access sa phone? Nakakatulong ito sa TalkBack na bawasan ang mga anunsyo habang nasa tawag ka Magpatuloy @@ -556,11 +559,9 @@ Volume ng Accessibility I-adjust ang slider I-adjust ang value - Mga Pagkilos Bigkasin ang mga password Palaging binibigkas ang mga password Tunog at pag-vibrate - Tunog nakopya, %1$s Isara Isara ang paghahanap @@ -595,15 +596,13 @@ %1$s para magbasa ayon sa %2$s Para magamit ito, pumunta sa mga setting ng TalkBack at magdagdag ng galaw para sa \'%1$s\' Hindi naka-on ang Braille keyboard. Pumunta sa setting ng TalkBack at i-set up ang Braille keyboard. - May mga available na suhestyon - May mga available na suhestyon. Para i-access ang mga ito, %1$s Page %1$d ng %2$d Nakaraan Susunod Isara Tapusin Mag-navigate pataas - Mga bagong feature sa TalkBack + Mga bagong feature sa TalkBack Isara ang tutorial? Puwede mo itong balikan anumang oras sa mga setting ng TalkBack. Manatili sa tutorial @@ -647,14 +646,6 @@ Mag-tap para malaman kung paano mas mabilis na magamit ang TalkBack gamit ang mga bagong galaw. Na-print ang node tree sa mga log. Narito ang mga galaw na isinagawa kamakailan, pakiulat kung anong galaw ang mali at kung ano ang inaasahan. - Makakakuha ka ng mga pinasimpleng kontrol ng volume, mas mabilis na kontrol ng pagkilos, at higit pa.\n\nMatututo ka tungkol sa mahahalagang update at pagbabago sa mga susunod na screen. Aabutin ito nang humigit-kumulang 5 minuto.\n\nPuwede mong suriin ang impormasyong ito sa mga setting ng TalkBack anumang oras. - Mga pagbabago sa kontrol ng volume - Para mapahusay ang kontrol ng volume, hindi na kinokontrol ng mga volume key ang mga cursor ng text o slider.\n\nPara baguhin ang posisyon ng slider, mag-swipe pababa o pataas.\n\nPara baguhin ang posisyon ng cursor ng text, mag-swipe pataas o pababa sa loob ng text box. Gumagana rin ito sa mga kontrol sa pagbabasa sa braille keyboard. - Text sa mga larawan - Puwede kang makakuha ng higit pang detalye tungkol sa text sa mga larawan nang awtomatiko o kapag kailangan mo ito.\n\nPara sa mga larawang walang label: awtomatikong babasahin ng TalkBack ang lalabas na text.\n\nPara sa lahat ng larawan: Buksan ang menu ng TalkBack at piliin ang \"Ilarawan ang text sa larawan.\"\n\nMananatili sa iyong device at hindi kailanman ipapadala sa Google ang mga larawan. Ibig sabihin, puwede mong gamitin ang dalawang feature na ito nang walang koneksyon sa internet. - Pag-navigate sa window - Puwede kang magpalipat-lipat sa iba\'t ibang seksyon sa iyong screen, tulad ng notification bar, pangunahing content, at keyboard.\n\nPara gamitin ang pag-navigate sa window, mag-swipe pababa gamit ang 4 na daliri. - Puwede kang magpalipat-lipat sa iba\'t ibang seksyon sa iyong screen, tulad ng notification bar, pangunahing content, at keyboard.\n\nPara gamitin ang pag-navigate sa window, mag-swipe pababa at pagkatapos ay pataas. Magpatuloy lang hanggang sa mapili mo ang pag-navigate sa window. Para mag-navigate papunta sa window, mag-swipe pababa. Tutorial Welcome sa TalkBack Ang TalkBack ay isang screen reader na ginawa para sa mga sitwasyon o taong nahihirapang makita ang screen. Binibigyan ka nito ng pasalitang feedback para magamit mo ang iyong device nang hindi tumitingin sa screen.\n\nPuwede mong i-on o i-off ang TalkBack sa pamamagitan ng pagpindot sa parehong volume key nang ilang segundo.\n\nKapag naka-on ang TalkBack, bibigkasin nang malakas ang naka-focus na item sa screen.\n\nKapag nag-swipe pakanan, lilipat ito sa susunod na item, at kapag nag-swipe pakaliwa, lilipat ito sa nakaraang item.\n\nMag-swipe pakanan ngayon para makita ang susunod na button. @@ -697,14 +688,14 @@ Igalaw ang iyong daliri sa keyboard. Kapag narinig mo ang titik na gusto mong i-type, iangat ang iyong daliri.\n\nSubukang i-activate ang text box sa ibaba at i-type ang pangalan mo. Puwede ka ring mag-type gamit ang braille keyboard. Hanapin ito sa mga setting ng TalkBack. Paggalaw sa cursor - Kapag nag-activate ka ng text box, puwede mong ilipat ang cursor sa pagitan ng mga titik sa pamamagitan ng pag-swipe pataas o pababa.\n\nSubukan ito sa text box sa ibaba. + Kapag may na-activate kang text box, puwede mong igalaw ang cursor sa mga titik sa pamamagitan ng pagpindot sa pataas o pababang volume key.\n\nSubukan ito sa text box sa ibaba. Welcome sa TalkBack Pagpili ng text Sa text box, ilipat ang cursor sa umpisa ng text na gusto mong piliin.\n\nMag-double tap at mag-hold gamit ang 2 daliri para simulan ang selection mode. Pagkatapos, igalaw ang cursor papunta sa dulo ng text. Mag-double tap at mag-hold ulit gamit ang 2 daliri para ihinto ang selection mode.\n\nSubukang piliin ang salitang \"Welcome\" sa text box sa ibaba. - Sa text box, ilipat ang cursor sa umpisa ng text na gusto mong piliin.\n\nMag-swipe pababa at pagkatapos ay pakanan para buksan ang menu ng TalkBack. I-double tap ang mga pagkilos at pagkatapos ay simulan ang selection mode. Igalaw ang cursor papunta sa dulo ng text.\n\nBuksan ulit ang menu ng TalkBack, pagkatapos ay i-double tap ang mga pagkilos para ihinto ang selection mode.\n\nSubukang piliin ang salitang \"Welcome\" sa text box sa ibaba. + Sa text box, ilipat ang cursor sa umpisa ng text na gusto mong piliin.\n\nMag-swipe pababa pagkatapos ay pakanan para buksan ang menu ng TalkBack. I-double tap ang mga opsyon sa pag-edit at pagkatapos ay simulan ang selection mode. Igalaw ang cursor papunta sa dulo ng text.\n\nBuksan ulit ang menu ng TalkBack, pagkatapos ay i-double tap ang mga opsyon sa pag-edit para ihinto ang selection mode.\n\nSubukang piliin ang salitang \"Welcome\" sa text box sa ibaba. Kumopya, mag-cut, at mag-paste - Pagkatapos piliin ang text, i-double tap ang mga pagkilos at pagkatapos ay kumopya.\n\nSubukang kumopya ng salita sa text box sa ibaba. - Para mag-cut o mag-paste ng text, buksan ang menu ng TalkBack at i-double tap ang mga pagkilos.\n\nPara mag-paste ng text, mag-triple tap gamit ang 3 daliri.\n\nSubukang mag-paste ng salita sa text box sa ibaba. + Pagkatapos piliin ang text, kopyahin ito sa pamamagitan ng pag-double tap gamit ang 3 daliri.\n\nSubukang kumopya ng salita sa text box sa ibaba. + Para mag-cut ng text, mag-double tap at mag-hold gamit ang 3 daliri.\n\nPara mag-paste ng text, mag-triple tap gamit ang 3 daliri.\n\nSubukang mag-paste ng salita sa text box sa ibaba. Pagkatapos mong pumili ng text, puwede mo itong kopyahin sa menu ng TalkBack. Mag-swipe pababa at pagkatapos ay pakanan para buksan ang menu ng TalkBack. I-double tap ang mga opsyon sa pag-edit at pagkatapos ay kopyahin.\n\nSubukang kumopya ng salita sa text box sa ibaba. Para mag-cut o mag-paste ng text, buksan ang menu ng TalkBack at i-double tap ang mga opsyon sa pag-edit.\n\nSubukang mag-paste ng salita sa text box sa ibaba. I-paste dito ang text @@ -747,7 +738,6 @@ Mag-swipe pakanan o pakaliwa para magpalipat-lipat sa mga item Mag-double-tap para mag-activate ng item I-drag ang 2 daliri para mag-scroll - Pakitingnan kung nakakonekta ang telepono. Makakapal na border Kulay Default @@ -759,12 +749,6 @@ Gray Sarado na ang survey Text: %1$s - Ilarawan ang text sa larawan - Na-detect na icon: %1$s - Hindi sinusuportahan ang pagkilos. - Walang napiling pagkilos. - Pumili ng sinusuportahang pagkilos. - Walang pagkilos. - Hindi naka-enable ang setting ng mga pagkilos. - Walang nakitang text + Ilarawan ang larawan + Natukoy na icon: %1$s diff --git a/talkback/src/main/res/values-fr-rCA/strings.xml b/talkback/src/main/res/values-fr-rCA/strings.xml index 0ff36d41c..d676c6517 100644 --- a/talkback/src/main/res/values-fr-rCA/strings.xml +++ b/talkback/src/main/res/values-fr-rCA/strings.xml @@ -7,7 +7,6 @@ Paramètres de synthèse vocale Langues Langue parlée - Actions Actions système Version %1$s Gérer étiquettes personnalisées @@ -31,37 +30,46 @@ Appareil déverrouillé. Audio Volume de la voix - Énoncer notifications quand écran éteint - Toujours énoncer le nombre d\'éléments de la liste à l\'écran - Énoncer le nombre d\'éléments pour toutes les méthodes de défilement + Parler quand l\'écran est éteint + Activer les notifications audio lorsque l\'écran est éteint + Désactiver la voix lorsque l\'écran est verrouillé + Énoncer le nombre d\'éléments de la liste à l\'écran + Énoncer seulement pour les défilements avec le geste + Toujours énoncer Couvrir le capteur de proximité pour arrêter la parole - Énoncer les lettres avec les exemples - Lorsque vous sélectionnez une touche du clavier ou que vous naviguez par caractère, vous entendrez un exemple pour chacune des lettres, comme « h, hôtel » - Énoncer la ponctuation et les symboles + Énoncer les lettres phonétiques + Les lettres phonétiques ne sont pas énoncées + Les lettres phonétiques sont énoncées lorsque vous maintenez le doigt sur une touche du clavier et effectuez un déplacement par caractère. + Ponctuation + La ponctuation et les symboles ne sont pas énoncés + La ponctuation et les symboles sont énoncés Lettres majuscules Ne rien faire Dire : « majuscule » Modifier la hauteur Faire jouer un son Énoncer les astuces d\'utilisation - Après la description du contenu, suggérer comment l\'utiliser - Énoncer détails de liste et de grille + Les astuces d\'utilisation ne sont pas énoncées durant le déplacement dans le zoom d\'accessibilité + Les astuces d\'utilisation sont énoncées durant la navigation après un bref délai + Énoncer détails de la liste et de la grille + Les détails de la liste et de la grille sont énoncés + Les détails de la liste et de la grille ne sont pas énoncés Réinitialiser les gestes? Cela réinitialisera tous les gestes à leurs actions par défaut.\n\nVous perdrez toute modification que vous avez effectuée. Réinitialiser Les paramètres des gestes ont été réinitialisés. Énoncer le type d\'élément - Pour les éléments mis en évidence + Le type d\'élément est énoncé pour les éléments mis en évidence + Le type d\'élément n\'est pas énoncé pour les éléments mis en évidence Énoncer les identifiants des éléments - Pour les boutons non étiquetés - Énoncer les fenêtres du système - Lorsque vous passez à d\'autres fenêtres du système, comme la barre d\'état, les notifications ou les commandes de volume + Les identifiants des éléments ne sont pas énoncés pour les boutons non étiquetés + Les identifiants des éléments sont énoncés pour les boutons non étiquetés Explorer au toucher Commandes Touchez une fois pour activer Touchez une fois un élément en surbrillance pour l\'activer Verbosité - Énoncer la ponctuation et les symboles + Ponctuation Personnaliser l\'indicateur mise au point Personnaliser les gestes Étiquettes personnalisées @@ -203,7 +211,8 @@ Modification du ton Écho du clavier Ordre de description des éléments - Énoncer les lettres supprimées dans une tonalité plus aiguë + Prononcez le texte supprimé dans une tonalité plus aiguë + Ne pas changer la hauteur de la voix Clavier braille Retour par vibration Retour sonore @@ -211,6 +220,7 @@ Diminuer le volume des autres sources audio lors des énoncés Volume du retour sonore Raccourci d\'activation et de suspension de TalkBack + Masquer le raccourci d\'écran Paramètres pour développeurs Sélectionner les événements à consigner Filtrer les événements consignés liés à l\'accessibilité @@ -256,7 +266,7 @@ Ouvrir le menu TalkBack Suspendre les commentaires Interrompre ou reprendre la parole - Activer ou désactiver la synthèse vocale + Activer ou désactiver les sons de TalkBack Lire à partir du haut Lire à partir de l\'élément suivant Imprimer l\'arborescence des nœuds @@ -278,7 +288,6 @@ Maintenir le doigt sur le raccourci d\'accessibilité Déplacer la sélection de navigation vers l\'avant ou réduire la valeur d\'une commande de lecture Déplacer la sélection de navigation vers l\'arrière ou augmenter la valeur d\'une commande de lecture - Activez l\'action actuellement sélectionnée Résultat de recherche Lire ou mettre en pause le contenu multimédia Toutes les applications @@ -323,7 +332,7 @@ Lecture Fonctionnalités spéciales Autre - Indique quand des actions existent pour l\'élément actuel, y compris les fonctions copier, coller, sélectionner, etc. + S\'affiche lorsqu\'il existe des actions personnalisées pour l\'élément actuel Copier, coller, sélectionner, etc. S\'affiche lorsque vous sélectionnez une zone de texte. Ouvrir des liens dans un élément sélectionné Accéder à la page suivante ou précédente. S\'affiche lorsque vous lisez du contenu avec plusieurs pages. @@ -342,7 +351,6 @@ Ouvrir les paramètres de synthèse vocale Désactiver l\'entrée de commentaires vocaux de TalkBack Non modifiable - Effectuer des actions Lire un caractère à la fois Lire un mot à la fois Lire une ligne à la fois @@ -365,7 +373,7 @@ Diminuer le volume des autres sons diffusés lorsque TalkBack parle Faire défiler vers l\'avant ou vers l\'arrière Augmenter ou diminuer le volume des fonctionnalités d\'accessibilité - Lire le texte intégré à l\'image sélectionnée + Obtenir une description automatique pour cette image vers le bas vers le bas, puis la droite Balayer l\'écran vers le haut @@ -408,9 +416,7 @@ Toucher deux fois avec deux doigts et les maintenir en place Toucher deux fois avec trois doigts et les maintenir en place Toucher deux fois avec quatre doigts et les maintenir en place - Touchez l\'écran avec trois doigts et maintenez-les en place Toucher l\'écran trois fois avec deux doigts et les maintenir en place - Toucher l\'écran trois fois avec trois doigts et les maintenir en place « %1$s » ou « %2$s » pour régler « %1$s » pour régler Geste inconnu @@ -421,10 +427,10 @@ Toucher l\'écran avec trois doigts et les maintenir en place Toucher l\'écran trois fois avec deux doigts et les maintenir en place Toucher l\'écran trois fois avec trois doigts et les maintenir en place - Balayer vers le haut sur capt. empr. digitales - Balayer vers le bas sur capt. empr. digitales - Balayer vers gauche sur capt. empr. digitales - Balayer vers la droite sur capt. empr. digitales + Balayer vers le haut sur capt. empr. digitale + Balayer vers le bas sur capt. empr. digitale + Balayer vers gauche sur capt. empr. digitale + Balayer vers la droite sur capt. empr. digitale Code de la version Égaler le volume des médias 75 % du volume des médias @@ -433,9 +439,8 @@ Lorsque l\'écran s\'allume Lorsque l\'écran de verrouillage est affiché À partir des notifications uniquement - Maintenez le doigt sur n\'importe quelle touche pour la sélectionner, puis touchez-la deux fois - Maintenez le doigt sur la touche alphabétique pour la sélectionner, puis ôtez le doigt. Touchez deux fois les autres touches. - Maintenez le doigt sur n\'importe quelle touche pour la sélectionner, puis ôtez le doigt + Maintenez le doigt sur la touche pour la sélectionner, puis touchez-la deux fois + Maintenez le doigt sur la touche pour la sélectionner, puis ôtez le doigt Désactivé Très légèrement Légèrement @@ -485,6 +490,7 @@ Sélectionnez une application vers laquelle exporter les étiquettes : Cette version de TalkBack comprend les modifications apportées aux gestes d\'accessibilité par défaut. Les actions associées à ces gestes peuvent être personnalisées dans les paramètres TalkBack. Lorsque la fonctionnalité Explorer au toucher est activée, vous pouvez utiliser les gestes suivants pour effectuer certaines actions.\n\n%1$s Maintenir enfoncées les touches d\'augmentation et de diminution du volume + Appuyez trois fois rapidement sur les deux touches de volume pour masquer ou afficher l\'écran Masquer l\'écran? Cette option vous permet d\'éteindre l\'écran lorsque vous êtes dans les lieux publics pour préserver votre vie privée Cette version de TalkBack inclut des modifications apportées aux gestes d\'accessibilité par défaut.\n\nLe geste vers le haut puis vers le bas vous permet d\'accéder au premier élément à l\'écran, et le mouvement inverse vous permet d\'accéder au dernier élément.\n\nVous pouvez maintenant modifier la précision de lecture en sélectionnant un élément, puis en choisissant le niveau de précision dans le menu contextuel de TalkBack.\n\nVous pouvez modifier les actions associées à ces gestes dans les paramètres de TalkBack. @@ -500,9 +506,6 @@ Voulez-vous vraiment activer le débogage de l\'arborescence de nœuds?\n\nSi vous utilisez cette fonctionnalité, les journaux de votre appareil auront accès au contenu affiché sur votre écran, qui pourra être lu par d\'autres applications. Activer les statistiques de performance? Voulez-vous vraiment activer les statistiques de performance?\n\nLes statistiques de performance peuvent consommer plus de mémoire et d\'énergie. - Activer la journalisation prolixe? - La journalisation prolixe peut aider au débogage, mais elle peut entraîner l\'affichage de renseignements personnels dans la mémoire tampon du journal système.\n\n Voulez-vous activer la journalisation prolixe? - Oui, activer la journalisation prolixe Autoriser l\'accès à votre téléphone? Permet à TalkBack de limiter les annonces lorsque vous êtes au téléphone Continuer @@ -556,11 +559,9 @@ Volume des fonctionnalités d\'accessibilité Régler le curseur Régler la valeur - Actions Énoncer les mots de passe Toujours énoncer les mots de passe Sons et vibrations - Son copié, %1$s Fermer Fermer la recherche @@ -595,15 +596,13 @@ %1$s pour lire par %2$s Pour utiliser cette fonctionnalité, accédez aux paramètres de TalkBack et ajoutez un geste pour « %1$s » Le clavier braille n\'est pas activé. Accédez aux paramètres de TalkBack, configurez-le, puis réessayez. - Suggestions proposées - Suggestions proposées Pour accéder, %1$s Page %1$d sur %2$d Précédent Suivant Fermer Terminer Naviguer vers le haut - Nouvelles fonctionnalités de TalkBack + Nouvelles fonctionnalités de TalkBack Fermer le tutoriel? Vous pourrez y revenir à tout moment dans les paramètres TalkBack. Rester dans le tutoriel @@ -647,14 +646,6 @@ Touchez pour apprendre à utiliser TalkBack plus rapidement avec les nouveaux gestes. L\'arborescence des nœuds a été imprimée dans des fichiers journaux. Voici les gestes effectués récemment. Veuillez indiquer celui qui pose problème et ce que vous attendiez. - Vous profiterez de commandes de volume simplifiées, de commandes d\'action plus rapides, et plus encore.\n\nVous découvrirez les principales mises à jour et modifications dans les prochains écrans. Cela prendra environ cinq minutes.\n\nVous pouvez consulter ces informations dans les paramètres TalkBack à tout moment. - Modifications de la commande de volume - Pour améliorer la commande de volume, les touches de volume ne commandent plus les curseurs de texte.\n\nPour modifier la position d\'un curseur, balayez l\'écran vers le haut ou vers le bas.\n\nPour modifier la position du curseur de texte, balayez l\'écran vers le haut ou vers le bas dans une zone de texte. Cela fonctionne également dans les commandes de lecture du clavier braille. - Texte dans les images - Vous pouvez obtenir plus de détails sur le texte des images automatiquement ou lorsque vous en avez besoin.\n\nPour les images sans étiquette : TalkBack lira automatiquement le texte qui s\'affiche.\n\nPour toutes les images : ouvrez le menu TalkBack et sélectionnez « Décrire le texte dans l\'image ».\n\nLes images restent sur votre appareil et ne sont jamais envoyées à Google. Cela signifie que vous pouvez utiliser ces deux fonctionnalités sans connexion Internet. - Navigation dans la fenêtre - Vous pouvez basculer entre différentes sections de votre écran, comme la barre de notification, le contenu principal et le clavier.\n\nPour utiliser la navigation dans la fenêtre, balayez l\'écran vers le bas avec quatre doigts. - Vous pouvez basculer entre différentes sections de votre écran, comme la barre de notification, le contenu principal et le clavier.\n\nPour utiliser la navigation dans la fenêtre, balayez l\'écran vers le bas, puis vers le haut. Continuez jusqu\'à ce que vous sélectionniez la navigation dans la fenêtre. Pour naviguer vers la fenêtre, balayez l\'écran vers le bas. Tutoriel Bienvenue dans TalkBack TalkBack est un lecteur d\'écran conçu pour être utilisé dans des situations où il est difficile de voir l\'écran ou par des gens qui ont un handicap visuel. Il procure une rétroaction vocale qui permet d\'utiliser l\'appareil sans devoir regarder l\'écran.\n\nVous pouvez l\'activer ou le désactiver en appuyant sur les deux touches de volume pendant plusieurs secondes.\n\nLorsque TalkBack est activé, vous pouvez entendre quel élément est sélectionné à l\'écran.\n\nBalayez l\'écran vers la droite pour passer à l\'élément suivant et vers la gauche pour revenir à l\'élément précédent.\n\nBalayez maintenant l\'écran vers la droite pour trouver le bouton Suivant. @@ -697,14 +688,14 @@ Déplacez votre doigt sur le clavier. Lorsque vous entendez la lettre à entrer, relevez le doigt. \n\nEssayez d\'activer la zone de texte ci-dessous et d\'y entrer votre nom. Vous pouvez également entrer du texte à l\'aide du clavier braille. Vous le trouverez dans les paramètres de TalkBack. Déplacer le curseur - Lorsque vous avez activé une zone de texte, vous pouvez déplacer le curseur entre les lettres en balayant l\'écran vers le haut ou vers le bas.\n\nFaites un essai dans la zone de texte ci-dessous. + Lorsque vous avez activé une zone de texte, vous pouvez déplacer le curseur entre les lettres en appuyant sur les touches de diminution et d\'augmentation du volume.\n\nFaites un essai dans la zone de texte ci-dessous. Bienvenue dans TalkBack Sélectionner du texte Dans une zone de texte, placez le curseur au début du texte que vous souhaitez sélectionner.\n\nTouchez deux fois avec deux doigts et maintenez-les en place pour commencer la sélection, puis déplacez le curseur jusqu\'à la fin du texte. Pour terminer la sélection, touchez de nouveau deux fois avec deux doigts et maintenez-les en place.\n\nEssayez de sélectionner le mot « Bienvenue » dans la zone de texte ci-dessous. - Dans une zone de texte, placez le curseur au début du texte que vous souhaitez sélectionner.\n\nBalayez l\'écran vers le bas, puis vers la droite pour ouvrir le menu TalkBack. Touchez deux fois Actions, puis démarrez le mode de sélection. Placez le curseur à la fin du texte.\n\nOuvrez de nouveau le menu TalkBack, puis touchez deux fois Actions pour mettre fin au mode de sélection.\n\nEssayez de sélectionner le mot « Bienvenue » dans la zone de texte ci-dessous. + Dans une zone de texte, placez le curseur au début du texte que vous souhaitez sélectionner.\n\nBalayez l\'écran vers le bas, puis vers la droite pour ouvrir le menu TalkBack. Touchez deux fois les options de modification, puis commencez la sélection. Placez le curseur à la fin du texte.\n\nOuvrez de nouveau le menu TalkBack, puis touchez deux fois les options de modification pour terminer la sélection.\n\nEssayez de sélectionner le mot « Bienvenue » dans la zone de texte ci-dessous. Copier, couper et coller - Après avoir sélectionné le texte, touchez deux fois Actions, puis copiez-le.\n\nEssayez de copier un mot dans la zone de texte ci-dessous. - Pour couper ou coller du texte, ouvrez le menu TalkBack et touchez deux fois Actions.\n\nPour coller du texte, touchez trois fois avec trois doigts.\n\nEssayez de coller un mot dans la zone de texte ci-dessous. + Après avoir sélectionné du texte, copiez-le en le touchant deux fois avec trois doigts.\n\nEssayez de copier un mot dans la zone de texte ci-dessous. + Pour couper du texte, touchez deux fois avec trois doigts et maintenez-les en place.\n\nPour coller le texte, touchez trois fois avec trois doigts.\n\nEssayez de coller un mot dans la zone de texte ci-dessous. Après avoir sélectionné du texte, vous pouvez le copier dans le menu TalkBack. Balayez l\'écran vers le bas, puis vers la droite pour ouvrir le menu TalkBack. Touchez deux fois les options de modification, puis copiez du texte.\n\nEssayez de copier un mot dans la zone de texte ci-dessous. Pour couper ou coller du texte, ouvrez le menu TalkBack et touchez deux fois les options de modifications.\n\nEssayez de coller un mot dans la zone de texte ci-dessous. Collez le texte ici @@ -747,7 +738,6 @@ Pour passer d\'un élément à l\'autre, balayez l\'écran vers la droite ou la gauche Touchez deux fois pour activer un élément Faites glisser deux doigts pour faire défiler - Veuillez vérifier si le téléphone est connecté. Bordures épaisses Couleur Par défaut @@ -759,12 +749,6 @@ Gris Sondage fermé Texte : %1$s - Décrire le texte trouvé dans l\'image - Icône détecté : %1$s - Action incompatible. - Aucune action sélectionnée. - Veuillez sélectionner une action compatible. - Aucune action. - Le paramètre des actions n\'est pas activé. - Aucun texte trouvé + Décrire l\'image + Icône prévue : %1$s diff --git a/talkback/src/main/res/values-fr/strings.xml b/talkback/src/main/res/values-fr/strings.xml index 40adfca3c..32b4d3d63 100644 --- a/talkback/src/main/res/values-fr/strings.xml +++ b/talkback/src/main/res/values-fr/strings.xml @@ -7,7 +7,6 @@ Paramètres de la synthèse vocale Langues Langue parlée - Actions Actions système Version %1$s Gérer les libellés personnalisés @@ -31,37 +30,46 @@ Appareil déverrouillé Audio Volume de la voix - Énoncer notifications quand écran éteint - Toujours énoncer le nombre d\'éléments - Énoncer le nombre pour toutes les méthodes de défilement + Parler lorsque l\'écran est éteint + Activer les notifications audio lorsque l\'écran est éteint + Voix désactivée lorsque l\'écran est éteint + Énoncer le nombre d\'éléments de la liste à l\'écran + Énoncer seulement pour le défilement par geste + Toujours énoncer Couvrir le capteur de proximité pour couper le son de la sortie vocale - Énoncer les lettres avec des exemples - Quand vous sélectionnez des touches au clavier ou que vous naviguez caractère par caractère, un exemple est donné pour chaque lettre, comme \"h, hôtel\" - Énoncer la ponctuation et les symboles + Énoncer les lettres phonétiques + Les lettres phonétiques ne sont pas énoncées + Les lettres phonétiques sont énoncées lors d\'un appui long sur le clavier et d\'un déplacement de la sélection caractère par caractère + Ponctuation + La ponctuation et les symboles ne sont pas énoncés + La ponctuation et les symboles sont énoncés Majuscules Ne rien faire Dire \"majuscule\" Changer la hauteur de la voix Émettre un son Énoncer les conseils d\'utilisation - Après avoir décrit le contenu, suggérer comment l\'utiliser - Énoncer les infos des listes et grilles + Les conseils d\'utilisation ne sont pas énoncés lors du déplacement de la sélection dans le cadre de la fonctionnalité d\'accessibilité + Les conseils d\'utilisation sont énoncés pendant la navigation, après un bref délai + Énoncer informations listes et grilles + Les informations sur les listes et les grilles sont énoncées + Les informations sur les listes et les grilles ne sont pas énoncées Réinitialiser les gestes ? Les actions par défaut associées à l\'ensemble des gestes seront rétablies.\n\nToutes les modifications que vous aurez apportées seront perdues. Réinitialiser Les paramètres des gestes ont été réinitialisés. Énoncer le type d\'élément - Pour les éléments sélectionnés + Le type d\'élément est énoncé pour les éléments sélectionnés + Le type d\'élément n\'est pas énoncé pour les éléments sélectionnés Énoncer les ID d\'élément - Pour les boutons sans libellé - Énoncer les fenêtres du système - Lorsque vous passez à d\'autres fenêtres du système, comme la barre d\'état, les notifications ou les commandes de volume + Les ID d\'élément ne sont pas énoncés pour les boutons sans libellé + Les ID d\'élément sont énoncés pour les boutons sans libellé Explorer au toucher Commandes Appuyer pour activer Appuyez sur un élément sélectionné pour l\'activer Niveau de verbosité - Énoncer la ponctuation et les symboles + Ponctuation Personnaliser indicateur de mise au point Personnaliser les gestes Libellés personnalisés @@ -203,7 +211,8 @@ Modification du ton Écho du clavier Ordre de description des éléments - Énoncer les lettres supprimées dans une tonalité plus haute + Prononcer le texte supprimé au clavier dans une tonalité plus haute + Ne pas changer le ton de la voix lors de l\'énonciation Clavier braille Vibration Retour audio @@ -211,6 +220,7 @@ Diminuer le volume sonore des autres applications lors de la synthèse vocale Volume du retour audio Raccourci de suspension et de reprise de TalkBack + Raccourci pour masquer l\'écran Paramètres pour les développeurs Sélectionner les événements à consigner Filtrer les événements liés à l\'accessibilité consignés @@ -256,7 +266,7 @@ Ouvrir le menu TalkBack Suspendre les commentaires Suspendre ou reprendre la lecture à voix haute - Activer ou désactiver la voix + Activer ou désactiver le son de TalkBack Lire à partir du haut de la page Lire à partir de l\'élément suivant Imprimer l\'arborescence des nœuds @@ -278,7 +288,6 @@ Cliquer de manière prolongée sur le raccourci d\'accessibilité Déplacer la sélection de navigation vers l\'avant ou réduire la valeur d\'une commande de lecture Déplacer la sélection de navigation vers l\'arrière ou augmenter la valeur d\'une commande de lecture - Activer l\'action actuellement sélectionnée Résultat de recherche Lire ou mettre en pause les contenus multimédias Toutes les applications @@ -323,7 +332,7 @@ Lecture Fonctionnalités spéciales Autre - S\'affiche lorsqu\'il existe des actions pour l\'élément sélectionné (copier, coller, sélectionner, etc.) + S\'affiche lorsqu\'il existe des actions personnalisées pour l\'élément actuel Copier, coller, sélectionner, etc. S\'affiche lorsque vous sélectionnez une zone de texte Ouvrir des liens dans un élément sélectionné Accéder à la page suivante ou précédente. S\'affiche lorsque vous lisez du contenu avec plusieurs pages @@ -332,7 +341,7 @@ Lire tous les éléments à l\'écran en partant du haut Lire tous les éléments à l\'écran en partant de l\'élément suivant Copier dans le presse-papiers la dernière expression énoncée par TalkBack pour que vous puissiez coller le texte - Épeler chaque lettre de la dernière expression énoncée par TalkBack + Citer chaque lettre de la dernière expression énoncée par TalkBack Écouter la dernière expression énoncée par TalkBack Saisir un terme de recherche pour trouver ce texte à l\'écran Contrôler TalkBack par commande vocale @@ -342,7 +351,6 @@ Accéder aux paramètres de synthèse vocale Désactiver la saisie de commentaires vocaux de TalkBack Non modifiable - Effectuer des actions Lire un caractère à la fois Lire un mot à la fois Lire une ligne à la fois @@ -365,7 +373,7 @@ Diminuer le volume des autres sons diffusés lorsque TalkBack parle Faire défiler vers l\'avant ou vers l\'arrière Augmenter ou diminuer le volume d\'accessibilité - Lire à voix haute le texte intégré dans une image sélectionnée + Obtenir une description automatique de cette image vers le bas vers le bas puis la droite Balayer l\'écran vers le haut @@ -408,9 +416,7 @@ Appuyer deux fois avec deux doigts et maintenir la pression Appuyer deux fois avec trois doigts et maintenir la pression Appuyer deux fois avec quatre doigts et maintenir la pression - Appuyer de manière prolongée avec trois doigts Appuyer trois fois avec deux doigts de manière prolongée - Appuyer trois fois avec trois doigts de manière prolongée \"%1$s\" ou \"%2$s\" pour ajuster \"%1$s\" pour ajuster Geste inconnu @@ -433,9 +439,8 @@ Lorsque l\'écran s\'allume Lorsque l\'écran de verrouillage est affiché À partir des notifications uniquement - Appuyer de manière prolongée pour sélectionner une touche, puis appuyer deux fois - Appuyez de manière prolongée pour sélectionner une lettre, puis relevez le doigt. Appuyez deux fois pour les autres touches. - Appuyer de manière prolongée pour sélectionner une touche, puis relever le doigt + Appuyer de manière prolongée pour sélectionner la touche, puis appuyer deux fois + Appuyer de manière prolongée pour sélectionner la touche, puis relever le doigt Désactivé Très faiblement Faiblement @@ -485,6 +490,7 @@ Sélectionnez une application pour l\'exportation de libellés : Cette version de TalkBack comprend les modifications apportées aux gestes d\'accessibilité par défaut. Les actions associées à ces gestes peuvent être personnalisées dans les paramètres TalkBack. Lorsque la fonctionnalité Explorer au toucher est activée, vous pouvez utiliser les gestes suivants pour effectuer certaines actions.\n\n%1$s Appui long sur les touches d\'augmentation et de diminution du volume + Appuyez trois fois rapidement sur les deux touches de volume pour afficher ou masquer l\'écran Masquer l\'écran ? Ceci vous permet d\'éteindre l\'écran dans les lieux publics pour préserver votre vie privée Cette version de TalkBack inclut des modifications apportées aux gestes d\'accessibilité par défaut.\n\nLe geste vers le haut, puis vers le bas vous permet d\'accéder au premier élément à l\'écran, et le mouvement inverse vous permet d\'accéder au dernier.\n\nVous pouvez désormais modifier la précision de lecture en sélectionnant un élément, puis en choisissant le niveau de précision dans le menu contextuel TalkBack.\n\nVous pouvez modifier les actions associées à ces gestes dans les paramètres TalkBack. @@ -500,9 +506,6 @@ Voulez-vous vraiment activer le débogage de l\'arborescence de nœuds ?\n\nSi vous utilisez cette fonctionnalité, les journaux de votre appareil auront accès au contenu affiché sur votre écran, qui pourra être lu par d\'autres applications. Activer les statistiques de performances ? Voulez-vous vraiment activer les statistiques de performances ?\n\nCette fonctionnalité peut occasionner une consommation de mémoire et d\'énergie accrue. - Activer la journalisation détaillée ? - La journalisation détaillée peut faciliter le débogage, mais peut entraîner l\'affichage d\'informations personnelles dans le tampon du journal système.\n\n Voulez-vous activer la journalisation détaillée ? - Oui, activer la journalisation détaillée Autoriser l\'accès à votre téléphone ? Permet à TalkBack de limiter les annonces lorsque vous êtes au téléphone Continuer @@ -556,11 +559,9 @@ Volume d\'accessibilité Régler le curseur Ajuster la valeur - Actions Énoncer les mots de passe Les mots de passe sont toujours énoncés Son et vibreur - Son Le texte \"%1$s\" a été copié. Fermer Fermer la recherche @@ -595,15 +596,13 @@ %1$s pour lire un %2$s à la fois Pour utiliser ceci, accédez aux paramètres TalkBack et ajoutez un geste pour \"%1$s\" Clavier braille non activé. Accédez aux paramètres TalkBack, configurez ce clavier, puis réessayez. - Suggestions disponibles - Suggestions disponibles Pour y accéder, %1$s Page %1$d sur %2$d Précédent Suivant Fermer Terminer Remonter - Nouvelles fonctionnalités de TalkBack + Nouvelles fonctionnalités de TalkBack Fermer le tutoriel ? Vous pourrez y revenir à tout moment dans les paramètres TalkBack. Poursuivre le tutoriel @@ -647,14 +646,6 @@ Appuyez pour apprendre à utiliser TalkBack plus rapidement avec les nouveaux gestes. L\'arborescence des nœuds a été imprimée dans les journaux. Voici les gestes effectués récemment. Merci d\'indiquer celui qui pose problème et ce que vous attendiez. - Des commandes de volume simplifiées, des actions plus rapides, et bien plus…\n\nDécouvrez en cinq minutes environ les principales nouveautés et mises à jour sur les écrans suivants.\n\nVous pouvez retrouver ces informations à tout moment dans les paramètres TalkBack. - Modification des commandes de volume - Pour simplifier le réglage du volume, les boutons de volume ne serviront plus à déplacer les curseurs de saisie ni les autres curseurs.\n\nPour déplacer un curseur, balayez l\'écran vers le haut ou vers le bas.\n\nPour déplacer le curseur de saisie, balayez l\'écran vers le haut ou vers le bas dans une zone de texte. Vous pouvez aussi reproduire ces gestes pour les commandes de lecture avec le clavier braille. - Texte dans les images - Vous pouvez obtenir plus d\'infos sur un texte qui figure dans des images (automatiquement ou si besoin).\n\nPour les images sans libellé : TalkBack lira automatiquement le texte qui s\'affiche.\n\nPour toutes les images : ouvrez le menu TalkBack et sélectionnez \"Décrire le texte figurant dans une image\".\n\nLes images restent sur votre appareil et ne sont jamais envoyées à Google. Autrement dit, dans ces deux cas, pas besoin de connexion Internet. - Navigation entre les fenêtres - Vous pouvez passer d\'une section à l\'autre de l\'écran, comme la barre de notification, le contenu principal et le clavier.\n\nPour cela, balayez l\'écran vers le bas avec quatre doigts. - Vous pouvez passer d\'une section à l\'autre de l\'écran, comme la barre de notification, le contenu principal et le clavier.\n\nPour cela, balayez l\'écran vers le bas, puis vers le haut jusqu\'à ce que vous sélectionniez la navigation entre les fenêtres. Pour accéder à la fenêtre souhaitée, balayez l\'écran vers le bas. Tutoriel Bienvenue dans TalkBack TalkBack est un lecteur d\'écran conçu pour les situations dans lesquelles il est difficile de voir l\'écran ou pour les personnes atteintes d\'un handicap visuel. Cette fonctionnalité fournit des commentaires audio pour vous aider à utiliser votre appareil sans regarder l\'écran.\n\nVous pouvez l\'activer ou la désactiver en appuyant sur les deux boutons de volume pendant plusieurs secondes.\n\nLorsque TalkBack est activé, vous entendez quel élément est sélectionné à l\'écran.\n\nSi vous balayez l\'écran vers la droite, vous passez à l\'élément suivant, et vers la gauche à l\'élément précédent.\n\nBalayez maintenant l\'écran vers la droite pour trouver le bouton \"Suivant\". @@ -697,14 +688,14 @@ Déplacez un doigt sur le clavier. Lorsque vous entendez la lettre à saisir, relevez le doigt.\n\nEssayez d\'activer la zone de texte ci-dessous et saisissez votre nom. Vous pouvez aussi saisir du texte à l\'aide du clavier braille. Pour utiliser ce clavier, accédez aux paramètres TalkBack. Déplacer le curseur - Après avoir activé une zone de texte, vous pouvez déplacer le curseur d\'une lettre à l\'autre en balayant l\'écran vers le haut ou vers le bas.\n\nEssayez dans celle ci-dessous. + Après avoir activé une zone de texte, vous pouvez déplacer le curseur d\'une lettre à l\'autre en appuyant sur le bouton Volume+ ou Volume-.\n\nEssayez dans la zone de texte ci-dessous. Bienvenue dans TalkBack Sélectionner du texte Dans une zone de texte, placez le curseur au début du texte à sélectionner.\n\nAppuyez deux fois et maintenez la pression avec deux doigts pour lancer le mode de sélection. Ensuite, déplacez le curseur jusqu\'à la fin du texte. Pour terminer la sélection, appuyez de nouveau deux fois et maintenez la pression avec deux doigts.\n\nEssayez de sélectionner le mot \"Bienvenue\" dans la zone de texte ci-dessous. - Dans une zone de texte, placez le curseur au début du texte à sélectionner.\n\nBalayez vers le bas, puis vers la droite pour ouvrir le menu TalkBack. Appuyez deux fois sur \"Actions\", puis commencez la sélection. Placez le curseur à la fin du texte.\n\nOuvrez de nouveau le menu TalkBack, puis appuyez deux fois sur \"Actions\" pour terminer la sélection.\n\nEssayez de sélectionner le mot \"Bienvenue\" dans la zone de texte ci-dessous. + Dans une zone de texte, placez le curseur au début du texte à sélectionner.\n\nBalayez vers le bas, puis vers la droite pour ouvrir le menu TalkBack. Appuyez deux fois sur les options de modification, puis commencez la sélection. Placez le curseur à la fin du texte.\n\nOuvrez de nouveau le menu TalkBack, puis appuyez deux fois sur les options de modification pour terminer la sélection.\n\nEssayez de sélectionner le mot \"Bienvenue\" dans la zone de texte ci-dessous. Copier, couper et coller du texte - Une fois le texte sélectionné, appuyez deux fois sur \"Actions\", puis copiez-le.\n\nEssayez de copier un mot dans la zone de texte ci-dessous. - Pour couper ou coller du texte, ouvrez le menu TalkBack et appuyez deux fois sur \"Actions\".\n\nPour le coller, appuyez trois fois avec trois doigts.\n\nEssayez de coller un mot dans la zone de texte ci-dessous. + Après avoir sélectionné du texte, copiez-le en appuyant deux fois avec trois doigts.\n\nEssayez de copier un mot dans la zone de texte ci-dessous. + Pour couper du texte, appuyez deux fois et maintenez la pression avec trois doigts.\n\nPour coller le texte, appuyez trois fois avec trois doigts.\n\nEssayez de coller un mot dans la zone de texte ci-dessous. Après avoir sélectionné du texte, vous pouvez le copier dans le menu TalkBack. Balayez l\'écran vers le bas, puis vers la droite pour ouvrir le menu TalkBack. Appuyez deux fois sur les options de modification, puis copiez le texte.\n\nEssayez de copier un mot dans la zone de texte ci-dessous. Pour couper ou coller du texte, ouvrez le menu TalkBack et appuyez deux fois sur les options de modification.\n\nEssayez de coller un mot dans la zone de texte ci-dessous. Collez du texte ici @@ -747,7 +738,6 @@ Pour passer d\'un élément à l\'autre, balayez l\'écran vers la droite ou la gauche Appuyez deux fois pour activer un élément Faites glisser deux doigts pour faire défiler - Veuillez vérifier si le téléphone est connecté. Bordures épaisses Couleur Par défaut @@ -759,12 +749,6 @@ Gris Enquête terminée Texte : %1$s - Décrire le texte figurant dans une image - Icône détectée : %1$s - Action incompatible. - Aucune action sélectionnée. - Veuillez sélectionner une action compatible. - Aucune action. - Le paramètre des actions n\'est pas activé. - Aucun texte trouvé + Décrire l\'image + Icône prévue : %1$s diff --git a/talkback/src/main/res/values-gl/strings.xml b/talkback/src/main/res/values-gl/strings.xml index f2e6ea8f4..a44b26327 100644 --- a/talkback/src/main/res/values-gl/strings.xml +++ b/talkback/src/main/res/values-gl/strings.xml @@ -7,7 +7,6 @@ Configuración da conversión de texto a voz Idiomas Idioma falado - Accións Accións do sistema Versión %1$s Xestionar etiquetas personalizadas @@ -31,37 +30,46 @@ Dispositivo desbloqueado Audio Volume de voz - Ler notificacións coa pantalla apagada - Ler sempre número de elementos das listas - Ler reconto de todos os métodos de desprazamento + Ler en alto estando a pantalla apagada + As notificacións de voz están activadas cando a pantalla está apagada + Cando a pantalla está apagada non se escoita falar + Ler en voz alta o número de elementos da lista que aparecen en pantalla + Le en voz alta os elementos só cando se usan xestos para desprazarse + Ler en voz alta sempre Cubrir o sensor de proximidade para silenciar a voz - Ler letras con exemplos - Cando seleccionas unha tecla ou navegas carácter por carácter, escoitarás un exemplo a canda cada letra (por exemplo, \"h, hotel\") - Ler puntuación e símbolos + Ler letras fonéticas + Non se lerán letras fonéticas + Leranse letras letras fonéticas cando se manteñan premidas as teclas do teclado e se naveguen por carácter + Puntuación + Non se lerán os símbolos nin a puntuación + Leranse os símbolos e a puntuación Maiúsculas Non facer nada Dicir \"maiúscula\" Cambiar ton Reproducir son Ler suxestións de uso - Despois de describir o contido, ofrece unha suxestión de uso - Ler información das listas ou das grades + Non se lerán suxestións de uso ao mover o enfoque de accesibilidade. + Leranse suxestións de uso durante a navegación, despois dun breve retardo + Ler información de listas e grades + Lerase a información de listas e grades + Non se lerá a información de listas e grades Queres restablecer os xestos? Deste xeito, restableceranse as accións predeterminadas de todos os xestos.\n\nPerderás todos os cambios que fixeses. Restablecer Restableceuse a configuración dos xestos. Ler tipo de elemento - Para elementos enfocados + Lerase o tipo de elemento para os elementos enfocados + Non se lerá o tipo de elemento para os elementos enfocados Ler en voz alta códigos de identificación de elementos - Para botóns sen etiquetar - Ler en alto ventás do sistema - Cando cambias a outras ventás do sistema, como a da barra de estado, a de notificacións ou a de controis de volume + Non se len en voz alta os códigos de identificación de elementos para os botóns sen etiquetar + Lense en voz alta os códigos de identificación de elementos para os botóns sen etiquetar Exploración táctil Controis Un só toque para activar Para activar un elemento resaltado, tócao unha vez Verbosidade - Ler puntuación e símbolos + Puntuación Personalizar indicador de enfoque Personalizar xestos Etiquetas personalizadas @@ -203,7 +211,8 @@ Utilizar cambios no ton Eco do teclado Orde da descrición de elementos - Le as letras eliminadas cunha voz máis aguda + Pronuncia o texto eliminado co teclado cunha voz máis aguda + Non cambiar o ton de voz ao falar Teclado braille Vibración Indicacións sonoras @@ -211,6 +220,7 @@ Reduce o volume do audio doutras aplicacións mentres se fala Volume de indicacións sonoras Atallo para suspender e retomar TalkBack + Atallo para ocultar a pantalla Configuración de programador Seleccionar eventos para rexistrar Filtrar rexistro de eventos de accesibilidade @@ -256,7 +266,7 @@ Abrir menú de TalkBack Pausar indicacións Pór en pausa ou retomar voz - Activa ou desactiva a voz + Activar ou desactivar son de TalkBack Ler desde arriba Ler desde o seguinte elemento Imprimir árbore de nós @@ -278,7 +288,6 @@ Manter premido atallo de accesibilidade Mover cara adiante o enfoque da navegación ou baixar un control de lectura Mover enfoque da navegación atrás ou subir control de lectura - Activa a acción que estea seleccionada Resultados da busca Reproducir ou pausar contido multimedia Todas as aplicacións @@ -323,7 +332,7 @@ Lectura Funcións especiais Outras - Mostra cando hai accións dispoñibles para o elemento actual (por exemplo, copiar, pegar ou seleccionar, entre outras) + Móstrase cando hai accións personalizadas para o elemento seleccionado Mostra opcións (para copiar, pegar, seleccionar…) cando seleccionas unha caixa de texto Abre as ligazóns do elemento resaltado Vai á páxina seguinte ou anterior. Móstrase cando les contido con varias páxinas @@ -342,7 +351,6 @@ Abre a configuración da conversión de texto a voz Desactiva os comentarios de voz de TalkBack Non editable - Realiza accións Le os caracteres un por un Le as palabras unha por unha Le as liñas unha por unha @@ -365,7 +373,7 @@ Baixa o volume doutro audio que se estea reproducindo cando fala TalkBack Desprázate cara a diante ou cara atrás Sobe ou baixa o volume de Accesibilidade - Le en voz alta o texto inserido nunha imaxe seleccionada + Obtén unha descrición automática desta imaxe abaixo abaixo e á dereita Pasar dedo cara arriba @@ -408,9 +416,7 @@ Tocar dúas veces e manter con 2 dedos Tocar dúas veces e manter con 3 dedos Tocar dúas veces e manter con 4 dedos - Manter premido con 3 dedos Tocar tres veces e manter premido con 2 dedos - Tocar tres veces e manter premido con 3 dedos Para realizar un axuste, fai un dos seguintes xestos: %1$s ou %2$s Para realizar un axuste, fai o seguinte xesto: %1$s Xesto descoñecido @@ -433,9 +439,8 @@ Cando se active a pantalla Cando se mostre a pantalla de bloqueo Só desde unha notificación - Mantén premida a pantalla para seleccionar calquera tecla e, a continuación, tócaa dúas veces - Mantén premida a pantalla para seleccionar unha tecla de letras e, a continuación, levanta o dedo. No caso doutras teclas, tócaas dúas veces. - Mantén premida a pantalla para seleccionar calquera tecla e, a continuación, levanta o dedo + Mantén premida a pantalla para seleccionar a tecla e, a continuación, tócaa dúas veces + Mantén premida a pantalla para seleccionar a tecla e, a continuación, levanta o dedo Desactivado Moi suave Suave @@ -485,6 +490,7 @@ Selecciona a aplicación para exportar etiquetas: Esta versión de TalkBack inclúe cambios nos xestos de accesibilidade predeterminados. As accións asociadas a estes xestos poden personalizarse na configuración de TalkBack. Cando a Exploración táctil estea activada, poderás usar os seguintes xestos para levar a cabo determinadas accións.\n\n%1$s Pulsación prolongada das teclas de subir e baixar volume + Pulsar tres veces rapidamente as dúas teclas de volume para ocultar ou mostrar a pantalla Queres ocultar a pantalla? Desactivarase a pantalla co obxectivo de mellorar a privacidade, de xeito que outras persoas non poidan vela cando esteas en lugares públicos Esta versión de TalkBack inclúe cambios nos xestos de accesibilidade predeterminados.\n\nO xesto de arriba a abaixo permitirache moverte ata o primeiro elemento da pantalla e o xesto de abaixo a arriba permitirache moverte ata o último elemento.\n\nAgora podes cambiar o nivel de detalle de lectura se te centras nun elemento e se seleccionas un nivel de detalle no menú contextual de TalkBack.\n\nPodes cambiar as accións levadas a cabo por estes xestos na configuración de TalkBack. @@ -500,9 +506,6 @@ Seguro que queres activar a depuración da árbore de nós?\n\nEsta acción expón o contido da túa pantalla nos rexistros do dispositivo e poden velo outras aplicacións. Queres activar as estatísticas de rendemento? Seguro que queres activar as estatísticas de rendemento?\n\nEstas estatísticas poden consumir máis memoria e batería. - Queres activar o rexistro detallado? - O rexistro detallado pode ser útil na depuración, pero pode provocar a aparición de información persoal no búfer de rexistro do sistema.\n\n Queres activalo? - Si, activar rexistro detallado Queres permitir o acceso ao teléfono? Este permiso axúdalle a TalkBack a reducir os avisos cando estás nunha chamada Continuar @@ -556,11 +559,9 @@ Volume de accesibilidade Axustar control desprazable Axustar valor - Accións Ler contrasinais en voz alta Sempre se len os contrasinais en voz alta Son e vibración - Son copiouse %1$s Pechar Pechar busca @@ -595,15 +596,13 @@ %1$s para ler por %2$s Se queres utilizar esta función, vai á configuración de TalkBack e engade un xesto para \"%1$s\" O teclado braille non está activado. Vai á configuración de TalkBack, actívao e téntao de novo. - Hai suxestións dispoñibles - Hai suxestións dispoñibles. Para acceder a elas, %1$s Páxina %1$d de %2$d Anterior Seguinte Pechar Finalizar Desprazarse cara arriba - Funcións novas de TalkBack + Funcións novas de TalkBack Queres pechar o titorial? Podes consultalo en calquera momento na configuración de TalkBack. Continuar co titorial @@ -647,14 +646,6 @@ Toca para consultar como usar TalkBack máis rápido cos novos xestos. A árbore de nós engadiuse aos rexistros. Aquí tes xestos que realizaches recentemente. Indica cal está mal e cal sería o correcto. - Terás acceso a controis de volume simplificados, controis de acción máis rápidos e moito máis.\n\nNas próximas pantallas obterás información sobre os principais cambios e novidades. Non che levará máis de 5 minutos.\n\nPodes consultar esta información cando queiras na configuración de TalkBack. - Cambios nos controis de volume - Para mellorar o control do volume, as teclas de volume xa non serven para mover os cursores de texto nin os controis desprazables.\n\nSe queres cambiar a posición dun control desprazable, pasa o dedo cara arriba ou cara abaixo.\n\nSe queres cambiar a posición do cursor de texto, pasa o dedo cara arriba ou cara abaixo nunha caixa de texto. Este xesto tamén funciona cos controis de lectura do teclado braille. - Texto en imaxes - Podes obter información máis detallada sobre o texto que aparece nas imaxes de forma automática ou cando o precises.\n\nNo caso das imaxes que non teñan ningunha etiqueta, TalkBack lerá automaticamente o texto que apareza nelas.\n\nNo caso de calquera outra imaxe, abre o menú de TalkBack e selecciona Describir texto da imaxe.\n\nAs imaxes permanecen no teu dispositivo e nunca se lle envían a Google. Polo tanto, podes utilizar calquera destas funcións sen conexión a Internet. - Navegación en ventás - Podes moverte entre as distintas seccións da pantalla, como a barra de notificación, o contido principal e o teclado.\n\nPara utilizar a navegación en ventás, pasa 4 dedos cara abaixo. - Podes moverte entre as distintas seccións da pantalla, como a barra de notificación, o contido principal e o teclado.\n\nPara utilizar a navegación en ventás, pasa o dedo cara abaixo e, logo, cara arriba. Sigue facendo esta combinación de xestos ata que selecciones a navegación en ventás. Para ir á ventá desexada, pasa o dedo cara abaixo. Titorial Dámosche a benvida a TalkBack TalkBack é un lector de pantalla pensado para situacións nas que non se pode mirar a pantalla ou para persoas con problemas visuais. Emite comentarios de voz para que poidas usar o dispositivo sen mirar a pantalla.\n\nPodes activar e desactivar TalkBack mantendo premidas as dúas teclas de volume á vez durante varios segundos.\n\nCando TalkBack está activado, o elemento enfocado na pantalla lese en voz alta.\n\nSe pasas o dedo cara á dereita, irás ao seguinte elemento; se o fas cara á esquerda, irás ao anterior.\n\nPasa o dedo cara á dereita agora para atopar o botón Seguinte. @@ -697,14 +688,14 @@ Despraza o dedo polo teclado. Cando escoites a letra que queres escribir, levántao.\n\nProba a activar a caixa de texto que aparece a continuación e a escribir o teu nome. Tamén podes escribir co teclado braille. Búscao na configuración de TalkBack. Como mover o cursor? - Unha vez activada unha caixa de texto, podes pasar o dedo cara arriba ou cara abaixo para mover o curso entre as letras.\n\nProba o xesto na seguinte caixa de texto. + Se, unha vez activada unha caixa de texto, queres mover o cursor entre as letras, preme as teclas que se utilizan para subir e baixar o volume.\n\nProba a facer estas accións na caixa de texto que aparece a continuación. Dámosche a benvida a TalkBack Como seleccionar texto? Nunha caixa de texto, pon o cursor ao principio do texto que queres seleccionar.\n\nPara iniciar o modo de selección, toca a pantalla dúas veces con dous dedos e mantena premida. A continuación, despraza o cursor ao final do fragmento. Para finalizar o modo de selección, toca a pantalla dúas veces con dous dedos e mantena premida de novo.\n\nProba a seleccionar \"Dámosche a benvida\" na caixa de texto que aparece a continuación. - Nunha caixa de texto, pon o cursor ao principio do fragmento que queres seleccionar.\n\nPara abrir o menú de TalkBack, pasa o dedo cara abaixo e despois cara á dereita. Toca dúas veces as accións e, a continuación, inicia o modo de selección. Despraza o cursor ao final do fragmento.\n\nAbre de novo o menú de TalkBack e toca dúas veces as accións para finalizar o modo de selección.\n\nProba a seleccionar \"Dámosche a benvida\" na caixa de texto que aparece a continuación. + Nunha caixa de texto, pon o cursor ao principio do texto que queres seleccionar.\n\nPara abrir o menú de TalkBack, pasa o dedo cara abaixo e despois cara á dereita. Toca dúas veces as opcións de edición e, a continuación, inicia o modo de selección. Despraza o cursor ao final do fragmento.\n\nAbre de novo o menú de TalkBack e toca dúas veces as opcións de edición para finalizar o modo de selección.\n\nProba a seleccionar \"Dámosche a benvida\" na caixa de texto que aparece a continuación. Como copiar, cortar e pegar texto? - Despois de seleccionar o texto, toca dúas veces as accións e despois cópiao.\n\nTenta copiar unha palabra no cadro de texto que aparece debaixo. - Para cortar ou pegar texto, abre o menú de TalkBack e toca dúas veces as accións.\n\nPara pegar texto, tócao tres veces con tres dedos.\n\nTenta pegar unha palabra no cadro de texto que aparece debaixo. + Se, unha vez seleccionado o texto, queres copialo, toca a pantalla dúas veces con tres dedos.\n\nProba a copiar unha palabra da caixa de texto que aparece a continuación. + Para cortar un fragmento de texto, toca a pantalla dúas veces con tres dedos e mantena premida.\n\nPara pegar o texto, toca a pantalla tres veces con tres dedos.\n\nProba a pegar unha palabra na caixa de texto que aparece a continuación. Despois de seleccionar un fragmento de texto, podes copialo a través do menú de TalkBack. Para abrir o menú de TalkBack, pasa o dedo cara abaixo e despois cara á dereita. Toca dúas veces as opcións de edición e, logo, copia o texto.\n\nProba a copiar unha palabra da caixa de texto que aparece a continuación. Para cortar ou pegar un fragmento de texto, abre o menú de TalkBack e toca dúas veces as opcións de edición.\n\nProba a pegar unha palabra na caixa de texto que aparece a continuación. Pega aquí o texto @@ -747,7 +738,6 @@ Para ir dun elemento a outro, pasa o dedo cara á dereita ou cara á esquerda Se queres activar un elemento, tócao dúas veces Para desprazarte, pasa 2 dedos - Comproba se o teléfono está conectado. Bordos grosos Cor Predeterminado @@ -759,12 +749,6 @@ Gris A enquisa está pechada Texto: %1$s - Describir texto da imaxe - Icona detectada: %1$s - Acción non compatible. - Non se seleccionou ningunha acción. - Selecciona unha acción compatible. - Non hai accións dispoñibles. - Non está activada a opción de configuración das accións. - Non se atopou texto + Describir imaxe + Icona identificada: %1$s diff --git a/talkback/src/main/res/values-gu/strings.xml b/talkback/src/main/res/values-gu/strings.xml index 587ae21ea..3ac3630fc 100644 --- a/talkback/src/main/res/values-gu/strings.xml +++ b/talkback/src/main/res/values-gu/strings.xml @@ -7,7 +7,6 @@ ટેક્સ્ટ ટૂ સ્પીચ સેટિંગ ભાષાઓ બોલવામાં આવેલી ભાષા - ક્રિયાઓ સિસ્ટમની ક્રિયાઓ વર્ઝન %1$s કસ્ટમ લેબલ મેનેજ કરો @@ -31,37 +30,46 @@ ઉપકરણ અનલૉક કર્યું. ઑડિયો વાણી વૉલ્યૂમ - સ્ક્રીન બંધ હોય ત્યારે નોટિફિકેશન બોલો - હંમેશા સૂચિમાંની આઇટમની સંખ્યા બોલો - સ્ક્રોલ કરવાની બધી પદ્ધતિઓની સંખ્યા બોલો + સ્ક્રીન બંધ હોય ત્યારે બોલો + સ્ક્રીન બંધ હોય ત્યારે સૂચનાઓ બોલવામાં આવે છે + સ્ક્રીન બંધ હોય ત્યારે વાણી આવતી નથી + સ્ક્રીન પરની સૂચિ આઇટમની સંખ્યા બોલો + સંકેત વડે સ્ક્રૉલ કરતી વખતે જ બોલો + હંમેશાં બોલવામાં આવે છે સ્પીચ આઉટપુટ બંધ કરવા માટે પ્રોક્સિમિટી સેન્સર કવર કરો - ઉદાહરણો સાથે અક્ષરો બોલો - જ્યારે તમે કીબોર્ડની કી પસંદ કરો છો અથવા અક્ષર વડે નૅવિગેટ કરો છો, ત્યારે તમે પ્રત્યેક અક્ષરની સાથે ઉદારણ સાંભળશો, જેમ કે \"h, હોટલ\" - વિરામચિહ્ન અને પ્રતીકો બોલો + ઉચ્ચારને લગતા અક્ષરો બોલો + ઉચ્ચારને લગતા અક્ષરો બોલવામાં આવતા નથી + જ્યારે કીબોર્ડની કી થોડી વાર દબાવી રાખવામાં આવે અને અક્ષર અનુસાર નેવિગેટ કરવામાં આવે, ત્યારે ઉચ્ચારને લગતા અક્ષરો બોલવામાં આવે છે + વિરામચિહ્ન + વિરામચિહ્ન અને પ્રતીકો બોલાતાં નથી + વિરામચિહ્ન અને પ્રતીકો બોલાય છે કૅપિટલ અક્ષરો કંઈ જ કરશો નહીં “કૅપિટલ” બોલો પિચ બદલો સાઉન્ડ વગાડો વપરાશ સંકેતો બોલો - કન્ટેન્ટનું વર્ણન કર્યા પછી, ઉપયોગની રીત સૂચવો + ઍક્સેસિબિલિટી ફોકસને ખસેડતી વખતે વપરાશ સંકેતો બોલવામાં આવતા નથી + થોડા વિલંબ પછી, નેવિગેશન દરમિયાન વપરાશ સંકેતો બોલવામાં આવે છે સૂચિ અને ગ્રિડની માહિતી બોલો + સૂચિ અને ગ્રિડની માહિતી બોલવામાં આવે છે + સૂચિ અને ગ્રિડની માહિતી બોલવામાં આવતી નથી સંકેતોને રીસેટ કરીએ? આમ કરવાથી બધા સંકેતો તેમની ડિફૉલ્ટ ક્રિયાઓમાં રીસેટ થઈ જશે.\n\nતમે કરેલો કોઈપણ ફેરફાર તમે ગુમાવશો. રીસેટ કરો સંકેત માટેના સેટિંગ રીસેટ કરવામાં આવ્યા છે. ઘટકનો પ્રકાર બોલો - ફોકસ કરેલી આઇટમ માટે + કેન્દ્રિત આઇટમો માટે ઘટકનો પ્રકાર બોલવામાં આવે છે + કેન્દ્રિત આઇટમો માટે ઘટકનો પ્રકાર બોલવામાં આવતો નથી ઘટક IDs બોલો - લેબલ નહીં કરેલા બટન માટે - વિન્ડો સિસ્ટમ બોલો - સ્ટેટસ બાર, નોટિફિકેશન કે વૉલ્યૂમના નિયંત્રણો જેવી અન્ય સિસ્ટમ વિન્ડો પર જ્યારે તમે સ્વિચ કરો + લેબલ વગરના બટન માટે ઘટકની IDs બોલાતી નથી + લેબલ વગરના બટન માટે ઘટકની IDs બોલાય છે સ્પર્શ કરીને શોધખોળ કરો નિયંત્રણો સક્રિય કરવા માટે એક વાર ટૅપ કરો સક્રિય કરવા માટે ફોકસ કરેલી આઇટમ પર એકવાર ટૅપ કરો શબ્દબહુલતા - વિરામચિહ્ન અને પ્રતીકો બોલો + વિરામચિહ્ન Focus Indicator કસ્ટમાઇઝ કરો સંકેતો કસ્ટમાઇઝ કરો કસ્ટમ લેબલો @@ -203,7 +211,8 @@ પિચ ફેરફારોનો ઉપયોગ કરો કીબોર્ડનો પડઘો ઘટકના વર્ણનનો ક્રમ - ડિલીટ કરવામાં આવેલા અક્ષરો ઊંચા તીવ્રતાવાળા અવાજમાં બોલો + કીબોર્ડ દ્વારા ડિલીટ કરવામાં આવેલી ટેક્સ્ટ ઊંચા તીવ્રતાવાળા અવાજમાં બોલો + બોલતા હોવ ત્યારે વૉઇસ પિચ બદલશો નહીં બ્રેઇલ કીબોર્ડ વાઇબ્રેશન પ્રતિસાદ ધ્વનિ પ્રતિસાદ @@ -211,6 +220,7 @@ બોલતી વખતે અન્ય ઑડિઓ વૉલ્યુમ ઘટાડો સાઉન્ડ પ્રતિસાદ વૉલ્યૂમ ટૉકબૅક સસ્પેન્ડ કરો અને શૉર્ટકટ ફરી શરૂ કરો + સ્ક્રીન છુપાવવા માટેનો શૉર્ટકટ ડેવલપર સેટિંગ લૉગ માટે ઇવેન્ટ્સ પસંદ કરો ઍક્સેસિબિલિટી ઇવેન્ટ લૉગિંગ ફિલ્ટર કરો @@ -256,7 +266,7 @@ TalkBack મેનૂ ખોલો પ્રતિસાદ થોભાવો સ્પીચને થોભાવો અથવા તેને ફરી શરૂ કરો - સ્પીચ ચાલુ અથવા બંધ કરો + TalkBackનો સાઉન્ડ ચાલુ અથવા બંધ કરો ટોચથી વાંચો આગલી આઇટમથી વાંચો નોડ ટ્રી છાપો @@ -278,7 +288,6 @@ ઍક્સેસિબિલિટી શૉર્ટકટ દબાવો નૅવિગેશન ફોકસ આગળ ખસેડો અથવા વાંચન નિયંત્રણને નીચેની તરફ ગોઠવો નૅવિગેશન ફોકસ પાછળ ખસેડો અથવા વાંચન નિયંત્રણને ઉપરની તરફ ગોઠવો - હાલમાં પસંદ કરેલી ક્રિયા સક્રિય કરો શોધ પરિણામ મીડિયા ચલાવો અથવા થોભાવો બધી ઍપ @@ -323,7 +332,7 @@ વાંચન વિશિષ્ટ સુવિધાઓ અન્ય - ત્યારે બતાવવામાં આવે છે કે જ્યારે વર્તમાન આઇટમ માટે કૉપિ, પેસ્ટ અને પસંદ કરો જેવી બીજી ઘણી ક્રિયાઓ અસ્તિત્વમાં હોય + વર્તમાન આઇટમ માટે કસ્ટમ ક્રિયાઓ અસ્તિત્વમાં હોય ત્યારે દેખાય છે કૉપિ કરો, પેસ્ટ કરો, પસંદ કરો અને ઘણું બધું. જ્યારે તમે ટેક્સ્ટ બૉક્સ પસંદ કરો ત્યારે દેખાય છે. કોઈ ફોકસ કરેલી આઇટમની અંદરની લિંક ખોલો આગળના કે પાછળના પેજ પર જાઓ. જ્યારે તમે એકથી વધુ પેજવાળું કન્ટેન્ટ વાંચતા હો ત્યારે દેખાય છે. @@ -342,7 +351,6 @@ ટેક્સ્ટ ટૂ સ્પીચ સેટિંગ ખોલો TalkBack વૉઇસ પ્રતિસાદ બંધ કરો ફેરફાર કરી શકાતો નથી - ક્રિયાઓ કરો એક સમયે માત્ર એક અક્ષર વાંચો એક સમયે માત્ર એક શબ્દ વાંચો એક સમયે માત્ર એક લાઇન વાંચો @@ -365,7 +373,7 @@ TalkBack બોલે, ત્યારે ડિવાઇસમાં વાગી રહેલા અન્ય ઑડિયોનું વૉલ્યૂમ ઓછું કરો આગળ અથવા પાછળ સ્ક્રોલ કરો ઍક્સેસિબિલિટી વૉલ્યૂમ વધારો અથવા ઘટાડો - કોઈ પસંદ કરેલી છબીમાં સમ્મિલિત ટેક્સ્ટ મોટેથી વાંચો + આ છબી માટે ઑટોમૅટિક વર્ણન મેળવો નીચે નીચે પછી જમણે ઉપર સ્વાઇપ કરો @@ -408,9 +416,7 @@ 2 આંગળી વડે બે વાર ટૅપ કરીને દબાવી રાખો 3 આંગળી વડે બે વાર ટૅપ કરીને દબાવી રાખો 4 આંગળી વડે બે વાર ટૅપ કરીને દબાવી રાખો - 3 આંગળી વડે ટૅપ કરીને દબાવી રાખો 2 આંગળી વડે ત્રણ વાર ટૅપ કરીને દબાવી રાખો - 3 આંગળી વડે ત્રણ વાર ટૅપ કરીને દબાવી રાખો ગોઠવણી કરવા માટે, \"%1$s\" અથવા %2$s\" ગોઠવણી કરવા માટે, \"%1$s\" અજાણ સંકેત @@ -433,9 +439,8 @@ સ્ક્રીન ચાલુ થાય ત્યારે લૉક સ્ક્રીન દર્શાવવામાં આવે ત્યારે ફક્ત સૂચનામાંથી - કોઈપણ કી પસંદ કરવા માટે આંગળી દબાવી રાખો, પછી બે વાર ટૅપ કરો - અક્ષરવાળી કી પસંદ કરવા માટે આંગળીથી દબાવી રાખો, પછી ઉપાડી લો. બાકીની કી માટે બે વાર ટૅપ કરો. - કોઈપણ કી પસંદ કરવા માટે તેને આંગળીથી દબાવી રાખો, પછી ઉપાડી લો + કી પસંદ કરવા માટે આંગળી દબાવી રાખો, પછી બે વાર ટૅપ કરો + કી પસંદ કરવા માટે આંગળી દબાવી રાખો, પછી ઉપાડી લો અક્ષમ કરેલું ખૂબ આછું આછું @@ -485,6 +490,7 @@ લેબલ્સને નિકાસ કરવા માટે ઍપ્લિકેશન પસંદ કરો: TalkBackના આ વર્ઝનમાં ડિફૉલ્ટ અ‍ૅક્સેસિબિલિટી સંકેતના ફેરફારોનો સમાવેશ થાય છે. આ સંકેત સાથે સંકળાયેલ ક્રિયાઓ TalkBack સેટિંગ અંતર્ગત કસ્ટમાઇઝ કરી શકાય છે. જ્યારે ટચ કરીને શોધખોળ કરવાનું ચાલુ હોય ત્યારે, તમે અમુક ચોક્કસ ક્રિયાઓ કરવા માટે નીચેના સંકેતનો ઉપયોગ કરી શકો છો.\n\n%1$s વૉલ્યૂમ વધારો અને ઘટાડો કીઝ વધુ સમય દબાવો + સ્ક્રીન બતાવવા અથવા છુપાવવા માટે બન્ને વૉલ્યૂમ કીને ઝડપથી ત્રણ વાર દબાવો સ્ક્રીન છુપાવીએ? આ પ્રાઇવસીને બહેતર બનાવવા માટે ડિસ્પ્લેને બંધ કરે છે કે જેથી તમે સાર્વજનિક સ્થાનો પર હો ત્યારે તમારી સ્ક્રીન અન્ય લોકો જોઈ ન શકે ટૉકબૅકના આ વર્ઝનમાં ડિફૉલ્ટ ઍક્સેસિબિલિટી સંકેતોના ફેરફારોનો સમાવેશ થાય છે.\n\nઉપર-પછી-નીચે સંકેત તમને સ્ક્રીન પરની પ્રથમ આઇટમ પર લઈ જશે અને નીચે-પછી-ઉપર સંકેત તમને છેલ્લી આઇટમ પર લઈ જશે.\n\nવાંચન ગ્રેન્યુલારિટિ હવે કોઈ આઇટમને ફોકસ કરીને અને પછી ટૉકબૅક સંદર્ભ મેનૂમાંથી કોઈ ગ્રેન્યુલારિટિ પસંદ કરીને બદલી શકાય છે.\n\nતમે ટૉકબૅકના સેટિંગમાં આ સંકેત દ્વારા કરવામાં આવતી ક્રિયાઓને બદલાવી શકો છો. @@ -500,9 +506,6 @@ શું તમે ખરેખર નોડ ટ્રી ડિબગિંગ ચાલુ કરવા માંગો છો?\n\nનોડ ટ્રી ડિબગિંગ તમારી સ્ક્રીન પરની સામગ્રીને તમારા ઉપકરણનાં લૉગ્સ પર પ્રદર્શિત કરે છે, જે અન્ય ઍપ્લિકેશનો દ્વારા વાંચી શકાય છે. કાર્યપ્રદર્શન આંકડા સક્ષમ કરીએ? શું તમે ખરેખર કાર્યપ્રદર્શન આંકડા ચાલુ કરવા માગો છો?\n\nકાર્યપ્રદર્શન આંકડા વધુ મેમરી અને પાવરનો ઉપયોગ કરી શકે છે. - શું શબ્દબહુલ લૉગિંગ ચાલુ કરીએ? - શબ્દબહુલ લૉગિંગ ડિબગીંગ કરવામાં સહાયતા કરી શકે છે પરંતુ તેને કારણે સિસ્ટમ લૉગ બફરમાં વ્યક્તિગત માહિતી દેખાઈ શકે છે.\n\n શું તમે શબ્દબહુલ લૉગિંગ ચાલુ કરવા માગો છો? - હા, શબ્દબહુલ લૉગિંગ ચાલુ કરો ફોનના ઍક્સેસની મંજૂરી આપીએ? જ્યારે તમે કોઈ કૉલ પર હો, ત્યારે આ TalkBackને ઘોષણાઓ ઓછી કરવામાં સહાય કરે છે આગળ વધો @@ -556,11 +559,9 @@ ઍક્સેસિબિલિટી વૉલ્યૂમ સ્લાઇડરની ગોઠવણી કરો મૂલ્યની ગોઠવણી કરો - ક્રિયાઓ પાસવર્ડ બોલો પાસવર્ડ હંમેશા બોલવામાં આવે છે સાઉન્ડ અને વાઇબ્રેશન - સાઉન્ડ %1$s, કૉપિ કર્યું બંધ કરો શોધ બંધ કરો @@ -595,15 +596,13 @@ એક સમયે એક જ %2$s વાંચવા માટે %1$s આનો ઉપયોગ કરવા માટે, TalkBackના સેટિંગ પર જાઓ અને \'%1$s\' માટે સંકેત ઉમેરો બ્રેઇલ કીબોર્ડ ચાલુ કરેલું નથી. TalkBack સેટિંગ પર જાઓ, બ્રેઇલ કીબોર્ડ સેટઅપ કરીને ફરી પ્રયાસ કરો. - સૂચનો ઉપલબ્ધ છે - સૂચનો ઉપલબ્ધ છે. ઍક્સેસ કરવા માટે, %1$s %2$dમાંથી પેજ %1$d પાછળ આગળ બંધ કરો સમાપ્ત કરો ઉપર નૅવિગેટ કરો - TalkBackમાં નવી સુવિધાઓ + TalkBackની નવી સુવિધાઓ ટ્યૂટૉરિઅલ બંધ કરીએ? તમે TalkBackના સેટિંગમાં જઈને ગમે ત્યારે તેના પર પાછા ફરી શકો છો. ટ્યૂટૉરિઅલ ચાલુ રાખો @@ -647,14 +646,6 @@ નવા સંકેતો વડે ટૉકબૅકનો ઉપયોગ વધુ ઝડપથી કેવી રીતે કરવો તે જાણવા માટે ટૅપ કરો. નોડ ટ્રી લૉગ પર પ્રિન્ટ કરવામાં આવ્યું છે. અહીં તાજેતરમાં કરાયેલા સંકેતો આપવામાં આવ્યા છે, કૃપા કરીને કયા સંકેત અયોગ્ય છે અને શું અપેક્ષિત છે તે જણાવો. - તમને વૉલ્યૂમના સરળ બનાવેલા નિયંત્રણો, ક્રિયાના વધુ ઝડપી નિયંત્રણો અને બીજું ઘણું મળશે.\n\nઆગલી કેટલીક સ્ક્રીનમાં તમને મુખ્ય અપડેટ અને ફેરફારો વિશે જાણવા મળશે. આમાં લગભગ 5 મિનિટ જેટલો સમય લાગશે.\n\nતમે TalkBackના સેટિંગમાં જઈને કોઈપણ સમયે આ માહિતીનો રિવ્યૂ કરી શકો છો. - વૉલ્યૂમના નિયંત્રણમાં ફેરફારો - વૉલ્યૂમના નિયંત્રણને બહેતર બનાવવા, વૉલ્યૂમ કી હવેથી ટેક્સ્ટ કર્સર કે સ્લાઇડરનું નિયંત્રણ કરતી નથી.\n\nસ્લાઇડરની સ્થિતિ બદલવા માટે, ઉપર અથવા નીચે સ્વાઇપ કરો\n\nટેક્સ્ટ કર્સરની સ્થિતિ બદલવા માટે, ટેક્સ્ટ બૉક્સમાં ઉપર અથવા નીચે સ્વાઇપ કરો. આ બ્રેઇલ કીબોર્ડના વાંચનના નિયંત્રણોમાં પણ કામ કરે છે. - છબીઓમાંની ટેક્સ્ટ - તમે છબીઓમાંની ટેક્સ્ટ વિશે વધુ વિગત ઑટોમૅટિક રીતે અથવા તમને જ્યારે જરૂર હોય ત્યારે મેળવી શકશો.\n\nકોઈ લેબલ ધરાવતી ન હોય તેવી છબીઓ માટે: TalkBack દેખાતી ટેક્સ્ટ ઑટોમૅટિક રીતે વાંચશે.\n\nબધી છબીઓ માટે: TalkBack મેનૂ ખોલો અને \"છબીમાંની ટેક્સ્ટનું વર્ણન કરો\"ને પસંદ કરો.\n\nછબીઓ તમારા ડિવાઇસ પર રહે છે અને ક્યારેય પણ Googleને મોકલવામાં આવતી નથી. આનો અર્થ એ છે કે તમે આ બન્ને સુવિધાઓનો ઉપયોગ ઇન્ટરનેટ કનેક્શન વિના કરી શકો છો. - વિન્ડો નૅવિગેશન - તમે તમારી સ્ક્રીન પરના સૂચના બાર, મુખ્ય કન્ટેન્ટ અને કીબોર્ડ જેવા વિવિધ વિભાગો વચ્ચે સ્વિચ કરી શકો છો.\n\nવિન્ડો નૅવિગેશનનો ઉપયોગ કરવા માટે, 4 આંગળી વડે નીચે સ્વાઇપ કરો. - તમે તમારી સ્ક્રીન પરના સૂચના બાર, મુખ્ય કન્ટેન્ટ અને કીબોર્ડ જેવા વિવિધ વિભાગો વચ્ચે સ્વિચ કરી શકો છો.\n\nવિન્ડો નૅવિગેશનનો ઉપયોગ કરવા માટે, નીચે અને પછી ઉપર સ્વાઇપ કરો. તમે જ્યાં સુધી વિન્ડો નૅવિગેશન પસંદ કરી ન લો, ત્યાં સુધી આમ કરવાનું ચાલુ રાખો. વિન્ડો પર નૅવિગેટ કરવા માટે, નીચે સ્વાઇપ કરો. ટ્યૂટૉરિઅલ TalkBackમાં આપનું સ્વાગત છે TalkBack એક સ્ક્રીન રીડર છે, જે એવી પરિસ્થિતિઓ અથવા એવા લોકો માટે બનાવવામાં આવી છે કે જેમને સ્ક્રીન જોવામાં મુશ્કેલી પડે છે. તે તમને બોલાયેલો પ્રતિસાદ આપે છે, જેથી તમે સ્ક્રીન પર જોયા વિના તમારા ડિવાઇસનો ઉપયોગ કરી શકો છો.\n\nતમે બંને વૉલ્યૂમ કીને થોડી સકેન્ડો માટે દબાવી રાખીને TalkBackને ચાલુ અથવા બંધ કરી શકો છો.\n\nજ્યારે TalkBack ચાલુ હોય, ત્યારે સ્ક્રીન પર ફોકસ કરેલી આઇટમ વિશે મોટેથી બોલવામાં આવે છે.\n\nસ્ક્રીન પર જમણે સ્વાઇપ કરવાથી આગલી આઇટમ પર જવાય છે અને ડાબે સ્વાઇપ કરવાથી પાછલી આઇટમ પર જવાય છે.\n\nહવે \"આગળ\" બટન જોવા માટે જમણે સ્વાઇપ કરો. @@ -697,14 +688,14 @@ તમારી આંગળીને સમગ્ર કીબોર્ડ પર ફેરવો. જ્યારે તમે ટાઇપ કરવા માગતા હોય તે અક્ષર તમને સંભળાય, ત્યારે તમારી આંગળી ઉઠાવી લો.\n\nનીચે આપેલા ટેક્સ્ટ બૉક્સને સક્રિય કરવાનો પ્રયાસ કરો અને તમારું નામ ટાઇપ કરો. તમે બ્રેઇલ કીબોર્ડ વડે પણ ટાઇપ કરી શકો છો. તેને TalkBack સેટિંગમાં શોધો. કર્સર ખસેડવું - જ્યારે તમે ટેક્સ્ટ બૉક્સને સક્રિય કરેલું હોય, ત્યારે તમે કર્સરને ઉપર અથવા નીચે સ્વાઇપ કરીને એક અક્ષર પરથી બીજા અક્ષર પર ખસેડી શકો છો.\n\nનીચે આપેલા ટેક્સ્ટ બૉક્સમાં તેને અજમાવી જુઓ. + જ્યારે તમે ટેક્સ્ટ બૉક્સને સક્રિય કરેલું હોય, ત્યારે તમે વૉલ્યૂમ કી ઉપર અથવા નીચે દબાવીને કર્સરને એક અક્ષર પરથી બીજા અક્ષર પર લઈ જઈ શકો છો.\n\nનીચે આપેલા ટેક્સ્ટ બૉક્સમાં આ અજમાવી જુઓ. TalkBackમાં આપનું સ્વાગત છે ટેક્સ્ટ પસંદ કરવા વિશે કોઈ ટેક્સ્ટ બૉક્સમાં, તમને પસંદ કરવી હોય તે ટેક્સ્ટની શરૂઆતમાં કર્સર લઈ જાઓ.\n\nપસંદગી મોડ શરૂ કરવા માટે 2 આંગળી વડે બે વાર ટૅપ કરીને દબાવી રાખો. પછી કર્સરને ટેક્સ્ટની સમાપ્તિ પર લઈ જાઓ. પસંદગી મોડ સમાપ્ત કરવા માટે ફરીથી 2 આંગળી વડે બે વાર ટૅપ કરીને દબાવી રાખો.\n\nનીચે આપેલા ટેક્સ્ટ બૉક્સમાં \"સ્વાગત\" શબ્દ પસંદ કરવાનો પ્રયાસ કરો. - કોઈ ટેક્સ્ટ બૉક્સમાં, તમને પસંદ કરવી હોય તે ટેક્સ્ટની શરૂઆતમાં કર્સરને લઈ જાઓ.\n\nTalkBack મેનૂ ખોલવા માટે નીચે અને પછી જમણી બાજુએ સ્વાઇપ કરો. ક્રિયાઓ પર બે વાર ટૅપ કરો અને પછી પસંદગી મોડ શરૂ કરો. કર્સરને ટેક્સ્ટના અંતે ખસેડો.\n\nTalkBack મેનૂ ફરી ખોલો અને પછી પસંદગી મોડ સમાપ્ત કરવા માટે, ક્રિયાઓ પર બે વાર ટૅપ કરો.\n\nનીચે આપેલા ટેક્સ્ટ બૉક્સમાં \"સ્વાગત\" શબ્દ પસંદ કરવાનો પ્રયાસ કરો. + કોઈ ટેક્સ્ટ બૉક્સમાં, તમને પસંદ કરવી હોય તે ટેક્સ્ટની શરૂઆતમાં કર્સર લઈ જાઓ.\n\nTalkBack મેનૂ ખોલવા માટે નીચે પછી જમણી બાજુએ સ્વાઇપ કરો. ફેરફાર કરવાના વિકલ્પો માટે બે વાર ટૅપ કરો અને પછી પસંદગી મોડ શરૂ કરો. કર્સરને ટેક્સ્ટના અંતે ખસેડો.\n\nTalkBack મેનૂ ફરી ખોલો અને પછી પસંદગી મોડ સમાપ્ત કરવા માટે, ફેરફાર કરવાના વિકલ્પોને બે વાર ટૅપ કરો.\n\nનીચે આપેલા ટેક્સ્ટ બૉક્સમાં \"સ્વાગત\" શબ્દ પસંદ કરવાનો પ્રયાસ કરો. કૉપિ કરો, કટ કરો અને પેસ્ટ કરો - ટેક્સ્ટ પસંદ કર્યા પછી, ક્રિયાઓ પર બે વાર ટૅપ કરો અને પછી કૉપિ કરો.\n\nનીચેના ટેક્સ્ટ બૉક્સમાં શબ્દ કૉપિ કરવાનો પ્રયાસ કરો. - ટેક્સ્ટ કટ અથવા પેસ્ટ કરવા માટે, TalkBack મેનૂ ખોલો અને ક્રિયાઓ પર બે વાર ટૅપ કરો.\n\nટેક્સ્ટ પેસ્ટ કરવા માટે, 3 આંગળી વડે ત્રણ વાર ટૅપ કરો.\n\nનીચે આપેલા ટેક્સ્ટ બૉક્સમાં શબ્દ પેસ્ટ કરવાનો પ્રયાસ કરો. + ટેક્સ્ટ પસંદ કર્યા પછી, 3 આંગળી વડે બે વાર ટૅપ કરીને તેને કૉપિ કરો.\n\nનીચેના ટેક્સ્ટ બૉક્સમાં આપેલા શબ્દને કૉપિ કરવાનો પ્રયાસ કરો. + ટેક્સ્ટ કટ કરવા માટે, 3 આંગળી વડે બે વાર ટૅપ કરીને દબાવી રાખો.\n\nટેક્સ્ટ પેસ્ટ કરવા માટે, 3 આંગળી વડે ત્રણ વખત ટૅપ કરો.\n\nનીચેના ટેક્સ્ટ બૉક્સમાં એક શબ્દ પેસ્ટ કરો. ટેક્સ્ટ પસંદ કર્યા પછી, તમે તેને TalkBack મેનૂમાં કૉપિ કરી શકો છો. TalkBack મેનૂ ખોલવા માટે નીચે અને પછી જમણી બાજુએ સ્વાઇપ કરો. ફેરફાર કરવાના વિકલ્પોને બે વાર ટૅપ કરો અને પછી કૉપિ કરો.\n\nનીચેના ટેક્સ્ટ બૉક્સમાં શબ્દ કૉપિ કરવાનો પ્રયાસ કરો. ટેક્સ્ટ કટ અથવા પેસ્ટ કરવા માટે, TalkBack મેનૂ ખોલો અને ફેરફાર કરવાના વિકલ્પોને બે વાર ટૅપ કરો.\n\nનીચે આપેલા ટેક્સ્ટ બૉક્સમાં શબ્દ પેસ્ટ કરવાનો પ્રયાસ કરો. ટેક્સ્ટ અહીં પેસ્ટ કરો @@ -747,7 +738,6 @@ એક આઇટમથી બીજી પર જવા માટે, જમણે કે ડાબે સ્વાઇપ કરો કોઈ આઇટમ સક્રિય કરવા માટે, બે વાર ટૅપ કરો સ્ક્રોલ કરવા માટે, સ્ક્રીન પર 2 આંગળી ખેંચો - કૃપા કરીને ચેક કરો કે ફોન કનેક્ટ કરેલો છે કે નહીં. જાડી કિનારીઓ રંગ ડિફૉલ્ટ @@ -759,12 +749,6 @@ રાખોડી સર્વેક્ષણ બંધ થયું ટેક્સ્ટ: %1$s - છબીમાંની ટેક્સ્ટનું વર્ણન કરો - આ આઇકનની ભાળ મળી છે: %1$s - ક્રિયાને સપોર્ટ આપવામાં આવતો નથી. - કોઈ ક્રિયા પસંદ કરી નથી. - કૃપા કરીને સપોર્ટ કરવામાં આવતો હોય તેવી ક્રિયા પસંદ કરો. - કોઈ ક્રિયા ઉપલબ્ધ નથી. - ક્રિયાઓનું સેટિંગ ચાલુ કરેલું નથી. - કોઈ ટેક્સ્ટ મળી નથી + છબીનું વર્ણન કરો + પૂર્વાનુમાનિત આઇકન: %1$s diff --git a/talkback/src/main/res/values-hi/strings.xml b/talkback/src/main/res/values-hi/strings.xml index 05865ee89..6ab7d1acc 100644 --- a/talkback/src/main/res/values-hi/strings.xml +++ b/talkback/src/main/res/values-hi/strings.xml @@ -7,7 +7,6 @@ लिखाई को बोली में बदलने की सेटिंग भाषाएं टेक्स्ट पढ़े जाने के लिए इस्तेमाल होने वाली भाषा - कार्रवाइयां सिस्टम से जुड़ी कार्रवाइयां वर्शन %1$s अपने मुताबिक लेबल प्रबंधित करें @@ -31,37 +30,46 @@ डिवाइस अनलॉक कर दिया गया. ऑडियो बोली का वॉल्‍यूम - स्क्रीन बंद होने पर सूचनाएं सुनें - स्क्रीन पर मौजूद सूची में आइटम की संख्या हमेशा सुनें - स्क्रोल करने के सभी तरीकों के लिए बोले जाने वाले आइटम की संख्या सुनें + स्‍क्रीन बंद हो तब बोलें + स्क्रीन बंद होने पर सूचनाएं बोली जाती हैं + स्क्रीन बंद होने पर कोई संवाद नहीं होता है + स्क्रीन पर दी गई सूची में मौजूद चीज़ों की संख्या बोलकर सुनाएं + सिर्फ़ हाथ के जेस्चर (स्पर्श) से स्क्रोल करते समय चीज़ों की संख्या बोलकर बताएं + चीज़ों की संख्या हमेशा बोलकर बताई जाएगी आवाज़ को रोकने के लिए, निकटता सेंसर छिपाएं - अक्षरों को उदाहरण के साथ सुनें - जब कीबोर्ड के बटन को चुना जाता है या वर्ण के मुताबिक नेविगेट किया जाता है, तो आपको हर अक्षर के साथ एक उदाहरण सुनाई देगा, जैसे कि \"h के लिए hotel\" - विराम चिह्न और दूसरे चिह्नों को सुनें + फ़ोनेटिक अक्षर बोलें + फ़ोनेटिक अक्षर बोले नहीं जाते + फ़ोनेटिक अक्षर तब बोले जाते हैं जब कीबोर्ड के बटन को देर तक दबाए रखा जाता है और वर्ण के मुताबिक नेविगेट किया जाता है + विराम चिह्न + विराम चिह्न और दूसरे चिह्नों को बोलकर नहीं बताया जाएगा + विराम चिह्न और दूसरे चिह्नों को बोलकर बताया जाएगा बड़े अक्षर कुछ न करें “बड़े अक्षर” बोलें पिच बदलें आवाज़ चलाएं इस्तेमाल से जुड़े संकेत बोलें - कॉन्टेंट की जानकारी मिलने के बाद, इसका इस्तेमाल करने के तरीके के बारे में सुझाव पाएं - सूची और ग्रिड की जानकारी सुनें + सुलभता फ़ोकस को यहां वहां ले जाते समय उपयोग के संकेत बोले नहीं जाते + नेविगेशन के दौरान उपयोग के संकेत, कुछ देर रुकने के बाद बोले जाते हैं + सूची और ग्रिड जानकारी बोलें + सूची और ग्रिड की जानकारी बोली जाती है + सूची और ग्रिड की जानकारी नहीं बोली जाती क्या आप हाथ के जेस्चर (हाव-भाव) को रीसेट करना चाहते हैं? इससे हाथ के सभी जेस्चर (हाव-भाव) की सेटिंग डिफ़ॉल्ट पर सेट हो जाएंगी.\n\nसाथ ही, आपकी पसंद के मुताबिक सेट किए गए हाथ के जेस्चर हट जाएंगे. रीसेट करें हाथ के जेस्चर (हाव-भाव) की सेटिंग रीसेट हो गई है. चीज़ का प्रकार बोलें - फ़ोकस किए गए आइटम के लिए + फ़ोकस किए गए आइटम के लिए चीज़ का प्रकार बोला जाता है + फ़ोकस किए गए आइटम के लिए चीज़ का प्रकार नहीं बोला जाता चीज़ों के आईडी बोलें - बिना लेबल वाले बटन के लिए - सिस्टम विंडो का शीर्षक बोलकर बताना - जब आप सूचना, स्टेटस बार या आवाज़ कम या ज़्यादा करने के कंट्रोल जैसे किसी अन्य सिस्टम विंडो पर जाते हैं + लेबल नहीं किए गए बटनों के लिए चीज़ों के आईडी नहीं बोले जाते + लेबल नहीं किए गए बटनों के लिए चीज़ों के आईडी बोले जाते हैं छूकर, उससे जुड़ी जानकारी सुनें कंट्रोल किसी आइटम को चालू करने के लिए एक बार टैप करें फ़ोकस किए गए आइटम को चालू करने के लिए उस पर एक बार टैप करें ज़्यादा शब्द बोलने वाली सेटिंग - विराम चिह्न और दूसरे चिह्नों को सुनें + विराम चिह्न फ़ोकस इंडिकेटर को पसंद के मुताबिक बनाएं हाथ के जेस्चर को पसंद के मुताबिक बनाएं आपके मुताबिक लेबल @@ -75,7 +83,7 @@ टेक्स्ट पढ़े जाने से जुड़े कंट्रोल का इस्तेमाल करने के लिए, डिवाइस की स्क्रीन पर पहले ऊपर और फिर नीचे की ओर स्वाइप करें. कीबोर्ड शॉर्टकट अपने मुताबिक लेबल दूसरे डिवाइस पर भेजें - टॉकबैक को Play Store में खोलें + टॉकबैक को \'Play स्‍टोर\' में खोलें टॉकबैक का मौजूदा वर्शन: %1$s सहायता और सुझाव ओपन सोर्स लाइसेंस @@ -202,8 +210,9 @@ इस कुंजी संयोजन का उपयोग \'%1$s\' कार्रवाई के लिए किया जाता है. क्‍या आप उसे साफ़ करना और इस शॉर्टकट को \'%2$s\' को असाइन करना चाहते हैं? आवाज़ की पिच में बदलावों का इस्तेमाल करें कीबोर्ड प्रतिध्वनि - एलिमेंट की जानकारी का क्रम - मिटाए गए टेक्स्ट को हाई पिच वाली आवाज़ में सुनें + किसी चीज़ की ज़्यादा जानकारी का क्रम + कीबोर्ड की मदद से मिटाए गए टेक्स्ट को ऊंची पिच वाली आवाज़ में बोला जाए + बोलते समय आवाज़ की तीव्रता नहीं बदलें ब्रेल कीबोर्ड वाइब्रेशन फ़ीडबैक साउंड फ़ीडबैक @@ -211,6 +220,7 @@ बोलते समय अन्य ऑडियो वॉल्यूम कम करें साउंड फ़ीडबैक का वॉल्यूम टॉकबैक को बंद करने और फिर से शुरू करने का शॉर्टकट + स्क्रीन की रोशनी कम करने वाले शॉर्टकट को छिपाएं डेवलपर सेटिंग लॉग किए जाने वाले इवेंट चुनें सुलभता इवेंट लॉगिंग फ़िल्टर करें @@ -256,7 +266,7 @@ टॉकबैक मेन्यू खोलें फ़ीडबैक रोकें टॉकबैक के बोलकर दिए जाने वाले सुझावों को रोकें या फिर से शुरू करें - बोलकर जवाब देने की सुविधा को चालू या बंद करें + टॉकबैक की बोलकर जवाब देने की सुविधा चालू या बंद करें ऊपर से पढ़ें अगले आइटम से पढ़ें प्रिंट नोड ट्री @@ -278,7 +288,6 @@ सुलभता के शॉर्टकट को टैप करके रखें नेविगेशन फ़ोकस को स्क्रीन पर मौजूद अगले आइटम पर लेकर जाएं या टेक्स्ट पढ़ने से जुड़ा कंट्रोल अडजस्ट करें नेविगेशन फ़ोकस को स्क्रीन पर मौजूद पिछले आइटम पर लेकर जाएं या टेक्स्ट पढ़ने से जुड़ा कंट्रोल अडजस्ट करें - अभी चुनी हुई कार्रवाई को चालू करें खोज नतीजे मीडिया चलाएं या रोकें सभी ऐप्लिकेशन @@ -323,11 +332,11 @@ टेक्स्ट पढ़ने से जुड़े कंट्रोल खास सुविधाएं अन्य - यह मेन्यू तब दिखता है, जब मौजूदा आइटम के लिए आपकी पसंद के हिसाब से कार्रवाइयां जोड़ी जा सकती हों. जैसे, कॉपी करना, चिपकाना, चुनना, वगैरह - कॉपी करने, चिपकाने, और चुनने के अलावा अन्य कई काम करें. यह आपके टेक्स्ट बॉक्स को चुनने पर दिखता है. + यह तब दिखता है, जब मौजूदा आइटम के लिए, आपकी पसंद के मुताबिक कार्रवाइयां मौजूद होती हैं + कॉपी करने, चिपकाने, और चुनने के अलावा अन्य कई काम करें. यह तब दिखता है, जब आप टेक्स्ट बॉक्स को चुनते हैं उस आइटम में मौजूद लिंक खोलें जिस पर फ़ोकस किया गया है - अगले या पिछले पेज पर जाएं. यह तब दिखता है, जब एक से ज़्यादा पेज वाला कॉन्टेंट पढ़ा जाता है. - यह तब दिखता है, जब बिना लेबल वाले आइटम को चुना जाता है + अगले या पिछले पेज पर जाएं. यह तब दिखता है, जब आप एक से ज़्यादा पेज वाला कॉन्टेंट पढ़ते हैं. + यह तब दिखता है, जब आप बिना लेबल वाले आइटम को चुनते हैं वर्ण, शब्द, लाइन, और अन्य चीज़ों के हिसाब से पढ़ा जाए सबसे ऊपर से शुरू करते हुए, स्क्रीन पर मौजूद सभी आइटम पढ़े जाएं दूसरे आइटम से शुरू करते हुए, स्क्रीन पर मौजूद सभी आइटम पढ़े जाएं @@ -342,7 +351,6 @@ लिखाई को बोली में बदलने की सेटिंग खोलें टॉकबैक की बोलकर जवाब देने की सुविधा को बंद करें इसमें बदलाव नहीं किया जा सकता - कार्रवाइयां पूरी करें एक बार में एक ही वर्ण पढ़ा जाए एक बार में एक ही शब्द पढ़ा जाए एक बार में एक ही लाइन पढ़ी जाए @@ -365,7 +373,7 @@ टॉकबैक के बोलते समय, डिवाइस में चल रहे दूसरे ऑडियो की आवाज़ कम करें आगे या पीछे की ओर स्क्रोल करें सुलभता सुविधाओं के लिए आवाज़ बढ़ाएं या घटाएं - चुनी गई इमेज में एम्बेड किया गया टेक्स्ट पढ़ें + इस इमेज के लिए, अपने-आप कैप्शन पाएं नीचे नीचे फिर दाएं ऊपर स्‍वाइप करें @@ -408,9 +416,7 @@ दो उंगलियों से दो बार टैप करके रखने वाले हाथ के जेस्चर (हाव-भाव) तीन उंगलियों से दो बार टैप करके रखने वाले हाथ के जेस्चर (हाव-भाव) चार उंगलियों से दो बार टैप करके रखने वाले हाथ के जेस्चर (हाव-भाव) - तीन उंगलियों से टैप करके रखने वाले हाथ के जेस्चर दो उंगलियों से तीन बार टैप करके रखने वाले हाथ के जेस्चर (हाव-भाव) - तीन उंगलियों से तीन बार टैप करके रखने वाले हाथ के जेस्चर अडजस्ट करने के लिए, \"%1$s\" या %2$s\" में से किसी एक पर सेट करें अडजस्ट करने के लिए, \"%1$s\" पर सेट करें हाथ का ऐसा जेस्चर जिसके बारे में पता न हो @@ -433,9 +439,8 @@ जब स्क्रीन चालू हो जब लॉक स्क्रीन दिखाई दे केवल सूचना मिलने पर - किसी भी बटन को चुनने के लिए, उसे दबाकर रखें और फिर उस पर दो बार टैप करें - अक्षर वाले किसी बटन को चुनने के लिए, उसे उंगली से दबाकर रखें और फिर उंगली हटा लें. कोई दूसरा बटन चुनने के लिए, दो बार टैप करें. - किसी बटन को चुनने के लिए, उसे उंगली से दबाकर रखें और फिर उंगली हटा लें + बटन को चुनने के लिए, उसे उंगली से दबाकर रखें और फिर उस पर दो बार टैप करें + बटन को चुनने के लिए, उसे उंगली से दबाकर रखें और फिर उंगली हटा लें अक्षम बहुत धीरे से धीरे से @@ -448,7 +453,7 @@ वर्ण शब्द वर्ण और शब्द - स्थिति, नाम, टाइप + स्थिति, नाम, प्रकार प्रकार, नाम, स्थिति नाम, प्रकार, स्थिति टॉकबैक जेस्चर (स्पर्श) बदल गए @@ -485,6 +490,7 @@ लेबल निर्यात करने के लिए ऐप्‍लिकेशन चुनें: टॉकबैक के इस वर्शन में डिफ़ॉल्ट सुलभता जेस्चर में बदलाव करने की सुविधा मौजूद है. इन हाथों के जेस्चर से जुड़े कामों को टॉकबैक सेटिंग के ज़रिये अपने मुताबिक बदला जा सकता है. जब छूकर, उससे जुड़ी जानकारी सुनने की सुविधा चालू होती है, तो आप नीचे दिए गए हाथों के जेस्चर (स्पर्श) का इस्तेमाल करने कुछ निश्चित कार्यवाहियां कर सकते हैं.\n\n%1$s वॉल्‍यम बढ़ाएं और कम करें कुंजियों को देर तक दबाए रखें + स्क्रीन की रोशनी कम या ज़्यादा करने के लिए, आवाज़ नियंत्रित करने वाले दोनों बटनों को फटाफट तीन बार दबाएं क्या आप स्क्रीन की रोशनी कम करना चाहते हैं? इस विकल्प को चुनने पर, आपकी निजता की सुरक्षा के लिए फ़ोन स्क्रीन की रोशनी कम हो जाती है. इससे, सार्वजनिक जगहों पर कोई आपके फ़ोन में तांक-झांक नहीं कर पाता टॉकबैक के इस वर्शन में, सुलभता सुविधा में इस्तेमाल होने वाले हाथ के जेस्चर (हाव-भाव) में किए गए बदलाव शामिल हैं.\n\nऊपर-फिर-नीचे वाले हाथ के जेस्चर (हाव-भाव) का इस्तेमाल करके, आप स्क्रीन पर मौजूद पहले आइटम पर जा सकते हैं. साथ ही, नीचे-फिर-ऊपर वाले हाथ के जेस्चर (हाव-भाव) का इस्तेमाल करके, आप स्क्रीन पर मौजूद आखिरी आइटम पर जा सकते हैं.\n\nकिसी आइटम पर फ़ोकस करके, टॉकबैक के संदर्भ मेन्यू से, पढ़ने का लेवल चुनकर टेक्स्ट पढ़े जाने की दर अब बदली जा सकती है.\n\nआप टॉकबैक की सेटिंग में जाकर हाथ के इन जेस्चर (हाव-भाव) से की जाने वाली कार्रवाइयां बदल सकते हैं. @@ -500,9 +506,6 @@ क्या आप वाकई नोड ट्री डीबगिंग को चालू करना चाहते हैं?\n\nनोड ट्री डीबगिंग आपके स्क्रीन की सामग्री को आपके डिवाइस के लॉग में दिखाता है, जिसे अन्य ऐप्लिकेशन के द्वारा पढ़ा जा सकता है. परफ़ॉर्मेंस के आंकड़े चालू करें? क्या आप परफ़ॉर्मेंस के आंकड़े चालू करना चाहते हैं?\n\nपरफ़ॉर्मेंस के आंकड़े ज़्यादा जगह और बैटरी का इस्तेमाल कर सकते हैं. - Verbose logging चालू करें? - Verbose logging से डिबग करने में मदद मिल सकती है. हालांकि, इस वजह से सिस्टम लॉग बफ़र में निजी जानकारी दिख सकती है.\n\n क्या आपको verbose logging को चालू करना है? - हां, Verbose logging चालू करें क्या आप फ़ोन ऐक्सेस करने की अनुमति देना चाहते हैं? ऐसा करने से, टॉकबैक को आपकी कॉल के दौरान, बोल कर दी जाने वाली सूचनाओं को कम करने में मदद मिलती है जारी रखें @@ -556,11 +559,9 @@ सुलभता सुविधाओं के लिए आवाज़ स्लाइडर को आगे-पीछे करें मान को कम-ज़्यादा करें - कार्रवाइयां पासवर्ड बोलें हमेशा पासवर्ड बोलें आवाज़ और वाइब्रेशन - आवाज़ कॉपी किया गया, %1$s बंद करें स्क्रीन पर खोजना बंद करें @@ -595,15 +596,13 @@ %2$s के हिसाब से पढ़ने के लिए, %1$s इसका इस्तेमाल करने के लिए, टॉकबैक की सेटिंग पर जाएं और \'%1$s\' के लिए एक हाथ के जेस्चर (हाव-भाव) जोड़ें ब्रेल कीबोर्ड चालू नहीं है. टॉकबैक की सेटिंग में जाकर, ब्रेल कीबोर्ड सेट अप करें और फिर से कोशिश करें. - सुझाव उपलब्ध हैं - सुझाव उपलब्ध हैं. ऐक्सेस करने के लिए, %1$s %2$d में से %1$d पेज पीछे जाएं आगे बढ़ें बंद करें खत्म करें ऊपर जाएं - टॉकबैक में जोड़ी गई नई सुविधाएं + टॉकबैक में मौजूद नई सुविधाएं क्या आप ट्यूटोरियल बंद करना चाहते हैं? आप जब चाहें, टॉकबैक की सेटिंग में जाकर यह जानकारी देख सकते हैं. ट्यूटोरियल देखना जारी रखें @@ -647,14 +646,6 @@ हाथ के नए जेस्चर (हाव-भाव) की मदद से, टॉकबैक को तेज़ी से इस्तेमाल करना सीखने के लिए टैप करें. नोड ट्री को लॉग में प्रिंट कर दिया गया है यहां पर हाल ही में इस्तेमाल किए गए हाथ के जेस्चर दिए गए हैं. अगर इनमें से कुछ जेस्चर सही नहीं हैं, तो कृपया उनके बारे में शिकायत करें. साथ ही, हमें बताएं कि इन जेस्चर को बेहतर कैसे बनाया जा सकता है. - आपको आवाज़ कम या ज़्यादा करने, तेज़ कार्रवाई करने वगैरह के आसान कंट्रोल मिलेंगे.\n\nआपको अगले कुछ पेजों पर, टॉकबैक में हुए अहम अपडेट और बदलावों के बारे में जानकारी मिलेगी. इसमें करीब पांच मिनट लगेंगे.\n\nटॉकबैक की सेटिंग में जाकर, यह जानकारी कभी भी देखी जा सकती है. - आवाज़ कम या ज़्यादा करने के कंट्रोल में हुए बदलाव - अब आवाज़ वाले बटनों से टेक्स्ट कर्सर या स्लाइडर कंट्रोल नहीं किए जा सकेंगे. यह बदलाव, आवाज़ कम या ज़्यादा करने के कंट्रोल को बेहतर बनाने के लिए किया गया है.\n\nस्लाइडर की जगह बदलने के लिए, स्क्रीन पर ऊपर या नीचे की ओर स्वाइप करें.\n\nटेक्स्ट कर्सर की जगह बदलने के लिए, टेक्स्ट बॉक्स में ऊपर या नीचे की ओर स्वाइप करें. यह बदलाव, ब्रेल कीबोर्ड के टेक्स्ट पढ़ने से जुड़े कंट्रोल पर भी लागू होता है. - इमेज में मौजूद टेक्स्ट - आपको इमेज में मौजूद टेक्स्ट के बारे में जानकारी, अपने-आप मिल सकती है. इसके अलावा, ज़रूरत पड़ने पर भी यह जानकारी देखी जा सकती है.\n\nबिना लेबल वाली इमेज के लिए: टॉकबैक, इमेज में दिख रहे टेक्स्ट को अपने-आप पढ़कर सुनाएगा.\n\nसभी इमेज के लिए: टॉकबैक मेन्यू खोलें. इसके बाद, \"इमेज में शामिल टेक्स्ट की जानकारी दें\" को चुनें.\n\nइमेज आपके डिवाइस में सेव रहती हैं. इन्हें Google को नहीं भेजा जाता है. इसका मतलब है कि इन दोनों सुविधाओं का इस्तेमाल, इंटरनेट कनेक्शन के बिना किया जा सकता है. - विंडो नेविगेशन - विंडो नेविगेशन मोड की मदद से, डिवाइस की स्क्रीन के अलग-अलग सेक्शन पर पहुंचा जा सकता है. जैसे, सूचना बार, मुख्य कॉन्टेंट, और कीबोर्ड.\n\nविंडो नेविगेशन मोड का इस्तेमाल करने के लिए, चार उंगलियों से स्क्रीन पर नीचे की ओर स्वाइप करें. - विंडो नेविगेशन मोड का इस्तेमाल करके, डिवाइस की स्क्रीन के अलग-अलग सेक्शन पर पहुंचा जा सकता है. जैसे, सूचना बार, मुख्य कॉन्टेंट, और कीबोर्ड.\n\nविंडो नेविगेशन मोड का इस्तेमाल करने के लिए, स्क्रीन पर पहले नीचे की ओर, फिर ऊपर की ओर स्वाइप करें. ऐसा तब तक करें, जब तक आप विंडो नेविगेशन मोड न चुन लें. विंडो पर नेविगेट करने के लिए, स्क्रीन पर नीचे की ओर स्वाइप करें. ट्यूटोरियल टॉकबैक में आपका स्वागत है टॉकबैक एक स्क्रीन रीडर है. यह सुविधा ऐसे लोगों के लिए या उन स्थितियों में इस्तेमाल के लिए बनाई गई है जिसमें व्यक्ति को स्क्रीन देखने में परेशानी होती है. टॉकबैक की सुविधा चालू रहने पर, डिवाइस आपको बोलकर जवाब देता है, ताकि आप बिना स्क्रीन देखे ही अपने डिवाइस का इस्तेमाल कर सकें.\n\nटॉकबैक की सुविधा को चालू या बंद करने के लिए, आप कुछ देर तक दोनों आवाज़ बटन को दबाकर रख सकते हैं.\n\nटॉकबैक की सुविधा चालू होने पर, स्क्रीन पर मौजूद जिस आइटम पर आप फ़ोकस करते हैं उसके बारे में तेज़ आवाज़ में बताया जाता है.\n\nदाईं ओर स्वाइप करने पर, अगले आइटम के बारे में बताया जाएगा और बाईं ओर स्वाइप करने पर, पिछले आइटम के बारे में बताया जाएगा.\n\n\'आगे बढ़ें\' बटन पर पहुंचने के लिए, दाईं ओर स्वाइप करें. @@ -697,14 +688,14 @@ अपनी उंगली को कीबोर्ड पर एक से दूसरी जगह ले जाएं. जब आपको वह अक्षर सुनाई दे जिसे आप टाइप करना चाहते हैं, तब कीबोर्ड से उंगली हटा लें.\n\nनीचे दिए गए टेक्स्ट बॉक्स को चालू करें और अपना नाम टाइप करके देखें. टाइप करने के लिए, आप ब्रेल कीबोर्ड भी इस्तेमाल कर सकते हैं. यह टॉकबैक की सेटिंग में मिलेगा. कर्सर को एक जगह से दूसरी जगह ले जाना - टेक्स्ट बॉक्स चालू करने के बाद, आपको स्क्रीन पर ऊपर या नीचे की ओर स्वाइप करके, कर्सर को एक से दूसरे अक्षर पर ले जाने का विकल्प मिलेगा.\n\nइसे नीचे दिए गए टेक्स्ट बॉक्स में आज़माएं. + अगर आप टेक्स्ट बॉक्स चालू कर चुके हैं, तो आवाज़ कम या ज़्यादा करने का बटन दबाकर, आप कर्सर को एक से दूसरे अक्षर पर ले जा सकते हैं.\n\nनीचे दिए गए टेक्स्ट बॉक्स में इसे आज़माएं. टॉकबैक में आपका स्वागत है टेक्स्ट चुनना टेक्स्ट बॉक्स में, कर्सर को उस टेक्स्ट की शुरुआत में ले जाएं जिसे आप चुनना चाहते हैं.\n\nटेक्स्ट चुनने वाला मोड चालू करने के लिए, दो उंगलियों से दो बार टैप करके रखें. इसके बाद, कर्सर को टेक्स्ट के आखिर में ले जाएं. टेक्स्ट चुनने वाला मोड बंद करने के लिए, दो उंगलियों से फिर दो बार टैप करें और दबाकर रखें.\n\nनीचे दिए गए टेक्स्ट बॉक्स में, \"आपका स्वागत है\" को चुनकर देखें. - टेक्स्ट बॉक्स में, कर्सर को उस टेक्स्ट की शुरुआत में ले जाएं जिसे आपको चुनना है.\n\nटॉकबैक मेन्यू खोलने के लिए, पहले नीचे की तरफ़ और फिर दाईं ओर स्वाइप करें. दो बार टैप करके चुनने वाला मोड चालू करें. कर्सर को टेक्स्ट के आखिर में ले जाएं.\n\nटॉकबैक मेन्यू को दोबारा खोलें. इसके बाद, दो बार टैप करके चुनने वाला मोड बंद करें.\n\nनीचे दिए गए टेक्स्ट बॉक्स से, \"स्वागत है\" शब्द चुनकर देखें. + टेक्स्ट बॉक्स में, कर्सर को उस टेक्स्ट की शुरुआत में ले जाएं जिसे आप चुनना चाहते हैं.\n\nटॉकबैक मेन्यू खोलने के लिए, पहले नीचे की तरफ़ और फिर दाईं ओर स्वाइप करें. टेक्स्ट में बदलाव करने के विकल्प पर दो बार टैप करें. इसके बाद, टेक्स्ट को चुनने वाला मोड चालू करें. कर्सर को टेक्स्ट के आखिर में ले जाएं.\n\nटॉकबैक मेन्यू को एक बार फिर खोलें और टेक्स्ट चुनने वाला मोड बंद करने के लिए, टेक्स्ट में बदलाव करने के विकल्प पर दो बार टैप करें.\n\nनीचे दिए गए टेक्स्ट बॉक्स में, \"आपका स्वागत है\" को चुनकर देखें. टेक्स्ट कॉपी करना, काटना, और चिपकाना - टेक्स्ट चुनने के बाद, दो बार टैप करें और फिर टेक्स्ट को कॉपी करें.\n\nनीचे दिए गए टेक्स्ट बॉक्स से, किसी शब्द को कॉपी करके देखें. - टेक्स्ट को काटने या चिपकाने के लिए, टॉकबैक मेन्यू खोलें और दो बार टैप करें.\n\nटेक्स्ट को चिपकाने के लिए, तीन उंगलियों से तीन बार टैप करें.\n\nनीचे दिए गए टेक्स्ट बॉक्स में, किसी शब्द को चिपकाकर देखें. + टेक्स्ट चुनने के बाद, तीन उंगलियों से दो बार टैप करके उसे कॉपी करें.\n\nनीचे दिए गए टेक्स्ट बॉक्स से, किसी शब्द को कॉपी करके देखें. + टेक्स्ट काटने के लिए, तीन उंगलियों से दो बार टैप करें और दबाकर रखें.\n\nटेक्स्ट को चिपकाने के लिए, तीन उंगलियों से तीन बार टैप करें.\n\nनीचे दिए गए टेक्स्ट बॉक्स में, किसी शब्द को चिपकाकर देखें. टेक्स्ट चुनने के बाद, आप उसे टॉकबैक मेन्यू में जाकर कॉपी कर सकते हैं. टॉकबैक मेन्यू को खोलने के लिए, पहले नीचे की तरफ़ और फिर दाईं ओर स्वाइप करें. टेक्स्ट में बदलाव करने के विकल्प पर दो बार टैप करें. इसके बाद, टेक्स्ट कॉपी करें.\n\nनीचे दिए गए टेक्स्ट बॉक्स से, किसी शब्द को कॉपी करके देखें. टेक्स्ट को काटने या चिपकाने के लिए, टॉकबैक मेन्यू खोलें और टेक्स्ट में बदलाव करने के विकल्प पर दो बार टैप करें.\n\nनीचे दिए गए टेक्स्ट बॉक्स में, किसी शब्द को चिपकाकर देखें. टेक्स्ट यहां चिपकाएं @@ -747,7 +738,6 @@ एक आइटम से दूसरे पर आने-जाने के लिए दाएं या बाएं स्वाइप करें किसी आइटम को चालू करने के लिए दो बार टैप करें स्क्रोल करने के लिए दो उंगलियों से खींचें और छोड़ें - कृपया देख लें कि फ़ोन इंटरनेट से कनेक्ट है या नहीं बॉर्डर की मोटाई रंग डिफ़ॉल्ट @@ -759,12 +749,6 @@ स्लेटी यह सर्वे पूरा हो चुका है टेक्स्ट: %1$s - इमेज में शामिल टेक्स्ट की जानकारी देना - स्क्रीनशॉट की मदद से पहचाना गया आइकॉन: %1$s - यह कार्रवाई नहीं की जा सकती. - कोई कार्रवाई नहीं चुनी गई है. - कोई ऐसी कार्रवाई चुनें जिसे करने की सुविधा उपलब्ध हो. - कोई भी कार्रवाई उपलब्ध नहीं है. - कार्रवाइयों से जुड़ी सेटिंग चालू नहीं है. - कोई टेक्स्ट नहीं मिला + इमेज का कैप्शन पाएं + अनुमानित आइकॉन: %1$s diff --git a/talkback/src/main/res/values-hr/strings.xml b/talkback/src/main/res/values-hr/strings.xml index cef0c3d50..40a1890fe 100644 --- a/talkback/src/main/res/values-hr/strings.xml +++ b/talkback/src/main/res/values-hr/strings.xml @@ -7,7 +7,6 @@ Postavke pretvaranja teksta u govor Jezici Govorni jezik - Radnje Radnje sustava Verzija %1$s Upravljanje prilagođenim oznakama @@ -31,37 +30,46 @@ Uređaj je otključan. Zvuk Glasnoća govora - Govori obavijesti kada je zaslon isklj. - Uvijek izgovori broj stavki popisa - Izgovori broj za sve metode pomicanja + Govori kada je zaslon isključen + Obavijesti se izgovaraju kada je zaslon isključen + Obavijesti se ne izgovaraju kada je zaslon isključen + Izgovori broj stavki popisa na zaslonu + Izgovaraj samo prilikom pomicanja pokretom + Uvijek izgovaraj Pokrijte senzor blizine da biste zaustavili govor - Izgovori slova s primjerima - Kad odaberete tipke na tipkovnici ili se krećete po znakovima, čut ćete primjer uz svako slovo, npr. \"h, hotel\" - Izgovori interpunkcije i simbole + Izgovaranje slova fonetski + Fonetska se slova ne izgovaraju + Fonetska se slova izgovaraju prilikom dugog pritiska na tipke tipkovnice i kretanja znak po znak + Interpunkcija + Interpunkcija i simboli ne izgovaraju se + Interpunkcija i simboli se izgovaraju Velika slova Ne poduzimaj ništa Reci \"veliko slovo\" Promjena visine glasa Reprodukcija zvuka Izgovaraj savjete za upotrebu - Nakon opisa sadržaja predloži način upotrebe - Izgovori informacije o popisu i rešetki + Savjeti za upotrebu ne izgovaraju se prilikom premještanja fokusa pristupačnosti + Savjeti za upotrebu izgovaraju se tijekom kretanja, nakon kratke odgode + Izgovaranje podataka o popisima i rešetkama + Izgovaraju se podaci o popisima i rešetkama + Ne izgovaraju se podaci o popisima i rešetkama Želite li vratiti pokrete na zadano? Time će se svi pokreti vratiti na zadane radnje.\n\nIzgubit ćete sve promjene koje ste izvršili. Vrati na zadano Postavke pokreta vraćene su na zadano. Izgovori vrstu elementa - Za stavke u fokusu + Za fokusirane stavke izgovara se vrsta elementa + Za fokusirane stavke ne izgovara se vrsta elementa Izgovori ID-ove elemenata - Za gumbe bez oznaka - Izgovaranje prozora sustava - Kada se prebacite na druge prozore sustava, kao što su traka statusa, obavijesti ili kontrole za glasnoću + ID-ovi elemenata ne izgovaraju se za gumbe bez oznaka + ID-ovi elemenata izgovaraju se za gumbe bez oznaka Istraži dodirom Kontrole Dodirnite jednom za aktivaciju Jedanput dodirnite fokusiranu stavku da biste je aktivirali Opširnost govora - Izgovori interpunkcije i simbole + Interpunkcija Prilagodite pokazivač fokusa Prilagodi pokrete Prilagođene oznake @@ -203,7 +211,8 @@ Izmjenjuj visinu glasa Odjek tipkovnice Poredak opisa elemenata - U višem tonalitetu izgovorite izbrisana slova + U višem tonalitetu izgovorite tekst izbrisan putem tipkovnice + Visina glasa ne mijenja se tijekom govora Brajična tipkovnica Obavijest vibracijom Obavijest zvukom @@ -211,6 +220,7 @@ Smanjenje glasnoće drugih zvukova tijekom govora Glasnoća zvučnog signala Prečac za obustavljanje i nastavljanje Talkbacka + Sakrij prečac na zaslonu Postavke razvojnog programera Odaberite događaje za zapisnik Filtriraj bilježenje događaja pristupačnosti u zapisnik @@ -256,7 +266,7 @@ Otvaranje TalkBackovog izbornika Pauziraj povratne informacije Pauziranje ili ponovno pokretanje govora - Uključivanje ili isključivanje govora + Uključivanje ili isključivanje zvuka TalkBacka Čitanje počevši od vrha Čitanje počevši od sljedeće stavke Ispis stabla čvorova @@ -278,7 +288,6 @@ Prečac za zadržavanje gumba za Pristupačnost Prebacite fokus kretanja prema naprijed ili promijenite kontrolu za čitanje na sljedeću u nizu Prebacite fokus kretanja prema natrag ili prilagodite kontrolu za čitanje prema gore - Aktiviranje trenutačno odabrane radnje Rezultat pretraživanja Reproduciranje ili pauziranje medija Sve aplikacije @@ -323,7 +332,7 @@ Čitanje Posebne značajke Drugo - Prikazuje kada radnje postoje za trenutačnu stavku, uključujući kopiranje, ljepljenje, odabir i drugo + Prikazuje se kad postoje prilagođene radnje za trenutačnu stavku Kopirajte, zalijepite, odaberite i drugo. Prikazuje se kada odaberete tekstni okvir. Otvaraju se veze u fokusiranoj stavci Idite na sljedeću ili prethodnu stranicu. Prikazuje se kada čitate sadržaj s više stranica. @@ -342,7 +351,6 @@ Otvaraju se postavke pretvaranja teksta u govor Isključite TalkBackove glasovne povratne informacije Ne može se uređivati - Izvršavanje radnji Čitajte jedan po jedan znak Čitajte jednu po jednu riječ Čitajte jedan po jedan redak @@ -365,7 +373,7 @@ Stišajte druge zvukove koji se reproduciraju dok TalkBack govori Pomicanje unaprijed ili unatrag Pojačavanje ili stišavanje glasnoće pristupačnosti - Čitanje teksta ugrađenog u odabranu sliku + Dohvaćanje automatskog opisa ove slike dolje dolje pa desno Prelazak prstom prema gore @@ -408,9 +416,7 @@ Dvostruki dodir i zadržavanje s dva prsta Dvostruki dodir i zadržavanje s tri prsta Dvostruki dodir i zadržavanje s četiri prsta - Dodir i zadržavanje s tri prsta Trostruki dodir i zadržavanje s dva prsta - Trostruki dodir i zadržavanje s tri prsta %1$s ili %2$s za prilagodbu %1$s za prilagodbu Nepoznati pokret @@ -433,9 +439,8 @@ Kada se zaslon uključi Kada se prikazuje zaključan zaslon Samo iz obavijesti - Zadržite prst da biste odabrali bilo koju tipku, a zatim dvaput dodirnite - Zadržite prst da biste odabrali tipku sa slovom, a zatim podignite. Dvaput dodirnite za ostale tipke. - Zadržite prst da biste odabrali bilo koju tipku, a zatim podignite + Zadržite prst da biste odabrali tipku, a zatim dvaput dodirnite + Zadržite prst da biste odabrali tipku, a zatim podignite Onemogućeno Vrlo lagano Lagano @@ -486,6 +491,7 @@ Odaberite aplikaciju da biste izvezli oznake: Ova verzija TalkBacka uključuje promjene zadanih pokreta pristupačnosti. Radnje povezane s tim pokretima mogu se prilagoditi u postavkama TalkBacka. Kada je omogućena značajka Istraži dodirom, pomoću sljedećih pokreta možete izvršavati određene radnje.\n\n%1$s Dugo pritisnite tipku za pojačavanje i tipku za stišavanje + Triput brzo pritisnite obje tipke za glasnoću da biste sakrili ili prikazali zaslon Sakriti zaslon? Time se isključuje prikaz na zaslonu radi zaštite privatnosti na javnim mjestima Ova verzija TalkBacka uključuje promjene zadanih pokreta pristupačnosti.\n\nPokret \"gore pa dolje\" omogućuje vam pomak na prvu stavku na zaslonu, a pokret \"dolje pa gore\" pomaknut će vas na zadnju stavku.\n\nRazinu čitanja sada možete promijeniti tako da fokusirate stavku, a potom odaberete razinu na TalkBackovom kontekstnom izborniku.\n\nU postavkama TalkBacka možete promijeniti radnje koje se izvode tim pokretima. @@ -501,9 +507,6 @@ Jeste li sigurni da želite uključiti ispravljanje pogrešaka stabla čvorova?\n\nIspravljanje pogrešaka stabla čvorova izlaže sadržaj zaslona zapisnicima uređaja koje mogu čitati druge aplikacije. Želite li omogućiti statistiku izvedbe? Jeste li sigurni da želite uključiti statistiku izvedbe?\n\nStatistika izvedbe može trošiti više memorije i baterije. - Omogućiti opširno bilježenje u zapisnik? - Opširno bilježenje u zapisnik može pomoći u otklanjanju pogrešaka , no može dovesti do toga da se osobni podaci pojave u međuspremniku zapisnika sustava.\n\n Želite li omogućiti opširno bilježenje u zapisnik? - Da, omogući opširno bilježenje u zapisnik Dopustiti pristup telefonu? To pomaže TalkBacku da smanji broj obavijesti tijekom poziva Nastavi @@ -558,11 +561,9 @@ Glasnoća pristupačnosti Prilagodi klizač Prilagodi vrijednost - Radnje Izgovaranje zaporki Zaporke se uvijek izgovaraju Zvuk i vibracija - Zvuk kopirano, %1$s Zatvori Zatvori pretraživanje @@ -598,15 +599,13 @@ %1$s da bi se čitalo po %2$s Da biste to koristili, otvorite postavke TalkBacka i dodajte pokret za \"%1$s\" Brajična tipkovnica nije uključena. Otvorite postavke TalkBacka, postavite brajičnu tipkovnicu i pokušajte ponovo. - Prijedlozi su dostupni - Prijedlozi su dostupni. Za pristup učinite sljedeće: %1$s Stranica %1$d od %2$d Prethodno Dalje Zatvori Završi Idi gore - Nove značajke u TalkBacku + Nove značajke u TalkBacku Zatvoriti vodič? Možete se vratiti bilo kada u postavkama TalkBacka. Ostani u vodiču @@ -650,14 +649,6 @@ Dodirnite da biste saznali kako koristiti TalkBack brže pomoću novih pokreta. Stablo čvorova ispisano je u zapisnike. Ovo su nedavni pokreti. Prijavite koji je pokret pogrešan i što se očekuje. - Imat ćete pojednostavljene kontrole glasnoće, brže kontrole radnji i još toga.\n\nNa sljedećih nekoliko zaslona saznat ćete više o ključnim ažuriranjima i promjenama. Za to će vam trebati otprilike pet minuta.\n\nTe ćete informacije uvijek moći pregledati u postavkama TalkBacka. - Promjene kontrole glasnoće - Kako bi se poboljšala kontrola glasnoće, tipke za glasnoću više se ne upotrebljavaju za upravljanje tekstnim pokazivačima i klizačima .\n\nDa biste promijenili položaj klizača, prstom prijeđite prema gore ili dolje.\n\nDa biste promijenili položaj tekstnog pokazivača, prijeđite prstom prema gore ili dolje unutar tekstnog okvira. Navedeno se također odnosi i na kontrole za čitanje brajične tipkovnice. - Tekst na slikama - Više pojedinosti o tekstu na slikama možete dobiti automatski ili onda kada su vam potrebne.\n\nZa slike bez oznaka: TalkBack će automatski pročitati prikazani tekst.\n\nZa sve slike: otvorite izbornik TalkBacka i odaberite Opis teksta u slici.\n\nSlike ostaju na vašem uređaju i nikad se ne šalju Googleu. To znači da se tim značajkama možete koristiti bez internetske veze. - Kretanje kroz prozore - Možete se prebacivati između različitih odjeljaka na zaslonu, primjerice trake obavijesti, glavnog sadržaja i tipkovnice.\n\nDa biste se koristili kretanjem kroz prozore, s četiri prsta prijeđite prema dolje. - Možete se prebacivati između različitih odjeljaka na zaslonu, primjerice trake obavijesti, glavnog sadržaja i tipkovnice.\n\nDa biste se koristili kretanjem kroz prozore, prstom prvo prijeđite prema dolje, a potom prema gore. Ponavljajte navedeno dok ne odaberete kretanje kroz prozor. Da biste došli do prozora, prstom prijeđite prema dolje. Vodič Dobro došli u TalkBack TalkBack je čitač zaslona namijenjen situacijama u kojima je zaslon slabo vidljiv ili za osobe koje imaju poteškoća s vidom. Daje govorne povratne informacije tako da uređaj možete koristiti bez gledanja zaslona.\n\nTalkBack možete uključiti ili isključiti tako da pritisnete obje tipke za glasnoću na nekoliko sekundi.\n\nKad je TalkBack uključen, fokusirana stavka na zaslonu izgovara se naglas.\n\nPrijeđete li prstom udesno, prijeći ćete na sljedeću stavku; prijeđete li prstom ulijevo, vratit ćete se na prethodnu stavku.\n\nSad prijeđite prstom udesno da biste pronašli gumb Dalje. @@ -700,14 +691,14 @@ Pomičite prst po tipkovnici. Kad začujete slovo koje želite unijeti, podignite prst.\n\nPokušajte aktivirati tekstni okvir u nastavku i napisati svoje ime. Možete pisati i pomoću tipkovnice za brajicu. Pronađite je u postavkama TalkBacka. Pomicanje pokazivača - Kada aktivirate tekstni okvir pokazivač možete pomicati između slova tako da prstom prelazite prema gore ili dolje.\n\nIsprobajte to u tekstnom okviru u nastavku. + Kad aktivirate tekstni okvir, možete pomicati pokazivač između slova pritiskom na tipke za pojačavanje ili stišavanje glasnoće.\n\nPokušajte to učiniti u tekstnom okviru u nastavku. Dobro došli u TalkBack Odabir teksta U tekstnom okviru postavite pokazivač na početak teksta koji želite odabrati.\n\nDodirnite dvaput s dva prsta i zadržite da biste započeli s odabirom. Zatim premjestite pokazivač na kraj teksta. Ponovo dodirnite dvaput s dva prsta i zadržite da biste dovršili odabir.\n\nPokušajte odabrati riječi \"Dobro došli\" u tekstnom okviru u nastavku. - U tekstnom okviru postavite pokazivač na početak teksta koji želite odabrati.\n\nPrijeđite prstom prema dolje pa udesno da biste otvorili TalkBackov izbornik. Dvaput dodirnite radnje, a zatim započnite s odabirom. Postavite pokazivač na kraj teksta.\n\nPonovo otvorite TalkBackov izbornik, a zatim dvaput dodirnite radnje da biste dovršili odabir.\n\nPokušajte odabrati riječi \"Dobro došli\" u tekstnom okviru u nastavku. + U tekstnom okviru postavite pokazivač na početak teksta koji želite odabrati.\n\nPrijeđite prstom prema dolje pa udesno da biste otvorili TalkBackov izbornik. Dvaput dodirnite opcije uređivanja, a zatim započnite s odabirom. Postavite pokazivač na kraj teksta.\n\nPonovo otvorite TalkBackov izbornik, a zatim dvaput dodirnite opcije uređivanja da biste dovršili odabir.\n\nPokušajte odabrati riječi \"Dobro došli\" u tekstnom okviru u nastavku. Kopiranje, rezanje i lijepljenje - Nakon odabira teksta dvaput dodirnite radnje i kopirajte tekst.\n\nPokušajte kopirati riječ iz tekstnog okvira u nastavku. - Da biste izrezali ili zalijepili tekst, otvorite TalkBackov izbornik i dvaput dodirnite radnje.\n\nDa biste zalijepili tekst, triput dodirnite s tri prsta.\n\nPokušajte zalijepiti riječ u tekstni okvir u nastavku. + Nakon što odaberete tekst, kopirajte ga tako što ćete dvaput dodirnuti s tri prsta.\n\nPokušajte kopirati riječ iz tekstnog okvira u nastavku. + Da biste izrezali tekst, dvaput dodirnite s tri prsta i zadržite.\n\nDa biste zalijepili tekst, triput dodirnite s tri prsta.\n\nPokušajte zalijepiti riječ u tekstni okvir u nastavku. Nakon što odaberete tekst, možete ga kopirati pomoću TalkBackovog izbornika. Prijeđite prstom prema dolje pa udesno da biste otvorili TalkBackov izbornik. Dvaput dodirnite opcije uređivanja, a zatim kopirajte.\n\nPokušajte kopirati riječ iz tekstnog okvira u nastavku. Da biste izrezali ili zalijepili tekst, otvorite TalkBackov izbornik i dvaput dodirnite opcije uređivanja.\n\nPokušajte zalijepiti riječ u tekstni okvir u nastavku. Ovdje zalijepite tekst @@ -750,7 +741,6 @@ Prijeđite prstom ulijevo ili udesno da biste se pomicali između stavki Dvaput dodirnite da biste aktivirali stavku Povucite dva prsta da biste se pomicali - Provjerite je li telefon povezan. Debeli obrubi Boja Zadano @@ -762,12 +752,6 @@ Siva Anketa ja zatvorena Tekst: %1$s - Opis teksta u slici - Otkrivena ikona: %1$s - Radnja nije podržana. - Nije odabrana nijedna radnja. - Odaberite podržanu radnju. - Nema radnji. - Nije omogućena postavka radnji. - Tekst nije pronađen + Opiši sliku + Predviđena ikona: %1$s diff --git a/talkback/src/main/res/values-hu/strings.xml b/talkback/src/main/res/values-hu/strings.xml index 9d0860934..47324259c 100644 --- a/talkback/src/main/res/values-hu/strings.xml +++ b/talkback/src/main/res/values-hu/strings.xml @@ -7,7 +7,6 @@ A szövegfelolvasás beállításai Nyelvek Beszélt nyelv - Műveletek Rendszerműveletek Verzió: %1$s Egyéni címkék kezelése @@ -31,37 +30,46 @@ Eszköz feloldva. Hang Beszéd hangereje - Értesítésolvasás kikapcsolt képernyőnél - A listaelemek számának kimondása minden alkalommal - Az elemek számának kimondása az összes görgetési módnál + Beszéd zárolt képernyőnél + Az értesítéseket olvassa fel a rendszer zárolt képernyőnél + Nincs beszéd zárolt képernyőnél + A kijelzőn látható listaelemek számának kimondása + Csak kézmozdulattal való görgetés közben mondja ki + Mindig mondja ki A beszéd befejezéséhez takarja le a közelségérzékelőt. - Betűk kimondása példákkal - Amikor kiválasztja a billentyűzet gombjait, vagy karakterenként navigál, példát hallhat az egyes betűknél (például „h, hotel”) - Központozás és szimbólumok kimondása + Fonetikus betűk kimondása + A fonetikus betűk nem lesznek kimondva + A fonetikus betűk akkor lesznek kimondva, ha hosszan lenyomva tartja a billentyűket, és karakterenként navigál + Központozás + A központozást és a szimbólumokat nem mondja ki hangosan a rendszer. + A központozást és a szimbólumokat hangosan kimondja a rendszer. Nagybetűk Ne tegyen semmit Mondja, hogy „nagybetűs” Hangmagasság módosítása Hang lejátszása Használati tippek kimondása - Használati javaslat a tartalom leírása után - Lista- és rácsadatok kimondása + A használati tippek nem lesznek kimondva a kisegítő lehetőségek fókuszváltásakor + A használati tippek navigálás közben lesznek kimondva kis késleltetéssel + Lista- és rácsinformációk kimondása + A lista- és rácsinformációk ki lesznek mondva + A lista- és rácsinformációk nem lesznek kimondva Biztosan visszaállítja a kézmozdulatokat? Ezzel az összes kézmozdulatot az alapértelmezett műveletekre állítja vissza.\n\nAz elvégzett módosítások így elvesznek. Visszaállítás Sikerült a kézmozdulatok beállításainak visszaállítása. Elemtípus kimondása - Fókuszban lévő elemeknél + A fókuszban lévő elemek típusa ki lesz mondva + A fókuszban lévő elemek típusa nem lesz kimondva Elemazonosítók felolvasása - Címke nélküli gomboknál - Beszélő rendszerablakok - Amikor egyéb rendszerablakokra vált (pl. az állapotsorra, az értesítésekre vagy a hangerőszabályzókra) + A címke nélküli gombok esetében az elemazonosítók nem lesznek felolvasva + A címke nélküli gombok esetében az elemazonosítók fel lesznek olvasva Felfedezés érintéssel Vezérlők Koppintson egyszer az aktiváláshoz Az aktiváláshoz koppintson egyszer az éppen kijelölt elemre Részletesség - Központozás és szimbólumok kimondása + Központozás Fókuszjelző személyre szabása Kézmozdulatok testreszabása Egyéni címkék @@ -203,7 +211,8 @@ Hangmagasság-változtatások használata Leütött billentyűk kimondása Elemleírás sorrendje - A törölt betűk magasabb hangszínben történő kimondása + A billentyűzettel törölt szöveg magasabb hangszínben történő kimondása + Ne módosítsa a hangmagasságot beszéd közben Braille-billentyűzet Visszajelzés rezgéssel Visszajelzés hanggal @@ -211,6 +220,7 @@ A hangerő csökkentése beszéd közben Visszajelzés hangereje „TalkBack felfüggesztése és folytatása” gyorsparancs + Képernyő elrejtése gyorsparancs Fejlesztői beállítások Válassza ki a naplózni kívánt eseményeket Kisegítő lehetőségekkel kapcsolatos naplózás szűrése @@ -256,7 +266,7 @@ TalkBack-menü megnyitása Visszajelzés szüneteltetése Beszéd szüneteltetése vagy folytatása - A beszéd be- vagy kikapcsolása + A TalkBack-hang be- vagy kikapcsolása Olvasás a tetejétől Olvasás a következő elemtől Csomópont-hierarchia nyomtatása @@ -278,7 +288,6 @@ Tartsa lenyomva a kisegítő lehetőségek gyorsparancsát Fókusz előreléptetése vagy az olvasási vezérlő lefelé mozgatása Fókusz visszaléptetése vagy az olvasási vezérlő felfelé mozgatása - A jelenleg kiválasztott művelet aktiválása Találatok Médiatartalom lejátszása/szüneteltetése Az összes alkalmazás @@ -323,7 +332,7 @@ Olvasás Speciális funkciók Egyéb - Megjeleníti a jelenlegi elemnél rendelkezésre álló műveleteket, beleértve a másolást, a beillesztést, a kiválasztást stb. + Megjelenik, amikor az aktuális elemnél egyéni műveletek végezhetők. Másolás, beillesztés, kiválasztás és egyéb lehetőségek. Megjelenik, amikor szövegmezőt választ ki. Megnyitja a fókuszban lévő elemen belüli linkeket. A következő vagy az előző oldalra ugrik. Megjelenik, amikor Ön több oldallal rendelkező tartalmat olvas. @@ -342,7 +351,6 @@ Megnyitja a szövegfelolvasáshoz tartozó beállításokat. Kikapcsolja a TalkBack hangos visszajelzését. Nem szerkeszthető - Műveletek végrehajtása Egyszerre csak egy karaktert olvas fel Egyszerre csak egy szót olvas fel Egyszerre csak egy sort olvas fel @@ -365,7 +373,7 @@ Csökkentheti az egyéb hangok hangerejét a TalkBack felolvasása közben. Görgetés előre vagy vissza Kisegítő lehetőségek hangerejének növelése vagy csökkentése - A kijelölt képbe ágyazott szöveg elolvasása + Automatikus leírás kérése erről a képről le lefelé, majd jobbra Csúsztatás felfelé @@ -408,9 +416,7 @@ Kétujjas dupla koppintás és nyomva tartás Háromujjas dupla koppintás és nyomva tartás Négyujjas dupla kopp. és nyomva tartás - Háromujjas koppintás és lenyomva tartás Kétujjas tripla koppintás és lenyomva tartás - Háromujjas tripla koppintás és lenyomva tartás „%1$s” vagy „%2$s” a beállításhoz „%1$s” a beállításhoz Ismeretlen kézmozdulat @@ -433,9 +439,8 @@ Amikor a képernyő bekapcsol Amikor a lezárási képernyő látszik Csak értesítésből - A kiválasztáshoz tartsa ujját a kívánt billentyűn, majd koppintson duplán - A kiválasztáshoz tartsa ujját a kívánt, betűhöz tartozó billentyűn, majd emelje fel. Egyéb billentyűk esetén koppintson duplán. - A kiválasztáshoz tartsa az ujját a kívánt billentyűn, majd emelje fel + A kiválasztáshoz tartsa ujját a billentyűn, majd koppintson duplán + A kiválasztáshoz tartsa ujját a billentyűn, majd emelje fel Letiltva Nagyon enyhe Enyhe @@ -485,6 +490,7 @@ Válasszon alkalmazást a címkék exportálásához: A TalkBack ezen verziója tartalmazza az alapértelmezett kisegítő kézmozdulatok módosításait. A kézmozdulatokhoz társított műveletek a TalkBack beállításai között személyre szabhatók. Amikor a Felfedezés érintéssel funkció engedélyezve van, akkor a következő kézmozdulatokkal végezhet el bizonyos műveleteket.\n\n%1$s A hangerő növelése és csökkentése gombok egyidejű, hosszan tartó lenyomása + A képernyő gyors elrejtéséhez vagy megjelenítéséhez háromszor gyorsan egymás után nyomja meg mindkét hangerőszabályzó gombot Elrejti a képernyőt? Ez kikapcsolja a kijelzőt az adatok védelmének növelése érdekében, így amikor nyilvános helyen tartózkodik, mások nem fogják látni eszköze képernyőjét A TalkBack ezen verziójában módosultak a kisegítő lehetőségek alapértelmezett kézmozdulatai.\n\nA fel-le kézmozdulat segítségével a képernyő első eleméhez kerülhet, míg a le-fel kézmozdulattal a legutolsó elemhez juthat.\n\nAz olvasási részletességet mostantól úgy is módosíthatja, hogy kijelöl egy adott elemet, majd a TalkBack helyi menüjéből kiválasztja a részletességet.\n\nA TalkBack-beállításokban módosíthatja az ezen kézmozdulatok által végrehajtható műveleteket. @@ -500,9 +506,6 @@ Biztosan bekapcsolja a csomópont-hierarchia hibakeresést?\n\nA csomópont-hierarchia hibakeresés feltárja a képernyő tartalmát az eszköz naplóinak, amelyeket más alkalmazások is olvashatnak. Engedélyezi a Teljesítménystatisztika funkciót? Biztos benne, hogy bekapcsolja a Teljesítménystatisztika funkciót?\n\nElőfordulhat, hogy a Teljesítménystatisztika funkció használata nagyobb memória- és áramfogyasztással jár. - Engedélyezi a részletes naplózást? - A részletes naplózás segíthet a hibaelhárításban, de személyes információk megjelenítéséhez is vezethet a rendszer naplópufferében.\n\n Engedélyezi a részletes naplózást? - Igen, engedélyezem a részletes naplózást Engedélyezi a telefonhoz való hozzáférést? A TalkBack ennek segítségével csökkentheti a hívás közben megjelenő közlemények számát Tovább @@ -556,11 +559,9 @@ Kisegítő lehetőségek hangereje Csúszka módosítása Érték módosítása - Műveletek Jelszavak felolvasása Mindig felolvassa a jelszavakat Hangok és rezgések - Hang másolva, %1$s Bezárás Keresés bezárása @@ -595,15 +596,13 @@ %1$s a következő szerinti felolvasáshoz: %2$s A funkció használatához lépjen a TalkBack beállításaiba, és vegyen fel kézmozdulatot a következőre: %1$s A Braille-billentyűzet nincs bekapcsolva. A TalkBack beállításaiban állítsa be, majd próbálja újra. - Javaslatok állnak rendelkezésre - Javaslatok állnak rendelkezésre. A megtekintéshez: %1$s. %2$d/%1$d. oldal Vissza Tovább Bezárás Befejezés Felfelé navigálás - A TalkBack új funkciói + A TalkBack új funkciói Bezárja az útmutatót? Bármikor visszatérhet a TalkBack beállításaiban. Útmutató folytatása @@ -647,14 +646,6 @@ Koppintással további információhoz juthat arról, hogyan használhatja a TalkBacket gyorsabban az új kézmozdulatokkal. A csomópont-hierarchia naplókba történő nyomtatása megtörtént. Itt láthatja a nemrég végzett kézmozdulatokat. Kérjük, jelentse a problémás kézmozdulatokat, és számoljon be arról, mit várt tőlük. - Egyszerűbb hangerő-szabályozás, gyorsabb műveletvezérlés és egyebek.\n\nA következőkben megismerheti a legfontosabb újdonságokat és változtatásokat. Ehhez nagyjából öt percre van szükség.\n\nEzeket az információkat bármikor újra megtekintheti a TalkBack beállításaiban. - Hangerő-szabályozási változások - A hangerő-szabályozás javítása érdekében a hangerőszabályzó gombok a továbbiakban nincsenek hatással a szövegkurzorokra és a csúszkákra.\n\nA csúszkák helyzetének módosításához csúsztasson gyorsan felfelé vagy lefelé.\n\nA szövegkurzorok helyzetének módosításához csúsztasson gyorsan felfelé vagy lefelé a szövegmezőben. Ez a változás a Braille-billentyűzet felolvasásvezérlésére is érvényes. - Képeken szereplő szöveg - További információkhoz juthat a képeken szereplő szövegről automatikusan, vagy amikor szüksége van rá.\n\nA címke nélküli képeknél: a TalkBack automatikusan felolvassa a megjelenő szöveget.\n\nMinden kép esetén: Nyissa meg a TalkBack menüt, és válassza „A képen lévő szöveg leírása” lehetőséget.\n\nA képek az eszközön maradnak, és a rendszer nem továbbítja őket a Google-nak. Így mindkét funkciót internetkapcsolat nélkül használhatja. - Ablaknavigáció - Válthat a képernyő különböző részei, például az értesítő sáv, a fő tartalom és a billentyűzet között.\n\nAz ablaknavigáció használatához négy ujjal csúsztasson gyorsan lefelé. - Válthat a képernyő különböző részei, például az értesítő sáv, a fő tartalom és a billentyűzet között.\n\nAz ablaknavigáció használatához csúsztasson gyorsan lefelé, majd felfelé. Egészen addig folytathatja ezt a műveletet, amíg ki nem választotta az ablaknavigációt. Az ablakhoz való navigálás érdekében csúsztasson gyorsan lefelé. Útmutató Üdvözli a TalkBack A TalkBack képernyőolvasót olyan helyzetekre terveztük, amikor a felhasználók nem látják jól a képernyőt. A funkció hangos visszajelzést biztosít, így anélkül is használhatja a képernyőt, hogy ránézne.\n\nA TalkBack be- vagy kikapcsolásához tartsa lenyomva mindkét hangerőszabályzó gombot néhány másodpercig.\n\nAmikor a TalkBack be van kapcsolva, a rendszer hangosan felolvassa a képernyőn fókuszban található elemet.\n\nJobbra csúsztatással a következő, balra csúsztatással pedig az előző elemre léphet.\n\nCsúsztasson jobbra most a Tovább gombra lépéshez. @@ -697,14 +688,14 @@ Húzza az ujját a billentyűzeten. Amikor meghallja a beírni kívánt betűt, emelje fel az ujját.\n\nAktiválja az alábbi szövegmezőt, és írja be a nevét. Braille-billentyűzetet is használhat a gépeléshez. Bekapcsolása a TalkBack beállításaiban lehetséges. A kurzor mozgatása - A szövegmező aktiválása után felfelé vagy lefelé történő gyors csúsztatással tudja mozgatni a kurzort a betűk között.\n\nPróbálja ki az alábbi szövegmezőben. + A szövegmező aktiválása után a hangerőszabályzó gombok segítségével tudja mozgatni a kurzort a betűk között.\n\nPróbálja ki az alábbi szövegmezőben. Üdvözli a TalkBack Szöveg kijelölése A szövegmezőben helyezze a kurzort a kijelölni kívánt szöveg elejére.\n\nKoppintson duplán két ujjával, és tartsa lenyomva ujjait a kijelölési mód elindításához. Ezután helyezze a kurzort a szöveg végére. Koppintson ismét duplán két ujjával, és tartsa lenyomva ujjait a kijelölési mód bezárásához.\n\nPróbálja meg kijelölni a lenti szövegmezőben található „Üdvözli” szót. - A szövegmezőben helyezze a kurzort a kijelölni kívánt szöveg elejére.\n\nA TalkBack-menü megnyitásához csúsztasson lefelé, majd jobbra. Koppintson duplán a műveletekre, majd a Kijelölési mód indítása lehetőségre. Helyezze a kurzort a szöveg végére.\n\nNyissa meg újra a TalkBack-menüt, majd koppintson duplán a műveletekre a kijelölési mód bezárásához.\n\nPróbálja meg kijelölni a lenti szövegmezőben található „Üdvözli” szót. + A szövegmezőben helyezze a kurzort a kijelölni kívánt szöveg elejére.\n\nA TalkBack-menü megnyitásához csúsztasson lefelé, majd jobbra. Koppintson duplán a Szerkesztési beállításokra, majd indítsa el a kijelölési módot. Helyezze a kurzort a szöveg végére.\n\nNyissa meg újra a TalkBack-menüt, majd koppintson duplán a Szerkesztési beállítások lehetőségre a kijelölési mód bezárásához.\n\nPróbálja meg kijelölni a lenti szövegmezőben található „Üdvözli” szót. Másolás, kivágás és beillesztés - A szöveg kijelölése után koppintson duplán a műveletekre, majd a Másolás lehetőségre.\n\nPróbálja meg vágólapra másolni valamelyik szót az alábbi szövegmezőből. - Szöveg kivágásához vagy beillesztéséhez nyissa meg a TalkBack-menüt, és koppintson duplán a műveletekre.\n\nA szöveg beillesztéséhez koppintson háromszor három ujjával.\n\nPróbálja meg beilleszteni valamelyik szót az alábbi szövegmezőbe. + Miután kijelölte a szöveget, koppintson duplán három ujjával a szöveg vágólapra másolásához.\n\nMásolja vágólapra valamelyik szót az alábbi szövegmezőből. + Szöveg kivágásához koppintson duplán három ujjal, és tartsa ujjait a képernyőn.\n\nSzöveg beillesztéséhez koppintson háromszor három ujjával.\n\nIllesszen be valamilyen szót az alábbi szövegmezőbe. Miután kijelölte a kívánt szöveget, a TalkBack-menüben vágólapra másolhatja. Csúsztasson lefelé, majd jobbra a TalkBack-menü megnyitásához. Koppintson duplán a Szerkesztési beállítások, majd a Másolás lehetőségre.\n\nMásolja vágólapra valamelyik szót az alábbi szövegmezőből. Szöveg kivágásához vagy beillesztéséhez nyissa meg a TalkBack-menüt, és koppintson duplán a Szerkesztési beállítások lehetőségre.\n\nIllesszen be valamilyen szót az alábbi szövegmezőbe. Ide illesszen be szöveget @@ -747,7 +738,6 @@ A képernyők között jobbra és balra csúsztatással válthat. Koppintson duplán a kívánt elem aktiválásához Húzza két ujját a görgetéshez - Ellenőrizze, hogy csatlakoztatva van-e a telefon. Vastag szegélyek Szín Alapértelmezett @@ -759,12 +749,6 @@ Szürke Felmérés lezárva Szöveg: %1$s - A képen lévő szöveg leírása - Észlelt ikon: %1$s - A művelet nem támogatott. - Nincs kiválasztva művelet. - Válasszon támogatott műveletet. - Nincs művelet. - A műveletek beállítása nincs engedélyezve. - Nem található szöveg + Képleírás + Várható ikon: %1$s diff --git a/talkback/src/main/res/values-hy/strings.xml b/talkback/src/main/res/values-hy/strings.xml index 8bd830184..8bee01df2 100644 --- a/talkback/src/main/res/values-hy/strings.xml +++ b/talkback/src/main/res/values-hy/strings.xml @@ -1,13 +1,12 @@ Երբ TalkBack հավելվածն ակտիվ է, դուք ստանում եք ձայնային հուշումներ, որոնց շնորհիվ կարող եք սարքն օգտագործել առանց էկրանին նայելու: Սա կարող է օգտակար լինել տեսողական խնդիրներ ունեցող մարդկանց համար:\n\nԻնչպես օգտվել TalkBack-ից\n• Մատը սահեցրեք աջ կամ ձախ՝ տարրերի միջև տեղափոխվելու համար\n• Կրկնակի հպեք որևէ տարրի՝ այն ակտիվացնելու համար\n• Քաշեք երկու մատով՝ ոլորելու համար\n\nԻնչպես անջատել TalkBack-ը\n• Հպեք փոխանջատիչին: Դուք կտեսնեք կանաչ եզրագիծ: Կրկնակի հպեք փոխանջատիչին:\n• Հաստատման հաղորդագրության վրա հպեք «Հաստատել»: Այնուհետև կրկնակի հպեք «Հաստատել»: - Երբ TalkBack-ը միացված է, ձեզ կտրամադրվի ձայնային ուղեկցում, որպեսզի կարողանաք օգտագործել ձեր սարքն առանց էկրանին նայելու։ Talkback-ը նախատեսված է այն մարդկանց համար, որոնք դժվարանում են տեսնել էկրանը, ինչպես նաև այն իրավիճակների համար, երբ էկրանը չի երևում։<br><br><b>Ինչպես օգտվել TalkBack-ից</b><br>• Մատը սահեցրեք աջ կամ ձախ՝ մի տարրից մյուսին անցնելու համար<br>• Կրկնակի հպեք որևէ տարրի՝ այն ակտիվացնելու համար<br>• Քաշեք երկու մատով՝ ոլորելու համար<br><br><b>Ինչպես անջատել TalkBack-ը</b><br><br><b>Ձայնի կարգավորման կոճակներով․</b> սեղմեք և 3 վայրկյան պահեք ձայնի կարգավորման երկու կոճակները։<br><br><b>Կարգավորումներում՝</b><br>• Հպեք <b>Օգտագործել Talkback-ը</b> փոխանջատիչին։ Դուք կտեսնեք կանաչ եզրագիծ։ Կրկնակի հպեք փոխանջատիչին։<br>• Հաստատման հաղորդագրության վրա հպեք «Կանգնեցնել»։ Ապա կրկնակի հպեք «Կանգնեցնել»։ + Երբ TalkBack-ը միացված է, ձեզ կտրամադրվի ձայնային ուղեկցում, որպեսզի կարողանաք օգտագործել ձեր սարքն առանց էկրանին նայելու։ Talkback-ը նախատեսված է այն մարդկանց համար, որոնք դժվարանում են տեսնել էկրանը, ինչպես նաև այն իրավիճակների համար, երբ էկրանը չի երևում։<br><br><b>Ինչպես օգտվել TalkBack-ից</b><br>• Մատը սահեցրեք աջ կամ ձախ՝ մի տարրից մյուսին անցնելու համար<br>• Կրկնակի հպեք որևէ տարրի՝ այն ակտիվացնելու համար<br>• Քաշեք երկու մատով՝ ոլորելու համար<br><br><b>Ինչպես անջատել TalkBack-ը</b><br><br><b>Ձայնի կարգավորման կոճակներով․</b> սեղմեք և 3 վայրկյան պահեք ձայնի կարգավորման երկու կոճակները։<br><br><b>Կարգավորումներում՝</b><br>• Հպեք <b>Օգտագործել Talkback-ը</b> փոխանջատիչին։ Դուք կտեսնեք կանաչ եզրագիծ։ Կրկնակի հպեք փոխանջատիչին։<br>• Հաստատման հաղորդագրության վրա հպեք «Դադարեցնել»։ Ապա կրկնակի հպեք «Դադարեցնել»։ Հնչեցնել էկրանի տարրերը TalkBack-ի կարգավորումներ Տեքստի հնչեցման կարգավորումներ Լեզուներ Հնչեցման լեզուն - Գործողություններ Համակարգային գործողություններ Տարբերակ` %1$s Հատուկ պիտակների կառավարում @@ -31,37 +30,46 @@ Սարքն ապակողպված է: Աուդիո Արտասանության բարձրություն - Հնչեցնել ծանուցումները, երբ էկրանն անջատված է - Միշտ հնչեցնել ցանկի կետերի թիվը - Հնչեցնել ոլորման բոլոր եղանակների թիվը + Խոսել, երբ էկրանն անջատված է + Ծանուցումներն արտասանվում են, երբ էկրանն անջատված է + Ոչինչ չի արտասանվում, երբ էկրանն անջատված է + Հնչեցնել էկրանին պատկերված ցանկի կետերի թիվը + Հնչեցնել միայն ժեստով ոլորման ժամանակ + Միշտ հնչեցնել Ձեռքով փակեք հեռավորության սենսորը, որպեսզի անջատեք խոսքի արտածումը - Հնչեցնել տառերը օրինակներով - Երբ ստեղնաշարի վրա սեղմեք ստեղներ կամ անցնեք մի նիշից մյուսը, յուրաքանչյուր տառի հետ կհնչի նաև օրինակ (ինչպես՝ «h, hotel»)։ - Հնչեցնել կետադրական և մյուս նշանները + Հնչեցնել հնչյունային նշանները + Հնչյունաբանական տառերը բարձրաձայն չեն արտասանվում + Հնչյունաբանական տառերը բարձրաձայն արտասանվում են ստեղնաշարի վրա երկար սեղմելու և մեկ գրանշանով տեղափոխելու դեպքում + Կետադրություն + Կետադրական նշանները և նիշերը չեն հնչեցվում + Կետադրական նշանները և նիշերը հնչեցվում են Մեծատառեր Ոչինչ չանել Ասել մեծատառը Փոխել ձայնի տեմբրը Նվագարկել ձայնային ազդանշանը Հնչեցնել օգտագործման առաջարկները - Բովանդակությունը նկարագրելուց հետո առաջարկել օգտագործման եղանակը - Հնչեցնել ցանկի և աղյուսակի դիրքերը + Մատչելիության ֆոկուսը տեղափոխելիս օգտագործման հուշումները բարձրաձայն չեն արտասանվում + Նավիգացիայի ընթացքում օգտագործման հուշումները բարձրաձայն արտասանվում են կարճատև հապաղումից հետո + Ցուցակի և աղյուսակի դիրքերի արտասանում + Ցուցակի և աղյուսակի դիրքերի տվյալները բարձրաձայն արտասանվում են + Ցուցակի և աղյուսակի դիրքերի տվյալները բարձրաձայն չեն արտասանվում Վերակայե՞լ ժեստերի կարգավորումները Բոլոր ժեստերի կանխադրված կարգավորումները կվերականգնվեն։\n\nՁեր կատարած ոչ մի փոփոխություն չի պահպանվի։ Վերակայել Ժեստերի կարգավորումները զրոյացվեցին։ Բարձրաձայն արտասանել տարրի տեսակը - Կենտրոնացված տարրերի համար + Կենտրոնացված տարրերի տեսակը բարձրաձայն արտասանվում է + Կենտրոնացված տարրերի տեսակը բարձրաձայն չի արտասանվում Հնչեցնել տարրերի ID-ները - Առանց պիտակի կոճակների համար - Հնչեցնել համակարգի պատուհանները - Համակարգի այլ պատուհաններ (օրինակ՝ կարգավիճակի գոտի, ծանուցումներ կամ ձայնի ուժգնության կառավարման տարրեր) անցնելու դեպքում + Առանց պիտակի կոճակների ID-ները չեն հնչեցվում + Առանց պիտակի կոճակների ID-ները հնչեցվում են Հպումով ուսումնասիրում Կառավարման տարրեր Մեկ անգամ հպեք՝ ակտիվացնելու համար Մեկ անգամ հպեք ընդգծված տարրին՝ այն ակտիվացնելու համար Խոսքի ծավալը - Հնչեցնել կետադրական և մյուս նշանները + Կետադրություն Կարգավորել ֆոկուսի ցուցիչը Հարմարեցնել ժեստերը Հատուկ պիտակներ @@ -203,7 +211,8 @@ Օգտագործել բարձրության փոփոխություններ Ստեղնաշարի արձագանք Տարրերի նկարագրության հերթականություն - Բարձր ձայնով հնչեցնել տառերի ջնջումը + Բարձր ձայնով հնչեցնել ստեղնաշարի միջոցով տեքստի ջնջումը + Չփոխել ձայնի ուժգնությունը խոսելու ընթացքում Բրայլյան ստեղնաշար Թրթռոցով արձագանք Ձայնային արձագանք @@ -211,6 +220,7 @@ Խոսելու ընթացքում ցածրացնել մյուս ձայները Ազդանշանի բարձրությունը TalkBack-ի կասեցման և վերսկսման դյուրանցում + Թաքցնել էկրանի դյուրանցումը Մշակողի կարգավորումներ Ընտրեք իրադարձություններ՝ գրանցելու համար Իրադարձությունների զտում մատյանի համար @@ -256,7 +266,7 @@ Բացել TalkBack-ի ընտրացանկը Դադարեցնել արձագանքելը Դադարեցնել կամ վերսկսել հնչեցումը - Միացնել կամ անջատել հնչեցումը + Միացնել կամ անջատել TalkBack-ի ձայնը Կարդալ վերևից Կարդալ հաջորդ տարրից Տպել հանգույցի ծառը @@ -278,7 +288,6 @@ Սեղմած պահել հատուկ գործառույթների դյուրանցումը Առաջ տանել նավիգացիայի ֆոկուսը, կամ ընթերցման կառավարման տարրը ներքև իջեցնել Հետ տանել նավիգացիայի ֆոկուսը, կամ ընթերցման կառավարման տարրը վերև բարձրացնել - Ակտիվացնել ընտրված գործողությունը Որոնման արդյունք Նվագարկել/դադարեցնել մեդիաֆայլը Բոլոր հավելվածները @@ -323,7 +332,7 @@ Ընթերցում Հատուկ գործառույթներ Այլ - Ցույց է տալիս, երբ ընթացիկ տարրի համար հասանելի են գործողություններ (այդ թվում՝ պատճենումը, տեղադրումը, ընտրությունը և այլն) + Ցուցադրվում է, երբ ընթացիկ տարրի համար առկա են հատուկ գործողություններ։ Պատճենում, տեղադրում, ընտրություն և այլն։ Ցուցադրվում է, երբ ընտրում եք տեքստային դաշտ։ Բացում է ընդգծված տարրում առկա հղումները։ Անցում հաջորդ կամ նախորդ էջ։ Ցուցադրվում է, երբ դուք ընթերցում եք մի քանի էջից բաղկացած բովանդակություն։ @@ -342,7 +351,6 @@ Բացեք տեքստի հնչեցման կարգավորումները Անջատել ձայնային հուշումները TalkBack-ում Հնարավոր չէ փոփոխել - Կատարել գործողություններ Տառ առ տառ ընթերցում Բառ առ բառ ընթերցում Տող առ տող ընթերցում @@ -365,7 +373,7 @@ Նվազեցնում է այլ ձայների ուժգնությունը, երբ TalkBack-ը խոսում է։ Ոլորել առաջ կամ հետ Բարձրացրեք կամ ցածրացրեք հատուկ գործառույթների ձայնը - Կարդալ ընտրված պատկերում զետեղված տեքստը + Ստանալ ավտոմատ նկարագրություն այս պատկերի համար ներքև ներքև, ապա աջ Վերև @@ -408,9 +416,7 @@ Երկու մատով կրկնակի հպել և պահել Երեք մատով կրկնակի հպել և պահել Չորս մատով կրկնակի հպել և պահել - Երեք մատով հպել և պահել Երկու մատով եռակի հպում և պահում - Երեք մատով եռակի հպում և պահում Ճշգրտելու համար արեք «%1$s» կամ «%2$s» ժեստը Ճշգրտելու համար արեք «%1$s» ժեստը Անհայտ ժեստ @@ -433,9 +439,8 @@ Երբ էկրանը միացվում է Երբ ցուցադրվում է կողպէկրանը Միայն ծանուցումից - Որևէ ստեղն ընտրելու համար մատը սեղմած պահեք, այնուհետև կրկնակի հպեք - Որևէ տառային ստեղն ընտրելու համար մատը սեղմած պահեք, այնուհետև բարձրացրեք։ Այլ ստեղների համար կրկնակի հպեք։ - Որևէ ստեղն ընտրելու համար մատը սեղմած պահեք, այնուհետև բարձրացրեք + Բանալին ընտրելու համար մատը սեղմած պահեք, այնուհետև կրկնակի հպեք + Բանալին ընտրելու համար մատը սեղմած պահեք, այնուհետև բարձրացրեք Անջատված է Շատ թույլ Թույլ @@ -485,6 +490,7 @@ Ընտրեք հավելված պիտակներն արտահանելու համար՝ TalkBack-ի այս տարբերակը ներառում է կանխադրված հասանելիության ժեստերի փոփոխությունները: Ժեստերի հետ կապված գործողությունները կարող են հարմարեցվել TalkBack-ի կարգավորումներում: Երբ «Հպումով ուսումնասիրում» գործիքը միացված է, որոշակի գործողություններ կատարելու համար դուք կարող եք օգտագործել հետևյալ ժեստերը:\n\n%1$s Սեղմեք և սեղմած պահեք ձայնի ուժգնության վեր և վար ստեղները + Երեք անգամ արագ սեղմեք ձայնի կարգավորման երկու կոճակները՝ էկրանը թաքցնելու կամ ցուցադրելու համար Թաքցնե՞լ էկրանը Սարքի էկրանը հանրային վայրերում կանջատվի, որպեսզի այն տեսանելի չլինի կողմնակի մարդկանց։ TalkBack-ի այս տարբերակը ներառում է որոշ փոփոխություններ հատուկ գործառույթների կանխադրված ժեստերում։\n\nՎերև, ապա ներքև ժեստով կանցնեք էկրանի առաջին տարրին, իսկ ներքև, ապա վերև ժեստով՝ վերջին տարրին։\n\nԸնթերցման մանրամասնության մակարդակն այժմ կարող եք փոխել՝ սկզբում նշելով տարրը, ապա TalkBack-ի տեղային ընտրացանկից ընտրելով տարբերակը։\n\nTalkBack-ի կարգավորումներում դուք կարող եք փոփել այս ժեստերի միջոցով կատարվող գործողությունները։ @@ -500,9 +506,6 @@ Իսկապե՞ս ուզում եք միացնել հանգույցի ծառի կարգաբերումը:\n\nՀանգույցի ծառի կարգաբերումը ձեր էկրանի բովանդակությունը կարտապատկերի սարքի գրանցամատյաններում, որոնք կարող են ընթերցվել այլ ծրագրերի կողմից: Միացնե՞լ գործունեության վերաբերյալ վիճակագրությունը: Միացնե՞լ գործունեության վերաբերյալ վիճակագրությունը:\n\nՎիճակագրությունը միացնելու դեպքում կարող է ավելանալ հիշողության և մարտկոցի լիցքի օգտագործումը: - Միացնե՞լ մատյանների մանրամասն վարումը - Մատյանների մանրամասն վարումն օգնում է վրիպազերծման ժամանակ, սակայն դրա արդյունքում անձնական տեղեկությունները կարող են հայտնվել համակարգային մատյանի բուֆերում։\n\n Իսկապե՞ս ուզում եք միացնել գործառույթը։ - Այո, միացնել Հասանելի դարձնե՞լ հեռախոսը Դա թույլ կտա TalkBack-ին զանգի ընթացքում անջատել որոշ հուշումներ Շարունակել @@ -556,11 +559,9 @@ Հատուկ գործառույթների ձայնի ուժգնություն Սահիչի կարգավորում Արժեքի կարգավորում - Գործողություններ Գաղտնաբառերի հնչեցում Գաղտնաբառերը միշտ հնչեցվում են Ձայն և թրթռոց - Ձայն պատճենվել է, %1$s Փակել Փակել որոնումը @@ -595,15 +596,13 @@ %2$sով ընթերցելու համար %1$s Սա օգտագործելու համար անցեք TalkBack-ի կարգավորումներ և ավելացրեք ժեստը «%1$s» պարամետրի համար Բրայլյան ստեղնաշարը միացված չէ։ Միացրեք այն TalkBack-ի կարգավորումներում և նորից փորձեք։ - Հասանելի են առաջարկներ - Հասանելի են առաջարկներ։ Բացելու համար %1$s։ Էջ %1$d/%2$d Հետ Առաջ Փակել Ավարտել Անցնել վերև - Նոր գործառույթներ TalkBack-ում + Նոր գործառույթներ TalkBack-ում Փակե՞լ ուղեցույցը Ցանկացած ժամանակ կարող եք վերընթերցել այն՝ անցնելով TalkBack-ի կարգավորումներ։ Մնալ ուղեցույցում @@ -647,14 +646,6 @@ Հպեք՝ իմանալու, թե ինչպես ավելի արագ օգտագործել TalkBack-ը նոր ժեստերի օգնությամբ։ Հանգույցի ծառը տպվել է մատյանում։ Սրանք վերջերս արված ժեստերն են։ Խնդրում ենք հայտնել, թե որ ժեստն է սխալ և ինչ գործողություն էիք ակնկալում։ - Մենք պարզեցրել ենք ձայնի ուժգնության կարգավորումը, արագացրել նավիգացիան միջերեսում և այլն։\n\nՀաջորդ մի քանի էկրաններին դուք կծանոթանաք վերջին տարբերակի հիմնական թարմացումներին։ Դա ձեզնից մոտ 5 րոպե կխլի։\n\nՑանկացած ժամանակ կարող եք վերընթերցել այս տեղեկությունները TalkBack-ի կարգավորումներում։ - Ձայնի ուժգնության կարգավորման փոփոխություններ - Ձայնի ուժգնության կարգավորումը հեշտացնելու համար ձայնի ուժգնության կոճակների միջոցով այժմ հնարավոր չէ կառավարել տեքստի նշորդը կամ սահիչը։\n\nՍահիչը տեղաշարժելու համար մատը սահեցրեք դրա վրա վերև կամ ներքև։\n\nՏեքստի նշորդը տեղաշարժելու համար տեքստային դաշտում մատը սահեցրեք վերև կամ ներքև։ Սա վերաբերում է նաև բրայլյան ստեղնաշարով ընթերցման կառավարման տարրերին։ - Տեքստ պատկերներում - Դուք կարող եք ավտոմատ կերպով կամ ըստ անհրաժեշտության մանրամասն տեղեկանալ պատկերներում զետեղված տեքստի մասին։\n\nԱռանց պիտակի պատկերների դեպքում TalkBack-ն ավտոմատ կհնչեցնի պատկերներում եղած տեքստը։\n\nԲոլոր պատկերների դեպքում բացեք TalkBack-ի ընտրացանկը և սեղմեք «Նկարագրել տեքստը պատկերում»։\n\nՊատկերները մնում են ձեր սարքում և երբեք չեն ուղարկվում Google-ին։ Սա նշանակում է, որ այս երկու գործառույթներն էլ կարող եք օգտագործել առանց ինտերնետ կապի։ - Պատուհանների միջև նավիգացիա - Դուք կարող եք անցում կատարել ձեր էկրանի տարբեր բաժինների, օրինակ՝ ծանուցումների գոտու, հիմնական բովանդակության և ստեղնաշարի միջև։\n\nՊատուհանների միջև նավիգացիայից օգտվելու համար 4 մատը սահեցրեք ներքև։ - Դուք կարող եք անցում կատարել ձեր էկրանի տարբեր բաժինների, օրինակ՝ ծանուցումների գոտու, հիմնական բովանդակության և ստեղնաշարի միջև։\n\nՊատուհանների միջև նավիգացիայից օգտվելու համար մատը սահեցրեք ներքև, ապա վերև։ Կրկնեք այս ժեստը, մինչև ընտրեք պատուհանների միջև նավիգացիայի ռեժիմը: Անհրաժեշտ պատուհանին անցնելու համար սահեցրեք ներքև։ Ուղեցույց Ներկայացնում ենք TalkBack-ը TalkBack-ը էկրանի ընթերցիչ է, որը նախատեսված է այնպիսի իրավիճակներում օգտագործելու համար, երբ էկրանը տեսնելու հետ կապված դժվարություններ կան։ Ձայնային արձագանքը թույլ է տալիս օգտվել սարքից՝ առանց էկրանին նայելու։\n\nԴուք կարող եք միացնել և անջատել TalkBack-ը՝ մի քանի վայրկյան սեղմած պահելով ձայնի երկու կոճակները։\n\nԵրբ TalkBack-ը միացված է, էկրանին նշված տարրը բարձրաձայն արտասանվում է։\n\nԵթե մատն աջ սահեցնեք, կանցնեք հաջորդ տարրին, իսկ ձախ սահեցնելու դեպքում՝ նախորդ տարրին։\n\nԱյժմ մատը սահեցրեք աջ՝ հաջորդ կոճակը գտնելու համար։ @@ -697,14 +688,14 @@ Մատը տեղաշարժեք ստեղնաշարի վրայով։ Երբ լսեք այն տառը, որն ուզում եք մուտքագրել, բարձրացրեք մատը։\n\nՓորձեք ակտիվացնել ներքևի տեքստային դաշտը և մուտքագրել ձեր անունը։ Կարող եք նաև տեքստ մուտքագրել բրայլյան ստեղնաշարի օգնությամբ։ Գտեք այն TalkBack-ի կարգավորումներում։ Նշորդի տեղաշարժում - Եթե տեքստային դաշտ եք ակտիվացրել, կարող եք տեղաշարժել նշորդը մի տառից մյուսը՝ մատը սահեցնելով վերև կամ ներքև։\n\nՓորձեք անել դա ներքևի տեքստային դաշտում։ + Եթե տեքստային դաշտ եք ակտիվացրել, դուք կարող եք տեղաշարժել նշորդը մի տառից մյուսը՝ սեղմելով ձայնի կարգավորման (վերև կամ ներքև) կոճակները։\n\nՓորձեք անել դա ներքևի տեքստային դաշտում։ Ներկայացնում ենք TalkBack-ը Տեքստի ընտրություն Տեքստ ընտրելու համար տեքստային դաշտում նշորդը տեղաշարժեք դեպի տեքստի սկիզբ։\n\nՏեքստի նշման ռեժիմը գործարկելու համար 2 մատով կրկնակի հպեք և պահեք, ապա տեղաշարժեք նշորդը դեպի տեքստի վերջ։ Նորից 2 մատով կրկնակի հպեք և պահեք՝ տեքստի նշման ռեժիմից դուրս գալու համար։\n\nՓորձեք ներքևի տեքստային դաշտում ընտրել «Ներկայացնում» բառը։ - Տեքստ նշելու համար տեքստային դաշտում նշորդը տեղաշարժեք դեպի տեքստի սկիզբ։\n\nՄատը սահեցրեք ներքև, ապա աջ՝ TalkBack-ի ընտրացանկը բացելու համար։ Կրկնակի հպեք գործողություններին, այնուհետև գործարկեք տեքստի նշման ռեժիմը։ Նշորդը տեղաշարժեք դեպի տեքստի սկիզբ։\n\nՆորից բացեք TalkBack-ի ընտրացանկը, այնուհետև կրկնակի հպեք գործողություններին՝ տեքստի նշման ռեժիմից դուրս գալու համար։\n\nՓորձեք ներքևի տեքստային դաշտում նշել «Ներկայացնում» բառը։ + Տեքստ ընտրելու համար տեքստային դաշտում նշորդը տեղաշարժեք դեպի տեքստի սկիզբ։\n\nՄատը սահեցրեք ներքև, ապա աջ՝ TalkBack-ի ընտրացանկը բացելու համար։ Կրկնակի հպեք խմբագրման ընտրանքներին, այնուհետև գործարկեք տեքստի նշման ռեժիմը։ Նշորդը տեղաշարժեք դեպի տեքստի վերջ։\n\nՆորից բացեք TalkBack-ի ընտրացանկը, այնուհետև կրկնակի հպեք խմբագրման ընտրանքներին՝ տեքստի նշման ռեժիմից դուրս գալու համար։\n\nՓորձեք ներքևի տեքստային դաշտում նշել «Ներկայացնում» բառը։ Պատճենում, կտրում և տեղադրում - Տեքստը նշելուց հետո կրկնակի հպեք «Գործողություններ», այնուհետև «Պատճենել» ընտրանքին։\n\nՆերքևի տեքստային դաշտում փորձեք պատճենել որևէ բառ։ - Տեքստը կտրելու կամ տեղադրելու համար բացեք TalkBack-ի ընտրացանկը և կրկնակի հպեք «Գործողություններ» ընտրանքին։\n\nՏեքստը տեղադրելու համար երեք մատով եռակի հպեք։\n\nՓորձեք տեղադրել որևէ բառ ներքևի տեքստային դաշտում։ + Տեքստն ընտրելուց հետո դուք կարող եք այն պատճենել՝ 3 մատով կրկնակի հպելով։\n\nՓորձեք ներքևի տեքստային դաշտում պատճենել որևէ բառ։ + Տեքստը կտրելու համար երեք մատով կրկնակի հպեք և պահեք։\n\nՏեքստը տեղադրելու համար երեք մատով եռակի հպեք։\n\nՓորձեք որևէ բառ տեղադրել ներքևի տեքստային դաշտում։ Տեքստն ընտրելուց հետո դուք TalkBack-ի ընտրացանկի միջոցով կարող եք պատճենել այն։ Մատը սահեցրեք ներքև, ապա աջ՝ TalkBack-ի ընտրացանկը բացելու համար։ Կրկնակի հպեք խմբագրման ընտրանքներին, այնուհետև պատճենեք։\n\nՆերքևի տեքստային դաշտում փորձեք պատճենել որևէ բառ։ Տեքստը կտրելու կամ տեղադրելու համար բացեք TalkBack-ի ընտրացանկը և կրկնակի հպեք խմբագրման ընտրանքներին։\n\nՓորձեք տեղադրել որևէ բառ ներքևի տեքստային դաշտում։ Տեղադրեք տեքստն այստեղ @@ -747,7 +738,6 @@ Սահեցրեք աջ կամ ձախ՝ մեկ տարրից մյուսն անցնելու համար Կրկնակի հպեք՝ տարրն ակտիվացնելու համար Երկու մատը քաշեք՝ ոլորելու համար - Ստուգեք՝ արդյոք հեռախոսը միացված է։ Հաստ եզրագծեր Գույն Կանխադրված @@ -759,12 +749,6 @@ Մոխրագույն Հարցումը փակվել է Տեքստ՝ %1$s - Պատկերում զետեղված տեքստի նկարագրություն - Հայտնաբերվել է պատկերակ՝ %1$s - Գործողությունը չի աջակցվում։ - Գործողություններ չեն ընտրվել։ - Ընտրեք աջակցվող գործողություն։ - Գործողություններ չկան։ - Գործողությունների կարգավորումը միացված չէ։ - Տեքստ չի գտնվել + Նկարագրել պատկերը + Ենթադրվող պատկերակ՝ %1$s diff --git a/talkback/src/main/res/values-id/strings.xml b/talkback/src/main/res/values-id/strings.xml index e4269508c..f5d93dd9f 100644 --- a/talkback/src/main/res/values-id/strings.xml +++ b/talkback/src/main/res/values-id/strings.xml @@ -7,7 +7,6 @@ Setelan text-to-speech Bahasa Bahasa lisan - Tindakan Tindakan sistem Versi %1$s Mengelola Label Khusus @@ -31,37 +30,46 @@ Perangkat dibuka kuncinya. Audio Volume ucapan - Ucapkan notifikasi saat layar nonaktif - Selalu ucapkan jumlah item daftar - Mengucapkan jumlah untuk semua metode scrolling + Ucapkan saat layar nonaktif + Notifikasi diucapkan saat layar nonaktif + Tidak ada ucapan saat layar nonaktif + Ucapkan jumlah item daftar di layar + Hanya ucapkan saat scrolling dengan gestur + Selalu diucapkan Tutupi sensor kedekatan untuk menghentikan ucapan - Ucapkan huruf dengan contoh - Jika Anda memilih tombol keyboard atau memilih menurut karakter, Anda akan mendengar setiap huruf beserta contohnya, seperti \"h, hotel\" - Ucapkan tanda baca dan simbol + Ucapkan huruf fonetik + Huruf fonetik tidak diucapkan + Huruf fonetik diucapkan jika keyboard ditekan lama dan berpindah menurut karakter + Tanda Baca + Tanda baca dan simbol tidak diucapkan + Tanda baca dan simbol diucapkan Huruf kapital Jangan lakukan apa pun Ucapkan \"huruf kapital\" Ubah tinggi nada Putar suara Ucapkan petunjuk penggunaan - Setelah menjelaskan konten, sarankan cara penggunaan - Ucapkan info daftar dan petak + Petunjuk penggunaan tidak diucapkan saat memindahkan fokus aksesibilitas + Petunjuk penggunaan diucapkan selama navigasi, tetapi sedikit terlambat + Ucapkan informasi daftar dan kisi + Informasi daftar dan kisi diucapkan + Informasi daftar dan kisi item tidak diucapkan Reset gestur? Tindakan ini akan mereset semua gestur ke setelan default.\n\nSemua perubahan yang telah Anda buat akan hilang. Reset Setelan gestur telah direset. Ucapkan jenis elemen - Untuk item yang difokuskan + Jenis elemen diucapkan untuk item yang difokuskan + Jenis elemen tidak diucapkan untuk item yang difokuskan Ucapkan ID elemen - Untuk tombol yang tidak berlabel - Ucapkan jendela sistem - Saat Anda beralih ke jendela sistem lainnya seperti status bar, notifikasi, atau kontrol volume + ID elemen tidak diucapkan untuk tombol yang tidak berlabel + ID elemen diucapkan untuk tombol yang tidak berlabel Jelajahi dengan sentuhan Kontrol Satu ketukan untuk mengaktifkan Ketuk sekali item yang difokuskan untuk mengaktifkan Verbositas - Ucapkan tanda baca dan simbol + Tanda Baca Sesuaikan Indikator Fokus Sesuaikan gestur Label khusus @@ -89,7 +97,7 @@ Reset setelan gestur 1 jari 1 jari bolak-balik - Gestur berbentuk sudut dengan 1 jari + 1 jari berbelok 2 jari 3 jari 4 jari @@ -203,7 +211,8 @@ Gunakan perubahan tinggi nada Gema keyboard Urutan deskripsi elemen - Mengucapkan huruf yang dihapus dengan suara bernada lebih tinggi + Mengucapkan teks keyboard dihapus dengan suara bernada lebih tinggi + Jangan mengubah tinggi nada ketika berbicara Keyboard braille Efek getar Efek suara @@ -211,6 +220,7 @@ Turunkan volume audio lain saat berbicara Volume masukan suara Pintasan untuk menangguhkan dan melanjutkan TalkBack + Sembunyikan pintasan layar Setelan developer Pilih peristiwa untuk dicatat dalam log Filter pencatatan log aktivitas aksesibilitas @@ -256,7 +266,7 @@ Buka menu TalkBack Jeda masukan Jeda atau lanjutkan ucapan - Aktifkan atau nonaktifkan ucapan + Aktifkan atau nonaktifkan suara TalkBack Baca dari atas Baca dari item berikutnya Cetak pohon node @@ -273,12 +283,11 @@ Ubah bahasa lisan Kontrol pembacaan berikutnya Kontrol pembacaan sebelumnya - Gestur sistem terusan + Gestur sistem pass-through Pintasan aksesibilitas Tahan pintasan aksesibilitas Pindahkan fokus navigasi ke depan atau sesuaikan kontrol pembacaan ke bawah Pindahkan fokus navigasi ke belakang atau sesuaikan kontrol pembacaan ke atas - Aktifkan tindakan yang dipilih saat ini Hasil penelusuran Putar atau jeda media Semua aplikasi @@ -323,7 +332,7 @@ Pembacaan Fitur khusus Lainnya - Muncul saat ada tindakan untuk item saat ini, termasuk salin, tempel, pilih, dan lainnya + Muncul saat ada tindakan kustom untuk item saat ini Salin, tempel, pilih, dan opsi lainnya. Muncul saat Anda memilih kotak teks. Buka link dalam item yang jadi fokus Buka halaman berikutnya atau sebelumnya. Muncul saat Anda membaca konten yang berisi beberapa halaman. @@ -342,7 +351,6 @@ Buka setelan text-to-speech Menonaktifkan masukan suara TalkBack Tidak dapat diedit - Melakukan tindakan Baca satu karakter demi satu karakter Baca satu kata demi satu kata Baca satu baris demi satu baris @@ -365,7 +373,7 @@ Turunkan volume audio lain yang sedang berbunyi saat TalkBack membaca Scroll maju atau mundur Naikkan atau turunkan volume Aksesibilitas - Membacakan teks yang tersemat dalam gambar yang dipilih + Dapatkan deskripsi otomatis untuk gambar ini ke bawah ke bawah lalu ke kanan Geser ke atas @@ -408,9 +416,7 @@ Ketuk dua kali dan tahan dengan 2 jari Ketuk dua kali dan tahan dengan 3 jari Ketuk dua kali dan tahan dengan 4 jari - Sentuh lama dengan 3 jari Ketuk tiga kali dan tahan dengan 2 jari - Ketuk tiga kali dan tahan dengan 3 jari \"%1$s\" atau %2$s\" untuk menyesuaikan \"%1$s\" untuk menyesuaikan Gestur tidak dikenal @@ -433,9 +439,8 @@ Saat layar diaktifkan Saat layar kunci ditampilkan Hanya dari notifikasi - Tahan jari untuk memilih tombol, lalu ketuk dua kali - Tahan jari untuk memilih tombol huruf, lalu angkat. Ketuk dua kali untuk memilih tombol lain. - Tahan jari untuk memilih kunci, lalu angkat + Tahan jari untuk memilih kunci, lalu ketuk dua kali + Tahan jari untuk memilih kunci, lalu angkat Dinonaktifkan Sangat pelan Pelan @@ -485,6 +490,7 @@ Pilih aplikasi untuk mengekspor label: Versi TalkBack ini mencakup perubahan pada isyarat aksesibilitas default. Tindakan yang dikaitkan dengan isyarat ini dapat disesuaikan dalam setelan TalkBack. Saat Jelajahi dengan sentuhan diaktifkan, Anda dapat menggunakan isyarat berikut untuk melakukan tindakan tertentu.\n\n%1$s Tekan lama tombol keraskan dan turunkan volume + Menekan kedua tombol volume tiga kali dengan cepat akan menyembunyikan atau menampilkan layar Sembunyikan layar? Ini menonaktifkan tampilan untuk meningkatkan privasi agar layar tidak terlihat oleh orang lain saat berada di tempat publik Versi TalkBack ini meliputi perubahan gestur aksesibilitas default.\n\nGestur ke atas lalu ke bawah memungkinkan Anda berpindah ke item pertama di layar, dan gestur ke bawah lalu ke atas memungkinkan Anda berpindah ke item terakhir.\n\nPerincian pembacaan kini dapat diubah dengan memfokuskan sebuah item, lalu memilih perincian dari menu konteks TalkBack.\n\nAnda dapat mengubah tindakan yang dilakukan oleh gestur ini di Setelan TalkBack. @@ -500,9 +506,6 @@ Yakin ingin mengaktifkan debug pohon node?\n\nDebug pohon node menampilkan konten layar ke log perangkat sehingga dapat dibaca oleh aplikasi lain. Aktifkan Statistik Performa? Yakin ingin mengaktifkan statistik performa?\n\nStatistik performa mungkin mengonsumsi memori dan daya yang lebih besar. - Aktifkan logging panjang? - Logging panjang dapat membantu proses debug, tetapi dapat menyebabkan terlihatnya informasi pribadi di buffer log sistem.\n\n Ingin mengaktifkan logging panjang? - Ya, aktifkan logging panjang Izinkan akses telepon? Tindakan ini membantu TalkBack mengurangi pengumuman saat Anda sedang menelepon Lanjutkan @@ -556,11 +559,9 @@ Volume aksesibilitas Sesuaikan penggeser Sesuaikan nilai - Tindakan Ucapkan sandi Sandi selalu diucapkan Suara dan getaran - Suara %1$s disalin Tutup Tutup penelusuran @@ -579,7 +580,7 @@ Berikut beberapa hal yang dapat Anda katakan:\n\n• Salin\n• Baca dari item berikutnya\n• Temukan [yang tersimpan]\n• Bicara [lebih cepat]\n• Setelan TalkBack\n\nKatakan \"%1$s\" untuk daftar semua perintah suara Gunakan perintah suara Lewati gestur TalkBack untuk menggunakan gestur sistem - Saat mendengar bunyi bel, Anda dapat menggunakan gestur sistem yang tidak didukung oleh TalkBack. Ini dikenal sebagai gestur terusan. + Saat mendengar bunyi bel, Anda dapat menggunakan gestur sistem yang tidak didukung oleh TalkBack. Ini dikenal sebagai gestur pass-through. Istilah penelusuran TalkBack Saluran Notifikasi TalkBack @@ -595,15 +596,13 @@ %1$s untuk membaca berdasarkan %2$s Untuk menggunakan fitur ini, buka setelan TalkBack dan tambahkan gestur untuk \'%1$s\' Keyboard Braille tidak diaktifkan. Buka setelan TalkBack, siapkan keyboard Braille, lalu coba lagi. - Saran tersedia - Saran tersedia. Untuk mengaksesnya, %1$s Halaman %1$d dari %2$d Sebelumnya Berikutnya Tutup Selesai Kembali ke atas - Fitur-fitur baru di TalkBack + Fitur-fitur baru di TalkBack Tutup tutorial? Anda dapat membukanya lagi kapan saja di setelan TalkBack. Tetap ikuti tutorial @@ -647,14 +646,6 @@ Ketuk untuk mempelajari cara menggunakan TalkBack lebih cepat dengan gestur baru. Pohon node telah dicetak ke log. Berikut adalah gestur yang baru-baru ini dilakukan. Laporkan mana gestur yang salah dan mana yang benar. - Anda akan mendapatkan kontrol volume yang disederhanakan, kontrol tindakan yang lebih cepat, dan lainnya.\n\nInfo update dan perubahan penting dapat Anda lihat di beberapa layar berikutnya. Proses ini memerlukan waktu sekitar 5 menit.\n\nAnda dapat meninjau informasi ini di setelan TalkBack kapan saja. - Perubahan kontrol volume - Untuk meningkatkan pengalaman kontrol volume, tombol volume tidak lagi berfungsi untuk mengontrol kursor teks atau penggeser.\n\nUntuk mengubah posisi penggeser, geserkan jari Anda ke atas atau bawah pada layar.\n\nUntuk mengubah posisi kursor teks, geserkan jari Anda ke atas atau bawah dalam kotak teks. Aturan tindakan ini juga berlaku untuk kontrol pembacaan keyboard braille. - Teks dalam gambar - Anda bisa mendapatkan detail selengkapnya tentang teks dalam gambar secara otomatis atau saat Anda memerlukannya.\n\nUntuk gambar yang tidak memiliki label: TalkBack akan otomatis membacakan teks yang muncul.\n\nUntuk semua gambar: Buka menu TalkBack lalu pilih \"Jelaskan teks dalam gambar\".\n\nGambar tetap ada di perangkat dan tidak dikirim ke Google. Artinya, Anda dapat menggunakan kedua fitur ini tanpa koneksi internet. - Navigasi jendela - Anda dapat berpindah-pindah dari satu bagian ke bagian lain di layar, misalnya baris notifikasi, konten utama, dan keyboard.\n\nUntuk menggunakan navigasi jendela, geser ke bawah dengan 4 jari. - Anda dapat berpindah-pindah dari satu bagian ke bagian lain di layar, misalnya baris notifikasi, konten utama, dan keyboard.\n\nUntuk menggunakan navigasi jendela, geser ke bawah lalu ke atas. Terus geser sampai Anda memilih navigasi jendela. Untuk membuka jendela tersebut, geser ke bawah. Tutorial Selamat datang di TalkBack TalkBack adalah pembaca layar yang ditujukan untuk situasi yang membuat orang kesulitan melihat layar atau orang yang mengalami gangguan penglihatan. TalkBack memberikan respons lisan agar Anda dapat menggunakan perangkat tanpa melihat layar.\n\nAnda dapat mengaktifkan atau menonaktifkan TalkBack dengan menekan kedua tombol volume selama beberapa detik.\n\nSaat TalkBack aktif, item yang difokuskan di layar diucapkan dengan keras.\n\nMenggeser ke kanan akan mengalihkan ke item berikutnya, dan menggeser ke kiri akan mengalihkan ke item sebelumnya.\n\nGeser ke kanan sekarang untuk menemukan tombol berikutnya. @@ -697,14 +688,14 @@ Gerakkan jari Anda di keyboard. Jika mendengar huruf yang ingin diketik, angkat jari Anda.\n\nCoba aktifkan kotak teks di bawah ini, lalu ketik nama Anda. Anda juga dapat mengetik dengan keyboard braille. Temukan di setelan TalkBack. Memindahkan kursor - Jika mengaktifkan kotak teks, Anda dapat memindahkan kursor di antara huruf dengan menggeser ke atas atau bawah.\n\nCoba lakukan dalam kotak teks di bawah ini. + Jika mengaktifkan kotak teks, Anda dapat memindahkan kursor di antara huruf dengan menekan tombol naikkan atau turunkan volume.\n\Coba lakukan dalam kotak teks di bawah ini. Selamat datang di TalkBack Memilih teks Dalam kotak teks, pindahkan kursor ke awal teks yang ingin dipilih.\n\nKetuk dua kali dan tahan menggunakan 2 jari untuk memulai mode pemilihan. Lalu pindahkan kursor ke akhir teks. Ketuk lagi dua kali dan tahan menggunakan 2 jari untuk mengakhiri mode pemilihan.\n\nCoba pilih kata \"Selamat datang\" dalam kotak teks di bawah ini. - Dalam kotak teks, pindahkan kursor ke awal teks yang ingin dipilih.\n\nGeser ke bawah, lalu ke kanan untuk membuka menu TalkBack. Tindakan ketuk dua kali lalu mulai mode pemilihan. Pindahkan kursor ke akhir teks.\n\nBuka kembali menu TalkBack, lalu tindakan ketuk dua kali untuk mengakhiri mode pemilihan.\n\nCoba pilih kata \"Selamat datang\" dalam kotak teks di bawah ini. + Dalam kotak teks, pindahkan kursor ke awal teks yang ingin dipilih.\n\nGeser ke bawah lalu ke kanan untuk membuka menu TalkBack. Ketuk dua kali opsi pengeditan, lalu mulai mode pemilihan. Pindahkan kursor ke akhir teks.\n\nBuka menu TalkBack lagi, lalu ketuk dua kali opsi pengeditan untuk mengakhiri mode pemilihan.\n\nCoba pilih kata \"Selamat datang\" dalam kotak teks di bawah ini. Menyalin, memotong, dan menempel - Setelah memilih teks, tindakan ketuk dua kali, lalu salin.\n\nCoba salin kata dalam kotak teks di bawah ini. - Untuk memotong atau menempelkan teks, buka menu TalkBack dan tindakan ketuk dua kali.\n\nUntuk menempelkan teks, ketuk tiga kali menggunakan 3 jari.\n\nCoba tempelkan kata dalam kotak teks di bawah ini. + Setelah memilih teks, salin teks dengan mengetuk dua kali menggunakan 3 jari.\n\nCoba salin kata dalam kotak teks di bawah ini. + Untuk memotong teks, ketuk dua kali dan tahan menggunakan 3 jari.\n\nUntuk menempelkan teks, ketuk tiga kali menggunakan 3 jari.\n\nCoba tempelkan kata dalam kotak teks di bawah ini. Setelah memilih teks, Anda dapat menyalinnya di menu TalkBack. Geser ke bawah lalu ke kanan untuk membuka menu TalkBack. Ketuk dua kali opsi pengeditan, lalu salin.\n\nCoba salin kata dalam kotak teks di bawah ini. Untuk memotong atau menempelkan teks, buka menu TalkBack dan ketuk dua kali opsi pengeditan.\n\nCoba tempelkan kata dalam kotak teks di bawah ini. Tempel teks di sini @@ -747,7 +738,6 @@ Geser ke kanan atau ke kiri untuk berpindah antar-item Ketuk dua kali untuk mengaktifkan item Tarik 2 jari untuk men-scroll - Periksa apakah ponsel telah terhubung. Batas tebal Warna Default @@ -759,12 +749,6 @@ Abu-abu Survei ditutup Teks: %1$s - Jelaskan teks dalam gambar - Ikon terdeteksi: %1$s - Tindakan tidak didukung. - Tidak ada tindakan yang dipilih. - Pilih tindakan yang didukung. - Tidak ada tindakan. - Setelan tindakan tidak diaktifkan. - Teks tidak ditemukan + Deskripsikan gambar + Prediksi ikon: %1$s diff --git a/talkback/src/main/res/values-in/strings.xml b/talkback/src/main/res/values-in/strings.xml index e4269508c..f5d93dd9f 100644 --- a/talkback/src/main/res/values-in/strings.xml +++ b/talkback/src/main/res/values-in/strings.xml @@ -7,7 +7,6 @@ Setelan text-to-speech Bahasa Bahasa lisan - Tindakan Tindakan sistem Versi %1$s Mengelola Label Khusus @@ -31,37 +30,46 @@ Perangkat dibuka kuncinya. Audio Volume ucapan - Ucapkan notifikasi saat layar nonaktif - Selalu ucapkan jumlah item daftar - Mengucapkan jumlah untuk semua metode scrolling + Ucapkan saat layar nonaktif + Notifikasi diucapkan saat layar nonaktif + Tidak ada ucapan saat layar nonaktif + Ucapkan jumlah item daftar di layar + Hanya ucapkan saat scrolling dengan gestur + Selalu diucapkan Tutupi sensor kedekatan untuk menghentikan ucapan - Ucapkan huruf dengan contoh - Jika Anda memilih tombol keyboard atau memilih menurut karakter, Anda akan mendengar setiap huruf beserta contohnya, seperti \"h, hotel\" - Ucapkan tanda baca dan simbol + Ucapkan huruf fonetik + Huruf fonetik tidak diucapkan + Huruf fonetik diucapkan jika keyboard ditekan lama dan berpindah menurut karakter + Tanda Baca + Tanda baca dan simbol tidak diucapkan + Tanda baca dan simbol diucapkan Huruf kapital Jangan lakukan apa pun Ucapkan \"huruf kapital\" Ubah tinggi nada Putar suara Ucapkan petunjuk penggunaan - Setelah menjelaskan konten, sarankan cara penggunaan - Ucapkan info daftar dan petak + Petunjuk penggunaan tidak diucapkan saat memindahkan fokus aksesibilitas + Petunjuk penggunaan diucapkan selama navigasi, tetapi sedikit terlambat + Ucapkan informasi daftar dan kisi + Informasi daftar dan kisi diucapkan + Informasi daftar dan kisi item tidak diucapkan Reset gestur? Tindakan ini akan mereset semua gestur ke setelan default.\n\nSemua perubahan yang telah Anda buat akan hilang. Reset Setelan gestur telah direset. Ucapkan jenis elemen - Untuk item yang difokuskan + Jenis elemen diucapkan untuk item yang difokuskan + Jenis elemen tidak diucapkan untuk item yang difokuskan Ucapkan ID elemen - Untuk tombol yang tidak berlabel - Ucapkan jendela sistem - Saat Anda beralih ke jendela sistem lainnya seperti status bar, notifikasi, atau kontrol volume + ID elemen tidak diucapkan untuk tombol yang tidak berlabel + ID elemen diucapkan untuk tombol yang tidak berlabel Jelajahi dengan sentuhan Kontrol Satu ketukan untuk mengaktifkan Ketuk sekali item yang difokuskan untuk mengaktifkan Verbositas - Ucapkan tanda baca dan simbol + Tanda Baca Sesuaikan Indikator Fokus Sesuaikan gestur Label khusus @@ -89,7 +97,7 @@ Reset setelan gestur 1 jari 1 jari bolak-balik - Gestur berbentuk sudut dengan 1 jari + 1 jari berbelok 2 jari 3 jari 4 jari @@ -203,7 +211,8 @@ Gunakan perubahan tinggi nada Gema keyboard Urutan deskripsi elemen - Mengucapkan huruf yang dihapus dengan suara bernada lebih tinggi + Mengucapkan teks keyboard dihapus dengan suara bernada lebih tinggi + Jangan mengubah tinggi nada ketika berbicara Keyboard braille Efek getar Efek suara @@ -211,6 +220,7 @@ Turunkan volume audio lain saat berbicara Volume masukan suara Pintasan untuk menangguhkan dan melanjutkan TalkBack + Sembunyikan pintasan layar Setelan developer Pilih peristiwa untuk dicatat dalam log Filter pencatatan log aktivitas aksesibilitas @@ -256,7 +266,7 @@ Buka menu TalkBack Jeda masukan Jeda atau lanjutkan ucapan - Aktifkan atau nonaktifkan ucapan + Aktifkan atau nonaktifkan suara TalkBack Baca dari atas Baca dari item berikutnya Cetak pohon node @@ -273,12 +283,11 @@ Ubah bahasa lisan Kontrol pembacaan berikutnya Kontrol pembacaan sebelumnya - Gestur sistem terusan + Gestur sistem pass-through Pintasan aksesibilitas Tahan pintasan aksesibilitas Pindahkan fokus navigasi ke depan atau sesuaikan kontrol pembacaan ke bawah Pindahkan fokus navigasi ke belakang atau sesuaikan kontrol pembacaan ke atas - Aktifkan tindakan yang dipilih saat ini Hasil penelusuran Putar atau jeda media Semua aplikasi @@ -323,7 +332,7 @@ Pembacaan Fitur khusus Lainnya - Muncul saat ada tindakan untuk item saat ini, termasuk salin, tempel, pilih, dan lainnya + Muncul saat ada tindakan kustom untuk item saat ini Salin, tempel, pilih, dan opsi lainnya. Muncul saat Anda memilih kotak teks. Buka link dalam item yang jadi fokus Buka halaman berikutnya atau sebelumnya. Muncul saat Anda membaca konten yang berisi beberapa halaman. @@ -342,7 +351,6 @@ Buka setelan text-to-speech Menonaktifkan masukan suara TalkBack Tidak dapat diedit - Melakukan tindakan Baca satu karakter demi satu karakter Baca satu kata demi satu kata Baca satu baris demi satu baris @@ -365,7 +373,7 @@ Turunkan volume audio lain yang sedang berbunyi saat TalkBack membaca Scroll maju atau mundur Naikkan atau turunkan volume Aksesibilitas - Membacakan teks yang tersemat dalam gambar yang dipilih + Dapatkan deskripsi otomatis untuk gambar ini ke bawah ke bawah lalu ke kanan Geser ke atas @@ -408,9 +416,7 @@ Ketuk dua kali dan tahan dengan 2 jari Ketuk dua kali dan tahan dengan 3 jari Ketuk dua kali dan tahan dengan 4 jari - Sentuh lama dengan 3 jari Ketuk tiga kali dan tahan dengan 2 jari - Ketuk tiga kali dan tahan dengan 3 jari \"%1$s\" atau %2$s\" untuk menyesuaikan \"%1$s\" untuk menyesuaikan Gestur tidak dikenal @@ -433,9 +439,8 @@ Saat layar diaktifkan Saat layar kunci ditampilkan Hanya dari notifikasi - Tahan jari untuk memilih tombol, lalu ketuk dua kali - Tahan jari untuk memilih tombol huruf, lalu angkat. Ketuk dua kali untuk memilih tombol lain. - Tahan jari untuk memilih kunci, lalu angkat + Tahan jari untuk memilih kunci, lalu ketuk dua kali + Tahan jari untuk memilih kunci, lalu angkat Dinonaktifkan Sangat pelan Pelan @@ -485,6 +490,7 @@ Pilih aplikasi untuk mengekspor label: Versi TalkBack ini mencakup perubahan pada isyarat aksesibilitas default. Tindakan yang dikaitkan dengan isyarat ini dapat disesuaikan dalam setelan TalkBack. Saat Jelajahi dengan sentuhan diaktifkan, Anda dapat menggunakan isyarat berikut untuk melakukan tindakan tertentu.\n\n%1$s Tekan lama tombol keraskan dan turunkan volume + Menekan kedua tombol volume tiga kali dengan cepat akan menyembunyikan atau menampilkan layar Sembunyikan layar? Ini menonaktifkan tampilan untuk meningkatkan privasi agar layar tidak terlihat oleh orang lain saat berada di tempat publik Versi TalkBack ini meliputi perubahan gestur aksesibilitas default.\n\nGestur ke atas lalu ke bawah memungkinkan Anda berpindah ke item pertama di layar, dan gestur ke bawah lalu ke atas memungkinkan Anda berpindah ke item terakhir.\n\nPerincian pembacaan kini dapat diubah dengan memfokuskan sebuah item, lalu memilih perincian dari menu konteks TalkBack.\n\nAnda dapat mengubah tindakan yang dilakukan oleh gestur ini di Setelan TalkBack. @@ -500,9 +506,6 @@ Yakin ingin mengaktifkan debug pohon node?\n\nDebug pohon node menampilkan konten layar ke log perangkat sehingga dapat dibaca oleh aplikasi lain. Aktifkan Statistik Performa? Yakin ingin mengaktifkan statistik performa?\n\nStatistik performa mungkin mengonsumsi memori dan daya yang lebih besar. - Aktifkan logging panjang? - Logging panjang dapat membantu proses debug, tetapi dapat menyebabkan terlihatnya informasi pribadi di buffer log sistem.\n\n Ingin mengaktifkan logging panjang? - Ya, aktifkan logging panjang Izinkan akses telepon? Tindakan ini membantu TalkBack mengurangi pengumuman saat Anda sedang menelepon Lanjutkan @@ -556,11 +559,9 @@ Volume aksesibilitas Sesuaikan penggeser Sesuaikan nilai - Tindakan Ucapkan sandi Sandi selalu diucapkan Suara dan getaran - Suara %1$s disalin Tutup Tutup penelusuran @@ -579,7 +580,7 @@ Berikut beberapa hal yang dapat Anda katakan:\n\n• Salin\n• Baca dari item berikutnya\n• Temukan [yang tersimpan]\n• Bicara [lebih cepat]\n• Setelan TalkBack\n\nKatakan \"%1$s\" untuk daftar semua perintah suara Gunakan perintah suara Lewati gestur TalkBack untuk menggunakan gestur sistem - Saat mendengar bunyi bel, Anda dapat menggunakan gestur sistem yang tidak didukung oleh TalkBack. Ini dikenal sebagai gestur terusan. + Saat mendengar bunyi bel, Anda dapat menggunakan gestur sistem yang tidak didukung oleh TalkBack. Ini dikenal sebagai gestur pass-through. Istilah penelusuran TalkBack Saluran Notifikasi TalkBack @@ -595,15 +596,13 @@ %1$s untuk membaca berdasarkan %2$s Untuk menggunakan fitur ini, buka setelan TalkBack dan tambahkan gestur untuk \'%1$s\' Keyboard Braille tidak diaktifkan. Buka setelan TalkBack, siapkan keyboard Braille, lalu coba lagi. - Saran tersedia - Saran tersedia. Untuk mengaksesnya, %1$s Halaman %1$d dari %2$d Sebelumnya Berikutnya Tutup Selesai Kembali ke atas - Fitur-fitur baru di TalkBack + Fitur-fitur baru di TalkBack Tutup tutorial? Anda dapat membukanya lagi kapan saja di setelan TalkBack. Tetap ikuti tutorial @@ -647,14 +646,6 @@ Ketuk untuk mempelajari cara menggunakan TalkBack lebih cepat dengan gestur baru. Pohon node telah dicetak ke log. Berikut adalah gestur yang baru-baru ini dilakukan. Laporkan mana gestur yang salah dan mana yang benar. - Anda akan mendapatkan kontrol volume yang disederhanakan, kontrol tindakan yang lebih cepat, dan lainnya.\n\nInfo update dan perubahan penting dapat Anda lihat di beberapa layar berikutnya. Proses ini memerlukan waktu sekitar 5 menit.\n\nAnda dapat meninjau informasi ini di setelan TalkBack kapan saja. - Perubahan kontrol volume - Untuk meningkatkan pengalaman kontrol volume, tombol volume tidak lagi berfungsi untuk mengontrol kursor teks atau penggeser.\n\nUntuk mengubah posisi penggeser, geserkan jari Anda ke atas atau bawah pada layar.\n\nUntuk mengubah posisi kursor teks, geserkan jari Anda ke atas atau bawah dalam kotak teks. Aturan tindakan ini juga berlaku untuk kontrol pembacaan keyboard braille. - Teks dalam gambar - Anda bisa mendapatkan detail selengkapnya tentang teks dalam gambar secara otomatis atau saat Anda memerlukannya.\n\nUntuk gambar yang tidak memiliki label: TalkBack akan otomatis membacakan teks yang muncul.\n\nUntuk semua gambar: Buka menu TalkBack lalu pilih \"Jelaskan teks dalam gambar\".\n\nGambar tetap ada di perangkat dan tidak dikirim ke Google. Artinya, Anda dapat menggunakan kedua fitur ini tanpa koneksi internet. - Navigasi jendela - Anda dapat berpindah-pindah dari satu bagian ke bagian lain di layar, misalnya baris notifikasi, konten utama, dan keyboard.\n\nUntuk menggunakan navigasi jendela, geser ke bawah dengan 4 jari. - Anda dapat berpindah-pindah dari satu bagian ke bagian lain di layar, misalnya baris notifikasi, konten utama, dan keyboard.\n\nUntuk menggunakan navigasi jendela, geser ke bawah lalu ke atas. Terus geser sampai Anda memilih navigasi jendela. Untuk membuka jendela tersebut, geser ke bawah. Tutorial Selamat datang di TalkBack TalkBack adalah pembaca layar yang ditujukan untuk situasi yang membuat orang kesulitan melihat layar atau orang yang mengalami gangguan penglihatan. TalkBack memberikan respons lisan agar Anda dapat menggunakan perangkat tanpa melihat layar.\n\nAnda dapat mengaktifkan atau menonaktifkan TalkBack dengan menekan kedua tombol volume selama beberapa detik.\n\nSaat TalkBack aktif, item yang difokuskan di layar diucapkan dengan keras.\n\nMenggeser ke kanan akan mengalihkan ke item berikutnya, dan menggeser ke kiri akan mengalihkan ke item sebelumnya.\n\nGeser ke kanan sekarang untuk menemukan tombol berikutnya. @@ -697,14 +688,14 @@ Gerakkan jari Anda di keyboard. Jika mendengar huruf yang ingin diketik, angkat jari Anda.\n\nCoba aktifkan kotak teks di bawah ini, lalu ketik nama Anda. Anda juga dapat mengetik dengan keyboard braille. Temukan di setelan TalkBack. Memindahkan kursor - Jika mengaktifkan kotak teks, Anda dapat memindahkan kursor di antara huruf dengan menggeser ke atas atau bawah.\n\nCoba lakukan dalam kotak teks di bawah ini. + Jika mengaktifkan kotak teks, Anda dapat memindahkan kursor di antara huruf dengan menekan tombol naikkan atau turunkan volume.\n\Coba lakukan dalam kotak teks di bawah ini. Selamat datang di TalkBack Memilih teks Dalam kotak teks, pindahkan kursor ke awal teks yang ingin dipilih.\n\nKetuk dua kali dan tahan menggunakan 2 jari untuk memulai mode pemilihan. Lalu pindahkan kursor ke akhir teks. Ketuk lagi dua kali dan tahan menggunakan 2 jari untuk mengakhiri mode pemilihan.\n\nCoba pilih kata \"Selamat datang\" dalam kotak teks di bawah ini. - Dalam kotak teks, pindahkan kursor ke awal teks yang ingin dipilih.\n\nGeser ke bawah, lalu ke kanan untuk membuka menu TalkBack. Tindakan ketuk dua kali lalu mulai mode pemilihan. Pindahkan kursor ke akhir teks.\n\nBuka kembali menu TalkBack, lalu tindakan ketuk dua kali untuk mengakhiri mode pemilihan.\n\nCoba pilih kata \"Selamat datang\" dalam kotak teks di bawah ini. + Dalam kotak teks, pindahkan kursor ke awal teks yang ingin dipilih.\n\nGeser ke bawah lalu ke kanan untuk membuka menu TalkBack. Ketuk dua kali opsi pengeditan, lalu mulai mode pemilihan. Pindahkan kursor ke akhir teks.\n\nBuka menu TalkBack lagi, lalu ketuk dua kali opsi pengeditan untuk mengakhiri mode pemilihan.\n\nCoba pilih kata \"Selamat datang\" dalam kotak teks di bawah ini. Menyalin, memotong, dan menempel - Setelah memilih teks, tindakan ketuk dua kali, lalu salin.\n\nCoba salin kata dalam kotak teks di bawah ini. - Untuk memotong atau menempelkan teks, buka menu TalkBack dan tindakan ketuk dua kali.\n\nUntuk menempelkan teks, ketuk tiga kali menggunakan 3 jari.\n\nCoba tempelkan kata dalam kotak teks di bawah ini. + Setelah memilih teks, salin teks dengan mengetuk dua kali menggunakan 3 jari.\n\nCoba salin kata dalam kotak teks di bawah ini. + Untuk memotong teks, ketuk dua kali dan tahan menggunakan 3 jari.\n\nUntuk menempelkan teks, ketuk tiga kali menggunakan 3 jari.\n\nCoba tempelkan kata dalam kotak teks di bawah ini. Setelah memilih teks, Anda dapat menyalinnya di menu TalkBack. Geser ke bawah lalu ke kanan untuk membuka menu TalkBack. Ketuk dua kali opsi pengeditan, lalu salin.\n\nCoba salin kata dalam kotak teks di bawah ini. Untuk memotong atau menempelkan teks, buka menu TalkBack dan ketuk dua kali opsi pengeditan.\n\nCoba tempelkan kata dalam kotak teks di bawah ini. Tempel teks di sini @@ -747,7 +738,6 @@ Geser ke kanan atau ke kiri untuk berpindah antar-item Ketuk dua kali untuk mengaktifkan item Tarik 2 jari untuk men-scroll - Periksa apakah ponsel telah terhubung. Batas tebal Warna Default @@ -759,12 +749,6 @@ Abu-abu Survei ditutup Teks: %1$s - Jelaskan teks dalam gambar - Ikon terdeteksi: %1$s - Tindakan tidak didukung. - Tidak ada tindakan yang dipilih. - Pilih tindakan yang didukung. - Tidak ada tindakan. - Setelan tindakan tidak diaktifkan. - Teks tidak ditemukan + Deskripsikan gambar + Prediksi ikon: %1$s diff --git a/talkback/src/main/res/values-is/strings.xml b/talkback/src/main/res/values-is/strings.xml index 5f36a084c..08a229812 100644 --- a/talkback/src/main/res/values-is/strings.xml +++ b/talkback/src/main/res/values-is/strings.xml @@ -7,7 +7,6 @@ Stillingar talgervils Tungumál Talað tungumál - Aðgerðir Kerfisaðgerðir Útgáfa %1$s Stjórna sérsniðnum skýringum @@ -31,37 +30,46 @@ Tæki tekið úr lás. Hljóð Styrkur tals - Lesa tilkynningar ef slökkt er á skjánum - Alltaf lesa upp fjölda listaatriða - Lesa upp fjölda atriða fyrir allar flettiaðferðir + Tala þegar slökkt er á skjánum + Tilkynningar eru lesnar upp þegar slökkt er á skjánum + Ekki er talað þegar slökkt er á skjánum + Lesa upp fjölda listaatriða á skjánum + Lesa aðeins upp þegar flett er með bendingu + Alltaf lesið Hylja nándarskynjara til að stöðva tal - Lesa upp tölustafi með dæmum - Þegar þú velur lyklaborðshnappa eða flettir eftir stöfum heyrir þú dæmi með hverjum bókstaf, eins og „h, hótel“ - Lesa upp greinarmerki og tákn + Lesa upp hljóðritaða stafi + Hljóðritaðir stafir eru ekki lesnir upp + Hljóðritaðir stafir eru lesnir upp þegar ýtt er lengi á lyklaborðið og fært um einn staf í einu + Greinarmerki + Greinarmerki og tákn eru ekki lesin upp + Greinarmerki og tákn eru lesin upp Hástafir Ekki aðhafast neitt Segja „hástafir“ Breyta tónhæð Spila hljóð Lesa upp vísbendingar um notkun - Koma með tillögur að notkun eftir að efninu er lýst - Lesa upp lista- og töfluupplýsingar + Ábendingar um notkun eru ekki lesnar upp þegar aðgengisfókus er færður + Ábendingar um notkun eru lesnar upp við skoðun, eftir stutta töf + Lesa lista- og töfluupplýsingar + Upplýsingar um lista og töflur eru lesnar upp + Upplýsingar um lista og töflur eru ekki lesnar upp Endurstilla bendingar? Þetta mun endurstilla allar bendingar á sjálfgefnar aðgerðir.\n\nÞú glatar öllum breytingum sem þú hefur gert. Endurstilla Bendistillingar hafa verið endurstilltar. Lesa upp einingartegund - Fyrir atriði í fókus + Einingartegund er lesin upp fyrir atriði í fókus + Einingartegund er ekki lesin upp fyrir atriði í fókus Lesa upp einingarauðkenni - Fyrir ómerkta hnappa - Lesa glugga kerfisins upphátt - Þegar þú skiptir yfir í aðra glugga kerfisins eins og stöðustikuna, tilkynningar eða hljóðstyrksstillingar + Einingarauðkenni eru ekki lesin upp fyrir ómerkta hnappa + Einingarauðkenni eru lesin upp fyrir ómerkta hnappa Snertikönnun Stýringar Ýta einu sinni til að virkja Ýttu einu sinni á atriði í fókus til að virkja Nákvæmni - Lesa upp greinarmerki og tákn + Greinarmerki Sérsníða fókusvísi Sérsníða bendingar Sérsniðnir flokkar @@ -203,7 +211,8 @@ Nota breytingar á tónhæð Upplestur lyklaborðs Lýsingaröð eininga - Lesa upp stafi sem er eytt með rödd í hærri tón + Lesa upp texta sem er eytt með lyklaborðinu með rödd í hærri tón + Ekki breyta raddhæð þegar talað er Blindraleturslyklaborð Svörun með titringi Hljóðsvörun @@ -211,6 +220,7 @@ Lækka styrk annars hljóðs þegar talað er Hljóðstyrkur hljóðsvörunar Flýtileið til að slökkva og kveikja á TalkBack + Fela flýtileið á skjá Forritarastillingar Velja atburði til að skrá Sía aðgengisatburðaannál @@ -256,7 +266,7 @@ Opna valmynd TalkBack Gera hlé á svörun Gera hlé á eða halda áfram með tal - Kveikja eða slökkva á tali + Kveikja eða slökkva á hljóði í TalkBack Lesa frá byrjun Lesa frá næsta atriði Prenta hnútatré @@ -278,7 +288,6 @@ Halda inni flýtileið aðgengisstillingar Færa flettifókusinn framar eða lesstýringuna neðar Færa flettifókusinn til baka eða lesstýringuna upp - Virkja aðgerðina sem er valin Leitarniðurstöður Spila eða gera hlé á efni Öll forrit @@ -323,7 +332,7 @@ Lestur Sérstakir eiginleikar Annað - Sýnir þegar aðgerðir eru í boði fyrir núverandi atriði, s.s. að afrita, líma, velja og fleira + Birtist þegar sérsniðnar aðgerðir eru í boði fyrir núverandi atriði Afrita, líma, velja og fleira. Birtist þegar þú velur textareit. Opna tengla inni í völdu atriði Fara á næstu eða fyrri síðu. Birtist þegar þú lest efni með mörgum síðum. @@ -342,7 +351,6 @@ Opna stillingar talgervils Slökkva á raddsvörun TalkBack Ekki hægt að breyta - Framkvæma aðgerðir Lesa einn staf í einu Lesa eitt orð í einu Lesa eina línu í einu @@ -365,7 +373,7 @@ Lækka önnur hljóð sem spilast á meðan TalkBack talar Fletta áfram eða til baka Hækka eða lækka hljóðstyrk aðgengis - Lesa upp texta sem er innfelldur á valinni mynd + Fá sjálfvirka lýsingu fyrir þessa mynd niður niður og svo til hægri Strjúka upp @@ -408,9 +416,7 @@ Ýta tvisvar og halda inni tveimur fingrum Ýta tvisvar og halda inni þremur fingrum Ýta tvisvar og halda inni fjórum fingrum - Haltu inni með þremur fingrum Ýta þrisvar og halda inni með 2 fingrum - Ýta þrisvar og halda inni með 3 fingrum „%1$s“ eða „%2$s“ til að stilla „%1$s“ til að stilla Óþekkt bending @@ -433,9 +439,8 @@ Þegar kviknar á skjánum Þegar lásskjárinn birtist Aðeins úr tilkynningu - Haltu inni einhverjum lykli til að velja hann og ýttu svo tvisvar - Haltu inni stafalykli til að velja hann og slepptu svo. Ýttu tvisvar til að velja aðra lykla. - Haltu inni einhverjum lykli til að velja hann og slepptu svo + Haltu lykli inni til að velja hann og ýttu svo tvisvar + Haltu lykli inni til að velja hann og slepptu svo Slökkt Mjög létt Létt @@ -485,6 +490,7 @@ Veldu forrit til að flytja út flokka: Þessi útgáfa af TalkBack inniheldur breytingar á sjálfgefnum aðgengisbendingum. Aðgerðirnar sem tengdar eru þessum bendingum má sérsníða í stillingum TalkBack. Þegar kveikt er á snertikönnun geturðu notað eftirfarandi bendingar til að framkvæma tilteknar aðgerðir.\n\n%1$s Halda báðum hljóðstyrkstökkum inni + Ýttu þrisvar sinnum hratt á báða hljóðstyrkstakkana til að fela eða sýna skjáinn Fela skjá? Þetta slekkur á skjánum til að auka persónuvernd, þar sem skjárinn verður ekki sýnilegur öðrum í almennu rými Þessi útgáfa af TalkBack inniheldur breytingar á sjálfgefnum aðgengisbendingum.\n\nBendingin upp-og-svo-niður gerir þér kleift að fara að fyrsta atriði á skjánum og bendingin niður-og-svo-upp fer að síðasta atriðinu.\n\nNú er hægt að breyta niðurskiptingu fyrir lestur með því að setja fókus á atriði og velja síðan niðurskiptingu af samhengisvalmynd TalkBack.\n\nÞú getur breytt aðgerðunum sem framkvæmdar eru við þessar bendingar í stillingum TalkBack. @@ -500,9 +506,6 @@ Ertu viss um að þú viljir kveikja á villuleit í hnútatré?\n\nVilluleit í hnútatré gerir það sem er á skjánum aðgengilegt annálum tækisins sem önnur forrit gætu lesið. Kveikja á frammistöðugögnum? Viltu örugglega kveikja á frammistöðugögnum?\n\nFrammistöðugögn kunna að nota meira minni og orku. - Kveikja á ítarlegri skráningu? - Ítarleg skráning kemur að gagni við villuleit en getur valdið því að persónuupplýsingar birtist í biðminni kerfisskrárinnar.\n\n Viltu kveikja á ítarlegri skráningu? - Já, kveikja á ítarlegri skráningu Leyfa aðgang að síma? Þannig getur TalkBack dregið úr tilkynningum þegar þú hringir símtal Áfram @@ -556,11 +559,9 @@ Hljóðstyrkur aðgengis Breyta sleða Stilla gildi - Aðgerðir Lesa aðgangsorð upp Aðgangsorð alltaf lesin upp Hljóð og titringur - Hljóð afritað, %1$s Loka Loka leit @@ -595,15 +596,13 @@ %1$s til að lesa eftir %2$s Til að nota þetta skaltu fara aftur í stillingar TalkBack og bæta við bendingu fyrir „%1$s“ Ekki kveikt á blindraleturslyklaborði. Opnaðu stillingar TalkBack, settu upp blindraleturslyklaborð og reyndu aftur. - Tillögur í boði - Tillögur í boði. Til að fá aðgang skaltu %1$s Síða %1$d af %2$d Fyrri Áfram Loka Ljúka Fara upp - Nýir eiginleikar í TalkBack + Nýir eiginleikar í TalkBack Loka leiðsögn? Þú getur komið aftur hingað hvenær sem er í stillingum TalkBack. Halda leiðsögn áfram @@ -647,14 +646,6 @@ Ýttu til að kynna þér hvernig þú getur gert TalkBack hraðvirkara með nýjum bendingum. Hnútatré hefur verið prentað í annála. Hér eru nýlega notaðar bendingar. Segðu okkur hver þeirra er röng og hvernig hún hefði átt að virka. - Þú færð einfaldari hljóðstýringar, fljótvirkari virknistýringar og fleira\n\nÞú færð upplýsingar um helstu uppfærslur og breytingar á næstu skjámyndum. Þetta mun taka um 5 mínútur.\n\nÞú getur yfirfarið þessar upplýsingar í stillingum TalkBack hvenær sem er. - Breytingar á hljóðstýringum - Til að bæta hljóðstýringu er ekki lengur hægt að nota hljóðstyrkstakkana til að stjórna textabendlum eða sleðum.\n\nStrjúktu upp eða niður til að breyta sleðastillingu.\n\nStrjúktu upp eða niður í textareit til að breyta staðsetningu textabendils. Þetta virkar einnig á lesstýringar blindraleturslyklaborða. - Myndatexti - Þú getur fengið frekari upplýsingar um myndatexta sjálfkrafa eða þegar þú þarft á því að halda.\n\nHvað varðar myndir án merkis: TalkBack les sjálfkrafa upp textann sem birtist.\n\nFyrir allar myndir: Opnaðu valmynd TalkBack og veldu „Lýsa myndatexta“.\n\nMyndir eru geymdar í tækinu og eru aldrei sendar til Google. Þetta þýðir að báðir eiginleikarnir virka án nettengingar. - Fletting í glugga - Þú getur flakkað á milli ólíkra hluta skjásins, s.s. tilkynningastiku, aðalefnis og lyklaborðs.\n\nStrjúktu niður með 4 fingrum til að nota flettingu í glugga. - Þú getur flakkað á milli ólíkra hluta skjásins, s.s. tilkynningastiku, aðalefnis og lyklaborðs.\n\nStrjúktu niður og svo upp til að nota flettingu í glugga. Haltu áfram þar til þér tekst að velja flettingu í glugga. Strjúktu niður til að fara í viðeigandi glugga. Leiðsögn Velkomin(n) í TalkBack TalkBack er skjálesari ætlaður fólki sem á erfitt með að sjá á skjái eða til að nota við aðstæður þar sem erfitt er að sjá á skjái. Það veitir raddsvörun svo þú getir notað tækið þitt án þess að horfa á skjáinn.\n\nHægt er að kveikja eða slökkva á TalkBack með því að halda báðum hljóðstyrkstökkunum inni í nokkrar sekúndur.\n\nÞegar kveikt er á TalkBack er það atriði sem er sett í fókus á skjánum lesið upphátt.\n\nÞú ferð í næsta atriði með því að strjúka til hægri og í fyrra atriði með því að strjúka til vinstri.\n\nStrjúktu til hægri núna til að finna hnappinn til að halda áfram. @@ -697,14 +688,14 @@ Renndu fingrinum yfir lyklaborðið. Þegar þú heyrir stafinn sem þú vilt slá inn skaltu lyfta fingrinum.\n\nPrófaðu að opna textareitinn hér fyrir neðan og slá inn nafnið þitt. Þú getur líka slegið inn með blindraleturslyklaborðinu. Það má finna í stillingum TalkBack. Bendillinn færður til - Þegar búið er að opna textareit er hægt að færa bendilinn á milli stafa með því að strjúka upp eða niður.\n\nPrófaðu þetta í textareitnum hér fyrir neðan. + Þegar búið er að opna textareit er hægt að færa bendilinn á milli stafa með því að ýta á upp eða niður á hljóðstyrkstökkunum.\n\nPrófaðu þetta í textareitnum hér fyrir neðan. Velkomin(n) í TalkBack Textaval Til að velja texta skaltu færa bendilinn fremst í textareit.\n\nÝttu tvisvar og haltu inni með 2 fingrum til að hefja valið. Færðu síðan bendilinn aftast í textann. Ýttu aftur tvisvar og haltu inni með 2 fingrum til að ljúka valinu.\n\nPrófaðu að velja orðið „Velkomin(n)“ í textareitnum hér fyrir neðan. - Til að velja texta skaltu færa bendilinn fremst í textann.\n\nStrjúktu niður og svo til hægri til að opna valmynd TalkBack. Ýttu tvisvar á „aðgerðir“ og opnaðu valstillingu. Færðu bendilinn aftast í textann.\n\nOpnaðu valmynd TalkBack aftur og ýttu svo tvisvar á „aðgerðir“ til að loka valstillingu.\n\nPrófaðu að velja orðið „Velkomin(n)“ í textareitnum hér fyrir neðan. + Til að velja texta skaltu færa bendilinn fremst í textareit.\n\nStrjúktu niður og svo til hægri til að opna valmynd TalkBack. Ýttu tvisvar á „breytingavalkostir“ og ræstu svo valstillingu. Færðu bendilinn aftast í textann.\n\nOpnaðu valmynd TalkBack aftur og ýttu svo tvisvar á „breytingavalkostir“ til að loka valstillingu.\n\nPrófaðu að velja orðið „Velkomin(n)“ í textareitnum hér fyrir neðan. Afrita, klippa og líma - Þegar búið er að velja textann skaltu ýta tvisvar á aðgerðir og afrita síðan textann.\n\nPrófaðu að afrita orð í textareitnum hér fyrir neðan. - Hægt er að klippa eða líma texta með því að opna valmynd TalkBack og ýta tvisvar á aðgerðir.\n\nÝttu þrisvar með 3 fingrum til að líma texta.\n\nPrófaðu að líma orð inn í textareitinn hér fyrir neðan. + Þegar búið er að velja texta er hægt að afrita hann með því að ýta tvisvar með 3 fingrum.\n\nPrófaðu að afrita orð í textareitnum hér fyrir neðan. + Ýttu tvisvar og haltu inni með 3 fingrum til að klippa texta.\n\nÝttu þrisvar með 3 fingrum til að líma texta.\n\nPrófaðu að líma orð í textareitinn hér fyrir neðan. Þegar búið er að velja texta er hægt að afrita hann í valmynd TalkBack. Strjúktu niður og til hægri til að opna valmynd TalkBack. Ýttu tvisvar á „breytingavalkostir“ og afritaðu svo.\n\nPrófaðu að afrita orð í textareitnum hér fyrir neðan. Hægt er að klippa eða líma texta með því að opna valmynd TalkBack og ýta tvisvar á „breytingavalkostir“.\n\nPrófaðu að líma orð í textareitinn hér fyrir neðan. Límdu texta hér @@ -747,7 +738,6 @@ Strjúktu til vinstri eða hægri til að fletta á milli atriða Ýttu tvisvar til að virkja atriði Dragðu með tveimur fingrum til að fletta - Athugaðu hvort að síminn sé tengdur. Þykkir rammar Litur Sjálfgefið @@ -759,12 +749,6 @@ Grár Könnun lokað Texti: %1$s - Lýsa texta á mynd - Tákn sem greindist: %1$s - Aðgerðin er ekki studd. - Engin aðgerð er valin. - Veldu studdu aðgerðina. - Engar aðgerðir. - Aðgerðarstilling er ekki virk. - Enginn texti fannst + Lýsa mynd + Fyrirséð tákn: %1$s diff --git a/talkback/src/main/res/values-it-watch/strings.xml b/talkback/src/main/res/values-it-watch/strings.xml index d469f082b..da6c84760 100644 --- a/talkback/src/main/res/values-it-watch/strings.xml +++ b/talkback/src/main/res/values-it-watch/strings.xml @@ -1,5 +1,5 @@ - TalkBack è uno screen reader rivolto principalmente a persone cieche e ipovedenti. Consente di interagire con il dispositivo utilizzando la funzione di lettura vocale. + TalkBack è uno screen reader rivolto principalmente a persone non vedenti e ipovedenti. Consente di interagire con il dispositivo utilizzando la funzione di lettura vocale. Attiva la funzione di lettura vocale per usare l\'orologio senza guardare lo schermo. diff --git a/talkback/src/main/res/values-it/strings.xml b/talkback/src/main/res/values-it/strings.xml index 0e8fa196c..2112f7f23 100644 --- a/talkback/src/main/res/values-it/strings.xml +++ b/talkback/src/main/res/values-it/strings.xml @@ -1,13 +1,12 @@ - Quando TalkBack è attivo, la funzione di lettura vocale ti consente di utilizzare il tuo dispositivo senza guardare lo schermo. Ciò può essere utile per gli utenti ciechi o con problemi di vista.\n\nPer navigare utilizzando TalkBack, procedi nel seguente modo:\n• Scorri verso destra o sinistra per spostarti tra gli elementi\n• Tocca due volte per attivare un elemento\n• Trascina due dita per scorrere\n\nPer disattivare TalkBack, procedi nel seguente modo:\n• Tocca il sensore. Verrà visualizzato un contorno verde. Tocca il sensore due volte.\n• Tocca Ok sul messaggio di conferma. Quindi tocca due volte Ok. + Quando TalkBack è attivo, la funzione di lettura vocale ti consente di utilizzare il tuo dispositivo senza guardare lo schermo. Ciò può essere utile per gli utenti non vedenti o con problemi di vista.\n\nPer navigare utilizzando TalkBack, procedi nel seguente modo:\n• Scorri verso destra o sinistra per spostarti tra gli elementi\n• Tocca due volte per attivare un elemento\n• Trascina due dita per scorrere\n\nPer disattivare TalkBack, procedi nel seguente modo:\n• Tocca il sensore. Verrà visualizzato un contorno verde. Tocca il sensore due volte.\n• Tocca Ok sul messaggio di conferma. Quindi tocca due volte Ok. Quando TalkBack è attivo, fornisce una funzione di lettura vocale per permetterti di usare il dispositivo senza guardare lo schermo. TalkBack è pensato per situazioni o persone che hanno difficoltà a vedere lo schermo.<br><br><b>Come usare TalkBack</b><br>• Scorri verso destra o sinistra per spostarti tra gli elementi<br>• Tocca due volte per attivare un elemento<br>• Trascina due dita per scorrere<br><br><b>Come disattivare TalkBack</b><br><br><b>Tasti del volume:</b> tieni premuti entrambi i tasti del volume per alcuni secondi.<br><br><b>Impostazioni</b><br>• Tocca il sensore <b>Usa TalkBack</b>. Visualizzerai un bordo verde. Tocca due volte il sensore.<br>• Nel messaggio di conferma, tocca Interrompi. Poi tocca due volte Interrompi. Leggi gli elementi sullo schermo Impostazioni di TalkBack Impostazioni di sintesi vocale Lingue Lingua parlata - Azioni Azioni di sistema Versione %1$s Gestisci etichette personalizzate @@ -31,37 +30,46 @@ Dispositivo sbloccato. Audio Volume voce - Leggi notifiche con schermo disattivato - Leggi sempre il numero di voci elenco - Leggi il numero per tutti i metodi di scorrimento + Leggi con schermo non attivo + Notifiche vocali quando lo schermo è spento + Nessuna notifica vocale quando lo schermo è spento + Leggi numero di voci elenco su schermo + Parla solo quando si scorre con un gesto + Parla sempre Copri il sensore di prossimità per disattivare l\'audio dell\'uscita vocale - Leggi lettere con esempi - Quando selezionerai i tasti della tastiera o navigherai per carattere, sentirai un esempio insieme a ogni lettera, ad esempio \"h, hotel\" - Leggi punteggiatura e simboli + Leggi lettere fonetiche + Le lettere fonetiche non vengono lette + Le lettere fonetiche vengono lette in caso di pressione prolungata dei tasti della tastiera e di spostamento per carattere + Punteggiatura + La punteggiatura e i simboli non vengono pronunciati + La punteggiatura e i simboli vengono pronunciati Lettere maiuscole Non fare niente Di\' \"maiuscola\" Cambia tono Riproduci il suono Leggi suggerimenti sull\'utilizzo - Dopo aver descritto i contenuti viene suggerito come usarli - Leggi informazioni su elenchi e griglie + I suggerimenti sull\'utilizzo non vengono letti quando si sposta lo stato attivo di accessibilità + I suggerimenti sull\'utilizzo vengono letti durante la navigazione dopo un breve ritardo + Leggi info su elenchi e griglie + Le informazioni di elenchi e griglie vengono lette + Le informazioni di elenchi e griglie non vengono lette Vuoi reimpostare i gesti? Verranno reimpostate le azioni predefinite di tutti i gesti.\n\nPerderai tutte le eventuali modifiche apportate. Reimposta Le impostazioni dei gesti sono state reimpostate. Leggi il tipo di elemento - Per elementi attivi + Il tipo degli elementi attivi viene letto + Il tipo degli elementi attivi non viene letto Leggi ID elementi - Per pulsanti senza etichetta - Pronuncia titolo di finestre di sistema - Quando passi ad altre finestre di sistema, ad esempio alla barra di stato, alle notifiche o ai controlli del volume + Gli ID degli elementi non vengono letti per i pulsanti senza etichetta + Gli ID degli elementi vengono letti per i pulsanti senza etichetta Esplora al tocco Controlli Tocca una volta per attivare l\'elemento Tocca una volta un elemento attivo per attivarlo Preferenze di lettura - Leggi punteggiatura e simboli + Punteggiatura Personalizza indicatore di messa a fuoco Personalizza gesti Etichette personalizzate @@ -202,8 +210,9 @@ Questa combinazione di tasti è già stata utilizzata per l\'azione \"%1$s\". Vuoi cancellarla e assegnare questa scorciatoia a \"%2$s\"? Usa variazioni tono Eco tastiera - Ordine descrizione elementi - Le lettere eliminate vengono lette con una voce dal tono più alto + Ordine di descrizione degli elementi + Il testo eliminato con la tastiera viene letto con una voce dal tono più alto + Non cambiare tono di voce per feedback vocale Tastiera braille Feedback con vibrazione Feedback audio @@ -211,6 +220,7 @@ Abbassa volume degli altri suoni durante l\'output vocale Volume feedback audio Scorciatoia sospendi/riattiva Talkback + Scorciatoia Nascondi lo schermo Impostazioni sviluppatore Seleziona eventi da registrare Filtra logging eventi di accessibilità @@ -256,7 +266,7 @@ Apri il menu TalkBack Sospendi feedback Metti in pausa o riprendi la funzione di lettura vocale - Attiva o disattiva feedback vocale + Attiva o disattiva il feedback vocale di TalkBack Leggi dall\'alto Leggi dal prossimo elemento Stampa struttura ad albero dei nodi @@ -273,12 +283,11 @@ Cambia lingua parlata Controllo di lettura successivo Controllo di lettura precedente - Gesto di sospensione di sistema + Gesto di sistema pass-through Scorciatoia Accessibilità Scorciatoia del pulsante Accessibilità con pressione prolungata Sposta la selezione in avanti o riduci il valore del controllo di lettura Sposta la selezione a ritroso o aumenta il valore del controllo di lettura - Attiva l\'azione attualmente selezionata Risultato della ricerca Riproduci o metti in pausa contenuti multimediali Tutte le app @@ -298,7 +307,7 @@ Sposta il cursore alla fine Attiva o disattiva modalità di selezione Chiudi modalità di selezione - Navigazione tra le pagina + Navigazione nella pagina Pagina successiva Pagina precedente Pagina su @@ -323,8 +332,8 @@ Lettura Funzionalità speciali Altro - Opzione visualizzata quando sono presenti azioni per l\'elemento corrente, tra cui copia, incolla, seleziona e altre - Copia, incolla, seleziona e altro, mostrate quando selezioni una casella di testo + Opzione visualizzata quando sono presenti azioni personalizzate per l\'elemento corrente + Copia, incolla, seleziona e altro. Opzione visualizzata quando selezioni una casella di testo Consente di aprire un link all\'interno di un elemento attivo Consente di passare alla pagina successiva o precedente. Opzione visualizzata quando stai leggendo contenuti con più pagine Opzione visualizzata quando selezioni un elemento senza etichetta @@ -342,7 +351,6 @@ Apri le impostazioni di sintesi vocale Disattiva il feedback vocale di TalkBack Non modificabile - Esegui azioni Leggi un carattere alla volta Leggi una parola alla volta Leggi una riga alla volta @@ -365,7 +373,7 @@ Abbassa il volume degli altri contenuti audio in riproduzione durante il feedback vocale di TalkBack Scorri in avanti o indietro Alza o abbassa il volume Accessibilità - Consente di leggere ad alta voce il testo incorporato in un\'immagine selezionata + Ricevi una descrizione automatica di questa immagine verso il basso verso il basso poi a destra Scorri verso l\'alto @@ -408,9 +416,7 @@ Doppio tocco e pressione con 2 dita Doppio tocco e pressione con 3 dita Doppio tocco e pressione con 4 dita - Tocco e pressione con 3 dita Triplo tocco e pressione con 2 dita - Triplo tocco e pressione con 3 dita \"%1$s\" o \"%2$s\" per regolare \"%1$s\" per regolare Gesto sconosciuto @@ -433,9 +439,8 @@ Quando lo schermo si attiva Quando viene visualizzata la schermata di blocco Solo da notifica - Tieni premuto il dito per selezionare qualsiasi tasto, poi tocca due volte - Tieni premuto il dito per selezionare un tasto lettera, poi solleva. Tocca due volte per gli altri tasti. - Tieni premuto il dito per selezionare un tasto, poi solleva + Pressione del dito per selezionare un tasto, poi doppio tocco + Pressione del dito per selezionare un tasto, poi sollevamento del dito Disattivato Molto leggero Leggero @@ -485,6 +490,7 @@ Scegli l\'applicazione con cui esportare le etichette: Questa versione di TalkBack include modifiche ai gesti di accessibilità predefiniti. Le azioni associate ai gesti possono essere personalizzate nelle impostazioni di TalkBack. Se l\'opzione \"Esplora al tocco\" è attiva, puoi utilizzare i gesti che seguono per compiere determinate azioni.\n\n%1$s Pressione lunga dei tasti volume su e giù + Premi tre volte in rapida successione entrambi i tasti del volume per nascondere o mostrare lo schermo Vuoi nascondere lo schermo? Il display viene spento per aumentare la privacy in modo che lo schermo non sia visibile alle altre persone in luoghi pubblici Questa versione di TalkBack include modifiche ai gesti di accessibilità predefiniti.\n\nIl gesto dall\'alto verso il basso ti consentirà di passare al primo elemento visualizzato sullo schermo, mentre il gesto dal basso verso l\'alto ti consentirà di passare all\'ultimo elemento.\n\nLa granularità della lettura ora può essere modificata attivando un elemento, quindi selezionando una granularità dal menu contestuale TalkBack.\n\nPuoi cambiare le azioni compiute da questi gesti nelle impostazioni di TalkBack. @@ -500,9 +506,6 @@ Vuoi attivare il debug della struttura ad albero dei nodi?\n\nIl debug della struttura ad albero dei nodi espone i contenuti dello schermo ai log del dispositivo, che potrebbero essere letti da altre applicazioni. Attivare le statistiche sulle prestazioni? Vuoi attivare le statistiche sulle prestazioni?\n\nLe statistiche sulle prestazioni potrebbero utilizzare più memoria e consumare più batteria. - Vuoi attivare il logging dettagliato? - Il logging dettagliato può facilitare il debug, ma potrebbe causare la visualizzazione di informazioni personali nel buffer di log di sistema.\n\n Vuoi attivare il logging dettagliato? - Sì, attiva il logging dettagliato Consentire l\'accesso al telefono? Questo permette a TalkBack di ridurre gli annunci durante le chiamate Continua @@ -556,11 +559,9 @@ Volume Accessibilità Regola il dispositivo di scorrimento Regola il valore - Azioni Leggi le password Le password vengono sempre lette Suoneria e vibrazione - Suono copiato, %1$s Esci Chiudi ricerca @@ -595,15 +596,13 @@ %1$s per leggere una %2$s alla volta Per usare questa impostazione, accedi alle impostazioni di TalkBack e aggiungi un gesto per \"%1$s\" Tastiera braille non attiva. Vai alle impostazioni di TalkBack, configura la tastiera braille e riprova. - Suggerimenti disponibili - Suggerimenti disponibili. Per accedere, %1$s Pagina %1$d di %2$d Indietro Avanti Chiudi Fine Torna indietro - Nuove funzionalità in TalkBack + Nuove funzionalità in TalkBack Vuoi chiudere il tutorial? Puoi aprirlo nuovamente in qualsiasi momento dalle impostazioni di TalkBack. Rimani nel tutorial @@ -647,14 +646,6 @@ Tocca per scoprire come usare TalkBack più rapidamente con i nuovi gesti. La struttura ad albero dei nodi è stata stampata nei log. Ecco i gesti eseguiti di recente. Segnala il gesto sbagliato e come dovrebbe essere. - Avrai a disposizione controlli del volume semplificati, controlli per le azioni più rapidi e altro ancora.\n\nNelle prossime schermate riceverai informazioni su aggiornamenti e cambiamenti importanti. Ci vorranno circa 5 minuti.\n\nPuoi rileggere queste informazioni in qualsiasi momento dalle impostazioni di TalkBack. - Cambiamenti al controllo del volume - Per migliorare il controllo del volume, i tasti del volume non consentono più di controllare i cursori di testo o i dispositivi di scorrimento.\n\nPer cambiare la posizione di un dispositivo di scorrimento, scorri verso l\'alto o verso il basso.\n\nPer cambiare la posizione del cursore di testo, scorri verso l\'alto o verso il basso in una casella di testo. Funziona anche nei controlli di lettura della tastiera braille. - Testo nelle immagini - Puoi ricevere più dettagli sul testo nelle immagini automaticamente o quando ti serve.\n\nPer le immagini senza etichetta: TalkBack leggerà automaticamente il testo visualizzato.\n\nPer tutte le immagini: apri il menu TalkBack e seleziona l\'opzione \"Descrivi il testo nell\'immagine\".\n\nLe immagini rimangono sul dispositivo e non vengono mai inviate a Google. Ciò significa che puoi usare entrambe queste funzionalità senza connessione a Internet. - Navigazione tra le finestre - Puoi spostarti tra diverse sezioni sullo schermo, come la barra delle notifiche, i contenuti principali e la tastiera.\n\nPer usare la navigazione tra le finestre, scorri verso il basso con 4 dita. - Puoi spostarti tra diverse sezioni sullo schermo, come la barra delle notifiche, i contenuti principali e la tastiera.\n\nPer usare la navigazione tra le finestre, scorri verso il basso e poi verso l\'alto. Continua il gesto finché non avrai selezionato la navigazione tra le finestre. Per andare alla finestra, scorri verso il basso. Tutorial Ti diamo il benvenuto in TalkBack TalkBack è uno screen reader pensato per situazioni in cui è difficile vedere lo schermo o per persone che hanno difficoltà a vederlo. È dotato di una funzione di lettura vocale che ti consente di usare il tuo dispositivo senza guardare lo schermo.\n\nPuoi attivare o disattivare TalkBack tenendo premuti entrambi i tasti del volume per diversi secondi.\n\nQuando TalkBack è attivo, l\'elemento attivo sullo schermo viene letto ad alta voce.\n\nSe scorri verso destra puoi passare all\'elemento successivo, se invece scorri verso sinistra puoi passare all\'elemento precedente.\n\nOra scorri verso destra per trovare il pulsante \"Avanti\". @@ -697,14 +688,14 @@ Sposta le dita sulla tastiera. Quando senti la lettera che vuoi digitare, solleva il dito.\n\nFai una prova attivando la casella di testo seguente e digita il tuo nome. Puoi anche digitare con la tastiera braille. La trovi nelle impostazioni di TalkBack. Spostamento del cursore - Dopo aver attivato una casella di testo, puoi spostare il cursore tra le lettere scorrendo verso l\'alto o verso il basso.\n\nFai una prova nella casella di testo qui sotto. + Dopo aver attivato una casella di testo, puoi spostare il cursore tra le lettere premendo i tasti per alzare o abbassare il volume.\n\nFai una prova nella casella di testo seguente. Ti diamo il benvenuto in TalkBack Selezione del testo In una casella di testo, sposta il cursore all\'inizio del testo che vuoi selezionare.\n\nTocca due volte e tieni premuto con due dita per attivare la modalità di selezione, poi sposta il cursore fino alla fine del testo. Tocca due volte e tieni premuto di nuovo con due dita per disattivare la modalità di selezione.\n\nFai una prova selezionando la parola \"benvenuto\" nella casella di testo che segue. - In una casella di testo, sposta il cursore all\'inizio del testo che vuoi selezionare.\n\nScorri verso il basso e poi verso destra per aprire il menu TalkBack. Tocca due volte le azioni e avvia la modalità di selezione. Sposta il cursore fino alla fine del testo.\n\nApri nuovamente il menu TalkBack, quindi tocca due volte le azioni per disattivare la modalità di selezione.\n\nFai una prova selezionando la parola \"benvenuto\" nella casella di testo che segue. + In una casella di testo, sposta il cursore all\'inizio del testo che vuoi selezionare.\n\nScorri verso il basso e poi verso destra per aprire il menu TalkBack. Tocca due volte le opzioni di modifica e avvia la modalità di selezione. Sposta il cursore fino alla fine del testo.\n\nApri nuovamente il menu TalkBack, quindi tocca due volte le opzioni di modifica per disattivare la modalità di selezione.\n\nFai una prova selezionando la parola \"benvenuto\" nella casella di testo che segue. Copia, taglia e incolla - Dopo aver selezionato il testo, tocca due volte le azioni e copia il testo.\n\nFai una prova copiando una parola nella casella di testo qui sotto. - Per tagliare o incollare il testo, apri il menu TalkBack e tocca due volte le azioni.\n\nPer incollare il testo, tocca tre volte con 3 dita.\n\nFai una prova incollando una parola nella casella di testo qui sotto. + Dopo aver selezionato il testo, copialo toccando due volte con 3 dita.\n\nFai una prova copiando una parola nella casella di testo seguente. + Per tagliare il testo, toccalo due volte e tieni premuto con 3 dita.\n\nPer incollarlo, toccalo tre volte con 3 dita.\n\nFai una prova incollando una parola nella casella di testo seguente. Dopo aver selezionato il testo, puoi copiarlo nel menu TalkBack. Scorri verso il basso e poi verso destra per aprire il menu TalkBack. Tocca due volte le opzioni di modifica e copia il testo.\n\nFai una prova copiando una parola nella casella di testo seguente. Per tagliare o incollare il testo, apri il menu TalkBack e tocca due volte le opzioni di modifica.\n\nFai una prova incollando una parola nella casella di testo seguente. Inserisci il testo qui @@ -747,7 +738,6 @@ Scorri verso destra o sinistra per spostarti tra gli elementi Tocca due volte per attivare un elemento Trascina con due dita per scorrere - Controlla se il telefono è connesso. Bordi spessi Colore Predefinito @@ -759,12 +749,6 @@ Grigio Sondaggio chiuso Testo: %1$s - Descrivi il testo nell\'immagine - Icona rilevata: %1$s - Azione non supportata. - Nessuna azione selezionata. - Seleziona un\'azione supportata. - Nessuna azione. - L\'impostazione Azioni non è attiva. - Nessun testo trovato + Descrivi immagine + Icona riconosciuta: %1$s diff --git a/talkback/src/main/res/values-iw/strings.xml b/talkback/src/main/res/values-iw/strings.xml index 6810003e8..1a166741a 100644 --- a/talkback/src/main/res/values-iw/strings.xml +++ b/talkback/src/main/res/values-iw/strings.xml @@ -7,7 +7,6 @@ ‏הגדרות של המרת טקסט לדיבור (TTS) שפות שפה מדוברת - פעולות פעולות מערכת גרסה %1$s ניהול תוויות בהתאמה אישית @@ -31,37 +30,46 @@ נעילת המכשיר בוטלה. אודיו עוצמת קול דיבור - הקראת התראות כשהמסך כבוי - הקראת מספר הפריטים ברשימה תמיד - הקראת המספר של כל השיטות לגלילה + דיבור כשהמסך כבוי + התראות נאמרות בקול כשהמסך כבוי + לא מושמע דיבור כשהמסך כבוי + הקראת מספרי הפריטים ברשימה שבמסך + הקראה רק בעת גלילה בתנועה + תמיד מוקרא יש לכסות את חיישן הקירבה כדי להפסיק את הדיבור - הקראת אותיות עם דוגמאות - כשבוחרים מקשים במקלדת או מנווטים לפי תו, שומעים דוגמה למילה אחרי כל אות, למשל \"מ\', מלון\" - הקראת סימני הפיסוק והסמלים + אמירה בקול של אותיות פונטיות + אותיות פונטיות לא מוקראות + אותיות פונטיות יוקראו בעת לחיצה ממושכת במקלדת ובעת ניווט לכל תו בנפרד + פיסוק + הפיסוק והסמלים לא מוקראים + הפיסוק והסמלים מוקראים אותיות רישיות לא לבצע שום פעולה יש לומר “רישיות” שינוי גובה הצליל השמעת צליל אמירה בקול של טיפים לשימוש - אחרי תיאור התוכן, יוצעו שימושים אפשריים - הקראת מידע על רשתות ורשימות + לא יושמעו רמזי שימוש בזמן העברה של מיקוד הנגישות + רמזי שימוש יושמעו במהלך הניווט, לאחר השהיה קצרה + הקראה של מיקום הפריט ברשימה + מיקומים של פריטים ברשימות מוקראים + מיקומים של פריטים ברשימות לא מוקראים לאפס את התנועות? ‏פעולה זו תאפס את כל התנועות לפעולות שמוגדרות כברירת מחדל.\n\nשינויים שביצעת יבוטלו. איפוס הגדרות התנועה אופסו. הקראה של סוג הרכיב - לפריטים שבמיקוד + ‏TalkBack יקריא את סוג הרכיב של הפריטים במיקוד הנגישות + ‏TalkBack לא יקריא את סוג הרכיב של פריטים במיקוד הנגישות הקראת מזהי הרכיב - ללחצנים ללא תווית - הקראת הכותרות של חלונות מערכת - כשעוברים לחלונות מערכת אחרים כמו שורת הסטטוס, ההתראות או פקדי עוצמת הקול + מזהי הרכיב לא מוקראים ללחצנים ללא תווית + מזהי הרכיב מוקראים ללחצנים ללא תווית גילוי באמצעות מגע פקדים הפעלה בהקשה אחת צריך להקיש פעם אחת על הפריט שבמיקוד כדי להפעיל אותו רמת הנגשה - הקראת סימני הפיסוק והסמלים + פיסוק התאמה אישית של אינדיקטור המיקוד התאמה אישית של תנועות תוויות מותאמות אישית @@ -202,8 +210,9 @@ שילוב המקשים נמצא כבר בשימוש לפעולה \'%1$s\'. האם ברצונך לנקות אותו ולהקצות את מקשי הקיצור אל \'%2$s\'? שימוש בשינויי גובה צליל הגיית הקלדה - סדר תיאור האלמנטים - הקראת האותיות שנמחקו בקול גבוה יותר + סדר התיאור של האלמנטים + הקראת הטקסט שנמחק במקלדת בקול גבוה יותר + גובה צליל הקול לא משתנה בעת דיבור מקלדת ברייל משוב ברטט משוב קולי @@ -211,6 +220,7 @@ הפחת את עוצמת הקול של פלט אודיו אחר בזמן דיבור עוצמת הצליל של המשוב הקולי ‏מקש קיצור להשעיה והמשך הפעלה של Talkback + הסתרת מקשי קיצור של המסך הגדרות למפתחים בחירת אירועים לרישום סנן רישום אירועי נגישות @@ -256,7 +266,7 @@ ‏פתיחה של תפריט TalkBack השהה משוב השהיה או המשך של דיבור - הפעלה או השבתה של המשוב הקולי + ‏הפעלה או כיבוי של המשוב הקולי של TalkBack הקראה מההתחלה הקראה מהפריט הבא הדפס עץ צמתים @@ -278,7 +288,6 @@ לחיצה ארוכה על קיצור הדרך לנגישות העברת מיקוד הניווט קדימה או כיוון פקד ההקראה למטה העברת מיקוד הניווט אחורה או כיוון פקד ההקראה למעלה - הפעלת הפעולה הנוכחית שנבחרה תוצאת חיפוש הפעלה או השהיה של מדיה כל האפליקציות @@ -323,8 +332,8 @@ קריאה תכונות מיוחדות אחר - מוצג כשקיימות פעולות לפריט הנוכחי, כולל העתקה, הדבקה, בחירה ועוד - העתקה, הדבקה, בחירה ועוד. מופיע כשמסמנים תיבת טקסט. + מופיע כשקיימות פעולות מותאמות אישית בפריט הנוכחי + העתקה, הדבקה, בחירה ועוד. מופיע כשבוחרים תיבת טקסט. פתיחת קישורים בתוך הפריט שמתמקדים עליו מעבר אל הדף הבא או הקודם. מופיע בהקראה של תוכן עם מספר עמודים. מופיע כשנבחר פריט ללא תווית @@ -342,7 +351,6 @@ ‏פתיחת ההגדרות של המרת טקסט לדיבור (TTS) ‏השבתת המשוב הקולי של TalkBack אין אפשרות עריכה - ביצוע פעולות הקראה של כל תו בנפרד הקראה של כל מילה בנפרד הקראה של כל שורה בנפרד @@ -365,17 +373,17 @@ ‏הנמכת עוצמת הקול של תוכן אודיו אחר שמושמע בזמן דיבור מ-TalkBack גלילה קדימה או אחורה הגברה או הפחתה של עוצמת הקול לנגישות - הקראת טקסט שמוטמע בתמונה שנבחרה + קבלת תיאור לתמונה הזו באופן אוטומטי למטה למטה ואחר כך ימינה החלקה מעלה החלקה מטה - החלקה ימינה - החלקה שמאלה + החלקה שמאלה + החלקה ימינה החלקה מעלה ואז מטה החלקה מטה ואז מעלה - החלקה ימינה ואז שמאלה - החלקה שמאלה ואז ימינה + החלקה שמאלה ואז ימינה + החלקה ימינה ואז שמאלה החלקה למטה ואז שמאלה החלקה למטה ואז ימינה החלקה למעלה ואז שמאלה @@ -408,9 +416,7 @@ לחיצה פעמיים והמשך לחיצה בשתי אצבעות לחיצה פעמיים והמשך לחיצה בעזרת שלוש אצבעות לחיצה פעמיים והמשך לחיצה ב-4 אצבעות - לחיצה ארוכה באמצעות שלוש אצבעות לחיצה ארוכה שלוש פעמים באמצעות שתי אצבעות - שלוש לחיצות ארוכות עם 3 אצבעות \"%1$s\" או %2$s\" לכוונון \"%1$s\" לכוונון תנועה לא ידועה @@ -433,9 +439,8 @@ כשהמסך מופעל כשמוצג מסך הנעילה מהתראה בלבד - מחזיקים את האצבע כדי לבחור במקש כלשהו ואז לוחצים פעמיים - מחזיקים את האצבע כדי לבחור במקש של אות ומרימים אותה. לוחצים פעמיים כדי להשתמש במקשים אחרים. - מחזיקים את האצבע כדי לבחור במקש כלשהו ומרימים + מחזיקים את האצבע כדי לבחור במקש ולוחצים לחיצה כפולה + מחזיקים את האצבע ומרימים מושבת חלש מאוד חלש @@ -487,6 +492,7 @@ בחירת יישום לייצוא תוויות: ‏גרסה זו של TalkBack כוללת שינויים בתנועות הנגישות המוגדרות כברירת מחדל. ניתן להתאים אישית את הפעולות המשויכות לתנועות אלה בתוך הגדרות TalkBack. כש\'גילוי באמצעות מגע\' מופעל, ניתן להשתמש בתנועות הבאות כדי לבצע פעולות מסוימות.\n\n%1$s לחיצה ארוכה על מקשי ההגברה וההחלשה של עוצמת הקול + לחיצה על שני מקשי עוצמת קול שלוש פעמים במהירות תסתיר או תציג את המסך להסתיר את המסך? אפשרות זו מכבה את התצוגה כדי לשפר את הפרטיות כך שהמסך לא יהיה גלוי לאחרים כשנמצאים במקומות ציבוריים ‏גרסה זו של TalkBack כוללת שינויים בתנועות הנגישות המוגדרות כברירת מחדל.\n\nהתנועה \'למעלה ואחר כך למטה\' תאפשר לך לעבור לפריט הראשון במסך, והתנועה \'למטה ואחר כך למעלה\' תעביר לפריט האחרון.\n\nעכשיו אפשר לשנות את רמת פירוט ההקראה על ידי התמקדות בפריט ולאחר מכן בחירת רמת פירוט מתפריט ההקשר של TalkBack‏.\n\nאפשר לשנות את הפעולות המתבצעות על ידי תנועות אלה ב\'הגדרות TalkBack\'. @@ -502,9 +508,6 @@ ‏האם ברצונך להפעיל ניפוי באגים בעץ צמתים?\n\nניפוי באגים בעץ צמתים חושף את תוכן המסך ליומני המכשיר, וייתכן שהוא ייקרא על ידי אפליקציות אחרות. האם לאפשר נתונים סטטיסטיים של ביצועים? ‏האם להפעיל נתונים סטטיסטיים של ביצועים?\n\n ייתכן שנתונים סטטיסטיים יצרכו יותר זיכרון וכוח. - ‏להפעיל את הרישום המפורט (verbose) ביומן? - ‏הרישום המפורט ביומן יכול לעזור בניפוי באגים, אבל עשוי לגרום להצגת מידע אישי במאגר הנתונים הזמני של יומן המערכת.\n\n האם ברצונך להפעיל את הרישום המפורט (verbose) ביומן? - ‏כן, אני רוצה להפעיל את הרישום המפורט (verbose) ביומן להעניק גישה לטלפון? ‏הגישה לטלפון תאפשר ל-TalkBack לומר פחות הודעות במהלך השיחות המשך @@ -560,11 +563,9 @@ עוצמת הקול לנגישות כוונון פס ההזזה כוונון הערך - פעולות הקראת סיסמאות הסיסמאות מוקראות תמיד צלילים ורטט - צליל מועתק, %1$s סגירה סגירת החיפוש @@ -601,15 +602,13 @@ %1$s כדי לקרוא לפי %2$s ‏כדי להשתמש בזה, עוברים להגדרות Talkback ומוסיפים תנועה עבור \'%1$s\' ‏מקלדת ברייל לא מופעלת. יש לעבור להגדרות של TalkBack כדי להגדיר את מקלדת הברייל ולאחר מכן לנסות שוב. - יש הצעות לטקסט - יש הצעות לטקסט. כדי לגשת לחלון ההצעות, צריך לבצע %1$s דף %1$d מתוך %2$d הקודם הבא סגירה סיום ניווט למעלה - ‏תכונות חדשות ב-TalkBack + ‏תכונות חדשות ב-TalkBack לסגור את המדריך? ‏אפשר לחזור אליו בכל שלב ב\'הגדרות TalkBack\'. להישאר במדריך @@ -653,14 +652,6 @@ ‏כדי לברר איך להשתמש ב-TalkBack באופן מהיר יותר באמצעות מחוות חדשות, יש להקיש. עץ צמתים הודפס ביומנים. כאן מפורטות התנועות שבוצעו לאחרונה. אפשר לדווח על תנועות לא נכונות ולהוסיף את התנועות שצריכות היו להופיע. - ‏בגרסה החדשה יש פקדי עוצמת קול פשוטים יותר, פקדי פעולות מהירים יותר ועוד.\n\nבמסכים הבאים מפורטים העדכונים והשינויים המרכזיים. הפירוט קצר ואפשר לקרוא את כולו ב-5 דקות בערך.\n\nהמידע הזה גם מופיע בהגדרות TalkBack, כך שהוא זמין לקריאה מתי שרוצים. - שינויים בבקרה על עוצמת הקול - ‏כדי לשפר את הבקרה על עוצמת הקול, מקשי עוצמת הקול לא משמשים יותר לשליטה בפסי הזזה או בסמני טקסט.\n\nלשינוי המיקום של פס הזזה, מחליקים למעלה או למטה.\n\nלשינוי המיקום של סמן הטקסט, מחליקים למעלה או למטה בתיבת הטקסט. הפעולה הזו קיימת גם בפקדי ההקראה של מקלדת הברייל. - טקסט בתמונות - ‏אפשר לקבל יותר פרטים על טקסט בתמונות באופן אוטומטי או כשיש צורך.\n\nבתמונות ללא תווית: הטקסט שמופיע יוקרא באופן אוטומטי על ידי TalkBack.‏\n\nבכל התמונות: פותחים את תפריט TalkBack ובוחרים באפשרות \'תיאור הטקסט שבתמונה\'.\n\nהתמונות נשארות במכשיר ואף פעם לא נשלחות ל-Google. לכן אפשר להשתמש בשתי התכונות האלה בלי חיבור לאינטרנט. - ניווט בחלון - ‏אפשר לעבור בין חלקים שונים במסך, כמו סרגל ההתראות, התוכן הראשי והמקלדת.\n\nלשימוש במצב הניווט בחלון, מחליקים למטה באמצעות 4 אצבעות. - ‏אפשר לעבור בין חלקים שונים במסך, כמו סרגל ההתראות, התוכן הראשי והמקלדת.\n\nלשימוש במצב הניווט בחלון, מחליקים למטה ואז למעלה. ממשיכים עד שנבחר הניווט בחלון. לניווט לחלון הרצוי, מחליקים למטה. מדריך ‏ברוך בואך אל TalkBack ‏התכונה TalkBack היא קורא מסך המיועד למצבים שבהם קשה לראות את המסך או לאנשים שמתקשים לראות אותו. היא מפעילה את קורא המסך הקולי, כך שניתן להשתמש במכשיר בלי להסתכל במסך.\n\nאפשר להפעיל ולכבות את TalkBack באמצעות לחיצה על שני מקשי עוצמת הקול למשך כמה שניות.\n\nכאשר תכונת TalkBack פועלת, הפריט שבו מתמקדים במסך נקרא בקול רם.\n\nהחלקה שמאלה מעבירה לפריט הבא והחלקה ימינה מעבירה לפריט הקודם.\n\nכדאי להחליק שמאלה עכשיו כדי למצוא את הלחצן הבא. @@ -703,14 +694,14 @@ ‏יש להעביר את האצבע לאורך המקלדת. עם הישמע שם האות המבוקשת להקלדה יש להרים את האצבע.\n\nכדאי לנסות להפעיל את תיבת הטקסט למטה ולהקליד את השם שלך. ‏אפשר להקליד גם בעזרת מקלדת ברייל. את המקלדת הזו ניתן למצוא בהגדרות של TalkBack. הזזת הסמן - ‏אחרי שמפעילים את תיבת טקסט, אפשר להזיז את הסמן בין האותיות על ידי החלקה למעלה או למטה.\n\nרוצה לנסות? בשביל זה הוספנו כאן את התיבה הזאת. + ‏לאחר ההפעלה של תיבת טקסט, ניתן להזיז את הסמן בין אותיות על ידי לחיצה על מקשי עוצמת הקול למעלה או למטה.\n\nכדאי לנסות זאת בתיבת הטקסט שלמטה. ‏ברוך בואך אל TalkBack בחירת טקסט ‏בתוך תיבת טקסט, יש להעביר את הסמן לתחילת הטקסט המבוקש.\n\n‏יש ללחוץ פעמיים ולהמשיך בלחיצה ארוכה עם שתי אצבעות כדי להפעיל את מצב הבחירה. לאחר מכן יש להעביר את הסמן לסוף הטקסט. יש ללחוץ פעמיים ולהמשיך בלחיצה ארוכה עם שתי אצבעות כדי לסיים את הבחירה.\n\n‏כדאי לנסות לבחור את המילים \"ברוך בואך\" בתיבת הטקסט שלמטה. - ‏בתוך תיבת טקסט, מעבירים את הסמן לתחילת הטקסט שרוצים לבחור.\n\nמחליקים למטה ואז שמאלה כדי לפתוח את תפריט TalkBack. לוחצים פעמיים על פעולות כדי להפעיל את מצב הבחירה. מעבירים את הסמן לסוף הטקסט.\n\nפותחים שוב את תפריט TalkBack, ולוחצים פעמיים על פעולות כדי לסגור את מצב הבחירה.\n\nאפשר לנסות לבחור את המילים \'ברוך בואך\' בתיבת הטקסט שלמטה. + ‏בתוך תיבת טקסט, יש להעביר את הסמן לתחילת הטקסט המבוקש.\n\nיש להחליק למטה ואז שמאלה כדי לפתוח את תפריט TalkBack. יש ללחוץ פעמיים על אפשרויות עריכה כדי להפעיל את מצב הבחירה. יש להעביר את הסמן לסוף הטקסט.\n\nיש לפתוח שוב את תפריט TalkBack, לאחר מכן ללחוץ פעמיים על אפשרויות עריכה כדי לסיים את הבחירה.\n\nאפשר לנסות לבחור את המילים \"ברוך בואך\" בתיבת הטקסט שלמטה. העתקה, גזירה והדבקה - ‏אחרי שבוחרים בטקסט, מקישים הקשה כפולה על הפעולות ולאחר מכן מעתיקים.\n\nכדאי לנסות להעתיק מילה מתיבת הטקסט שבהמשך. - ‏כדי לחתוך או להדביק טקסט, פותחים את תפריט TalkBack ומקישים הקשה כפולה על הפעולות.\n\nכדי להדביק טקסט, מקישים 3 פעמים באמצעות 3 אצבעות.\n\nכדאי לנסות להדביק מילה בתיבת הטקסט שבהמשך. + ‏לאחר בחירת טקסט, ניתן להעתיק אותו על ידי לחיצה פעמיים בשלוש אצבעות.\n\nאפשר לנסות להעתיק מילה בתיבת הטקסט שלמטה. + ‏כדי לחתוך טקסט, יש ללחוץ פעמיים ולהמשיך בלחיצה ארוכה באמצעות שלוש אצבעות.\n\nניתן להדביק טקסט על ידי הקשה שלוש פעמים בשלוש אצבעות.\n\nאפשר לנסות להדביק מילה בתיבת הטקסט שלמטה. ‏לאחר בחירת טקסט, ניתן להעתיק אותו בתפריט TalkBack. כדי לפתוח את תפריט TalkBack, יש להחליק למטה ואז שמאלה. יש ללחוץ פעמיים על אפשרויות העריכה ולהעתיק.\n\nכדאי לנסות להעתיק מילה בתיבת הטקסט שלמטה. ‏כדי לחתוך או להדביק טקסט, יש לפתוח את תפריט TalkBack וללחוץ פעמיים על אפשרויות העריכה.\n\nכדאי לנסות להדביק מילה בתיבת הטקסט שלמטה. כאן מדביקים את הטקסט @@ -753,7 +744,6 @@ מחליקים שמאלה או ימינה כדי לעבור בין פריטים לוחצים פעמיים כדי להפעיל פריט גוררים בשתי אצבעות כדי לגלול - צריך לוודא שהטלפון מחובר. גבולות עבים צבע ברירת מחדל @@ -765,12 +755,6 @@ אפור הסקר סגור טקסט: %1$s - תיאור הטקסט שבתמונה - הסמל שזוהה: %1$s - הפעולה אינה נתמכת. - לא נבחרה פעולה. - צריך לבחור פעולה נתמכת. - אין פעולות. - הגדרת הפעולות לא מופעלת. - לא נמצא טקסט + תיאור התמונה + הסמל שזוהה: %1$s diff --git a/talkback/src/main/res/values-ja/strings.xml b/talkback/src/main/res/values-ja/strings.xml index 31595bbe4..15a882b8f 100644 --- a/talkback/src/main/res/values-ja/strings.xml +++ b/talkback/src/main/res/values-ja/strings.xml @@ -7,7 +7,6 @@ テキスト読み上げの設定 言語 音声の言語 - 操作 システム アクション バージョン%1$s カスタムラベルの管理 @@ -31,37 +30,46 @@ デバイスのロックを解除。 音声 読み上げの音量 - 画面が OFF のときも通知を読み上げる - リスト項目の数を常に読み上げる - すべてのスクロール方法で項目の数を読み上げる + 画面OFF時も読み上げる + 画面がOFFのときでも通知を読み上げる + 画面がOFFのときは読み上げない + 画面に表示されるリスト項目の数を読み上げる + スクロール操作を行う場合にのみ読み上げる + 常に読み上げる 近接センサーを覆って読み上げを停止する - 文字とサンプルを読み上げる - キーボードのキーを選択するか、文字ごとに移動すると、「h、ホテル」のように、文字とともにサンプルが読み上げられます。 - 句読点と記号を読み上げる + 表音文字の読み上げ + 表音文字は読み上げられません + キーボードのキーを押し続けて文字の上を移動するときに表音文字を読み上げる + 句読点と記号 + 句読点と記号は読み上げられません + 句読点と記号は読み上げられます 大文字 何もしない 「大文字」と言う ピッチを変更する 音を鳴らす 使用に関するヒントの読み上げ - コンテンツを説明した後、おすすめの使い方を読み上げます - リストとグリッド情報を読み上げる + ユーザー補助機能のフォーカスを移動しても、使い方のヒントは読み上げられません + ナビゲーションの間、少し間をおいて使い方のヒントを読み上げる + リストやグリッドの情報の読み上げ + リストやグリッドの情報が読み上げられます + リストやグリッドの情報は読み上げられません ジェスチャーをリセットしますか? すべてのジェスチャーがデフォルトの操作にリセットされます。\n\nこれまでに行った変更はすべて失われます。 リセット ジェスチャー設定がリセットされました。 要素タイプの読み上げ - フォーカスされている項目 + フォーカスした項目の要素タイプを読み上げる + フォーカスした項目の要素タイプは読み上げられません 要素 ID の読み上げ - ラベルのないボタン - ナレーター システム ウィンドウ - ステータスバー、通知、音量コントロールなど、その他のシステム ウィンドウに切り替えたとき + ラベルのないボタンの要素 ID は読み上げられません + ラベルのないボタンの要素 ID が読み上げられます タッチガイド コントロール シングルタップで有効化 フォーカスのある項目を 1 回タップすると有効になります 読み上げの詳細設定 - 句読点と記号の読み上げ + 句読点と記号 ピント インジケータのカスタマイズ ジェスチャーをカスタマイズ カスタムラベル @@ -203,7 +211,8 @@ 声の高さを変更 キーボード操作の読み上げ 説明する要素の順序 - 削除した文字を高い声で読み上げます + キーボードを使用して削除したテキストを高い声で読み上げます + 読み上げの際に声の高さを変更しない 点字キーボード バイブ フィードバック 音によるフィードバック @@ -211,6 +220,7 @@ 読み上げ時に他の音声の音量を下げる 音によるフィードバックの音量 TalkBack の一時停止と再開のショートカット + [画面を非表示] のショートカット デベロッパー向けの設定 ログに記録するイベントの選択 ユーザー補助機能イベントのログのフィルタ @@ -256,7 +266,7 @@ TalkBack メニューを開く 応答を一時停止 音声を一時停止または再開 - 読み上げの ON / OFF を切り替える + TalkBack 音声の ON / OFF の切り替え 最上部から読み上げる 次のアイテム以降を読み上げる ノードツリーを印刷 @@ -278,7 +288,6 @@ ユーザー補助長押しのショートカット 操作フォーカスを次に進めるか、読み上げコントロールを下に調節する 操作フォーカスを前に戻すか、読み上げコントロールを上に調節する - 選択中の操作を有効にする 検索結果 メディアを再生または一時停止 すべてのアプリ @@ -323,10 +332,10 @@ 読み上げ 特別な機能 その他 - 現在の項目についてのアクション(コピー、貼り付け、選択など)が存在する場合に表示されます + 現在の項目についてのカスタム アクションが存在する場合に表示されます コピー、貼り付け、選択などの操作メニュー。テキスト ボックスを選択した場合に表示されます。 フォーカスのある項目内のリンクを開きます - 次のページに進むか、前のページに戻ります。複数のページからなるコンテンツを読み上げている場合に表示されます + 次のページに進むか、前のページに戻ります。複数のページからなるコンテンツを読み上げている場合に表示されます。 ラベルのない項目を選択した場合に表示されます 文字単位、単語単位、行単位などで読み上げます 最上部から順に、画面上のすべての項目を読み上げます @@ -342,7 +351,6 @@ テキスト読み上げの設定が表示されます TalkBack の音声フィードバックを OFF にします 編集できません - 操作を実行する 1 文字ずつ読み上げます 1 単語ずつ読み上げます 1 行ずつ読み上げます @@ -365,7 +373,7 @@ TalkBack で読み上げる際に他の音の音量を下げます 前方または後方にスクロール ユーザー補助機能の音量を調整します - 選択した画像に組み込まれたテキストを読み上げます + この画像の説明を自動で行います 下にスワイプしてから右にスワイプ 上にスワイプ @@ -408,9 +416,7 @@ 2 本の指でダブルタップして長押し 3 本の指でダブルタップして長押し 4 本の指でダブルタップして長押し - 3 本の指で長押し 2 本の指でトリプルタップして長押し - 3 本の指でトリプルタップして長押し 「%1$s」または「%2$s」を調整 「%1$s」を調整 不明な操作 @@ -433,9 +439,8 @@ 画面がONになったとき ロック画面が表示されているとき 通知からのみ - 指でキーを長押しして選択してからダブルタップします - 指で文字キーを長押しして選択してから離します。その他のキーはダブルタップします。 - 指でキーを選択してから離す + 指でキーを選択してからダブルタップする + 指でキーを選択してから離す 無効 非常に軽め 軽め @@ -485,6 +490,7 @@ ラベルをエクスポートするアプリを選択: このバージョンのTalkBackでは、デフォルトのユーザー補助ジェスチャーが変更されています。これらのジェスチャーに関連付けられている操作はTalkBackの設定でカスタマイズできます。タッチガイドが有効のときは次のジェスチャーを使用して特定の操作を行うことができます。\n\n%1$s 音量大ボタンと音量小ボタンを押し続ける + 音量大ボタンと音量小ボタンをすばやく 3 回押して画面を非表示または表示 画面を非表示にしますか? ディスプレイがオフになるため、公共の場で画面を他人に見られずに済み、プライバシーの向上につながります このバージョンの TalkBack では、デフォルトのユーザー補助ジェスチャーが変更されています。\n\n上から下のジェスチャーで、画面上の最初の項目に移動し、下から上のジェスチャーで、最後の項目に移動することができます。\n\nフォーカスのある項目で、TalkBack のコンテキスト メニューから読み上げ単位を選択して、読み上げ単位を変更できるようになりました。\n\nこれらのジェスチャーで実行されるアクションは TalkBack の設定で変更できます。 @@ -500,9 +506,6 @@ ノードツリーのデバッグをONにしてもよろしいですか?\n\nノードツリーのデバッグを有効にすると、画面の内容がデバイスのログに記録され、他のアプリケーションで読み取られることがあります。 パフォーマンスの統計情報の有効化 パフォーマンスの統計情報を有効にしてもよろしいですか?\n\nパフォーマンスの統計情報を有効にすると、メモリや電力の使用量が増えることがあります。 - 詳細ログを有効にしますか? - 詳細ログを有効にすると、デバッグに役立つことがありますが、システムログ バッファに個人情報が表示される可能性があります。\n\n詳細ログを有効にしますか? - はい、詳細ログを有効にします スマートフォンへのアクセスを許可しますか? これにより、通話中に TalkBack からの通知が少なくなります。 続行 @@ -556,11 +559,9 @@ ユーザー補助機能の音量 スライダーを調整 値を変更 - 操作 パスワードの読み上げ パスワードを常に読み上げる 音とバイブレーション - コピーしました、%1$s 閉じる 検索を閉じる @@ -595,15 +596,13 @@ %2$sごと読み上げるには、%1$sします これを使用するには、TalkBack の設定に移動し、「%1$s」のジェスチャーを追加します 点字キーボードを ON にできません。TalkBack の設定で点字キーボードを設定してから、お試しください。 - 候補があります - 候補があります。アクセスするには、%1$s %1$d/%2$d ページ 前へ 次へ 閉じる 終了 上へ移動 - TalkBack の新機能 + TalkBack の新機能 チュートリアルを終了しますか? TalkBack の設定でいつでもご確認いただけます。 チュートリアルを続ける @@ -647,14 +646,6 @@ タップして、新しいジェスチャーで TalkBack をすばやく使用する方法を確認しましょう。 ノードツリーをログにダンプしました。 最近行われた操作は次のとおりです。正しくない操作と本来の操作をお知らせください。 - 音量調節がシンプルになり、アクション制御がすばやく行えるようになるなど、さまざまな機能が刷新されました。\n\nここでは、主要な変更点について説明します。所要時間は約 5 分です。\n\nこの情報は TalkBack の設定でいつでもご確認いただけます。 - 音量調節の変更 - 音量調節を改善するため、音量ボタンでテキスト カーソルやスライダーを操作できなくなりました。\n\nスライダーの位置を変更するには、上または下にスワイプします。\n\nテキスト カーソルの位置を変更するには、テキスト ボックス内で上または下にスワイプします。これは、点字キーボードの読み上げコントロールでも機能します。 - 画像内のテキスト - 画像内のテキストを、自動的にまたは必要に応じて、より詳細に入手できるようになりました。\n\nラベルのない画像: TalkBack により、表示されているテキストが自動的に読み上げられます。\n\nすべての画像: TalkBack メニューを開き、[画像内のテキストを解読する] を選択します。\n\n画像はデバイス内でのみ使用され、Google に送信されることはありません。つまり、これらの機能はどちらも、インターネットに接続することなくご利用いただけます。 - ウィンドウ ナビゲーション - お知らせバー、メイン コンテンツ、キーボードなど、画面上のさまざまなセクションを切り替えることができます。\n\nウィンドウ ナビゲーションを使用するには、4 本の指で下にスワイプします。 - お知らせバー、メイン コンテンツ、キーボードなど、画面上のさまざまなセクションを切り替えることができます。\n\nウィンドウ ナビゲーションを使用するには、下にスワイプしてから上にスワイプします。ご希望のウィンドウ ナビゲーションが出るまでこれを続けます。ウィンドウに移動するには、下にスワイプします。 チュートリアル TalkBack へようこそ TalkBack は、画面を見ることが難しい状況や目の不自由な方を対象としたスクリーン リーダーです。画面を見ずにデバイスを使用できるよう音声フィードバックが提供されます。\n\nTalkBack の ON / OFF を切り替えるには、音量大と音量小の両方のボタンを数秒ほど長押しします。\n\nTalkBack が ON の場合、画面上のフォーカスのある項目が読み上げられます。\n\n右にスワイプすると次の項目に移動し、左にスワイプすると前の項目に移動します。\n\nでは、右にスワイプして [次へ] ボタンに移動しましょう。 @@ -688,7 +679,7 @@ 音声コマンド TalkBack を音声で操作します ジェスチャーの練習 - さまざまなジェスチャーを試してアクションを覚えます + さまざまジェスチャーを試してアクションを覚えます テキスト ボックスの使用 テキスト ボックスを有効にすると、画面の下半分にキーボードが表示されます。\n\nキーボードを閉じるには、画面の左下にある [戻る] ボタンをダブルタップします。\n\n下のテキスト ボックスを有効にしたり閉じたりしてみましょう。 テキスト ボックスです @@ -697,14 +688,14 @@ キーボード上で指を動かします。入力したい文字が読み上げられたら、指を離します。\n\n下のテキスト ボックスを有効にして名前を入力してみましょう。 点字キーボードを使って入力することもできます。点字キーボードは TalkBack の設定にあります。 カーソルの移動 - テキスト ボックスを有効にしたら、上または下にスワイプして文字から文字にカーソルを移動できます。\n\n下のテキスト ボックスで行ってみましょう。 + テキスト ボックスを有効にしたら、音量大ボタンまたは音量小ボタンを押して文字から文字にカーソルを移動できます。\n\n下のテキスト ボックスで行ってみましょう。 TalkBack へようこそ テキストの選択 テキスト ボックス内で、選択したいテキストの先頭にカーソルを移動します。\n\n2 本の指でダブルタップし、長押しすると選択モードが開始します。テキストの最後までカーソルを移動します。選択モードを終了するには、2 本の指でもう一度ダブルタップして長押しします。\n\n下のテキスト ボックスで「ようこそ」という単語を選択してみましょう。 - テキスト ボックス内で、選択したいテキストの先頭にカーソルを移動します。\n\n下にスワイプしてから右にスワイプし、TalkBack メニューを開きます。操作をダブルタップして、選択モードを開始します。テキストの最後にカーソルを移動します。\n\nもう一度 TalkBack メニューを開き、操作をダブルタップして選択モードを終了します。\n\n下のテキスト ボックスで「ようこそ」という単語を選択してみましょう。 + テキスト ボックス内で、選択したいテキストの先頭にカーソルを移動します。\n\n下にスワイプしてから右にスワイプし、TalkBack メニューを開きます。編集オプションをダブルタップして、選択モードを開始します。テキストの最後にカーソルを移動します。\n\nもう一度 TalkBack メニューを開き、編集オプションをダブルタップして選択モードを終了します。\n\n下のテキスト ボックスで「ようこそ」という単語を選択してみましょう。 コピー、切り取り、貼り付け - テキストを選択したら、操作をダブルタップしてコピーします。\n\n下のテキスト ボックスで単語をコピーしてみましょう。 - テキストを切り取ったり貼り付けたりするには、TalkBack メニューを開き、操作をダブルタップします。\n\nテキストを貼り付けるには、3 本の指でトリプルタップします。\n\n下のテキスト ボックスに単語を貼り付けてみましょう。 + 選択したテキストをコピーするには、3 本の指でダブルタップします。\n\n下のテキスト ボックスで単語をコピーしてみましょう。 + テキストを切り取るには、3 本の指でダブルタップして長押しします。\n\nテキストを貼り付けるには、3 本の指でトリプルタップします。\n\n下のテキスト ボックスに単語を貼り付けてみましょう。 選択したテキストを TalkBack メニューでコピーすることができます。下にスワイプしてから右にスワイプして、TalkBack メニューを開きます。編集オプションをダブルタップして、コピーします。\n\n下のテキスト ボックスで単語をコピーしてみましょう。 テキストを切り取ったり貼り付けたりするには、TalkBack メニューを開き、編集オプションをダブルタップします。\n\n下のテキスト ボックスに単語を貼り付けてみましょう。 ここにテキストを貼り付けてください @@ -747,7 +738,6 @@ 左右にスワイプして項目間を移動します ダブルタップで項目を有効にします 2 本の指でドラッグしてスクロールします - スマートフォンが接続されているかご確認ください。 太い枠線 デフォルト @@ -759,12 +749,6 @@ グレー アンケートの回答受付は終了しました テキスト: %1$s - 画像内のテキストを解読する - 削除されたアイコン: %1$s - この操作はサポートされていません - 操作が選択されていません。 - サポートされている操作を選択してください。 - 操作はありません。 - 操作の設定が有効ではありません。 - テキストが見つかりません + 画像の説明 + 予測されるアイコン: %1$s diff --git a/talkback/src/main/res/values-ka/strings.xml b/talkback/src/main/res/values-ka/strings.xml index 76f0585a9..abed2e62f 100644 --- a/talkback/src/main/res/values-ka/strings.xml +++ b/talkback/src/main/res/values-ka/strings.xml @@ -7,7 +7,6 @@ ტექსტის გახმოვანების პარამეტრები ენები გახმოვანების ენა - მოქმედებები სისტემის მოქმედებები ვერსია %1$s მორგებული ლეიბლების მართვა @@ -31,37 +30,46 @@ მოწყობილობა განბლოკილია. აუდიო წარმოთქმის ხმის დონე - შეტყობინებების წარმოთქმა გამორთული ეკრანისას - სიის პუნქტის ნომრების ყოველთვის წარმოთქმა - ხმამაღლა გადათვლა გადაადგილების ყველა მეთოდისთვის + წარმოთქმა როცა ეკრანი გამორთულიაგამორთულ ეკრანზე + გამორთული ეკრანის დროს შეტყობინებების წარმოთქმა + გამორთულ ეკრანზე მეტყველება არ ხორციელდება + ეკრანზე გამოსახულ სიაში არსებულ ერთეულთა რაოდენობის გახმოვანება + გახმოვანდეს მხოლოდ მაშინ, როცა ხდება ჟესტით გადაადგილება + ყოველთვის გახმოვანდეს სიახლოვის სენსორის დაფარვა მეტყველების შესაწყვეტად - ასოების წარმოთქმა მაგალითებით - კლავიატურის კლავიშების არჩევისას ან სიმბოლოებით ნავიგაციისას, თითოეულ ასოსთან ერთად მაგალითს გაიგონებთ, მაგალითად, „h, hotel“ - სასვენი ნიშნების და სიმბოლოების წარმოთქმა + წარმოთქვი ფონეტიკური ასოები + ფონეტიკური ასოები არ გახმოვანდება + ფონეტიკური ასოები გახმოვანდება კლავიატურის ღილაკებზე ხანგრძლივი დაჭერისას და სიმბოლოების მიხედვით ნავიგაციისას + პუნქტუაცია + პუნქტუაცია და სიმბოლოები არ გამოითქმის + პუნქტუაცია და სიმბოლოები გამოითქმის მთავრული ასოები არ შეიცვალოს არაფერი თქვით „მთავრული“ ტონის შეცვლა ხმის დაკვრა წარმოთქვი გამოყენების მინიშნებები - კონტენტის აღწერის შემდეგ, გაეცნობით მისი გამოყენების გზებს - სიისა და ბადის ინფორმაციის წარმოთქმა + გამოყენების მინიშნებები მარტივი წვდომის ფოკუსის გადატანისას არ გახმოვანდება + გამოყენების მინიშნებები გახმოვანდება ნავიგაციისას, ხანმოკლე დაყოვნების შემდეგ + სიისა და ბადის ინფორმაციის გახმოვანება + სიისა და ბადის ინფორმაცია გახმოვანდება + სიისა და ბადის ინფორმაცია არ გახმოვანდება გსურთ ჟესტების გადაყენება? ამით გადაყენდება ყველა ჟესტი თავიანთ ნაგულისხმევ ქმედებებზე.\n\nთქვენ მიერ შეტანილი ნებისმიერი ცვლილება დაიკარგება. გადაყენება ჟესტის პარამეტრები გადაყენებულია. ელემენტის ტიპის გახმოვანება - ფოკუსირებული ერთეულებისთვის + ელემენტის ტიპი გახმოვანდება ფოკუსირებული ერთეულებისთვის + ელემენტის ტიპი არ გახმოვანდება ფოკუსირებული ერთეულებისთვის ელემენტის ID-ების გახმოვანება - უწარწერო ღილაკებისთვის - საუბრის სისტემის ფანჯრები - როცა გადართავთ სისტემის სხვა ფანჯრებზე, როგორებიცაა სტატუსის ზოლი, შეტყობინებები და ხმის კონტროლი. + ელემენტის იდენტიფიკაციები არ გახმოვანდება უსახელო ღილაკებისთვის + ელემენტის იდენტიფიკაციები გახმოვანდება უსახელო ღილაკებისთვის შეხებით დათვალიერება მართვის საშუალებები ერთხელ შეეხეთ გასააქტიურებლად გასააქტიურებლად ერთხელ შეეხეთ ფოკუსში მოქცეულ ერთეულს დეტალიზაცია - სასვენი ნიშნების და სიმბოლოების წარმოთქმა + პუნქტუაცია ფოკუსის ინდიკატორის მორგება ჟესტების მორგება მორგებული ლეიბლები @@ -203,7 +211,8 @@ გამოიყენე ტონალობის ცვლილება კლავიატურის ექო ელემენტის აღწერილობის მიმდევრობა - ამოშლილი ასობგერები უფრო მაღალი რეგისტრის ხმით + წაშლის შესახებ კლავიატურის ტექსტის წარმოთქმა უფრო მაღალი რეგისტრის ხმით + წარმოთქმისას არ შეიცვალოს ხმის ტონალობა ბრაილის კლავიატურა უკუკავშირი ვიბრაციით ხმოვანი უკუკავშირი @@ -211,6 +220,7 @@ წარმოთქმისას სხვა ხმების მიჩუმება ხმოვანი უკუკავშირის ხმა TalkBack ფუნქციის შეჩერებისა და განახლების მალსახმობი + ეკრანის მალსახმობის დამალვა დეველოპერის პარამეტრები აირჩიეთ ჟურნალში დასამატებელი მოვლენები ჟურნალში დამატებისას მარტივ წვდომასთან დაკავშირებული მოვლენების გაფილტვრა @@ -256,7 +266,7 @@ TalkBack-ის მენიუს გახსნა უკუკავშირის შეჩერება მეტყველების დაპაუზება ან განახლება - მეტყველების ჩართვა და გამორთვა + ჩართეთ ან გამორთეთ TalkBack-ის ხმა წაკითხვა თავიდან შემდეგი ერთეულიდან წაკითხვა კვანძების იერარქიის ბეჭდვა @@ -278,7 +288,6 @@ ხანგრძლივად დასაჭერი მარტივი წვდომის მალსახმობი გადაიტანეთ წინ ნავიგაციის ფოკუსი ან მიმართეთ წაკითხვის მართვის საშუალება ქვევით გადაიტანეთ უკან ნავიგაციის ფოკუსი ან მიმართეთ წაკითხვის მართვის საშუალება ზევით - გაააქტიურეთ ამჟამად არჩეული მოქმედება ძიების შედეგი მედიის დაკვრა ან დაპაუზება ყველა აპი @@ -323,7 +332,7 @@ საკითხავი საგანგებო ფუნქციები სხვა - გამოჩნდება მიმდინარე ერთეულისთვის მოქმედებების (კოპირება, ჩასმა, მონიშვნა და სხვა) არსებობის შემთხვევაში + გამოჩნდება ამ ერთეულისთვის მორგებული მოქმედებების არსებობის შემთხვევაში კოპირება, ჩასმა, მონიშვნა და სხვა. გამოჩნდება, როცა ტექსტური ველს მონიშნავთ. ხსნის ბმულებს ფოკუსირებულ ელემენტებში გადადით მომდევნო ან წინა გვერდზე. გამოჩნდება, როცა რამდენიმეგვერდიან კონტენტს კითხულობთ. @@ -342,7 +351,6 @@ ტექსტის გახმოვანების პარამეტრების გახსნა TalkBack Voice გამოხმაურების გამორთვა არარედაქტირებადია - მოქმედებების შესრულება ყოველ ჯერზე ერთი სიმბოლოს წაკითხვა ყოველ ჯერზე ერთი სიტყვის წაკითხვა ყოველ ჯერზე ერთი სტრიქონის წაკითხვა @@ -365,7 +373,7 @@ ხმის დაწევა სხვა აუდიოსთვის, როცა TalkBack საუბრობს წინ ან უკან გადაადგილება მისაწვდომობის ხმის სიმძლავრის გაზრდა ან შემცირება - ამოიკითხეთ არჩეულ სურათში ჩაშენებული ტექსტი + მიიღეთ ამ სურათის ავტომატური აღწერილობა ქვევით ქვემოთ, შემდეგ მარჯვნივ ზემოთ გადაფურცვლა @@ -408,9 +416,7 @@ ორმაგად შეეხეთ ხანგრძლივად 2 თითით ორმაგად შეეხეთ ხანგრძლივად 3 თითით ორმაგად შეეხეთ ხანგრძლივად 4 თითით - ხანგრძლივად შეხება 3 თითით სამმაგი შეხება და დაყოვნება 2 თითით - სამმაგი შეხება და დაყოვნება 3 თითით „%1$s“ ან „%2$s“ კორექტირებისთვის „%1$s“ კორექტირებისთვის უცნობი ჟესტი @@ -433,9 +439,8 @@ ეკრანის ჩართვისას როცა ჩანს დაბლოკვის ეკრანი მხოლოდ შეტყობინებებიდან - გეჭიროთ თითი ნებისმიერი კლავიშის ასარჩევად, შემდეგ ორმაგად შეეხეთ - გეჭიროთ თითი ასოს კლავიშის ასარჩევად, შემდეგ აუშვით ორმაგად შეეხეთ სხვა კლავიშებისთვის. - გეჭიროთ თითი ნებისმიერი კლავიშის ასარჩევად, შემდეგ აუშვით + გეჭიროთ თითი კლავიშის ასარჩევად, შემდეგ ორმაგად შეეხეთ + გეჭიროთ თითი კლავიშის ასარჩევად, შემდეგ აუშვით გამორთულია ძალიან სუსტი ნათურა @@ -485,6 +490,7 @@ აირჩიეთ აპლიკაცია ლეიბლების ექსპორტისთვის: TalkBack-ის ამ ვერსიაში შეცვლილია ნაგულისხმევად დაყენებული ჟესტები. მათთვის დანიშნული მოქმედებების მორგება შესაძლებელია TalkBack-ის პარამეტრებში. ქვემოთ ჩამოთვლილია ის ჟესტები, რომელთა გამოყენებაც შეიძლება „შეხებით შესწავლის“ რეჟიმში\n\n%1$s კლავიშებზე „ხმის აწევა“ და „ხმის დაწევა“ ხანგრძლივად დაჭერა + ეკრანის დასამალად ან საჩვენებლად სწრაფად დააჭირეთ ხმის ორივე ღილაკზე სამჯერ დაიმალოს ეკრანი? ეს გამორთავს ეკრანის ჩვენებას კონფიდენციალურობის გასაუმჯობესებლად, რომ საჯარო ადგილებში ყოფნისას თქვენი ეკრანი სხვებისთვის ხილული არ იყოს TalkBack-ის ეს ვერსია შეიცავს ნაგულისხმევ გამარტივებული წვდომის ცვლილებებს.\n\nზედა-და-შემდეგ-ქვედა ჟესტი საშუალებას გაძლევთ, გადაანაცვლოთ ერთეული ეკრანის პირველ ერთეულზე, ხოლო ქვედა-და-შემდეგ-ზედა ჟესტი ერთეულს სიის ბოლოში გადაიტანს.\n\nწაკითხვის დეტალიზაცია, შესაძლოა, შეიცვალოს ერთეულზე ფოკუსირებით და შემდეგ ლოკალური კონტექსტური მენიუდან დეტალიზაციის არჩევით.\n\nTalkBack-ის პარამეტრებში შეგიძლიათ, შეცვალოთ მოქმედებები, რომლებიც ამ ჟესტებით განხორციელდა. @@ -500,9 +506,6 @@ დარწმუნდებული ხართ, რომ გსურთ კვანძების იერარქიის გამართვის რეჟიმის ჩართვა?\n\nკვანძების იერარქიის გამართვა თქვენი ეკრანის ქონთენთს ასახავს თქვენი მოწყობილობის ჟურნალში, რაც შესაძლოა სხვა აპლიკაციების მიერ იქნეს წაკითხული. გსურთ მუშაობის სტატისტიკის ჩართვა? ნამდვილად გსურთ მუშაობის სტატისტიკის ჩართვა?\n\nმუშაობის სტატისტიკამ შეიძლება მეტი მეხსიერება და ენერგია მოიხმაროს. - ჩაირთოს დეტალური ჩანაწერების აღრიცხვა? - დეტალური ჩანაწერების აღრიცხვა შეიძლება შეცდომების გამართვას დაეხმაროს, მაგრამ გამოიწვიოს პერსონალური ინფორმაციის გამოჩენა სისტემის ჟურნალის ბუფერში.\n\n გსურთ დეტალური ჩანაწერების აღრიცხვის ჩართვა? - დიახ, ჩაირთოს დეტალური ჩანაწერების აღრიცხვა დაუშვებთ ტელეფონზე წვდომას? ეს ეხმარება TalkBack-ს, შეამციროს განცხადებები ზარის მიმდინარეობისას გაგრძელება @@ -556,11 +559,9 @@ მისაწვდომობის ხმის სიმძლავრე დაარეგულირეთ სლაიდერი დაარეგულირეთ მნიშვნელობა - მოქმედებები პაროლების გახმოვანება პაროლები ყოველთვის გახმოვანდება ხმა და ვიბრაცია - ხმა დაკოპირებულია, %1$s დახურვა ძიების დახურვა @@ -595,15 +596,13 @@ %1$s, რომელსაც წაიკითხავს %2$s ამის გამოსაყენებლად გადადით TalkBack-ის პარამეტრებზე და დაამატეთ ჟესტი შემდეგისთვის: %1$s ბრაილის კლავიატურა არ არის ჩართული. გადადით TalkBack-ის პარამეტრებზე, დააყენეთ ბრაილის კლავიატურა და ცადეთ ხელახლა. - ხელმისაწვდომია შეთავაზებები - ხელმისაწვდომია შეთავაზებები. წვდომისთვის %1$s გვერდი %1$d / %2$d-დან წინა შემდეგ დახურვა დასრულება ნავიგაცია ზემოთ - TalkBack-ის ახალი ფუნქციები + TalkBack-ის ახალი ფუნქციები დაიხუროს სახელმძღვანელო? ნებისმიერ დროს შეძლებთ დაბრუნებას TalkBack-ის პარამეტრებიდან. სახელმძღვანელოზე დარჩენა @@ -647,14 +646,6 @@ შეეხეთ და შეიყტყვეთ მეტი TalkBack-ის ახალი ჟესტების გამოყენების შესახებ. კვანძების იერარქია დაიბეჭდა ჟურნალებში. აქ ნაჩვენებია ახლახან შესრულებული ჟესტები. გთხოვთ, მოხსენებაში მიუთითოთ, თუ რომელი ჟესტია არასწორი და რა უნდა იყოს მის ნაცვლად. - თქვენ მიიღებთ გამარტივებულ ხმის მართვის საშუალებებს, ქმედების სწრაფი მართვის საშუალებებს და ა.შ.\n\nამის შემდეგ ძირითადი განახლებებისა და ცვლილებების შესახებ რამდენიმე ეკრანზე შეიტყობთ. ამას დაახლოებით 5 წუთი დასჭირდება.\n\nამ ინფორმაციის გადახედვა ნებისმიერ დროს შეგიძლიათ TalkBack-ის პარამეტრებიდან. - ხმის მართვის საშუალებების ცვლილებები - ხმის მართვის გასაუმჯობესებლად, ხმის ღილაკებით ვეღარ მართავთ ტექსტის კურსორებს ან სლაიდერებს.\n\nსლაიდერის პოზიციის შესაცვლელად, ზემოთ ან ქვემოთ გადაფურცლეთ.\n\nტექსტის კურსორის პოზიციის შესაცვლელად, ტექსტის ველში ზემოთ ან ქვემოთ გადაფურცლეთ. იგივე ვრცელდება ბრაილის კლავიატურის კითხვის მართვის საშუალებებზეც. - ტექსტი სურათებში - სურათებში ტექსტის შესახებ მეტი დეტალის მიღება შეგიძლიათ ავტომატურად ან საჭიროების შემთხვევაში.\n\nსურათები, რომელთაც არ აქვთ ლეიბლი: TalkBack ავტომატურად წაიკითხავს ტექსტს, რომელიც გამოჩნდება.\n\nყველა სურათისთვის: გახსენით TalkBack-ის მენიუ და აირჩიეთ „სურათში ტექსტის აღწერა“.\n\nსურათები თქვენს მოწყობილობაში რჩება და არასდროს ეგზავნება Google-ს. ეს იმას ნიშნავს, რომ ორივე ამ ფუნქციის გამოყენება შეგიძლიათ ინტერნეტ-კავშირის გარეშე. - ფანჯარაში ნავიგაცია - თქვენ შეგიძლიათ, გადაერთოთ თქვენი ეკრანის სხვადასხვა სექციაზე, მაგალითად, შეტყობინებების ზოლზე, მთავარ კონტენტსა და კლავიატურაზე.\n\nფანჯარაში ნავიგაციის გამოსაყენებლად, გადაფურცლეთ ქვევით 4 თითით. - თქვენ შეგიძლიათ, გადაერთოთ თქვენი ეკრანის სხვადასხვა ნაწილზე, მაგალითად, შეტყობინებების ზოლზე, მთავარ კონტენტსა და კლავიატურაზე.\n\nფანჯარაში ნავიგაციის გამოსაყენებლად, გადაფურცლეთ ჯერ ქვევით და შემდეგ ზევით. ფანჯარაში ნავიგაციის არჩევამდე გააგრძელეთ. ფანჯარაში ნავიგაციისთვის გადაფურცლეთ ქვევით. სახელმძღვანელო მოგესალმებით TalkBack-ზე! TalkBack არის ეკრანის წამკითხველი, რომელიც საგანგებოდ შექმნილია მხედველობის პრობლემების მქონე ადამიანებისთვის ან იმ სიტუაციებისთვის, როდესაც ეკრანი არ ჩანს. თქვენ მიიღებთ გახმოვანებულ უკუკავშირს, რომლის მეშვეობითაც შეძლებთ მოწყობილობის გამოყენებას ეკრანზე ყურების გარეშე.\n\nშეგიძლიათ TalkBack-ის ჩართვა ან გამორთვა ხმის ორივე ღილაკზე ხანგრძლივი შეხებით რამდენიმე წამის განმავლობაში.\n\nროცა TalkBack ჩართულია, ეკრანზე არჩეული ერთეული გახმოვანდება.\n\nმარჯვნივ გადაფურცვლით შეძლებთ მომდევნო ერთეულზე გადასვლას, მარცხნივ გადაფურცვლით კი წინა ერთეულს დაუბრუნდებით.\n\nგადაფურცლეთ მარჯვნივ ღილაკის „შემდეგ“ სანახავად. @@ -697,14 +688,14 @@ გადაადგილდით თითით კლავიატურაზე. აუშვით თითი, როცა სასურველ ასობგერას გაიგონებთ.\n\nცადეთ ტექსტის ველის გააქტიურება და აკრიფეთ თქვენი სახელი. ასევე, შეგიძლიათ ბრაილის კლავიატურის მეშვეობით აკრეფა. მოძებნეთ ის TalkBack-ის პარამეტრებში. კურსორის ამოძრავება - ტექსტის ველის გააქტიურების შემდეგ, შეგიძლიათ, კურსორი ასოებს შორის გადააადგილოთ ზევით ან ქვევით გადაფურცვლით.\n\nცადეთ ეს ქვემოთ მოცემულ ტექსტის ველში. + ტექსტის ველის გააქტიურების შემდეგ, შეგიძლიათ, კურსორი ასობგერებს შორის გადააადგილოთ ზედა ან ქვედა ხმის ღილაკზე დაჭერით.\n\nცადეთ ეს ქვემოთ მოცემულ ტექსტის ველში. მოგესალმებით TalkBack-ზე! ტექსტის არჩევა ტექსტის ველში გადაიტანეთ კურსორი იმ ტექსტის დასაწყისში, რომლის არჩევაც გსურთ.\n\nარჩევის რეჟიმის გასაშვებად ორმაგად შეეხეთ 2 თითით და შეაყოვნეთ. შემდეგ გადაიტანეთ კურსორი ტექსტის ბოლოში. არჩევის რეჟიმის დასასრულებლად ისევ ორმაგად შეეხეთ 2 თითით და შეაყოვნეთ.\n\nაირჩიეთ სიტყვა „მოგესალმებით“ ქვემოთ მოცემულ ტექსტის ველში. - ტექსტის ველში გადაიტანეთ კურსორი იმ ტექსტის დასაწყისში, რომლის არჩევაც გსურთ.\n\nTalkBack-ის მენიუს გასახსნელად გადაფურცლეთ ჯერ ქვემოთ, შემდეგ მარჯვნივ. ორმაგად შეეხეთ მოქმედებებს და გაუშვით არჩევის რეჟიმი. გადაიტანეთ კურსორი ტექსტის ბოლოში.\n\nისევ გახსენით TalkBack-ის მენიუ, შემდეგ არჩევის რეჟიმის დასასრულებლად ორმაგად შეეხეთ მოქმედებებს.\n\nაირჩიეთ სიტყვა „მოგესალმებით“ ქვემოთ მოცემულ ტექსტის ველში. + ტექსტის ველში გადაიტანეთ კურსორი იმ ტექსტის დასაწყისში, რომლის არჩევაც გსურთ.\n\nTalkBack-ის მენიუს გასახსნელად გადაფურცლეთ ჯერ ქვემოთ, შემდეგ მარჯვნივ. ორმაგად შეეხეთ რედაქტირების ვარიანტებს და გაუშვით არჩევის რეჟიმი. გადაიტანეთ კურსორი ტექსტის ბოლოში.\n\nისევ გახსენით TalkBack-ის მენიუ, შემდეგ არჩევის რეჟიმის დასასრულებლად ორმაგად შეეხეთ რედაქტირების ვარიანტებს.\n\nაირჩიეთ სიტყვა „მოგესალმებით“ ქვემოთ მოცემულ ტექსტის ველში. კოპირება, ამოჭრა და ჩასმა - ტექსტის არჩევის შემდეგ, ორმაგად შეეხეთ მოქმედებებს და შემდეგ დააკოპირეთ.\n\nდააკოპირეთ ქვემოთ ტექსტის ველში წარმოდგენილი სიტყვა. - ტექსტის ამოსაჭრელად ან ჩასასმელად გახსენით TalkBack-ის მენიუ და ორმაგად შეეხეთ მოქმედებებს.\n\nტექსტის ჩასასმელად სამჯერ შეეხეთ 3 თითით.\n\nჩასვით ქვემოთ ტექსტის ველში წარმოდგენილი სიტყვა. + ტექსტის არჩევის შემდეგ, ორმაგად შეეხეთ 3 თითით და დააკოპირეთ ის.\n\nცადეთ სიტყვის დაკოპირება ქვემოთ მოცემულ ტექსტის ველში. + ტექსტის ამოსაჭრელად ეკრანს 3 თითით ორმაგად შეეხეთ და შეაყოვნეთ.\n\nტექსტის ჩასასმელად 3 თითით სამმაგად შეეხეთ ეკრანს.\n\nცადეთ სიტყვის ჩასმა ქვემოთ მოცემულ ტექსტის ველში. ტექსტის არჩევის შემდეგ, მისი დაკოპირება შეგიძლიათ TalkBack-ის მენიუში. TalkBack-ის მენიუს გასახსნელად გადაფურცლეთ ჯერ ქვემოთ და შემდეგ მარჯვნივ. ორმაგად შეეხეთ რედაქტირების ვარიანტებს და დააკოპირეთ.\n\nცადეთ სიტყვის დაკოპირება ქვემოთ მოცემულ ტექსტის ველში. ტექსტის ამოსაჭრელად ან ჩასასმელად გახსენით TalkBack-ის მენიუ და ორმაგად შეეხეთ რედაქტირების ვარიანტებს.\n\nცადეთ სიტყვის ჩასმა ქვემოთ მოცემულ ტექსტის ველში. ჩასვით ტექსტი აქ @@ -747,7 +738,6 @@ გადაფურცლეთ მარჯვნივ ან მარცხნივ ერთეულებს შორის გადასაადგილებლად ორმაგი შეეხეთ ერთეულის გასააქტიურებლად გადასადგილებლად ჩაავლეთ 2 თითით - გთხოვთ, შეამოწმოთ დაკავშირებულია თუ არა ტელეფონი. სქელი საზღვრები ფერი ნაგულისხმევი @@ -759,12 +749,6 @@ ნაცრისფერი გამოკითხვა დაიხურა ტექსტი: %1$s - აღწერეთ სურათის ტექსტი - წაშლილი ხატულა: %1$s - მოქმედება მხარდაუჭერელია. - მოქმედება არ არის არჩეული. - აირჩიეთ მხარდაჭერილი მოქმედება. - მოქმედებები არ არის. - მოქმედებების პარამეტრი არ არის ჩართული. - ტექსტი ვერ მოიძებნა + სურათის აღწერა + სავარაუდო ხატულა: %1$s diff --git a/talkback/src/main/res/values-kk/strings.xml b/talkback/src/main/res/values-kk/strings.xml index 3924691bf..213e74ec7 100644 --- a/talkback/src/main/res/values-kk/strings.xml +++ b/talkback/src/main/res/values-kk/strings.xml @@ -7,7 +7,6 @@ Мәтінді дыбыстау параметрлері Тілдер Дыбысталу тілі - Әрекеттер Жүйе әрекеттері %1$s нұсқасы Арнаулы белгілерді басқару @@ -31,37 +30,46 @@ Құрылғының бекітпесі ашылды. Аудио Сөздің дыбыс деңгейі - Экран өшірулі кезде хабарландыруларды дыбыстау - Тізім элементтерінің санын әрдайым дыбыстау - Барлық айналдыру әдісінің нөмірін дыбыстау + Экран өшірулі кезде сөйлеу + Экран өшірулі кезде хабарландырулар дыбысталады + Экран өшірулі кезде дыбысталу жоқ + Экрандағы тізім элементтерінің санын дауыстап айту + Қимылмен айналдырған кезде ғана дауыстап айту + Әрқашан дауыстап айтылады Сөйлеуді тоқтату үшін қашықтық сенсорын жабыңыз. - Әріптерді мысалдармен дыбыстау - Пернетақтаның пернелерін таңдағанда немесе таңбаға өткен кезде әр әріптің қасындағы мысал дыбысталады. Мысалы, \"қ, қонақүй\" - Тыныс белгілері мен таңбаларды дыбыстау + Фонетикалық әріптерді дауыстап айту + Фонетикалық әріптер дауыстап оқылмайды + Фонетикалық әріптер пернетақтаны ұзақ басқанда және таңба бойынша жылжытқанда дауыстап айтылады. + Тыныс белгілері + Тыныс белгілері мен таңбалар дауыстап айтылмайды + Тыныс белгілері мен таңбалар дауыстап айтылады Бас әріптер Ештеңе істемеу \"Бас\" деп айтыңыз Дауыс тембрін өзгерту Дыбысты ойнату Пайдалану туралы кеңестерді дауыстап айту - Мазмұнды сипаттағаннан кейін пайдалану әдісін ұсыну - Тізімді және тор ақпаратын дыбыстау + Арнайы мүмкіндіктер фокусын жылжытқанда, пайдалану кеңестері дауыстап оқылмайды + Жылжу кезінде пайдалану кеңестері аздаған кідірістен кейін дауыстап оқылады + Тізім және тор ақпаратын айту + Тізім және тор ақпараты дауыстап оқылады + Тізім және тор ақпараты дауыстап оқылмайды Қимылдар бастапқы күйіне қайтарылсын ба? Бұл – барлық қимылдарды әдепкі параметрлерге қайтарады.\n\nБұған дейінгі өзгерістердің ешқайсысы сақталмайды. Қайтару Қимыл параметрлері қайтарылды. Элемент түрін айту - Ерекшеленген элементтер үшін + Фокустағы элементтердің түрі дауыстап оқылады + Фокустағы элементтердің түрі дауыстап оқылмайды Элемент идентификаторын дауыстап айту - Белгіленбеген түймелер үшін - Жүйелік терезелерді дыбыстау - Күй жолағы, хабарландырулар немесе дауыс деңгейін басқару сияқты басқа жүйелік терезелерге ауысқан кезде + Жазуы жоқ түймелер үшін элемент идентификаторлары дыбысталмайды + Жазуы жоқ түймелер үшін элемент идентификаторлары дыбысталады Түртілген элементтерді дыбыстау Басқару элементтері Белсендіру үшін бір рет түрту Ерекшеленген элементті бір рет түртіп белсендіру Сөз мөлшері - Тыныс белгілері мен таңбаларды дыбыстау + Тыныс белгілері Ерекшелеу индикаторын реттеу Қимылдарды реттеу Арнаулы белгілер @@ -203,7 +211,8 @@ Тембр өзгерістерін пайдалану Пернетақта жаңғырығы Элемент сипаттамасының реті - Әріптердің өшірілуін қаттырақ дауыстап айту + Пернетақтамен мәтіннің өшірілуін қаттырақ дыбыстау + Сөйлеу кезінде дауыс тембрін өзгертпеу Брайль пернетақтасы Діріл сигналы Дыбыстық сигнал @@ -211,6 +220,7 @@ Сөйлеу кезінде басқа аудионың дыбыс деңгейін азайту Сигналдың дыбыс деңгейі Talkback функциясын уақытша тоқтатып, жалғастыру пернелер тіркесімі + Экранды күңгірттеу жылдам пәрмені Әзірлеуші параметрлері Оқиғаларды журналға енгізу Оқиғаларды журналға іріктеп енгізу @@ -256,7 +266,7 @@ TalkBack мәзірін ашу Кері байланысты кідірту Дыбыстауды кідірту немесе жалғастыру - Сөз сөйлеуді қосу не өшіру + TalkBack дыбысын қосу немесе өшіру Жоғарғы жақтан оқу Келесі элементтен оқу Түйін тармағын басып шығару @@ -278,7 +288,6 @@ Арнайы мүмкіндіктер түймесін басып тұру Навигация аумағын алға жылжыту немесе оқуды басқару элементін төмен түсіру Навигация аумағын артқа жылжыту немесе оқуды басқару элементін жоғары көтеру - Қазір таңдалған әрекетті белсендіру Іздеу нәтижесі Медиафайлды ойнату немесе кідірту Барлық қолданба @@ -323,7 +332,7 @@ Оқу Арнайы функциялар Басқа - Ағымдағы элементке қатысты әрекеттердің (соның ішінде көшіру, қою, таңдау және т.б.) бар екенін көрсетеді. + Ағымдағы элемент үшін арнаулы әрекеттер болғанда көрсетеді. Көшіру, қою, таңдау және т.б. Мәтін өрісін таңдағанда көрсетіледі. Ерекшеленген элементтегі сілтемелерді ашу Келесі немесе алдыңғы бетке өту. Бірнеше беттік мазмұнды оқып жатқанда көрсетіледі. @@ -342,7 +351,6 @@ Мәтінді дыбыстау параметрлерін ашу TalkBack дауыстық пікір қалдыру функциясын өшіру Өзгертілмейді. - Әрекеттерді орындау Таңбаларды бір-бірден оқу Сөздерді бір-бірден оқу Жолдарды бір-бірден оқу @@ -365,7 +373,7 @@ TalkBack сөйлегенде ойнатылып жатқан басқа аудиолардың дыбыс деңгейін азайту Алға немесе артқа айналдыру Accessibility-дің дыбыс деңгейін көбейту - Таңдалған суреттегі ендірілген мәтінді оқу + Осы суреттің автоматты сипаттамасын алу төменге төмен, содан кейін оңға Жоғары сырғыту @@ -408,9 +416,7 @@ 2 саусақпен екі рет түртіп, ұстап тұру 3 саусақпен екі рет түртіп, ұстап тұру 4 саусақпен екі рет түртіп, ұстап тұру - 3 саусақпен түртіп, ұстап тұру Үш рет түртіп, 2 саусақпен ұстап тұру - 3 саусақпен үш рет түртіп, ұстап тұру Реттеу қимылы: \"%1$s\" немесе \"%2$s\" Реттеу қимылы: \"%1$s\" Белгісіз қимыл @@ -433,9 +439,8 @@ Экран қосылғанда Құлыпталған экран көрсетілгенде Тек хабарландырудан - Кез келген пернені таңдау үшін оны саусағыңызбен ұстап тұрып, екі рет түртіңіз. - Әрпі бар пернені таңдау үшін оны саусағыңызбен ұстап тұрып, кейін жіберіңіз. Басқа пернелер туралы ақпарат алу үшін екі рет түртіңіз. - Кілтті таңдау үшін оны саусағыңызбен ұстап тұрыңыз, сосын жіберіңіз. + Кілтті таңдау үшін оны саусағыңызбен ұстап тұрыңыз, сосын екі рет түртіңіз. + Кілтті таңдау үшін оны саусағыңызбен ұстап тұрыңыз, сосын жіберіңіз. Өшірілген Сәл ғана Жеңіл @@ -485,6 +490,7 @@ Белгілерді экспорттайтын қолданбаны таңдаңыз: Бұл TalkBack нұсқасында бұрынғы арнайы мүмкіндіктерге енгізілген өзгертулер қамтылған. Осы қимылдармен байланысты әрекеттерді TalkBack параметрлерінде реттеуге болады. Түртілген элементтерді дыбыстау функциясы қосылған болса, белгілі бір әрекеттерді орындау үшін төмендегі қимылдарды пайдалана аласыз.\n\n%1$s Дыбысты көбейту және төмендету пернелерін ұзақ уақыт басу + Экранды күңгірттеу немесе жарықтығын арттыру үшін дыбыс деңгейі пернелерінің екеуін де үш рет жылдам басыңыз. Экранды жасыру керек пе? Бұл опция экранды өшіреді. Басқа адамдарға ондағы нәрселер көрінбейді. Бұл TalkBack нұсқасында әдепкі арнайы мүмкіндіктер қимылдарына енгізілген өзгертулер қамтылған.\n\n\"Алдымен жоғары, одан кейін төмен\" қимылы экрандағы бірінші элементке жылжуға мүмкіндік береді, ал \"алдымен төмен, одан кейін жоғары\" қимылы соңғы элементке жылжытады.\n\nЕнді оқу кезінде детализация деңгейін өзгерту үшін элементті ерекшелеңіз, одан кейін TalkBack контекстік мәзірінен детализацияны таңдаңыз.\n\nОсы қимылдар арқылы орындалатын әрекеттерді TalkBack параметрлерінде өзгертуге болады. @@ -500,9 +506,6 @@ Түйін тармағының күйін келтіруді қосу керек пе?\n\nТүйін тармағының күйін келтіру экран мазмұнын құрылғы журналдарына ашады, оларды басқа қолданбалар оқуы мүмкін. Өнімділік статистикасын қосу керек пе? Өнімділік статистикасын расымен қосқыңыз келе ме?\n\nӨнімділік статистикасы жадыдан көп орын алуы және қуатты көп мөлшерде қажет етуі мүмкін. - Журналға толық тіркеу параметрін қосу керек пе? - Журналға толық тіркеу параметрі түзету жұмыстары барысында көмектесуі, бірақ жүйе журналының буферінде жеке ақпараттың көрсетілуіне себепші болуы мүмкін.\n\n Бұл параметрді қосқыңыз келе ме? - Иә, қосылсын Телефонды пайдалануға рұқсат етілсін бе? Бұл рұқсат қоңырау кезінде TalkBack функциясына хабарландырулардың санын азайтуға көмектеседі. Жалғастыру @@ -556,11 +559,9 @@ Accessibility-дің дыбыс деңгейі Жүгірткіні реттеу Мәнді реттеу - Әрекеттер Құпия сөздерді дыбыстау Құпия сөздер әрдайым дыбысталады Дыбыс және діріл - Дыбыс көшірілді, %1$s Жабу Іздеу терезесін жабу @@ -595,15 +596,13 @@ %2$s бойынша оқу үшін %1$s Мұны пайдаланғыңыз келсе, TalkBack параметрлеріне өтіп, \"%1$s\" үшін қимыл енгізіңіз. Брайль пернетақтасы қосылмаған. Оны TalkBack параметрлерінен реттеп, әрекетті қайталаңыз. - Ұсыныстар қолжетімді - Ұсыныстар қолжетімді. Көру үшін %1$s. %1$d/%2$d бет Алдыңғы Келесі Жабу Аяқтау Жоғары қарай өту - TalkBack-тегі жаңа функциялар + TalkBack-тегі жаңа функциялар Оқулық жабылсын ба? Оған TalkBack параметрлері арқылы кез келген уақытта қайтып оралуға болады. Оқулықта қалу @@ -647,14 +646,6 @@ TalkBack-ті жаңа қимылдар арқылы жылдамырақ пайдалану туралы толығырақ ақпарат алу үшін түртіңіз. Түйін ағашы журналдарға басып шығарылды. Мұнда жақында қолданылған қимылдар көрсетілген. Олардың қайсысында қате шыққанын және ол нені білдіруі керек болғанын хабарлаңыз. - Сізге жеңілдетілген дыбысты басқару құралдары, жылдам басқару құралдары және т.б. беріледі.\n\nКелесі бірнеше экранда негізгі жаңартулар мен өзгерістер туралы айтылады. Бұған шамамен 5 минут кетеді.\n\nБұл ақпаратты кез келген уақытта TalkBack параметрлерінен қарай аласыз. - Дыбысты басқаруға қатысты өзгерістер - Дыбысты жақсырақ басқару үшін мәтін курсорларына немесе жүгірткілерге дыбыс деңгейі пернелері пайдаланылмайды.\n\nЖүгірткі қалпын өзгерту үшін оны жоғары немесе төмен сырғытыңыз.\n\nМәтін курсорының қалпын өзгерту үшін мәтін ұясында оны жоғары немесе төмен сырғытыңыз. Бұл әдісті Брайль пернетақтасының оқуды басқару құралдарында да пайдалануға болады. - Суреттердегі мәтін - Суреттердегі мәтін туралы жан-жақты мәліметтерді автоматты түрде немесе қажеттілік жағдайында алуға болады.\n\nБелгісі жоқ суреттер үшін: TalkBack пайда болған мәтінді автоматты түрде оқиды.\n\nБарлық суреттер үшін: TalkBack мәзірін ашып, \"Суреттегі мәтінді сипаттау\" тармағын таңдаңыз.\n\nСуреттер құрылғыңызда сақталады және ешқашан Google-ға жіберілмейді. Яғни осы екі функцияны интернет байланысынсыз пайдалана аласыз. - Терезеде жылжу - Экранның әртүрлі бөліктері (мысалы, хабарландыру жолағы, негізгі мазмұн және пернетақта) арасында ауысуға болады.\n\nТерезеде жылжу үшін 4 саусағыңызбен төмен сырғытыңыз. - Экранның әртүрлі бөліктері (мысалы, хабарландыру жолағы, негізгі мазмұн және пернетақта) арасында ауысуға болады.\n\nТерезеде жылжу үшін төмен, сосын жоғары сырғытыңыз. Бұл әрекетті терезеде жылжу опциясы таңдалғанша жалғастырыңыз. Терезеге өту үшін төмен сырғытыңыз. Оқулық TalkBack-ке қош келдіңіз! TalkBack – көру қиындап кеткен жағдайларға немесе көру қабілеті нашар адамдарға арналған экранды оқу құралы. Ол сізге дауыс арқылы ақпарат беріп отырады, сөйтіп сіз құрылғыны экранға қарамай-ақ пайдалана аласыз.\n\nЕкі дыбыс деңгейі пернесін бірнеше секунд басып тұрып, TalkBack-ті қоса не өшіре аласыз.\n\nTalkBack қосулы болғанда, экрандағы ерекшеленген элемент дауыстап оқылады.\n\nОңға сырғытқан кезде, келесі элементке ауысады, ал солға сырғытқан кезде, алдыңғы элементке ауысады.\n\n\"Келесі\" түймесіне өту үшін оңға сырғытыңыз. @@ -697,14 +688,14 @@ Саусағыңызды пернетақта бойымен жүргізіңіз. Тергіңіз келген әріпті естіген кезде, саусағыңызды көтеріңіз.\n\nТөмендегі мәтін өрісін ашып, атыңызды теріп көріңіз. Брайль пернетақтасымен теруіңізге де болады. Оны TalkBack параметрлерінен таба аласыз. Курсорды жылжыту - Мәтін ұясын ашқан кезде, курсорды жоғары немесе төмен сырғыту арқылы әріптер арасында жылжыта аласыз.\n\nТөмендегі мәтін ұясында осы әрекетті орындап көріңіз. + Мәтін өрісін ашып, дыбыс деңгейі пернелерін жоғары немесе төмен басу арқылы курсорды әріптер арасында жылжыта аласыз.\n\nТөмендегі мәтін өрісінде осы әрекетті орындап көріңіз. TalkBack-ке қош келдіңіз! Мәтінді белгілеу Мәтін өрісінде курсорды белгілегіңіз келетін мәтіннің басына жылжытыңыз.\n\nБелгілеу режимін қосу үшін 2 саусағыңызбен екі рет басып тұрыңыз. Сосын курсорды мәтіннің соңына жылжытыңыз. Белгілеу режимінен шығу үшін қайтадан 2 саусағыңызбен екі рет басып тұрыңыз.\n\nТөмендегі мәтін өрісіндегі \"Қош келдіңіз\" сөзін белгілеп көріңіз. - Мәтін ұясында курсорды белгілегіңіз келетін мәтіннің басына жылжытыңыз.\n\nTalkBack мәзірін ашу үшін алдымен төмен, одан кейін оңға сырғытыңыз. Әрекеттер түймесін екі рет түртіңіз де, белгілеу режимін қосыңыз. Курсорды мәтіннің соңына жылжытыңыз.\n\nTalkBack мәзірін қайта ашыңыз, одан кейін белгілеу режимінен шығу үшін әрекеттер түймесін екі рет түртіңіз.\n\nТөмендегі мәтін ұясындағы \"Қош келдіңіз\" сөзін белгілеп көріңіз. + Мәтін өрісінде курсорды белгілегіңіз келетін мәтіннің басына жылжытыңыз.\n\nTalkBack мәзірін ашу үшін алдымен төмен, одан кейін оңға сырғытыңыз. Өңдеу опцияларын екі рет түртіңіз де, белгілеу режимін қосыңыз. Курсорды мәтіннің соңына жылжытыңыз.\n\nTalkBack мәзірін қайта ашыңыз, одан кейін белгілеу режимінен шығу үшін өңдеу опцияларын екі рет түртіңіз.\n\nТөмендегі мәтін өрісіндегі \"Қош келдіңіз\" сөзін белгілеп көріңіз. Көшіру, қию және қою - Мәтінді белгілегеннен кейін әрекеттер түймесін екі рет түртіп, оны көшіріңіз.\n\nТөмендегі мәтін ұясындағы сөзді көшіріп көріңіз. - Мәтінді қиып алу немесе қою үшін TalkBack мәзірін ашып, әрекеттер түймесін екі рет түртіңіз.\n\nМәтінді қою үшін 3 саусақпен үш рет түртіңіз.\n\nСөзді төмендегі мәтін ұясына қойып көріңіз. + Мәтінді белгілеген соң, оны 3 саусағыңызбен екі рет түрту арқылы көшіріңіз.\n\nТөмендегі мәтін өрісіндегі сөзді көшіріп көріңіз. + Мәтінді қиып алу үшін 3 саусағыңызбен екі рет басып тұрыңыз.\n\nМәтінді қою үшін 3 саусағыңызбен үш рет түртіңіз.\n\nТөмендегі мәтін өрісіне бір сөз қойып көріңіз. Мәтінді белгілеген соң, оны TalkBack мәзірі арқылы көшіре аласыз. TalkBack мәзірін ашу үшін алдымен төмен, одан кейін оңға сырғытыңыз. Өңдеу опцияларын екі рет түртіп, көшіріңіз.\n\nТөмендегі мәтін өрісіндегі сөзді көшіріп көріңіз. Мәтінді қиып алу немесе қою үшін TalkBack мәзірін ашып, өңдеу опцияларын екі рет түртіңіз.\n\nТөмендегі мәтін өрісіндегі сөзді қойып көріңіз. Мәтінді осында қойыңыз. @@ -747,7 +738,6 @@ Элементтер арасында жылжу үшін оңға немесе солға сырғытыңыз. Элементті іске қосу үшін екі рет түртіңіз. Айналдыру үшін 2 саусақпен сүйреңіз. - Телефон қосулы екенін тексеріңіз. Қалың жақтаулар Түсі Әдепкі @@ -759,12 +749,6 @@ Сұр Сауалнама жабық Мәтін: %1$s - Суреттегі мәтінді сипаттау - Анықталған белгіше: %1$s - Әрекет қарастырылмаған. - Ешқандай әрекет таңдалмады. - Қарастырылған әрекетті таңдаңыз. - Ешбір әрекет жоқ. - Әрекеттер параметрі қосылмаған. - Мәтін табылмады. + Суретті сипаттау + Болжалды белгіше: %1$s diff --git a/talkback/src/main/res/values-km/strings.xml b/talkback/src/main/res/values-km/strings.xml index 6baac4f0f..5b08d62c9 100644 --- a/talkback/src/main/res/values-km/strings.xml +++ b/talkback/src/main/res/values-km/strings.xml @@ -7,7 +7,6 @@ ការកំណត់​ការបំប្លែងអត្ថបទទៅជាការនិយាយ ភាសា ភាសានិយាយ - សកម្មភាព សកម្មភាព​ប្រព័ន្ធ កំណែ %1$s គ្រប់គ្រង​ស្លាក​ផ្ទាល់​ខ្លួន @@ -31,37 +30,46 @@ ដោះ​សោ​ឧបករណ៍​។ សំឡេង កម្រិត​សំឡេង​ការ​និយាយ - អាន​ការជូនដំណឹង នៅពេល​អេក្រង់បិទ - អាន​លេខនៃធាតុក្នុងបញ្ជី​ជានិច្ច - អានចំនួនវិធីរំកិល​ទាំងអស់ + និយាយ​​​ពេល​បិទ​អេក្រង់ + ការ​ជូន​ដំណឹង​ត្រូវ​បាន​និយាយ​នៅ​ពេល​បិទ​អេក្រង់​ + គ្មាន​ការ​និយាយ​នៅ​ពេល​​បិទ​អេក្រង់ + អានលេខ​នៃ​ធាតុ​ក្នុង​បញ្ជី​នៅលើ​អេក្រង់ + អាន​តែ​នៅពេល​រំកិល​ដោយ​ចលនា​ប៉ុណ្ណោះ + អាន​ជានិច្ច គ្របឧបករណ៍ចាប់សញ្ញាជិតៗ ដើម្បីបញ្ឈប់ការនិយាយ - អានអក្សរ​ដោយភ្ជាប់ជាមួយ​ឧទាហរណ៍ - នៅពេលអ្នក​ជ្រើសរើសគ្រាប់ចុច​របស់ក្ដារចុច ឬរុករក​តាមតួអក្សរ អ្នកនឹងឮ​ឧទាហរណ៍ជាមួយ​អក្សរនីមួយៗ​ដូចជា \"h, hotel\" ជាដើម - អាន​សញ្ញាវណ្ណយុត្ត និងនិមិត្តសញ្ញា + អានអក្សរតាមសូរសព្ទ + អក្សរ​សូរសព្ទ​មិន​ត្រូវ​បាន​អាន​ទេ + អក្សរ​សូរសព្ទ​ត្រូវ​បាន​អាន នៅពេលចុចគ្រាប់ក្តារចុចឲ្យយូរ និងរុករកទៅតាមតួអក្សរ + ​សញ្ញាវណ្ណយុត្ត + មិនអានសញ្ញាវណ្ណយុត្ត និងនិមិត្តសញ្ញាផ្សេងៗទេ + អានសញ្ញាវណ្ណយុត្ត និងនិមិត្តសញ្ញាផ្សេងៗ អក្សរធំ មិន​ធ្វើ​អ្វី​សោះ និយាយថា “អក្សរធំ” ប្ដូរ​សំឡេង ចាក់​សំឡេង និយាយគន្លឹះប្រើប្រាស់ - បន្ទាប់ពី​ពណ៌នាអំពី​ខ្លឹមសារ សូមណែនាំអំពី​របៀបប្រើប្រាស់ - អាន​ព័ត៌មានដែលមាន​ក្នុងក្រឡា និងបញ្ជី + គន្លឹះ​ប្រើប្រាស់​មិនត្រូវ​បាន​អាន​ទេ នៅ​ពេល​ផ្លាស់ទី​ការផ្តោត​លើភាព​ងាយស្រួល + គន្លឹះ​ប្រើប្រាស់​​ត្រូវបាន​អាន​អំឡុង​ពេល​រុករក បន្ទាប់ពី​មានការពន្យារ​ពេល​បន្តិច + អានព័ត៌មាន​​ដែល​មាន​ទម្រង់​ជាបញ្ជី និងក្រឡា + ព័ត៌មាន​ដែល​មាន​ទម្រង់​ជា​បញ្ជី និង​ក្រឡា​ត្រូវ​បាន​អាន + ព័ត៌មាន​ដែល​មាន​ទម្រង់​ជា​បញ្ជី និង​ក្រឡា​មិន​ត្រូវ​បាន​អាន​ទេ កំណត់​ចលនា​ឡើងវិញឬ? ការធ្វើបែបនេះ​នឹងកំណត់​ចលនាទាំងអស់​ឡើងវិញទៅសកម្មភាព​លំនាំដើមរបស់​ចលនាទាំងនោះ។\n\nអ្នកនឹង​បាត់បង់​ការផ្លាស់ប្ដូរ​ដែលអ្នក​បានធ្វើឡើង។ កំណត់​ឡើងវិញ ការកំណត់ចលនា​ត្រូវបានកំណត់​ឡើងវិញហើយ។ អាន​ប្រភេទ​ធាតុ - សម្រាប់ធាតុ​ដែលបានផ្ដោត + ប្រភេទ​ធាតុត្រូវ​បាន​អានសម្រាប់ធាតុ​ដែល​បាន​ផ្តោត + ប្រភេទ​ធាតុនៃ​ធាតុ​ដែល​បាន​ផ្តោត​មិន​ត្រូវ​បាន​អាន​ទេ អានលេខសម្គាល់ធាតុ - សម្រាប់​ប៊ូតុង​ដែលគ្មានស្លាក - និយាយវិនដូ​ប្រព័ន្ធ - នៅពេលដែល​អ្នកប្ដូរទៅ​វិនដូប្រព័ន្ធ​ផ្សេងទៀតដូចជា របារ​ស្ថានភាព ការជូនដំណឹង ឬការគ្រប់គ្រង​កម្រិត​សំឡេង + លេខសម្គាល់ធាតុមិនត្រូវបានអានសម្រាប់ប៊ូតុងដែលមិនបានដាក់ស្លាកនោះទេ + លេខសម្គាល់ធាតុត្រូវបានអានសម្រាប់ប៊ូតុងដែលមិនបានដាក់ស្លាក រក​មើល​ដោយ​ការ​ប៉ះ ការបញ្ជា ចុចតែម្តង ដើម្បី​បើកដំណើរការ ចុចម្ដង​នៅលើ​ធាតុដែលបានផ្ដោត ដើម្បី​បើកដំណើរការ មុខងារ​បរិយាយ - អាន​សញ្ញាវណ្ណយុត្ត និងនិមិត្តសញ្ញា + ​សញ្ញាវណ្ណយុត្ត ប្ដូរ​សូចនាករ \"ផ្ដោត\" តាមបំណង ប្ដូរ​ចលនាតាមបំណង ស្លាក​ផ្ទាល់ខ្លួន @@ -203,7 +211,8 @@ ប្រើការ​ប្ដូរ​សំឡេង ក្ដារចុចនិយាយ លំដាប់នៃការ​ពិពណ៌នា​ធាតុ - អានអក្សរដែលបានលុបនៅក្នុងកម្រិតសំឡេងខ្ពស់ + អានក្ដារចុច​ដែលបានលុបពាក្យឬឃ្លា​នៅក្នុងកម្រិតសំឡេងខ្ពស់ + កុំ​ប្ដូរ​​កម្រិត​សំឡេង​ពេល​និយាយ ក្ដារចុច​អក្សរស្ទាប ប្រតិកម្ម​ញ័រ ប្រតិកម្មជាសំឡេង @@ -211,6 +220,7 @@ បន្ថយ​កម្រិត​សំឡេង​ផ្សេង​ទៀត​​​ពេលកំពុង​​អាន កម្រិតសំឡេង​ប្រតិកម្ម ផ្លូវកាត់ផ្អាក និងបន្ត TalkBack + លាក់​ផ្លូវកាត់​អេក្រង់ ការ​កំណត់​​របស់​អ្នក​អភិវឌ្ឍន៍ ជ្រើសរើសព្រឹត្តិការណ៍ដែលត្រូវធ្វើកំណត់ហេតុ ការធ្វើកំណត់ហេតុព្រឹត្តិការណ៍លទ្ធភាពចូលដំណើរការតម្រង @@ -256,7 +266,7 @@ បើកម៉ឺនុយ​មុខងារតបវិញ ផ្អាក​មតិ​ត្រឡប់ ផ្អាក ឬបន្ត​ការនិយាយ - បើក ឬបិទ​ការនិយាយ + បើក/បិទ​សំឡេង​របស់​មុខងារតបវិញ អាន​ពី​ខាង​លើ អាន​ពី​ធាតុ​បន្ទាប់ បោះពុម្ព​មែក​ធាង​ថ្នាំង @@ -278,7 +288,6 @@ ផ្លូវកាត់​សង្កត់ប៊ូតុងភាពងាយស្រួល​ឱ្យជាប់ ផ្លាស់ទី​ការផ្ដោតលើការរុករក​ទៅមុខ ឬកែតម្រូវការគ្រប់គ្រង​ការអាន​ចុះក្រោម ផ្លាស់ទី​ការផ្ដោតលើការរុករក​ថយក្រោយ ឬកែតម្រូវការគ្រប់គ្រង​ការអាន​ឡើងលើ - បើកដំណើរការ​សកម្មភាព​ដែលបានជ្រើសរើស​បច្ចុប្បន្ន លទ្ធផល​ស្វែងរក ចាក់ ឬផ្អាក​មេឌៀ កម្មវិធីទាំងអស់ @@ -323,7 +332,7 @@ ការអាន មុខងារពិសេសៗ ផ្សេងទៀត - បង្ហាញនៅពេលមានសកម្មភាពសម្រាប់ធាតុបច្ចុប្បន្ន រួមទាំងការចម្លង ដាក់ចូល ជ្រើសរើស និងច្រើនទៀត + បង្ហាញនៅពេល​សកម្មភាពផ្ទាល់ខ្លួន​មានសម្រាប់​ធាតុបច្ចុប្បន្ន ចម្លង ដាក់ចូល ជ្រើសរើស និង​ច្រើនទៀត។ បង្ហាញនៅពេល​អ្នកជ្រើសរើស​ប្រអប់អត្ថបទ។ បើកតំណនៅក្នុង​ធាតុដែលបានផ្ដោត ចូលទៅ​ទំព័របន្ទាប់ ឬមុន។ បង្ហាញនៅពេល​អ្នកកំពុងអានខ្លឹមសារ​ដែលមានទំព័រច្រើន។ @@ -342,7 +351,6 @@ បើកការកំណត់​ការបំប្លែងអត្ថបទទៅជាការនិយាយ បិទសំឡេងរបស់មុខងារ​តបវិញ មិន​អាច​កែ​បានទេ - ធ្វើសកម្មភាព អានមួយតួអក្សរ​ម្ដង អានមួយពាក្យ​ម្ដង អានមួយជួរ​ម្ដង @@ -365,7 +373,7 @@ បន្ថយកម្រិតសំឡេងនៃការចាក់សំឡេងផ្សេងទៀត នៅពេលមុខងារតបវិញនិយាយ រំកិល​ទៅមុខ ឬ​ទៅក្រោយ បង្កើន ឬបន្ថយកម្រិតសំឡេងភាពងាយស្រួល - អានអត្ថបទដែលបង្កប់នៅក្នុងរូបភាពដែលបានជ្រើសរើសឱ្យឮ + ទទួលបានការពណ៌នាស្វ័យប្រវត្តិសម្រាប់រូបភាពនេះ ចុះ ចុះ​ក្រោម​ រួច​​ទៅ​​ស្ដាំ អូសឡើងលើ @@ -408,9 +416,7 @@ ចុចពីរដង​ឱ្យជាប់​ដោយប្រើម្រាមដៃ 2 ចុចពីរដង​ឱ្យជាប់​ដោយប្រើម្រាមដៃ 3 ចុចពីរដង​ឱ្យជាប់​ដោយប្រើម្រាមដៃ 4 - ចុចឱ្យជាប់​ដោយប្រើម្រាមដៃ 3 ចុចបីដង​ឱ្យជាប់​ដោយប្រើម្រាមដៃ 2 - ចុចបីដង​ឱ្យជាប់​ដោយប្រើម្រាមដៃ 3 \"%1$s\" ឬ %2$s\" ដើម្បីកែតម្រូវ \"%1$s\" ដើម្បីកែតម្រូវ មិនស្គាល់​ចលនាទេ @@ -433,9 +439,8 @@ ពេល​បើក​អេក្រង់ ពេល​បង្ហាញ​ការ​ចាក់សោ​អេក្រង់ ពី​ការ​ជូនដំណឹង​តែ​ប៉ុណ្ណោះ - សង្កត់ម្រាមដៃឱ្យជាប់ ដើម្បីជ្រើសរើស​គ្រាប់ចុចណាមួយ រួច​ចុចពីរដង - សង្កត់ម្រាមដៃឱ្យជាប់ ដើម្បីជ្រើសរើស​គ្រាប់ចុចណាមួយ រួច​ដកម្រាមដៃចេញ។ ចុចពីរ​សម្រាប់គ្រាប់ចុច​ផ្សេងទៀត។ - សង្កត់ម្រាមដៃឱ្យជាប់ ដើម្បីជ្រើសរើស​គ្រាប់ចុចណាមួយ រួច​ដកម្រាមដៃចេញ + សង្កត់ម្រាមដៃឱ្យជាប់ ដើម្បីជ្រើសរើស​គ្រាប់ចុច រួច​ចុចពីរដង + សង្កត់ម្រាមដៃឱ្យជាប់ ដើម្បីជ្រើសរើស​គ្រាប់ចុច រួច​ដកម្រាមដៃចេញ បាន​បិទ ភ្លឺ​​ណាស់ ភ្លឺ @@ -485,6 +490,7 @@ ជ្រើសកម្មវិធីដើម្បីនាំចេញស្លាក៖ កំណែ TalkBack នេះ​រួមមាន​ការ​ផ្លាស់ប្ដូរ​ទៅ​កាយវិការ​ភាព​ងាយស្រួល​លំនាំដើម។ សកម្មភាព​ដែល​បាន​ភ្ជាប់​ជា​មួយ​កាយវិការ​ទាំង​នេះ​អាច​ត្រូវ​បាន​ប្ដូរ​តាម​តម្រូវ​ការ​នៅ​ក្នុង​ការ​កំណត់ TalkBack ។ នៅ​ពេល​ការ​រុករក​ដោយ​ប៉ះ​ត្រូវ​បាន​បើក អ្នក​អាច​ប្រើ​កាយវិការ​ដូច​ខាង​ក្រោម​ដើម្បី​អនុវត្ត​សកម្មភាព​ជាក់លាក់។\n\n%1$s ចុចប៊ូតុងកម្រិតសម្លេងឡើង និងចុះឲ្យយូរ + ចុចគ្រាប់ចុច​កម្រិតសំឡេង​ទាំងពីរ​បីដងឱ្យលឿន ដើម្បីលាក់ ឬបង្ហាញអេក្រង់ លាក់​អេក្រង់ឬ? សកម្មភាពនេះ​បិទផ្ទាំងអេក្រង់ ដើម្បីកែលម្អ​ឯកជនភាព ដើម្បីកុំឱ្យ​អ្នកដទៃមើលឃើញ​អេក្រង់របស់អ្នក នៅពេល​ស្ថិតនៅតាម​ទីសាធារណៈ កំណែរបស់មុខងារតបវិញនេះ​រួមមាន​ការផ្លាស់ប្ដូរ​ទៅលើចលនានៃ​ភាពងាយស្រួល​លំនាំដើម។\n\nចលនាឡើងលើរួចចុះក្រោម​នឹងអនុញ្ញាតឱ្យអ្នក​ផ្លាស់ទីទៅ​ធាតុដំបូង​នៅលើអេក្រង់ ហើយចលនា​ចុះក្រោមរួចឡើងលើនឹងផ្លាស់ទី​ទៅធាតុចុងក្រោយ។\n\nឥឡូវនេះ បន្សំការអានអាច​ត្រូវបានផ្លាស់ប្ដូដោយ​ផ្ដោតលើធាតុ បន្ទាប់មក​ជ្រើសរើសបន្សំ​ពីម៉ឺនុយបរិបទ​របស់មុខងារតបវិញ។\n\nអ្នកអាច​ផ្លាស់ប្ដូរ​សកម្មភាព​ដែលបានធ្វើឡើង​ដោយចលនាទាំងនេះ​នៅក្នុងការកំណត់​មុខងារតបវិញ។ @@ -500,9 +506,6 @@ តើ​អ្នក​ប្រាកដ​ជា​ចង់​បើក​ការ​បំបាត់​កំហុស​ដើម​ថ្នាំង​?\n\nបំបាត់​កំហុស​ដើម​ថ្នាំង​បង្ហាញ​មាតិកា​នៃ​អេក្រង់​របស់​អ្នក​ទៅ​កាន់​កំណត់​ហេតុ​ឧបករណ៍​របស់​អ្នក​ ដែល​អ្នក​​អាច​អាន​តាម​​កម្មវិធី​ផ្សេង​ទៀត​។ បើកដំណើរការស្ថិតិប្រតិបត្តិការដែរទេ? តើអ្នកប្រាកដថាចង់បើកស្ថិតិប្រតិបត្តិការដែរទេ?\n\nស្ថិតិប្រតិបត្តិការអាចនឹងប្រើអង្គចងចាំ និងថ្មច្រើនជាងមុន។ - បើក​កំណត់ហេតុ​រៀបរាប់ឬ? - កំណត់ហេតុរៀបរាប់​អាចជួយដល់​ការជួសជុល ប៉ុន្តែអាចបណ្ដាលឱ្យ​ព័ត៌មានផ្ទាល់ខ្លួន​បង្ហាញនៅក្នុង​កន្លែងផ្ទុកកំណត់ហេតុ​ប្រព័ន្ធ។\n\n តើអ្នកចង់​បើក​កំណត់ហេតុរៀបរាប់​ដែរទេ? - បាទ/ចាស បើកកំណត់ហេតុរៀបរាប់ អនុញ្ញាត​ឱ្យចូលប្រើទូរសព្ទដែរទេ? ការធ្វើបែប​នេះជួយ TalkBack ក្នុងការកាត់បន្ថយ​ការប្រកាស នៅពេលអ្នក​កំពុងនិយាយទូរសព្ទ បន្ត @@ -556,11 +559,9 @@ កម្រិតសំឡេងភាពងាយស្រួល កែតម្រូវ​របាររំកិល កែតម្រូវតម្លៃ - សកម្មភាព អានពាក្យសម្ងាត់ ពាក្យសម្ងាត់ត្រូវបានអានជានិច្ច សំឡេង និង​ការញ័រ - សំឡេង បានថតចម្លង %1$s បិទ បិទ​ការ​ស្វែងរក @@ -595,15 +596,13 @@ %1$s ដើម្បីអានដោយ %2$s ដើម្បីប្រើចលនានេះ សូមចូលទៅកាន់ការកំណត់មុខងារតបវិញ រួចបញ្ចូលចលនាសម្រាប់ \'%1$s\' ក្ដារចុចអក្សរស្ទាបមិនត្រូវបានបើកទេ។ សូមចូលទៅកាន់ការកំណត់មុខងារតបវិញ រៀបចំក្ដារចុចអក្សរស្ទាប រួចព្យាយាមម្ដងទៀត។ - មាន​ការណែនាំ - មាន​ការណែនាំ។ %1$s ដើម្បី​ចូលប្រើ ទំព័រទី %1$d នៃ %2$d មុន បន្ទាប់ បិទ បញ្ចប់ រំកិលឡើងលើ - មុខងារថ្មីៗ​នៅក្នុង TalkBack + មុខងារថ្មីៗ​នៅក្នុងមុខងារតបវិញ បិទ​មេរៀនឬ? អ្នកអាចត្រឡប់មកមេរៀននេះវិញ​បានគ្រប់ពេល នៅក្នុងការកំណត់​មុខងារតបវិញ។ នៅបន្តមើលមេរៀន @@ -647,14 +646,6 @@ ចុចដើម្បីស្វែងយល់​អំពីរបៀបប្រើប្រាស់​មុខងារតបវិញរហ័សជាងមុន​ដោយប្រើមុខងារថ្មីៗ។ មែកធាងណូត​ត្រូវបានបោះពុម្ព​ទៅកំណត់ហេតុ។ ទាំងនេះគឺជាចលនា​ដែលបានធ្វើឡើងថ្មីៗនេះ សូមរាយការណ៍ថា​ចលនាណាមិនត្រឹមត្រូវ ហើយគួរធ្វើចលនាដូចម្ដេច​ទើបត្រឹមត្រូវ។ - អ្នកនឹង​ទទួលបាន​ការគ្រប់គ្រង​កម្រិតសំឡេង​កាន់តែងាយស្រួល ការគ្រប់គ្រង​សកម្មភាពកាន់តែរហ័ស និង​ច្រើនទៀត។\n\nអ្នកនឹងស្វែងយល់​អំពីបច្ចុប្បន្នភាព និង​ការផ្លាស់ប្ដូរ​សំខាន់ៗនៅក្នុង​អេក្រង់ពីរបីបន្ទាប់។ សកម្មភាពនេះ​នឹងចំណាយពេល​ប្រហែល 5 នាទី។\n\nអ្នកអាច​ពិនិត្យមើល​ព័ត៌មាននេះ​នៅក្នុងការកំណត់ TalkBack បានគ្រប់ពេល។ - ការផ្លាស់ប្ដូរ​ចំពោះ​ការគ្រប់គ្រង​កម្រិតសំឡេង - ដើម្បីកែលម្អ​ការគ្រប់គ្រង​កម្រិតសំឡេង គ្រាប់ចុច​កម្រិតសំឡេង​មិនគ្រប់គ្រង​របាររំកិល ឬ​ទស្សន៍ទ្រនិច​អក្សរទៀតឡើយ។\n\nដើម្បីប្ដូរ​ទីតាំង​របាររំកិល សូមអូស​ឡើងលើ ឬចុះក្រោម។\n\nដើម្បីប្ដូរ​ទីតាំង​ទស្សន៍ទ្រនិច​អក្សរ សូមអូស​ឡើងលើ ឬចុះក្រោម​នៅក្នុង​ប្រអប់អក្សរ។ ការធ្វើបែបនេះ​ក៏ដំណើរការ​នៅក្នុង​ការគ្រប់គ្រង​ការអាន​នៅលើក្ដារចុច​អក្សរស្ទាប​ផងដែរ។ - អក្សរ​នៅក្នុង​រូបភាព - អ្នកអាច​ទទួលបាន​ព័ត៌មានលម្អិត​បន្ថែមអំពីអក្សរ​នៅក្នុង​រូបភាពបាន​ដោយស្វ័យប្រវត្តិ ឬនៅពេល​អ្នកត្រូវការវា។\n\nសម្រាប់​រូបភាពដែល​មិនមានស្លាក៖ TalkBack នឹងអាន​អក្សរដែលបង្ហាញ​ដោយស្វ័យប្រវត្តិ។\n\nសម្រាប់​រូបភាពទាំងអស់៖ សូមបើក​ម៉ឺនុយ TalkBack រួចជ្រើសរើស \"រៀបរាប់អំពី​អក្សរនៅក្នុង​រូបភាព\"។\n\nរូបភាព​ស្ថិតនៅលើ​ឧបករណ៍​របស់អ្នក និង​មិនត្រូវបានផ្ញើទៅ Google ឡើយ។ មានន័យថា អ្នកអាចប្រើ​មុខងារទាំងនេះ​បានដោយគ្មាន​ការតភ្ជាប់អ៊ីនធឺណិត។ - ការរុករក​វិនដូ - អ្នកអាចប្ដូរ​រវាងផ្នែកខុសៗគ្នា​នៅលើអេក្រង់​របស់អ្នក​ដូចជា របារ​ជូនដំណឹង ខ្លឹមសារចម្បង និង​ក្ដារចុច។\n\nដើម្បីប្រើ​ការរុករក​វិនដូ សូមអូសចុះក្រោម​ដោយប្រើ​ម្រាមដៃ 4។ - អ្នកអាចប្ដូរ​រវាងផ្នែកខុសៗគ្នា​នៅលើអេក្រង់​របស់អ្នក​ដូចជា របារ​ជូនដំណឹង ខ្លឹមសារចម្បង និង​ក្ដារចុច។\n\nដើម្បីប្រើ​ការរុករក​វិនដូ សូមអូសចុះក្រោម រួចឡើងលើ។ បន្តធ្វើបែបនេះ រហូតទាល់តែអ្នក​បានជ្រើសរើស​ការរុករក​វិនដូ។ ដើម្បី​ទៅកាន់​វិនដូ សូមអូស​ចុះក្រោម។ មេរៀន សូមស្វាគមន៍មកកាន់​កម្មវិធីតបវិញ កម្មវិធីតបវិញគឺជា​កម្មវិធីអានអេក្រង់ ដែលបង្កើតឡើង​សម្រាប់ស្ថានភាព ឬមនុស្សដែលមានការពិបាក​ក្នុងការមើលអេក្រង់។ កម្មវិធីនេះផ្ដល់​ការអានអេក្រង់​ដល់អ្នក ដើម្បីឱ្យអ្នកអាច​ប្រើឧបករណ៍របស់អ្នក ដោយមិនចាំបាច់​មើលអេក្រង់។\n\nអ្នកអាចបើក ឬបិទកម្មវិធីតបវិញ ដោយសង្កត់គ្រាប់ចុចកម្រិតសំឡេងឱ្យជាប់រយៈពេលបីបួនវិនាទី។\n\nនៅពេលបើក​កម្មវិធីតបវិញ ធាតុដែលបានផ្ដោត​នៅលើអេក្រង់ត្រូវ​បានអានឮៗ។\n\nការអូសទៅស្ដាំ​នឹងផ្លាស់ទីទៅ​ធាតុបន្ទាប់ ហើយការអូស​ទៅឆ្វេង​នឹងផ្លាស់ទីទៅ​ធាតុមុន។\n\nអូសទៅស្ដាំ​ឥឡូវនេះ ដើម្បីឃើញប៊ូតុងបន្ទាប់។ @@ -697,14 +688,14 @@ រំកិល​ម្រាមដៃ​របស់អ្នក​លើក្ដារចុច​។ នៅពេល​អ្នក​ស្ដាប់ឮ​អក្សរដែល​អ្នកចង់​វាយបញ្ចូល សូម​ដកម្រាមដៃ​របស់អ្នក​ចេញ។\n\nសាកល្បង​បើកដំណើរការ​ប្រអប់អត្ថបទ​ខាងក្រោម រួចវាយបញ្ចូល​ឈ្មោះរបស់អ្នក​។ អ្នកក៏អាចវាយបញ្ចូល​ដោយប្រើក្ដារចុចអក្សរស្ទាបបានផងដែរ។ សូមស្វែងរក​ក្ដារចុចនេះ​នៅក្នុង​ការកំណត់​មុខងារតបវិញ​។ ការរំកិល​ទស្សន៍ទ្រនិច - នៅពេលអ្នក​បានបើកដំណើរការ​ប្រអប់​អក្សរហើយ អ្នកអាច​រំកិល​ទស្សន៍ទ្រនិច​រវាងអក្សរ​ដោយអូស​ឡើងលើ ឬចុះក្រោម។\n\nសាកល្បងធ្វើ​នៅក្នុង​ប្រអប់អក្សរ​ខាងក្រោម។ + នៅពេល​អ្នក​បានបើកដំណើរការ​ប្រអប់​អត្ថបទហើយ អ្នកអាច​រំកិលទស្សន៍ទ្រនិច​រវាងអក្សរ​ដោយចុច​គ្រាប់ចុច​ដំឡើង ឬបន្ថយកម្រិតសំឡេង​។\n\nសាកល្បងធ្វើ​នៅក្នុងប្រអប់​អត្ថបទ​ខាងក្រោម​។ សូមស្វាគមន៍មកកាន់​មុខងារតបវិញ ការជ្រើសរើសអត្ថបទ នៅក្នុងប្រអប់អត្ថបទ សូមរំកិលទស្សន៍ទ្រនិច​ទៅផ្នែកខាងដើមនៃអត្ថបទ​ដែលអ្នកចង់ជ្រើសរើស។\n\nប្រើម្រាមដៃ 2 ចុចពីរដងឱ្យជាប់ ដើម្បីចាប់ផ្ដើមមុខងារជ្រើសរើស។ បន្ទាប់មក រំកិល​ទស្សន៍ទ្រនិច​ទៅផ្នែកខាងចុង​នៃអត្ថបទ​។ ចុចពីរដងឱ្យជាប់​ម្ដងទៀត​ដោយប្រើម្រាមដៃ 2 ដើម្បីបញ្ឈប់​មុខងារ​ជ្រើសរើស​។\n\nសាកល្បង​ជ្រើសរើស​ពាក្យ \"ស្វាគមន៍\" នៅក្នុង​ប្រអប់អត្ថបទ​ខាងក្រោម​។ - រំកិលទស្សន៍ទ្រនិច​ទៅផ្នែកចាប់ផ្ដើមនៃអក្សរដែលអ្នកចង់ជ្រើសរើស នៅក្នុងប្រអប់អក្សរ។\n\nអូសចុះក្រោម រួចអូសទៅស្ដាំ ដើម្បីបើកម៉ឺនុយមុខងារ TalkBack។ ចុចពីរដង​លើសកម្មភាព រួច​ចាប់ផ្ដើម​មុខងារ​ជ្រើសរើស​។ រំកិល​ទស្សន៍ទ្រនិច​ទៅផ្នែកខាងចុង​នៃអក្សរ។\n\nបើកម៉ឺនុយ​មុខងារ TalkBack ​ម្ដងទៀត បន្ទាប់មក​ចុចពីរដង​លើសកម្មភាព ដើម្បី​បញ្ឈប់​មុខងារ​ជ្រើសរើស​។\n\nសាកល្បង​ជ្រើសរើសពាក្យ \"ស្វាគមន៍\" នៅក្នុងប្រអប់​អក្សរ​ខាងក្រោម។ + នៅក្នុងប្រអប់អត្ថបទ សូមរំកិលទស្សន៍ទ្រនិច​ទៅផ្នែកខាងដើមនៃអត្ថបទ​ដែលអ្នកចង់ជ្រើសរើស។\n\nអូសចុះក្រោម រួចអូសទៅស្ដាំ ដើម្បីបើកម៉ឺនុយមុខងារតបវិញ។ ចុចពីរដង​លើជម្រើសកែ រួច​ចាប់ផ្ដើម​មុខងារ​ជ្រើសរើស​។ រំកិល​ទស្សន៍ទ្រនិច​ទៅផ្នែកខាងចុង​នៃអត្ថបទ។\n\nបើកម៉ឺនុយ​មុខងារតបវិញ​ម្ដងទៀត បន្ទាប់មក​ចុចពីរដង​លើជម្រើសកែ ដើម្បី​បញ្ឈប់​មុខងារ​ជ្រើសរើស​។\n\nសាកល្បង​ជ្រើសរើសពាក្យ \"ស្វាគមន៍\" នៅក្នុងប្រអប់​អត្ថបទ​ខាងក្រោម។ ចម្លង កាត់ និងដាក់ចូល - បន្ទាប់ពីជ្រើសរើសអក្សរ សូមចុចពីរដងលើ \"សកម្មភាព\" រួច \"ចម្លង\"។\n\nសាកល្បងចម្លងពាក្យណាមួយនៅក្នុងប្រអប់អក្សរខាងក្រោម។ - ដើម្បីកាត់ ឬដាក់ចូលអក្សរ សូមបើកម៉ឺនុយ TalkBack រួចចុចពីរដងលើ \"សកម្មភាព\"។\n\nដើម្បីដាក់ចូលអក្សរ សូមចុចបីដងដោយប្រើម្រាមដៃ 3។\n\nសាកល្បងដាក់ចូលពាក្យណាមួយនៅក្នុងប្រអប់អក្សរខាងក្រោម។ + បន្ទាប់ពី​ជ្រើសរើស​អត្ថបទ​ហើយ សូមចម្លងវា​ដោយប្រើម្រាមដៃ 3 ចុចពីរដង។\n\nសាកល្បង​ចម្លងពាក្យណាមួយ​នៅក្នុង​ប្រអប់អត្ថបទ​ខាងក្រោម​។ + ដើម្បីកាត់​អត្ថបទ សូមចុចពីរដងឱ្យជាប់​ដោយប្រើម្រាមដៃ 3។\n\nដើម្បី​ដាក់ចូល​អត្ថបទ សូមចុចបីដង​ដោយប្រើម្រាមដៃ 3។\n\nសាកល្បង​ដាក់ចូល​ពាក្យណាមួយ​នៅក្នុង​ប្រអប់អត្ថបទ​ខាងក្រោម។ បន្ទាប់ពី​ជ្រើសរើស​អត្ថបទ​ហើយ អ្នកអាច​ចម្លងវា​នៅក្នុង​ម៉ឺនុយ​មុខងារតបវិញ​។ អូស​ចុះក្រោម រួចទៅស្ដាំ ដើម្បី​បើក​ម៉ឺនុយ​មុខងារតបវិញ​។ ចុចពីរដង​លើជម្រើសកែ រួច​ចម្លង។\n\nសាកល្បង​ចម្លងពាក្យណាមួយ​នៅក្នុង​ប្រអប់អត្ថបទ​ខាងក្រោម​។ ដើម្បីកាត់ ឬដាក់ចូល​អត្ថបទ សូមបើក​ម៉ឺនុយមុខងារតបវិញ រួចចុចពីរដង​លើជម្រើសកែ។\n\nសាកល្បង​ដាក់ចូល​ពាក្យណាមួយ​នៅក្នុង​ប្រអប់អត្ថបទ​ខាងក្រោម។ ដាក់អត្ថបទចូលទីនេះ @@ -747,7 +738,6 @@ អូសទៅស្ដាំ ឬទៅឆ្វេង ដើម្បីផ្លាស់ទីរវាងធាតុ ប៉ះពីរដង ដើម្បីបើកដំណើរការធាតុ អូសដោយប្រើម្រាមដៃ 2 ដើម្បីរំកិល - សូមពិនិត្យមើលថាតើទូរសព្ទត្រូវបានភ្ជាប់ឬអត់។ ស៊ុម​ក្រាស់ ពណ៌ លំនាំដើម @@ -759,12 +749,6 @@ ប្រផេះ បានបិទការស្ទង់មតិ អត្ថបទ៖ %1$s - ពណ៌នាអត្ថបទនៅក្នុងរូបភាព - រូបតំណាងដែលបានរកឃើញ៖ %1$s - មិនស្គាល់​សកម្មភាពនេះទេ។ - មិនបានជ្រើសរើស​សកម្មភាពទេ។ - សូមជ្រើសរើស​សកម្មភាព​ដែលស្គាល់។ - មិនមានសកម្មភាពទេ។ - ការកំណត់​សកម្មភាព​មិនត្រូវបានបើកទេ។ - រកមិនឃើញអត្ថបទទេ + ពណ៌នា​រូបភាព + រូបតំណាងដែលបានព្យាករ៖ %1$s diff --git a/talkback/src/main/res/values-kn/strings.xml b/talkback/src/main/res/values-kn/strings.xml index add137501..2d982321d 100644 --- a/talkback/src/main/res/values-kn/strings.xml +++ b/talkback/src/main/res/values-kn/strings.xml @@ -7,7 +7,6 @@ ಪಠ್ಯದಿಂದ ಧ್ವನಿಯ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಭಾಷೆಗಳು ಆಡುಭಾಷೆ - ಕ್ರಿಯೆಗಳು ಸಿಸ್ಟಂ ಕ್ರಿಯೆಗಳು ಆವೃತ್ತಿ %1$s ಕಸ್ಟಮ್ ಲೇಬಲ್‍ಗಳನ್ನು ನಿರ್ವಹಿಸು @@ -31,37 +30,46 @@ ಸಾಧನ ಅನ್ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ. ಆಡಿಯೊ ಧ್ವನಿ ವಾಲ್ಯೂಮ್‌ - ಸ್ಕ್ರೀನ್ ಆಫ್ ಆದಾಗ ಅಧಿಸೂಚನೆ ಕುರಿತು ಸೂಚಿಸಿ - ಯಾವಾಗಲೂ ಪಟ್ಟಿಯಲ್ಲಿರುವ ಐಟಂಗಳನ್ನು ಸೂಚಿಸಿ - ಎಲ್ಲಾ ಸ್ಕ್ರೋಲಿಂಗ್ ವಿಧಾನಗಳ ಎಣಿಕೆಯ ಕುರಿತು ಸೂಚಿಸಿ + ಪರದೆ ಆಫ್ ಆಗಿರುವಾಗ ಮಾತನಾಡಿ + ಪರದೆಯು ಆಫ್ ಆಗಿರುವಾಗ ಅಧಿಸೂಚನೆಗಳನ್ನು ಹೇಳಲಾಗುತ್ತದೆ + ಪರದೆ ಆಫ್ ಆಗಿರುವಾಗ ಯಾವುದೇ ಧ್ವನಿ ಕೇಳಿಸುವುದಿಲ್ಲ + ಪರದೆಯ ಪಟ್ಟಿಯಲ್ಲಿರುವ ಐಟಂಗಳ ಸಂಖ್ಯೆಯನ್ನು ಮಾತನಾಡಿ + ಗೆಸ್ಚರ್ನೊಂದಿಗೆ ಸ್ಕ್ರೋಲಿಂಗ್ ಮಾಡುವಾಗ ಮಾತ್ರ ಮಾತನಾಡಿ + ಯಾವಾಗಲೂ ಓದಿ ಹೇಳಲಾಗುತ್ತದೆ ಮಾತು ನಿಲ್ಲಿಸಲು ಸಾಮೀಪ್ಯ ಸೆನ್ಸರ್ ಅನ್ನು ಮುಚ್ಚಿರಿ - ಉದಾಹರಣೆಗಳೊಂದಿಗೆ ಅಕ್ಷರಗಳನ್ನು ಸೂಚಿಸಿ - ನೀವು ಕೀಬೋರ್ಡ್ ಕೀಗಳನ್ನು ಆಯ್ಕೆಮಾಡುವಾಗ ಅಥವಾ ವರ್ಣಮಾಲೆ ಅಕ್ಷರ ಬಳಸಿಕೊಂಡು ನ್ಯಾವಿಗೇಟ್ ಮಾಡುವಾಗ, \"h, hotel\" ಎಂಬಂತಹ ಪ್ರತಿ ಅಕ್ಷರದ ಜೊತೆ ನಿಮಗೆ ಒಂದು ಉದಾಹರಣೆ ಕೇಳಿಸುತ್ತದೆ - ವಿರಾಮಚಿಹ್ನೆ ಮತ್ತು ಸಂಕೇತದ ಕುರಿತು ಮಾತನಾಡಿ + ಫೊನೆಟಿಕ್ ಅಕ್ಷರಗಳನ್ನು ಹೇಳಿ + ಫೋನೆಟಿಕ್‌‌ ಅಕ್ಷರಗಳನ್ನು ಓದಿ ಹೇಳುವುದಿಲ್ಲ + ಕೀಬೋರ್ಡ್ ಕೀಗಳ ಮೇಲೆ ದೀರ್ಘವಾಗಿ ಒತ್ತಿಹಿಡಿದಾಗ ಮತ್ತು ಅಕ್ಷರದ ಮೂಲಕ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಿದಾಗ ಫೋನೆಟಿಕ್‌‌ ಅಕ್ಷರಗಳನ್ನು ಓದಿ ಹೇಳಲಾಗುತ್ತದೆ + ವಿರಾಮಚಿಹ್ನೆಗಳು + ವಿರಾಮಚಿಹ್ನೆಗಳು ಮತ್ತು ಸಂಕೇತಗಳನ್ನು ಓದಿ ಹೇಳಲಾಗುವುದಿಲ್ಲ + ವಿರಾಮಚಿಹ್ನೆಗಳು ಮತ್ತು ಸಂಕೇತಗಳನ್ನು ಓದಿ ಹೇಳಲಾಗುತ್ತದೆ ದೊಡ್ಡಕ್ಷರಗಳು ಏನೂ ಮಾಡಬೇಡಿ “ದೊಡ್ಡಕ್ಷರ” ಎಂದು ಹೇಳಿ ಪಿಚ್ ಬದಲಾಯಿಸಿ ಧ್ವನಿ ಪ್ಲೇ ಮಾಡಿ ಬಳಕೆಯ ಸುಳಿವುಗಳನ್ನು ಹೇಳಿ - ವಿಷಯದ ಕುರಿತು ವಿವರಿಸಿದ ನಂತರ, ಹೇಗೆ ಬಳಸಬೇಕೆಂದು ಸೂಚಿಸಿ - ಪಟ್ಟಿ ಮತ್ತು ಗ್ರಿಡ್ ಮಾಹಿತಿ ಕುರಿತು ಮಾತನಾಡಿ + ಪ್ರವೇಶಿಸುವಿಕೆ ಫೋಕಸ್ ಚಲಿಸುತ್ತಿರುವಾಗ ಬಳಕೆಯ ಸುಳಿವುಗಳನ್ನು ಓದಿ ಹೇಳಲಾಗುವುದಿಲ್ಲ + ನ್ಯಾವಿಗೇಟ್ ಮಾಡುವಾಗ, ಸಂಕ್ಷಿಪ್ತ ವಿಳಂಬದ ನಂತರ ಬಳಕೆಯ ಸುಳಿವುಗಳನ್ನು ಓದಿ ಹೇಳಲಾಗುತ್ತದೆ + ಪಟ್ಟಿ ಮತ್ತು ಗ್ರಿಡ್ ಮಾಹಿತಿಯನ್ನು ಓದಿ ಹೇಳಿ + ಪಟ್ಟಿ ಮತ್ತು ಗ್ರಿಡ್ ಮಾಹಿತಿಯನ್ನು ಓದಿ ಹೇಳಲಾಗುವುದು + ಪಟ್ಟಿ ಮತ್ತು ಗ್ರಿಡ್ ಮಾಹಿತಿಯನ್ನು ಓದಿ ಹೇಳಲಾಗುವುದಿಲ್ಲ ಗೆಸ್ಚರ್‌ಗಳನ್ನು ಮರುಹೊಂದಿಸುವುದೇ? ಇದರಿಂದ ಎಲ್ಲಾ ಗೆಸ್ಚರ್‌ಗಳನ್ನು ಅವುಗಳ ಡೀಫಾಲ್ಟ್ ಕ್ರಿಯೆಗಳಿಗೆ ಮರುಹೊಂದಿಸಲಾಗುತ್ತದೆ.\n\nನೀವು ಮಾಡಿರುವ ಯಾವುದೇ ಬದಲಾವಣೆಗಳನ್ನು ನೀವು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ. ಮರುಹೊಂದಿಸಿ ಗೆಸ್ಚರ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮರುಹೊಂದಿಸಲಾಗಿದೆ. ಘಟಕಗಳ ಪ್ರಕಾರವನ್ನು ಓದಿ ಹೇಳಿ - ಕೇಂದ್ರೀಕೃತ ಐಟಂಗಳಿಗಾಗಿ + ಫೋಕಸ್ ಮಾಡಿರುವ ಐಟಂಗಳಿಗಾಗಿ ಘಟಕದ ಪ್ರಕಾರವನ್ನು ಓದಿ ಹೇಳಲಾಗುವುದು + ಫೋಕಸ್ ಮಾಡಿರುವ ಪ್ರಕಾರಗಳಿಗಾಗಿ ಘಟಕದ ಪ್ರಕಾರವನ್ನು ಓದಿ ಹೇಳಲಾಗುವುದಿಲ್ಲ ಘಟಕ ಐಡಿಗಳನ್ನು ಓದಿ ಹೇಳಿ - ಲೇಬಲ್ ಮಾಡದ ಬಟನ್‌ಗಳಿಗಾಗಿ - ಸಿಸ್ಟಮ್ ವಿಂಡೋಗಳ ಹೆಸರನ್ನು ಹೇಳಿ - ಸ್ಥಿತಿ ಪಟ್ಟಿ ಅಧಿಸೂಚನೆಗಳು ಅಥವಾ ವಾಲ್ಯೂಮ್ ನಿಯಂತ್ರಣಗಳಂತಹ ಇತರ ಸಿಸ್ಟಂ ವಿಂಡೋಗಳಿಗೆ ಬದಲಾಯಿಸುವಾಗ + ಲೇಬಲ್ ಮಾಡದೇ ಇರುವ ಬಟನ್‌ಗಳಿಗಾಗಿ ಘಟಕ ಐಡಿಗಳನ್ನು ಓದಿ ಹೇಳಲಾಗುವುದಿಲ್ಲ + ಲೇಬಲ್ ಮಾಡದೇ ಇರುವ ಬಟನ್‌ಗಳಿಗಾಗಿ ಘಟಕ ಐಡಿಗಳನ್ನು ಓದಿ ಹೇಳಲಾಗಿದೆ ಸ್ಪರ್ಶದ ಮೂಲಕ ಎಕ್ಸ್‌ಪ್ಲೋರ್ ಮಾಡಿ ನಿಯಂತ್ರಣಗಳು ಸಕ್ರಿಯಗೊಳಿಸಲು ಸಿಂಗಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಸಕ್ರಿಯಗೊಳಿಸಲು ಫೋಕಸ್ ಮಾಡಲಾದ ಐಟಂನ ಮೇಲೆ ಒಂದು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ ಶಬ್ದ ಬಾಹುಳ್ಯ - ವಿರಾಮಚಿಹ್ನೆ ಮತ್ತು ಸಂಕೇತದ ಕುರಿತು ಮಾತನಾಡಿ + ವಿರಾಮಚಿಹ್ನೆಗಳು ಫೋಕಸ್ ಸೂಚಕವನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ ಸೂಚನೆಗಳನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ ಕಸ್ಟಮ್ ಲೇಬಲ್‌ಗಳು @@ -203,7 +211,8 @@ ಪಿಚ್ ಬದಲಾವಣೆಗಳನ್ನು ಬಳಸಿ ಕೀಬೋರ್ಡ್ ಪ್ರತಿಧ್ವನಿ ಅಂಶ ವಿವರಣೆ ಆರ್ಡರ್ - ಅಳಿಸಿದ ಪದಗಳನ್ನು ಗಟ್ಟಿಯಾದ ಧ್ವನಿಯಲ್ಲಿ ಹೇಳಿ + ಕೀಬೋರ್ಡ್ ಅಳಿಸಿದ ಪಠ್ಯವನ್ನು ಗಟ್ಟಿಯಾದ ಧ್ವನಿಯಲ್ಲಿ ಹೇಳಿ + ಮಾತನಾಡುವಾಗ ಧ್ವನಿಯ ಏರಿಳಿತವನ್ನು ಬದಲಿಸಬೇಡಿ ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ವೈಬ್ರೇಷನ್‌ ಪ್ರತಿಕ್ರಿಯೆ ಧ್ವನಿಯ ಪ್ರತಿಕ್ರಿಯೆ @@ -211,6 +220,7 @@ ಮಾತನಾಡುವಾಗ ಇತರ ಆಡಿಯೊ ವ್ಯಾಲೂಮ್ ಅನ್ನು ಕಡಿಮೆಗೊಳಿಸಿ ಧ್ವನಿ ಪ್ರತಿಕ್ರಿಯೆಯ ವಾಲ್ಯೂಮ್‌ Talkback ರದ್ದು ಮತ್ತು ಪುನರಾರಂಭ ಶಾರ್ಟ್‌ಕಟ್‌ + ಸ್ಕ್ರೀನ್ ಶಾರ್ಟ್‌ಕಟ್ ಮರೆಮಾಡಿ ಡೆವಲಪರ್ ಸೆಟ್ಟಿಂಗ್‍ಗಳು ಲಾಗ್‌‌ಗೆ ಈವೆಂಟ್‌ಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ ಫಿಲ್ಟರ್ ಪ್ರವೇಶಿಸುವಿಕೆಗೆ ಈವೆಂಟ್ ಲಾಗ್ ಮಾಡುವಿಕೆ @@ -256,7 +266,7 @@ TalkBack ಮೆನುವನ್ನು ತೆರೆಯಿರಿ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ವಿರಾಮಗೊಳಿಸಿ ಮಾತನ್ನು ವಿರಾಮಗೊಳಿಸಿ ಅಥವಾ ಪುನರಾರಂಭಿಸಿ - ಧ್ವನಿಯನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಿ + TalkBack ಧ್ವನಿಯನ್ನು ಆನ್ ಅಥವಾ ಆಫ್ ಮಾಡಿ ಮೇಲಿನಿಂದ ಓದಿ ಮುಂದಿನ ಐಟಂನಿಂದ ಓದಿ ನೋಡ್ ಟ್ರೀ ಪ್ರಿಂಟ್ ಮಾಡಿ @@ -278,7 +288,6 @@ ಪ್ರವೇಶಿಸುವಿಕೆ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ಹಿಡಿದುಕೊಳ್ಳಿ ನ್ಯಾವಿಗೇಷನ್ ಫೋಕಸ್ ಅನ್ನು ಮುಂದಕ್ಕೆ ಸರಿಸಿ ಅಥವಾ ಓದುವಿಕೆಯ ನಿಯಂತ್ರಣವನ್ನು ಕೆಳಗೆ ಹೊಂದಿಸಿ ನ್ಯಾವಿಗೇಷನ್ ಫೋಕಸ್ ಅನ್ನು ಹಿಂದಕ್ಕೆ ಸರಿಸಿ ಅಥವಾ ಓದುವಿಕೆಯ ನಿಯಂತ್ರಣವನ್ನು ಮೇಲಕ್ಕೆ ಹೊಂದಿಸಿ - ಪ್ರಸ್ತುತ ಆಯ್ಕೆಮಾಡಿದ ಕ್ರಿಯೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ ಹುಡುಕಾಟ ಫಲಿತಾಂಶ ಮಾಧ್ಯಮವನ್ನು ಪ್ಲೇ ಮಾಡಿ ಅಥವಾ ವಿರಾಮಗೊಳಿಸಿ ಎಲ್ಲಾ ಆ್ಯಪ್‌ಗಳು @@ -323,7 +332,7 @@ ಓದುವುದು ವಿಶೇಷ ವೈಶಿಷ್ಟ್ಯಗಳು ಇತರೆ - ನಕಲಿಸಿ, ಅಂಟಿಸಿ, ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಇನ್ನಷ್ಟನ್ನು ಒಳಗೊಂಡಂತೆ ಪ್ರಸ್ತುತ ಐಟಂಗೆ ಆ್ಯಕ್ಷನ್‌ಗಳು ಲಭ್ಯವಿದ್ದಾಗ ತೋರಿಸುತ್ತದೆ + ಪ್ರಸ್ತುತ ಐಟಂಗಾಗಿ ಕಸ್ಟಮ್ ಕ್ರಿಯೆಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದಾಗ ತೋರಿಸುತ್ತದೆ ನಕಲಿಸಿ, ಅಂಟಿಸಿ, ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಇನ್ನಷ್ಟು. ನೀವು ಪಠ್ಯ ಬಾಕ್ಸ್ ಅನ್ನು ಆರಿಸಿದಾಗ ಗೋಚರಿಸುತ್ತದೆ. ಕೇಂದ್ರೀಕೃತ ಐಟಂನಲ್ಲಿ ಲಿಂಕ್‌ಗಳನ್ನು ತೆರೆಯುತ್ತದೆ ಮುಂದಿನ ಅಥವಾ ಹಿಂದಿನ ಪುಟಕ್ಕೆ ಹೋಗಿ. ನೀವು ಬಹು ಪುಟಗಳೊಂದಿಗೆ ವಿಷಯವನ್ನು ಓದುವಾಗ ಗೋಚರಿಸುತ್ತದೆ. @@ -342,7 +351,6 @@ ಪಠ್ಯದಿಂದ ಧ್ವನಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ತೆರೆಯಿರಿ TalkBack ಧ್ವನಿ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಆಫ್ ಮಾಡಿ ಎಡಿಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ - ಕ್ರಿಯೆಗಳನ್ನು ನಿರ್ವಹಿಸಿ ಒಂದು ಬಾರಿಗೆ ಒಂದು ಅಕ್ಷರವನ್ನು ಓದಿ ಒಂದು ಬಾರಿಗೆ ಒಂದು ಪದವನ್ನು ಓದಿ ಒಂದು ಬಾರಿಗೆ ಒಂದು ಸಾಲನ್ನು ಓದಿ @@ -365,7 +373,7 @@ TalkBack ಮಾತನಾಡುವಾಗ ಪ್ಲೇ ಆಗುತ್ತಿರುವ ಇತರ ಆಡಿಯೊ ವಾಲ್ಯೂಮ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಿ ಮುಂದಕ್ಕೆ ಅಥವಾ ಹಿಂದಕ್ಕೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ ಅಕ್ಸೆಸಿಬಿಲಿಟಿ ವಾಲ್ಯೂಮ್ ಅನ್ನು ಹೆಚ್ಚಿಸಿ ಅಥವಾ ಕಡಿಮೆ ಮಾಡಿ - ಆಯ್ದ ಚಿತ್ರದಲ್ಲಿ ಎಂಬೆಡ್ ಮಾಡಲಾದ ಪಠ್ಯವನ್ನು ಓದಿ + ಈ ಚಿತ್ರಕ್ಕಾಗಿ ಸ್ವಯಂಚಾಲಿತ ವಿವರಣೆಯನ್ನು ಪಡೆಯಿರಿ ಕೆಳಗೆ ಕೆಳಕ್ಕೆ ನಂತರ ಬಲಕ್ಕೆ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ @@ -408,9 +416,7 @@ 2 ಬೆರಳುಗಳಿಂದ ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಹಿಡಿದುಕೊಳ್ಳಿ 3 ಬೆರಳುಗಳಿಂದ ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಹಿಡಿದುಕೊಳ್ಳಿ 4 ಬೆರಳುಗಳಿಂದ ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಹಿಡಿದುಕೊಳ್ಳಿ - 3 ಬೆರಳುಗಳಿಂದ ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ 2 ಬೆರಳುಗಳಿಂದ ಟ್ರಿಪಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಹಾಗೂ ಒತ್ತಿಹಿಡಿಯಿರಿ - 3 ಬೆರಳುಗಳಿಂದ ಮೂರು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ, ಒತ್ತಿಹಿಡಿದುಕೊಳ್ಳಿ ಹೊಂದಿಸಲು \"%1$s\" ಅಥವಾ %2$s\" ಮಾಡಿ ಹೊಂದಿಸಲು \"%1$s\" ಮಾಡಿ ಅಪರಿಚಿತ ಗೆಸ್ಚರ್ @@ -433,9 +439,8 @@ ಪರದೆಯನ್ನು ಆನ್ ಮಾಡಿದಾಗ ಲಾಕ್ ಪರದೆಯನ್ನು ತೋರಿಸಿದಾಗ ಅಧಿಸೂಚನೆಯಿಂದ ಮಾತ್ರ - ಯಾವುದೇ ಕೀ ಅನ್ನು ಆರಿಸಲು ಬೆರಳನ್ನು ಒತ್ತಿಹಿಡಿಯಿರಿ ನಂತರ ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ - ಅಕ್ಷರದ ಕೀ ಅನ್ನು ಆರಿಸಲು ಬೆರಳನ್ನು ಒತ್ತಿಹಿಡಿಯಿರಿ ನಂತರ ಬೆರಳನ್ನು ಎತ್ತಿ. ಇತರ ಕೀಗಳಿಗಾಗಿ ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ. - ಯಾವುದೇ ಕೀ ಅನ್ನು ಆರಿಸಲು ಬೆರಳನ್ನು ಒತ್ತಿಹಿಡಿಯಿರಿ ನಂತರ ಬೆರಳನ್ನು ಎತ್ತಿ + ಕೀ ಅನ್ನು ಆರಿಸಲು ಬೆರಳನ್ನು ಒತ್ತಿಹಿಡಿಯಿರಿ ನಂತರ ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ + ಕೀ ಅನ್ನು ಆರಿಸಲು ಬೆರಳನ್ನು ಒತ್ತಿಹಿಡಿಯಿರಿ ನಂತರ ಬೆರಳನ್ನು ಎತ್ತಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ತುಂಬಾ ಹಗುರ ಹಗುರ @@ -485,6 +490,7 @@ ಲೇಬಲ್‌ಗಳನ್ನು ರಫ್ತು ಮಾಡಲು ಅಪ್ಲಿಕೇಶನ್ ಆಯ್ಕೆಮಾಡಿ: TalkBack ನ ಈ ಆವೃತ್ತಿಯು ಡಿಫಾಲ್ಟ್ ಪ್ರವೇಶಿಸುವಿಕೆ ಸೂಚಕಗಳ ಬದಲಿಸುವಿಕೆಯನ್ನು ಒಳಗೊಂಡಿದೆ. ಈ ಸೂಚಕಗಳ ಜೊತೆಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಕ್ರಮಗಳನ್ನು TalkBack ಸೆಟ್ಟಿಂಗ್‍‍ಗಳಲ್ಲಿಯೆ ಕಸ್ಟಮೈಸ್ ಮಾಡಬಹುದಾಗಿರುತ್ತದೆ. ಸ್ಪರ್ಶಿಸುವ ಮೂಲಕ ಎಕ್ಸ್‌ಪ್ಲೋರ್ ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ, ನಿರ್ದಿಷ್ಟ ಕ್ರಿಯೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ನೀವು ಈ ಮುಂದಿನ ಸೂಚಕಗಳನ್ನು ಬಳಸಬಹುದು.\n\n%1$s ವಾಲ್ಯೂಮ್ ಹೆಚ್ಚು ಮತ್ತು ಕಡಿಮೆ ಕೀಗಳನ್ನು ದೀರ್ಘವಾಗಿ ಒತ್ತಿ + ಸ್ಕ್ರೀನ್ ಅನ್ನು ಮರೆಮಾಡಲು ಅಥವಾ ತೋರಿಸಲು ಮೂರು ಬಾರಿ ತ್ವರಿತವಾಗಿ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಬಟನ್ ಒತ್ತಿರಿ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಮರೆಮಾಡಬೇಕೆ? ಇದು ಡಿಸ್‌ಪ್ಲೇ ಅನ್ನು ಆಫ್ ಮಾಡುತ್ತದೆ, ಇದರಿಂದ ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಇತರರಿಗೆ ಸಾರ್ವಜನಿಕವಾಗಿ ಕಾಣದಂತೆ ಇರಿಸಿಕೊಳ್ಳಬಹುದು, ಅದು ನಿಮ್ಮ ಗೌಪ್ಯತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ TalkBack ನ ಈ ಆವೃತ್ತಿಯು ಡೀಫಾಲ್ಟ್ ಪ್ರವೇಶಿಸುವಿಕೆ ಗೆಸ್ಚರ್‌ಗಳ ಬದಲಾವಣೆಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.\n\nಮೇಲಕ್ಕೆ ತದನಂತರ ಕೆಳಕ್ಕೆ ಗೆಸ್ಚರ್, ಸ್ಕ್ರೀನ್‌ ಮೇಲಿನ ಮೊದಲ ಐಟಂಗೆ ಸರಿಸಲು ನಿಮಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ. ಕೆಳಕ್ಕೆ ತದನಂತರ ಮೇಲಕ್ಕೆ ಗೆಸ್ಚರ್ ಹಿಂದಿನ ಐಟಂಗೆ ಸರಿಯುತ್ತದೆ.\n\nಐಟಂ ಅನ್ನು ಕೇಂದ್ರೀಕರಿಸುವ ಮೂಲಕ ಓದುವಿಕೆಯ ರಚನೆಯನ್ನು ಇದೀಗ ಬದಲಿಸಬಹುದು, ನಂತರ TalkBack ಸಂದರ್ಭ ಮೆನುವಿನಿಂದ ರಚನೆಯೊಂದನ್ನು ಆರಿಸಬೇಕು.\n\nನೀವು TalkBack ಸೆಟ್ಟಿಂಗ್‍‍ಗಳಲ್ಲಿ ಈ ಗೆಸ್ಚರ್‌ಗಳ ಮೂಲಕ ನಿರ್ವಹಿಸಿದ ಕ್ರಿಯೆಗಳನ್ನು ಬದಲಿಸಬಹುದು. @@ -500,9 +506,6 @@ ನೀವು ನೋಡ್ ಟ್ರೀ ಡೀಬಗ್ ಮಾಡುವುದನ್ನು ಆನ್ ಮಾಡಲು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?\n\nನೋಡ್ ಟ್ರೀ ಡೀಬಗ್ ಮಾಡುವಿಕೆ ಇತರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಓದಬಹುದಾದ ನಿಮ್ಮ ಪರದೆಯ ವಿಷಯಗಳಿಂದ ನಿಮ್ಮ ಸಾಧನದ ಲಾಗ್‌ಗಳನ್ನು ತೆರೆದಿಡುತ್ತದೆ. ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಅಂಕಿಅಂಶಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದೇ? ನೀವು ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಅಂಕಿಅಂಶಗಳನ್ನು ಆನ್ ಮಾಡಲು ಬಯಸುವಿರಾ?\n\nಕಾರ್ಯನಿರ್ವಹಣೆಯ ಅಂಕಿಅಂಶಗಳು ಹೆಚ್ಚಿನ ಮೆಮೋರಿ ಮತ್ತು ಪವರ್‌ ಬಳಸಬಹುದು. - ವೆರ್ಬೋಸ್ ಲಾಗಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬೇಕೇ? - ವರ್ಬೋಸ್ ಲಾಗಿಂಗ್ ಡೀಬಗ್ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ ಆದರೆ ಸಿಸ್ಟಮ್ ಲಾಗ್ ಬಫರ್‌ನಲ್ಲಿ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿ ಕಾಣಿಸಿಕೊಳ್ಳಲು ಕಾರಣವಾಗಬಹುದು.\n\n ವೆರ್ಬೋಸ್ ಲಾಗಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ನೀವು ಬಯಸುವಿರಾ? - ಹೌದು, ವೆರ್ಬೋಸ್ ಲಾಗಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ ಫೋನ್ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಬೇಕೆ? ನೀವು ಕರೆಯಲ್ಲಿ ನಿರತರಾಗಿದ್ದಾಗ ಪ್ರಕಟಣೆಗಳನ್ನು ಕಡಿಮೆಗೊಳಿಸಲು ಇದು TalkBack ಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ ಮುಂದುವರಿಸಿ @@ -556,11 +559,9 @@ ಪ್ರವೇಶಿಸುವಿಕೆ ವಾಲ್ಯೂಮ್‌ ಸ್ಲೈಡರ್ ಅನ್ನು ಹೊಂದಿಸಿ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿಸಿ - ಕ್ರಿಯೆಗಳು ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಹೇಳು ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಯಾವಾಗಲೂ ಓದಿ ಹೇಳಲಾಗುತ್ತದೆ ಧ್ವನಿ ಮತ್ತು ವೈಬ್ರೇಷನ್ - ಧ್ವನಿ %1$s ನಕಲಿಸಲಾಗಿದೆ ಮುಚ್ಚಿ ಹುಡುಕಾಟವನ್ನು ಮುಚ್ಚಿ @@ -595,15 +596,13 @@ %2$s ಯ ಪ್ರಕಾರ ಓದಲು %1$s ಇದನ್ನು ಬಳಸಲು, TalkBack ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ ಮತ್ತು \'%1$s\' ಗಾಗಿ ಗೆಸ್ಚರ್ ಒಂದನ್ನು ಸೇರಿಸಿ ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಅನ್ನು ಆನ್ ಮಾಡಲಾಗಿಲ್ಲ. TalkBack ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ, ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ. - ಸಲಹೆಗಳು ಲಭ್ಯವಿವೆ - ಸಲಹೆಗಳು ಲಭ್ಯವಿವೆ. %1$s ಪ್ರವೇಶಿಸಲು %1$d/%2$d ಪುಟ ಹಿಂದಿನದು ಮುಂದಿನದು ಮುಚ್ಚಿರಿ ಪೂರ್ಣಗೊಳಿಸಿ ಮೇಲಕ್ಕೆ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಿ - TalkBack ನಲ್ಲಿ ಹೊಸ ಫೀಚರ್‌ಗಳು + TalkBack ನಲ್ಲಿ ಹೊಸ ವೈಶಿಷ್ಟ್ಯ‌ಗಳು ಟ್ಯುಟೋರಿಯಲ್ ಮುಚ್ಚಬೇಕೇ? TalkBack ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನೀವು ಯಾವಾಗ ಬೇಕಾದರೂ ಅದಕ್ಕೆ ಹಿಂತಿರುಗಬಹುದು. ಟುಟೋರಿಯಲ್‌ನಲ್ಲೇ ಉಳಿಯಿರಿ @@ -647,14 +646,6 @@ ಹೊಸ ಗೆಸ್ಚರ್‌ಗಳೊಂದಿಗೆ TalkBack ಅನ್ನು ವೇಗವಾಗಿ ಬಳಸುವುದು ಹೇಗೆ ಎಂದು ತಿಳಿಯಲು ಟ್ಯಾಪ್ ಮಾಡಿ. ನೋಡ್ ಮರವನ್ನು ಲಾಗ್‌ಗಳಿಗೆ ಪ್ರಿಂಟ್ ಮಾಡಲಾಗಿದೆ. ಇತ್ತೀಚೆಗೆ ಮಾಡಿದ ಗೆಸ್ಚರ್‌ಗಳು ಇಲ್ಲಿವೆ, ಯಾವ ಗೆಸ್ಚರ್ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ಏನನ್ನು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ ಎಂದು ವರದಿ ಮಾಡಿ. - ನೀವು ಸರಳೀಕೃತ ವಾಲ್ಯೂಮ್ ಕಂಟ್ರೋಲ್‌ಗಳು, ತ್ವರಿತ ಆ್ಯಕ್ಷನ್‌ನ ಕಂಟ್ರೋಲ್‌ಗಳು ಮತ್ತು ಇತ್ಯಾದಿಯನ್ನು ಪಡೆಯುತ್ತೀರಿ.\n\nಮುಂದಿನ ಕೆಲವು ಸ್ಕ್ರೀನ್‌ಗಳಲ್ಲಿ ಪ್ರಮುಖ ಅಪ್‌ಡೇಟ್‌ಗಳು ಮತ್ತು ಬದಲಾವಣೆಗಳ ಕುರಿತು ನೀವು ತಿಳಿಯುತ್ತೀರಿ. ಇದು ಸುಮಾರು 5 ನಿಮಿಷಗಳಷ್ಟು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.\n\nನೀವು ಈ ಮಾಹಿತಿಯನ್ನು ಯಾವಾಗ ಬೇಕಾದರೂ TalkBack ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಪರಿಶೀಲಿಸಬಹುದು. - ವಾಲ್ಯೂಮ್ ಕಂಟ್ರೋಲ್ ಬದಲಾವಣೆಗಳು - ವಾಲ್ಯೂಮ್ ಕಂಟ್ರೋಲ್ ಸುಧಾರಿಸಲು, ವಾಲ್ಯೂಮ್ ಕೀಗಳು ಪಠ್ಯ ಕರ್ಸರ್‌ಗಳು ಅಥವಾ ಸ್ಲೈಡರ್‌ಗಳನ್ನು ಇನ್ನು ಮುಂದೆ ಕಂಟ್ರೋಲ್ ಮಾಡುವುದಿಲ್ಲ.\n\nಸ್ಲೈಡರ್‌ನ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸಲು, ಮೇಲಕ್ಕೆ ಅಥವಾ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nಪಠ್ಯದ ಕರ್ಸರ್‌ನ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸಲು, ಟೆಕ್ಸ್ಟ್ ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಮೇಲಕ್ಕೆ ಅಥವಾ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಇದು ಬ್ರೈಲ್ ಕೀಬೋರ್ಡ್ ಓದುವಿಕೆ ಕಂಟ್ರೋಲ್‌ಗಳಲ್ಲಿಯೂ ಸಹ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. - ಚಿತ್ರಗಳಲ್ಲಿರುವ ಪಠ್ಯ - ಚಿತ್ರಗಳಲ್ಲಿರುವ ಪಠ್ಯದ ಕುರಿತು ನೀವು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಥವಾ ನಿಮಗೆ ಅಗತ್ಯವಿರುವಾಗ ಹೆಚ್ಚಿನ ವಿವರಗಳನ್ನು ಪಡೆಯಬಹುದು.\n\nಲೇಬಲ್ ಹೊಂದಿರದ ಚಿತ್ರಗಳಿಗೆ: TalkBack ಕಾಣಿಸಿಕೊಳ್ಳುವ ಪಠ್ಯವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಓದುತ್ತದೆ.\n\nಎಲ್ಲಾ ಚಿತ್ರಗಳಿಗಾಗಿ: TalkBack ಮೆನು ತೆರೆಯಿರಿ ಮತ್ತು \"ಚಿತ್ರದಲ್ಲಿರುವ ಪಠ್ಯವನ್ನು ವಿವರಿಸಿ\" ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ.\n\nಚಿತ್ರಗಳು ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿಯೇ ಉಳಿಯುತ್ತವೆ ಮತ್ತು Google ಗೆ ಎಂದಿಗೂ ಕಳುಹಿಸುವುದಿಲ್ಲ. ಇದರರ್ಥ, ನೀವು ಇಂಟರ್ನೆಟ್ ಕನೆಕ್ಷನ್ ಇಲ್ಲದೆಯೇ ಈ ಎರಡೂ ಫೀಚರ್‌ಗಳನ್ನು ಬಳಸಬಹುದು. - ವಿಂಡೋ ನ್ಯಾವಿಗೇಶನ್ - ಅಧಿಸೂಚನೆ ಬಾರ್, ಮುಖ್ಯ ವಿಷಯ ಮತ್ತು ಕೀಬೋರ್ಡ್‌ನಂತಹ ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಮೇಲಿರುವ ವಿಭಿನ್ನ ವಿಭಾಗಗಳ ನಡುವೆ ನೀವು ಬದಲಿಸಬಹುದು.\n\nವಿಂಡೋ ನ್ಯಾವಿಗೇಶನ್ ಬಳಸಲು, 4 ಬೆರಳುಗಳಿಂದ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. - ಅಧಿಸೂಚನೆ ಬಾರ್, ಮುಖ್ಯ ವಿಷಯ ಮತ್ತು ಕೀಬೋರ್ಡ್‌ನಂತಹ ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಮೇಲಿರುವ ವಿಭಿನ್ನ ವಿಭಾಗಗಳ ನಡುವೆ ನೀವು ಬದಲಿಸಬಹುದು.\n\nವಿಂಡೋ ನ್ಯಾವಿಗೇಶನ್ ಬಳಸಲು, ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ, ನಂತರ ಮೇಲಕ್ಕೆ. ನೀವು ವಿಂಡೋ ನ್ಯಾವಿಗೇಶನ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡುವವರೆಗೆ ಮುಂದುವರಿಯಿರಿ. ವಿಂಡೋಗೆ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಲು, ಕೆಳಗೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಟ್ಯುಟೋರಿಯಲ್ TalkBack ಗೆ ಸುಸ್ವಾಗತ TalkBack ಎನ್ನುವುದು ಸ್ಕ್ರೀನ್ ಅನ್ನು ನೋಡಲು ಕಷ್ಟವೆನಿಸುವ ಸಂದರ್ಭಗಳು ಅಥವಾ ವ್ಯಕ್ತಿಗಳನ್ನು ಗಮನದಲ್ಲಿರಿಸಿಕೊಂಡಿರುವ ಸ್ಕ್ರೀನ್ ರೀಡರ್ ಆಗಿದೆ. ಸ್ಕ್ರೀನ್ ಕಡೆಗೆ ನೋಡದೆಯೇ ನೀವು ನಿಮ್ಮ ಸಾಧನವನ್ನು ಬಳಸುವಂತಾಗಲು ಇದು ನಿಮಗೆ ಮಾತಿನ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡುತ್ತದೆ.\n\nಎರಡೂ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಕೆಲವು ಸೆಕಂಡ್‌ಗಳವರೆಗೆ ಒತ್ತಿ ಹಿಡಿಯುವ ಮೂಲಕ ನೀವು TalkBack ಅನ್ನು ಆನ್ ಅಥವಾ ಆಪ್ ಮಾಡಬಹುದು.\n\nTalkBack ಆನ್ ಇರುವಾಗ, ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಫೋಕಸ್ ಮಾಡಲಾದ ಐಟಂ ಜೋರಾಗಿ ಮಾತನಾಡುತ್ತದೆ.\n\nಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿದರೆ ಮುಂದಿನ ಐಟಂಗೆ ಚಲಿಸುತ್ತದೆ ಮತ್ತು ಎಡಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿದರೆ ಹಿಂದಿನ ಐಟಂಗೆ ಚಲಿಸುತ್ತದೆ.\n\nಮುಂದಿನ ಬಟನ್ ಅನ್ನು ಹುಡುಕಲು ಈಗ ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. @@ -698,14 +689,14 @@ ಕೀಬೋರ್ಡ್‌ನಾದ್ಯಂತ ನಿಮ್ಮ ಬೆರಳನ್ನು ಸರಿಸಿ. ನೀವು ಟೈಪ್ ಮಾಡಲು ಬಯಸುವ ಅಕ್ಷರ ನಿಮಗೆ ಕೇಳಿಸಿದಾಗ, ನಿಮ್ಮ ಬೆರಳನ್ನು ಎತ್ತಿ.\n\nಕೆಳಗಿನ ಪಠ್ಯ ಬಾಕ್ಸ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಪ್ರಯತ್ನಿಸಿ ಮತ್ತು ನಿಮ್ಮ ಹೆಸರನ್ನು ಟೈಪ್ ಮಾಡಿ. ನೀವು ಬ್ರೈಲ್‌ ಕೀಬೋರ್ಡ್ ಬಳಸಿಯೂ ಸಹ ಟೈಪ್ ಮಾಡಬಹುದು. TalkBack ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಅದನ್ನು ಹುಡುಕಿ. ಕರ್ಸರ್ ಅನ್ನು ಸರಿಸುವುದು - ನೀವು ಟೆಕ್ಸ್ಟ್ ಬಾಕ್ಸ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿರುವಾಗ, ನೀವು ಮೇಲಕ್ಕೆ ಅಥವಾ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡುವ ಮೂಲಕ ಅಕ್ಷರಗಳ ನಡುವೆ ಕರ್ಸರ್ ಅನ್ನು ಸರಿಸಬಹುದು.\n\nಕೆಳಗಿನ ಟೆಕ್ಸ್ಟ್ ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಇದನ್ನು ಬಳಸಿ ನೋಡಿ. + ನೀವು ಪಠ್ಯ ಬಾಕ್ಸ್ ಒಂದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿರುವಾಗ, ಮೇಲಿನ ಅಥವಾ ಕೆಳಗಿನ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಒತ್ತುವ ಮೂಲಕ ಕರ್ಸರ್ ಅನ್ನು ಅಕ್ಷರಗಳ ನಡುವೆ ನೀವು ಸರಿಸಬಹುದು.\n\nಕೆಳಗಿನ ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಇದನ್ನು ಪ್ರಯತ್ನಿಸಿ. TalkBack ಗೆ ಸುಸ್ವಾಗತ ಪಠ್ಯವನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತಿದೆ ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿ, ನೀವು ಆಯ್ಕೆ ಮಾಡಲು ಬಯಸುವ ಪಠ್ಯದ ಪ್ರಾರಂಭಕ್ಕೆ ಕರ್ಸರ್ ಅನ್ನು ಸರಿಸಿ.\n\nಆಯ್ಕೆ ಮೋಡ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು 2 ಬೆರಳುಗಳಿಂದ ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಒತ್ತಿಹಿಡಿದುಕೊಳ್ಳಿ. ನಂತರ ಪಠ್ಯದ ಕೊನೆಗೆ ಕರ್ಸರ್ ಅನ್ನು ಸರಿಸಿ. ಆಯ್ಕೆ ಮೋಡ್ ಅನ್ನು ಅಂತ್ಯಗೊಳಿಸಲು ಮತ್ತೊಮ್ಮೆ 2 ಬೆರಳುಗಳಿಂದ ಡಬಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಒತ್ತಿಹಿಡಿದುಕೊಳ್ಳಿ.\n\nಕೆಳಗಿನ ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿ \"ಸುಸ್ವಾಗತ\" ಪದವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ. - ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿ, ನೀವು ಆಯ್ಕೆ ಮಾಡಲು ಬಯಸುವ ಪಠ್ಯದ ಪ್ರಾರಂಭಕ್ಕೆ ಕರ್ಸರ್ ಅನ್ನು ಸರಿಸಿ.\n\nTalkBack ಮೆನು ತೆರೆಯಲು ಕೆಳಕ್ಕೆ ಹಾಗೂ ನಂತರ ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಆ್ಯಕ್ಷನ್‌ಗಳನ್ನು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಹಾಗೂ ನಂತರ ಆಯ್ಕೆ ಮೋಡ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ. ಕರ್ಸರ್ ಅನ್ನು ಪಠ್ಯದ ಅಂತ್ಯಕ್ಕೆ ಸರಿಸಿ.\n\nTalkBack ಮೆನುವನ್ನು ಮತ್ತೆ ತೆರೆಯಿರಿ, ನಂತರ ಆಯ್ಕೆ ಮೋಡ್ ಅನ್ನು ಕೊನೆಗೊಳಿಸಲು ಆ್ಯಕ್ಷನ್‌ಗಳನ್ನು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ.\n\nಕೆಳಗಿನ ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿರುವ \"ಸುಸ್ವಾಗತ\" ಪದವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ. + ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿ, ನೀವು ಆಯ್ಕೆ ಮಾಡಲು ಬಯಸುವ ಪಠ್ಯದ ಪ್ರಾರಂಭಕ್ಕೆ ಕರ್ಸರ್ ಅನ್ನು ಸರಿಸಿ.\n\nTalkBack ಮೆನು ತೆರೆಯಲು ಕೆಳಕ್ಕೆ ನಂತರ ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಎಡಿಟಿಂಗ್‌ ಆಯ್ಕೆಗಳನ್ನು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಹಾಗೂ ನಂತರ ಆಯ್ಕೆ ಮೋಡ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ. ಕರ್ಸರ್ ಅನ್ನು ಪಠ್ಯದ ಅಂತ್ಯಕ್ಕೆ ಸರಿಸಿ.\n\nTalkBack ಮೆನುವನ್ನು ಮತ್ತೆ ತೆರೆಯಿರಿ, ನಂತರ ಆಯ್ಕೆ ಮೋಡ್ ಅನ್ನು ಕೊನೆಗೊಳಿಸಲು ಎಡಿಟಿಂಗ್ ಆಯ್ಕೆಗಳನ್ನು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ.\n\nಕೆಳಗಿನ ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿರುವ \"ಸುಸ್ವಾಗತ\" ಪದವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ. ನಕಲಿಸುವಿಕೆ, ಕತ್ತರಿಸುವಿಕೆ ಮತ್ತು ಅಂಟಿಸುವಿಕೆ - ಪಠ್ಯವನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ ನಂತರ, ಆ್ಯಕ್ಷನ್‌ಗಳನ್ನು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ನಂತರ ನಕಲಿಸಿ.\n\nಕೆಳಗಿನ ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಪದ ಒಂದನ್ನು ನಕಲಿಸಲು ಪ್ರಯತ್ನಿಸಿ. - ಪಠ್ಯವನ್ನು ಕತ್ತರಿಸಲು ಅಥವಾ ಅಂಟಿಸಲು, TalkBack ಮೆನು ತೆರೆಯಿರಿ ಮತ್ತು ಆ್ಯಕ್ಷನ್‌ಗಳನ್ನು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ.\n\nಪಠ್ಯವನ್ನು ಅಂಟಿಸಲು, 3 ಬೆರಳುಗಳಿಂದ ಟ್ರಿಪಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ.\n\nಕೆಳಗಿನ ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಪದ ಒಂದನ್ನು ಅಂಟಿಸಲು ಪ್ರಯತ್ನಿಸಿ. + ಪಠ್ಯವನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ ನಂತರ, 3 ಬೆರಳುಗಳಿಂದ ಡಬಲ್ ಟ್ಯಾಪ್ ಮಾಡುವ ಮೂಲಕ ಅದನ್ನು ನಕಲಿಸಿ.\n\nಕೆಳಗಿನ ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಪದ ಒಂದನ್ನು ನಕಲಿಸಲು ಪ್ರಯತ್ನಿಸಿ. + ಪಠ್ಯವನ್ನು ಕತ್ತರಿಸಲು, 3 ಬೆರಳುಗಳಿಂದ ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಒತ್ತಿಹಿಡಿದುಕೊಳ್ಳಿ.\n\nಪಠ್ಯವನ್ನು ಅಂಟಿಸಲು, 3 ಬೆರಳುಗಳಿಂದ ಟ್ರಿಪಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ.\n\n ಕೆಳಗಿನ ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಪದ ಒಂದನ್ನು ಅಂಟಿಸಲು ಪ್ರಯತ್ನಿಸಿ. ಪಠ್ಯವನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ ನಂತರ, ನೀವು ಅದನ್ನು TalkBack ಮೆನುವಿನಲ್ಲಿ ನಕಲಿಸಬಹುದು. TalkBack ಮೆನು ತೆರೆಯಲು ಕೆಳಕ್ಕೆ ನಂತರ ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಎಡಿಟಿಂಗ್‌ ಆಯ್ಕೆಗಳನ್ನು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ನಂತರ ನಕಲಿಸಿ.\n\nಕೆಳಗಿನ ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಪದ ಒಂದನ್ನು ನಕಲಿಸಿ ನೋಡಿ. ಪಠ್ಯವನ್ನು ಕತ್ತರಿಸಲು ಅಥವಾ ಅಂಟಿಸಲು, TalkBack ಮೆನು ತೆರೆಯಿರಿ ಮತ್ತು ಎಡಿಟಿಂಗ್ ಆಯ್ಕೆಗಳನ್ನು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ.\n\nಕೆಳಗಿನ ಪಠ್ಯ ಬಾಕ್ಸ್‌ನಲ್ಲಿ ಪದ ಒಂದನ್ನು ಅಂಟಿಸಲು ಪ್ರಯತ್ನಿಸಿ. ಪಠ್ಯವನ್ನು ಇಲ್ಲಿ ಅಂಟಿಸಿ @@ -750,7 +741,6 @@ ಐಟಂಗಳ ನಡುವೆ ಚಲಿಸಲು ಬಲಕ್ಕೆ ಅಥವಾ ಎಡಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಐಟಂ ಒಂದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಸ್ಕ್ರಾಲ್ ಮಾಡಲು 2 ಬೆರಳುಗಳನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಿ - ಫೋನ್ ಕನೆಕ್ಟ್ ಆಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ. ದಪ್ಪನೆಯ ಅಂಚುಗಳು ಬಣ್ಣ ಡೀಫಾಲ್ಟ್ @@ -762,12 +752,6 @@ ಬೂದು ಸಮೀಕ್ಷೆ ಅಂತ್ಯಗೊಂಡಿದೆ ಪಠ್ಯ: %1$s - ಚಿತ್ರದಲ್ಲಿನ ಪಠ್ಯವನ್ನು ವಿವರಿಸಿ - ಗುರುತಿಸಿದ ಐಕಾನ್: %1$s - ಕ್ರಿಯೆಯು ಬೆಂಬಲಿತವಾಗಿಲ್ಲ. - ಯಾವುದೇ ಕ್ರಿಯೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿಲ್ಲ. - ಬೆಂಬಲಿತ ಕ್ರಿಯೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ. - ಯಾವುದೇ ಕ್ರಿಯೆಗಳಿಲ್ಲ. - ಕ್ರಿಯೆಗಳ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿಲ್ಲ. - ಯಾವುದೇ ಪಠ್ಯ ಕಂಡುಬಂದಿಲ್ಲ + ಚಿತ್ರವನ್ನು ವಿವರಿಸಿ + ಶಿಫಾರಸು ಮಾಡಿದ ಐಕಾನ್: %1$s diff --git a/talkback/src/main/res/values-kn/strings_voicecommands.xml b/talkback/src/main/res/values-kn/strings_voicecommands.xml index cae48f91b..d4e0b926a 100644 --- a/talkback/src/main/res/values-kn/strings_voicecommands.xml +++ b/talkback/src/main/res/values-kn/strings_voicecommands.xml @@ -133,7 +133,7 @@ ಸಾಧನ ನ್ಯಾವಿಗೇಶನ್ ಮುಖಪುಟಕ್ಕೆ ಹೋಗಿ, ಹಿಂದಕ್ಕೆ ಹೋಗಿ, ಅಧಿಸೂಚನೆಗಳನ್ನು ತೋರಿಸಿ ಮತ್ತು ಇನ್ನಷ್ಟು ನಿಮ್ಮ ಇತ್ತೀಚಿನ ಆ್ಯಪ್‌ಗಳನ್ನು ನೋಡಿ - Google Assistant ಅನ್ನು ತೆರೆಯಿರಿ + Google ಅಸಿಸ್ಟೆಂಟ್‌ ಅನ್ನು ತೆರೆಯಿರಿ ಇತರ ಕಮಾಂಡ್‌ಗಳು TalkBack ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ, ಸ್ಕ್ರೀನ್ ಮರೆಮಾಡಿ, ಕ್ರಿಯೆಗಳನ್ನು ನೋಡಿ, ಕಸ್ಟಮ್ ಲೇಬಲ್‌ಗಳನ್ನು ಸೇರಿಸಿ ಮತ್ತು ಇನ್ನಷ್ಟು ಲೇಬಲ್ [ಸಲ್ಲಿಸಿ] diff --git a/talkback/src/main/res/values-ko/strings.xml b/talkback/src/main/res/values-ko/strings.xml index fbd415c05..b4197c45b 100644 --- a/talkback/src/main/res/values-ko/strings.xml +++ b/talkback/src/main/res/values-ko/strings.xml @@ -7,7 +7,6 @@ 텍스트 음성 변환 설정 언어 음성 언어 - 작업 시스템 작업 버전: %1$s 맞춤 라벨 관리 @@ -31,37 +30,46 @@ 기기가 잠금 해제되었습니다. 오디오 음성 볼륨 - 화면이 꺼져 있을 때 알림 소리내어 읽기 - 항상 목록의 항목 개수 소리내어 읽기 - 모든 스크롤 방식에서 항목 개수를 소리내어 읽습니다. + 화면이 꺼져 있을 때 음성 안내 사용 + 알림이 있을 경우 화면이 꺼져 있어도 음성으로 안내함 + 화면이 꺼져 있으면 음성 안내 사용 안함 + 화면에 표시된 목록 항목 수 듣기 + 동작을 사용하여 스크롤할 때만 음성으로 듣습니다. + 항상 음성으로 듣습니다. 근접 센서를 덮어 음성 출력 중지 - 예시와 함께 문자 소리내어 읽기 - 키보드 키를 선택하거나 문자 단위로 탐색할 때 \'ㅎ, 호텔\'과 같이 문자와 예시를 함께 듣습니다. - 구두점 및 기호 소리내어 읽기 + 발음 기호를 음성으로 제공 + 발음 기호는 읽지 않음 + 키보드 키를 길게 누르고 문자 단위로 이동하면 발음 기호를 읽음 + 구두점 + 구두점 및 기호는 읽지 않음 + 구두점 및 기호를 읽음 대문자 설정 안 함 \"대문자\"라고 말하기 음높이 변경 소리 재생 사용 힌트를 음성으로 제공 - 콘텐츠 설명 후 사용 방식을 제안합니다. - 목록 및 그리드 정보 소리내어 읽기 + 접근성 포커스를 이동하는 중에는 사용 힌트를 읽지 않음 + 탐색 중 약간의 지연 시간 후 사용 힌트를 읽음 + 목록 및 그리드 정보 말하기 + 목록 및 그리드 정보를 읽음 + 목록 및 그리드 정보를 읽지 않음 동작을 재설정할까요? 모든 동작이 기본값으로 재설정됩니다.\n\n변경사항이 모두 삭제됩니다. 재설정 동작 설정이 재설정되었습니다. 요소 유형 말하기 - 포커스가 맞춰진 항목을 소리내어 읽습니다. + 포커스가 맞춰진 항목의 요소 유형을 읽음 + 포커스가 맞춰진 항목의 요소 유형을 읽지 않음 요소 ID 듣기 - 라벨이 없는 버튼을 소리내어 읽습니다. - 시스템 창 이름 말하기 - 상태 표시줄, 알림, 볼륨 제어와 같은 다른 시스템 창으로 전환할 때 + 라벨이 지정되지 않은 버튼의 요소 ID를 말하지 않음 + 라벨이 지정되지 않은 버튼의 요소 ID를 말함 터치하여 탐색 제어 한 번 탭하여 활성화 포커스가 설정된 항목을 한 번 탭하여 활성화합니다. 상세 출력 - 구두점 및 기호 소리내어 읽기 + 구두점 초점 표시기 맞춤설정 동작 맞춤설정 맞춤 라벨 @@ -203,7 +211,8 @@ 음조 변경 사용 키보드 에코 요소 설명 순서 - 삭제한 글자를 더 높은 음으로 소리내어 읽습니다. + 키보드로 삭제한 텍스트를 더 높은 음으로 말합니다 + 말할 때 음성 음조를 변경하지 않음 점자 키보드 진동 확인 음향 피드백 @@ -211,6 +220,7 @@ 말하는 동안 다른 오디오 볼륨 줄이기 음향 피드백 볼륨 음성 안내 지원 중지 및 재개 단축키 + 화면 바로가기 숨기기 개발자 설정 로깅할 일정 선택 필터 접근성 일정 로깅 @@ -256,7 +266,7 @@ 음성 안내 지원 메뉴 열기 피드백 일시중지 음성 일시중지 또는 다시 시작 - 음성 사용 설정 또는 중지 + 음성 안내 지원 소리 켜기/끄기 맨 위부터 읽기 다음 항목부터 읽기 인쇄 노드 트리 @@ -273,12 +283,11 @@ 음성 언어 변경 다음 읽기 컨트롤 이전 읽기 컨트롤 - 전환 동작 + 패스 스루 시스템 동작 접근성 바로가기 접근성 바로가기 누르기 탐색 포커스를 앞으로 옮기거나 읽기 컨트롤을 아래로 조정 탐색 포커스를 뒤로 옮기거나 읽기 컨트롤을 위로 조정 - 현재 선택된 작업 활성화 검색결과 미디어 재생 또는 일시중지 모든 앱 @@ -323,7 +332,7 @@ 읽기 특수 기능 기타 - 복사, 붙여넣기, 선택 등 현재 항목에 대한 작업이 있을 때 표시 + 현재 항목에 맞춤 작업이 있는 경우 표시합니다. 복사, 붙여넣기, 선택 등이 있습니다. 텍스트 상자를 선택한 경우 표시합니다. 포커스가 설정된 항목 내에 있는 링크를 엽니다. 다음 또는 이전 페이지로 이동합니다. 여러 페이지가 있는 콘텐츠를 읽는 경우 표시합니다. @@ -342,7 +351,6 @@ 텍스트 음성 변환 설정을 엽니다. 음성 안내 지원 음성 피드백을 사용 중지합니다. 수정할 수 없음 - 작업 실행 한 번에 한 문자를 읽습니다. 한 번에 한 단어를 읽습니다. 한 번에 한 줄을 읽습니다. @@ -365,7 +373,7 @@ 음성 안내 지원이 말하는 동안 재생 중인 다른 오디오의 볼륨을 낮춥니다. 앞으로 또는 뒤로 스크롤 접근성 볼륨 증가 또는 감소 - 선택한 이미지에 삽입된 텍스트 소리 내어 읽기 + 이미지에 관해 자동으로 설명 아래쪽 아래쪽 오른쪽 순 위로 스와이프 @@ -408,9 +416,7 @@ 두 손가락으로 두 번 탭한 후 길게 누름 세 손가락으로 두 번 탭한 후 길게 누름 네 손가락으로 두 번 탭한 후 길게 누름 - 세 손가락으로 길게 탭하기 두 손가락으로 세 번 탭한 후 길게 누르기 - 세 손가락으로 세 번 탭한 후 길게 누르기 \"%1$s\" 또는 %2$s\" 동작으로 조정 \"%1$s\" 동작으로 조정 알 수 없는 동작 @@ -433,9 +439,8 @@ 화면이 켜질 때 잠금 화면이 표시될 때 알림이 표시될 때 - 길게 눌러 키 선택 후 두 번 탭하기 - 길게 눌러 문자 키 선택 후 떼기. 다른 키를 선택하려면 두 번 탭하기 - 키 선택 후 떼기 + 키 선택 후 두 번 탭 + 키 선택 후 떼기 사용 안함 매우 약하게 약하게 @@ -485,6 +490,7 @@ 라벨을 내보낼 애플리케이션 선택: 해당 버전의 음성 안내 지원에서는 기본 접근성 동작이 변경되었습니다. 이 동작과 관련된 작업은 음성 안내 지원 설정에서 맞춤설정할 수 있습니다. \'터치하여 탐색\'을 사용 설정하면 다음 동작을 사용하여 특정 작업을 수행할 수 있습니다.\n\n%1$s 볼륨 업 버튼과 볼륨 다운 버튼 길게 누르기 + 양쪽 볼륨 키를 빠르게 세 번 눌러 화면 숨기거나 표시하기 화면을 숨기시겠습니까? 이렇게 하면 개인정보 보호를 위해 디스플레이가 꺼지며, 공공장소에 있을 때 다른 사람에게 화면이 보이지 않게 됩니다. 이번 음성 안내 지원 버전에서는 기본 접근성 동작이 변경되었습니다.\n\n이제 위로 스와이프한 다음 아래로 스와이프하면 화면의 첫 번째 항목으로 이동하고 아래로 스와이프한 다음 위로 스와이프하면 마지막 항목으로 이동합니다.\n\n이제 항목에 포커스를 설정한 다음 음성 안내 지원 컨텍스트 메뉴에서 단위를 선택하여 읽기 단위를 변경할 수 있습니다.\n\n음성 안내 지원 설정에서 이러한 동작으로 실행되는 작업을 변경할 수 있습니다. @@ -500,9 +506,6 @@ 노드 트리 디버깅을 사용 설정하시겠습니까?\n\n노드 트리 디버깅을 사용하면 화면의 콘텐츠가 기기 로그에 표시되어 다른 앱에서 읽을 수 있습니다. 실적 통계 사용 실적 통계를 사용 설정하시겠습니까?\n\n실적 통계를 사용하면 메모리와 전원이 더 많이 소모될 수 있습니다. - 상세 로깅을 사용하시겠습니까? - 상세 로깅은 디버깅에 도움이 될 수 있지만 시스템 로그 버퍼에 개인 정보가 표시될 가능성이 있습니다.\n\n 상세 로깅을 사용 설정하시겠습니까? - �예, 상세 로깅을 사용합니다 휴대전화 액세스를 허용하시겠습니까? 통화 중일 때 음성 안내 지원에서 안내를 줄이는 데 도움이 됩니다 계속 @@ -556,11 +559,9 @@ 접근성 볼륨 슬라이더 조정 값 조정 - 작업 비밀번호 말하기 항상 비밀번호 말함 소리 및 진동 - 소리 %1$s 복사 완료 닫기 검색 닫기 @@ -579,7 +580,7 @@ 말할 수 있는 명령어는 다음과 같습니다.\n\n• 복사\n• 다음 항목 읽기\n• [저장] 찾기\n• 음성 속도 [빠르게]\n• 음성 안내 지원 설정\n\n모든 음성 명령의 목록을 보려면 ‘%1$s’ 명령어를 이용하세요. 음성 명령 사용 음성 안내 지원 동작을 건너뛰고 시스템 동작 사용하기 - 차임벨 소리가 들리면 음성 안내 지원에서 지원되지 않는 시스템 동작을 사용할 수 있습니다. 이를 전환 동작이라고 합니다. + 차임벨 소리가 들리면 음성 안내 지원에서 지원되지 않는 시스템 동작을 사용할 수 있습니다. 이를 패스 스루 동작이라고 합니다. 검색어 음성 안내 지원 음성 안내 지원의 알림 채널 @@ -595,15 +596,13 @@ %1$s하여 %2$s 단위로 읽습니다 이 동작을 사용하려면 음성 안내 지원 설정으로 이동하여 \'%1$s\'의 동작을 추가합니다 점자 키보드가 사용 설정되어 있지 않습니다. 음성 안내 지원 설정으로 이동하여 점자 키보드를 설정한 다음 다시 시도해 보세요. - 확인 가능한 추천이 있습니다 - 확인 가능한 추천이 있습니다. 액세스하려면 %1$s %2$d페이지 중 %1$d페이지 이전 다음 닫기 종료 위로 이동 - 음성 안내 지원의 새로운 기능 + 음성 안내 지원의 새로운 기능 가이드를 닫으시겠습니까? 언제든지 음성 안내 지원 설정에서 가이드를 다시 확인할 수 있습니다. 가이드 계속 진행하기 @@ -647,14 +646,6 @@ 탭하여 새로운 동작으로 음성 안내 지원을 빠르게 사용하는 방법을 알아보세요. 노드 트리가 로그에 인쇄되었습니다. 다음은 최근 사용한 동작입니다. 어떤 동작에 문제가 있었으며 정상적인 동작은 무엇인지 알려 주세요. - 간편한 볼륨 설정, 빠른 작업 설정 등을 이용할 수 있습니다\n\n다음 몇 개 화면에서 주요 업데이트 및 변경사항을 알아보세요. 업데이트 및 변경사항을 확인하는 데 5분 정도 걸립니다.\n\n언제든지 음성 안내 지원 설정에서 이 정보를 다시 확인할 수 있습니다. - 볼륨 설정 변경사항 - 볼륨 설정을 개선하기 위해 더 이상 볼륨 키가 텍스트 커서 또는 슬라이더를 제어하지 않습니다.\n\n슬라이더의 위치를 변경하려면 위 또는 아래로 스와이프하세요.\n\n텍스트 커서의 위치를 변경하려면 텍스트 상자 안에서 위 또는 아래로 스와이프하세요. 이 동작은 점자 키보드 읽기 설정에도 적용됩니다. - 이미지에 포함된 텍스트 - 자동으로 또는 필요할 때 이미지 내 텍스트에 관한 자세한 정보를 확인할 수 있습니다.\n\n라벨이 없는 이미지: 음성 안내 지원에서 표시된 텍스트를 자동으로 읽어줍니다.\n\n모든 이미지: 음성 안내 지원 메뉴를 열고 \'이미지 내 텍스트 설명\'을 선택합니다.\n\n이미지는 기기 내부에 유지되며 Google로 전송되지 않습니다. 따라서 두 기능 모두 인터넷에 연결하지 않고 사용할 수 있습니다. - 창 탐색 - 알림바, 기본 콘텐츠, 키보드 등 화면의 다양한 섹션 간에 전환할 수 있습니다.\n\n창 탐색 모드를 사용하려면 네 손가락을 사용해 아래로 스와이프하세요. - 알림바, 기본 콘텐츠, 키보드 등 화면의 다양한 섹션 간에 전환할 수 있습니다.\n\n창 탐색 모드를 사용하려면 아래로 스와이프한 다음 위로 스와이프하세요. 창 탐색이 선택될 때까지 계속하세요. 창으로 이동하려면 아래로 스와이프하세요. 가이드 음성 안내 지원에 오신 것을 환영합니다 음성 안내 지원은 화면을 보기 어려운 상황 또는 사용자를 위해 제작된 스크린 리더로, 화면을 보지 않고도 기기를 사용할 수 있도록 음성 피드백을 제공합니다.\n\n볼륨 키 두 개를 몇 초 동안 누르고 있으면 음성 안내 지원이 켜지거나 꺼집니다.\n\n음성 안내 지원이 켜져 있으면 화면에서 포커스가 설정된 항목을 음성으로 들을 수 있습니다.\n\n오른쪽으로 스와이프하면 다음 항목으로 이동하고, 왼쪽으로 스와이프하면 이전 항목으로 이동합니다.\n\n지금 오른쪽으로 스와이프하여 다음 버튼을 찾아보세요. @@ -697,14 +688,14 @@ 키보드 위에서 손가락을 움직이세요. 입력하려는 글자가 들리면 손가락을 떼세요.\n\n아래의 텍스트 상자를 활성화한 다음 이름을 입력해 보세요. 점자 키보드를 사용해 입력할 수도 있습니다. 음성 안내 지원 설정에서 찾아보세요. 커서 이동하기 - 텍스트 상자를 활성화하면 위로 또는 아래로 스와이프하여 글자 간에 커서를 이동할 수 있습니다.\n\n아래의 텍스트 상자에서 커서를 이동해 보세요. + 텍스트 상자를 활성화하면 볼륨 키를 위로 또는 아래로 눌러 글자 사이로 커서를 움직일 수 있습니다.\n\n아래의 텍스트 상자에서 커서를 이동해 보세요. 음성 안내 지원에 오신 것을 환영합니다. 텍스트 선택하기 텍스트 상자에서 커서를 선택하려는 텍스트의 첫 부분으로 옮깁니다.\n\n두 손가락으로 탭한 다음 길게 누르면 선택 모드가 시작됩니다. 그런 다음 커서를 텍스트 끝부분으로 옮깁니다. 다시 두 손가락으로 두 번 탭한 다음 길게 눌러 선택 모드를 종료합니다.\n\n아래의 텍스트 상자에서 \'환영합니다\'라는 단어를 선택해 보세요. - 텍스트 상자에서 선택하려는 텍스트의 시작 부분으로 커서를 옮깁니다.\n\n아래로 스와이프한 다음 오른쪽으로 스와이프하여 음성 안내 지원 메뉴를 엽니다. 작업을 두 번 탭한 다음 선택 모드를 시작합니다. 커서를 텍스트 상자의 끝부분으로 옮깁니다.\n\n다시 음성 안내 지원 메뉴를 연 다음 작업을 두 번 탭하여 선택 모드를 종료합니다.\n\n아래의 텍스트 상자에서 \'환영합니다\'라는 단어를 선택해 보세요. + 텍스트 상자에서 선택하려는 텍스트의 첫 부분으로 커서를 옮깁니다.\n\n아래로 스와이프한 다음 오른쪽으로 스와이프하여 음성 안내 지원 메뉴를 엽니다. 수정 옵션을 두 번 탭한 다음 선택 모드를 시작합니다. 커서를 텍스트 상자의 끝부분으로 옮깁니다.\n\n다시 음성 안내 지원 메뉴를 연 다음 수정 옵션을 두 번 탭하여 선택 모드를 종료합니다.\n\n아래의 텍스트 상자에서 \'환영합니다\'라는 단어를 선택해 보세요. 복사하기, 잘라내기, 붙여넣기 - 텍스트를 선택한 다음 작업을 두 번 탭하고 복사하세요.\n\n아래 텍스트 상자에서 단어를 복사해 보세요. - 텍스트를 자르거나 붙여넣으려면 음성 안내 지원 메뉴를 연 다음 작업을 두 번 탭하세요.\n\n텍스트를 붙여넣으려면 세 손가락을 사용해 세 번 탭하세요\n\n아래 텍스트 상자에서 단어를 붙여넣어 보세요. + 텍스트를 선택한 다음 세 손가락으로 두 번 탭하면 복사할 수 있습니다.\n\n아래의 텍스트 상자에서 단어를 복사해 보세요. + 텍스트를 자르려면 세 손가락으로 두 번 탭한 다음 길게 누르세요.\n\n텍스트를 붙여넣으려면 세 손가락으로 세 번 탭합니다.\n\n아래의 텍스트 상자에 단어를 붙여넣어 보세요. 텍스트를 선택한 다음 음성 안내 지원 메뉴에서 텍스트를 복사할 수 있습니다. 아래로 스와이프한 다음 오른쪽으로 스와이프하여 음성 안내 지원 메뉴를 엽니다. 수정 옵션을 두 번 탭한 다음 복사합니다.\n\n아래의 텍스트 상자에서 단어를 복사해 보세요. 텍스트를 자르거나 붙여넣으려면 음성 안내 지원 메뉴를 연 다음 수정 옵션을 두 번 탭하세요.\n\n아래의 텍스트 상자에 단어를 붙여넣어 보세요. 여기에 텍스트를 붙여넣으세요. @@ -747,7 +738,6 @@ 항목 간에 전환하려면 오른쪽이나 왼쪽으로 스와이프하세요 항목을 활성화하려면 두 번 탭하세요 스크롤하려면 두 손가락으로 드래그하세요 - 휴대전화가 연결되어 있는지 확인하세요. 두꺼운 테두리 색상 기본 @@ -759,12 +749,6 @@ 회색 설문조사 종료됨 텍스트: %1$s - 이미지 내 텍스트 설명 - 삭제된 아이콘: %1$s - 지원되지 않는 작업입니다. - 선택한 작업이 없습니다. - 지원되는 작업을 선택해 주세요. - 작업이 없습니다. - 작업 설정이 사용 설정되지 않았습니다. - 텍스트 없음 + 이미지 설명 + 인식된 아이콘: %1$s diff --git a/talkback/src/main/res/values-ky/strings.xml b/talkback/src/main/res/values-ky/strings.xml index ef3c25041..c04465b32 100644 --- a/talkback/src/main/res/values-ky/strings.xml +++ b/talkback/src/main/res/values-ky/strings.xml @@ -7,7 +7,6 @@ Кеп синтезаторунун жөндөөлөрү Тилдер Колдонулуучу тилдер - Аракеттер Системанын аракеттери Версиясы %1$s Жеке энбелгилерди башкаруу @@ -31,37 +30,46 @@ Түзмөктүн кулпусу ачылды. Аудио Кептин катуулугу - Билдирмелер экран өчүп турганда айтылат - Тизмедеги нерселердин саны ар дайым айтылат - Бардык сыдыруу ыкмаларынын саны айтылат + Экран өчүп турганда сүйлөңүз + Экран өчүп турганда билдирмелер айтылат + Экран өчүп турганда эч ким сүйлөбөйт + Экрандагы тизмеленген нерселердин санын айтуу + Жаңсоо менен сыдырууда гана айтуу + Ар дайым айтылат Кепти токтотуу үчүн жакындык сенсорун жабыңыз - Тамгалар мисалдары менен айтылат - Баскычтоптогу баскычтар тандалганда же тамгалар басылганда ар бир тамга менен айтылган мисалды да угасыз, мисалы \"h, hotel\" - Тыныш белгилери менен символдор айтылат + Фонетикалык тамгаларды айтуу + Фонетикалык тамгалар айтылбайт + Фонетикалык тамгалар баскычтопту узакка басып турганда жана бир-бирден символ менен жылдырганда айтылат + Тыныш белгилери + Тыныш белгилери менен символдор айтылган жок + Тыныш белгилери менен символдор айтылды Баш тамгалар Эч нерсе кылынбасын “Баш” деп айт Бийик нотага өзгөртүү Үнүн чыгаруу Айтып туруу - Мазмуну сүрөттөлгөндөн кийин анын колдонулушу сунушталат - Тизмедеги, торчодогу маалымат айтылат + Курсор жылып жатканда кеңештер айтылбайт + Чабыттоо учурунда кеңештер бир аз кечигүү менен айтылат + Тизмелер/чакмактар тууралуу айтуу + Тизмелердеги/чакмактардагы абал тууралуу маалымат айтылып турат + Тизмелердеги/чакмактардагы абал тууралуу маалымат айтылбайт Жаңсоолорду кайра коесузбу? Ушуну менен бардык жаңсоолор үчүн демейки аракеттер коюлат.\n\nБардык киргизилген өзгөрүүлөр жоюлат. Кайра коюу Жаңсоо жөндөөлөрү баштапкы абалга келтирилди. Элементтин түрүн айтуу - Тандалган нерселер үчүн + Тандалган элементтердин түрү айтылат + Тандалган элементтердин түрү айтылбайт Элементтин идентификаторлорун айтуу - Белгиленбеген баскычтар үчүн - Сүйлөгөн тутум терезелери - Абал тилкеси, билдирмелер же үндү башкаруу элементтери сыяктуу тутумдун башка терезелерине которулганыңызда + Жазуусу жок баскычтардын идентификаторлору айтылат + Жазуусу жок баскычтардын идентификаторлору айтылат Тийип изилдөө Башкаруу элементтери Иштетүү үчүн бир жолу басуу Тандалган нерсени иштетүү үчүн бир жолу таптаңыз Кепти дааналатуу - Тыныш белгилери менен символдор айтылат + Тыныш белгилери Өтүү индикаторун ыңгайлаштыруу Жаңсоолорду ыңгайлаштыруу Жеке энбелгилер @@ -203,7 +211,8 @@ Айтып жаткан үндүн бийиктигин өзгөртүү Баскыч басылганда үн чыгат Элементтерди сүрөттөө ирети - Өчүрүлгөн тамгаларды бийик үн менен айтуу + Баскычтоптон өчүрүлгөн текстти бийик үн менен айтуу + Сүйлөп жатканда үнүңүздүн бийиктиги өзгөрүлбөсүн Брайль баскычтобу Дирилдеп жооп берүү Үн сигналы @@ -211,6 +220,7 @@ TalkBack иштеп жатканда башка колдонмолордун үнү акырындатылат Жооптун үн бийиктиги TalkBack\'ти убактылуу токтотуу жана улантуу кыска жолу + Экранды бүдөмүктөтүүчү ыкчам баскычты жашыруу Иштеп чыгуучулар үчүн Таржымалга сакталчу иш-чараларды тандоо Таржымалдын иш-чараларын чыпкалоо @@ -256,7 +266,7 @@ TalkBack менюсун ачуу Жооп пикирди бир азга токтотуу Кепти тындыруу же улантуу - Кепти күйгүзүү же өчүрүү + TalkBack үнүн күйгүзүү же өчүрүү Башынан окуу Кийинки нерседен окуу Түйүн дарагын басып чыгаруу @@ -278,7 +288,6 @@ Тез иштетүү баскычын басып туруу Кийинки объектке өтүү же окуу ылдамдыгын төмөндөтүү Мурунку объектке өтүү же окуу ылдамдыгын жогорулатуу - Учурда тандалган аракетти иштетүү Издөө жыйынтыгы Медиа файлды ойнотуу же тындыруу Бардык колдонмолор @@ -323,7 +332,7 @@ Окуу Өзгөчө функциялар Башка - Учурдагы элементке тиешелүү аракеттерди, анын ичинде көчүрүү, чаптоо, тандоо жана башка аракеттерди көрсөтөт + Ыңгайлаштырылган аракеттер учурдагы объектте колдоого алынса көрүнөт Көчүрүү, чаптоо, тандоо жана башка аракеттер. Текст кутучасы тандалганда көрүнөт Тандалган нерсенин ичиндеги шилтемелер ачылат Кийинки же мурунку бетке өтөсүз. Бул функцияны бир нече бет болгондо гана пайдалана аласыз. @@ -342,7 +351,6 @@ Кеп синтезаторунун жөндөөлөрүн ачасыз TalkBack үн менен жооп кайтаруу функциясын өчүрүңүз Түзөтүүгө болбойт - Аракеттерди аткаруу Ар бир белги бирден окулат Ар бир сөз бирден окулат Ар бир сап бирден окулат @@ -365,7 +373,7 @@ TalkBack сүйлөгөндө башка добуштар акырындайт Алдына же артка сыдыруу Атайын мүмкүнчүлүктөрдүн үнүнүн катуулугун жогорулатуу же төмөндөтүү - Тандалган сүрөткө жалгаштырылган текстти үн чыгарып окуу + Бул сүрөттүн автоматтык cүрөттөмөсүн алуу төмөн ылдый, анан оңго Өйдө сүрүү @@ -408,9 +416,7 @@ 2 манжа менен эки жолу басып, кое бербей туруу 3 манжа менен эки жолу басып, кое бербей туруу 4 манжа менен эки жолу басып, кое бербей туруу - 3 манжа менен басып, коё бербей туруу 2 манжа менен үч жолу басып, коё бербей туруу - 3 манжа менен үч жолу басып, кое бербей туруу Тууралоо үчүн \"%1$s\" же %2$s\" Тууралоо үчүн \"%1$s\" Белгисиз жаңсоо @@ -434,8 +440,7 @@ Кулпу экраны көрсөтүлгөндө Эскертмеден гана Баскычты тандоо үчүн манжаңыз менен коё бербей басып, андан кийин эки жолу таптаңыз - Тамганы тандоо үчүн манжаңыз менен коё бербей басып, андан кийин алып коюңуз. Башка баскычтарды тандоо үчүн эки жолу таптаңыз. - Баскычты тандоо үчүн манжаңыз менен коё бербей басып, андан кийин алып коюңуз + Баскычты тандоо үчүн манжаңыз менен коё бербей басып, андан кийин алып коюңуз Өчүрүлгөн Аябай жеңил Жеңил @@ -485,6 +490,7 @@ Энбелгилерди экспорттоо үчүн колдонмо тандаңыз: TalkBack\'тин бул версиясына демейки атайын мүмкүнчүлүктөр жаңсоолорунун өзгөрүүлөрү камтылган. Ушул жаңсоолорго байланышкан аракеттерди TalkBack жөндөөлөрүнөн өзгөчөлөштүрсөңүз болот. Тийип изилдөө аракети иштетилгенде, белгилүү аракеттерди аткаруу үчүн төмөнкү жаңсоолорду колдонуңуз.\n\n%1$s Үнүн көбөйтүү жана азайтуу баскычтарын узакка басып туруңуз + Үн баскычтарынын экөөнү тең үч жолу тез басуу менен экранды жашыруу же көрсөтүү Экран жашырылсынбы? Бул аракет экранды өчүрөт да, коомдук жайларда экраныңыз башкаларга көрүнбөй, купуялыгыңызды корголот TalkBack\'тин бул версиясына демейки атайын мүмкүнчүлүктөр жаңсоолорунун өзгөрүүлөрү камтылган.\n\nӨйдө-анан-ылдый жаңсоосу экрандагы биринчи нерсеге, ал эми ылдый-анан-өйдө жаңсоосу акыркы нерсеге жылдырат.\n\nЭми кандайдыр бир нерсени фокуска алып, андан соң TalkBack контексттик менюсунан майда-баратталышты тандап, окуунун майда-баратталышын өзгөртсө болот.\n\nУшул жаңсоолордун аракеттерин TalkBack жөндөөлөрүнөн өзгөртө аласыз. @@ -500,9 +506,6 @@ Чын эле түйүн дарагынын мүчүлүштүктөрүн оңдоо мүмкүнчүлүгүн күйгүзгүңүз келеби?\n\n күйгүзүлгөндө, экраныңыздын мазмуну түзмөгүңүздүн таржымалында ачылып, аны башка колдонмолор окуй алат. Түзмөктүн иштөө статистикасы жандырылсынбы? Түзмөктүн иштөө статистикасын чын эле күйгүзөсүзбү?\n\nТүзмөктүн иштөө статистикасы кошумча эстутумду жана батарея кубатын колдонушу мүмкүн. - Журналды иштетесизби? - Журнал мүчүлүштүктөрдү оңдоодо жардам бере алат, бирок жеке маалыматыңыз тутум таржымалынын буферинде көрүнүп калышы мүмкүн.\n\n Журналды иштетесизби? - Ооба, журналды иштетүү Телефонго кирүүгө уруксат бересизби? Телефон аркылуу сүйлөшүп жатканыңызда TalkBack билдирмелердин санын азайтат Улантуу @@ -556,11 +559,9 @@ Атайын мүмкүнчүлүктөрдүн үнүнүн катуулугу Сыдырманы тууралоо Маанини тууралоо - Аракеттер Сырсөздөрдү айтуу Сырсөздөр ар дайым айтылат Үн жана дирилдөө - Үн %1$s көчүрүлдү Жабуу Издөөнү жабуу @@ -595,15 +596,13 @@ %2$s боюнча окуу үчүн %1$s Аны колдонуу үчүн TalkBack жөндөөлөрүнө өтүп, \"%1$s\" үчүн жаңсоо кошуңуз Брайль баскычтобу күйгөн жок. TalkBack жөндөөлөрүнөн Брайль баскычтобун жөндөп, кайталап көрүңүз. - Сунуштар жеткиликтүү - Сунуштар жеткиликтүү. Мүмкүнчүлүк алуу үчүн %1$s %2$d беттин %1$d-бети Мурунку Кийинки Жабуу Бүтүрүү Жогору өтүү - TalkBack версиясындагы жаңы функциялар + TalkBack версиясындагы жаңы функциялар Үйрөткүчтү жабасызбы? Бул маалыматты каалаган убакта TalkBack жөндөөлөрүнөн көрө аласыз. Үйрөткүчтө калуу @@ -647,14 +646,6 @@ TalkBack\'ти жаңы жаңсоолор менен кантип тезирээк колдонуу керектигин билип алуу үчүн таптаңыз. Түйүн дарагы таржымалдарда көрсөтүлдү. Бул жерде акыркы жаңсоолор көрсөтүлгөн. Туура эмес жаңсоолорду белгилеп, кайсы вариант туура болорун кабарлап коюңуз. - Үндү башкаруу элементтери жөнөкөйлөтүлүп, аракеттерди көзөмөлдөө ылдамдатылып жана башка көптөгөн нерселер кошулду.\n\nНегизги жаңыртуулар жана киргизилген өзгөртүүлөр жөнүндө маалыматты кийинки бир нече экранда көрөсүз. Буга 5 мүнөттөй убакыт кетет. \n\nБул маалыматты TalkBack жөндөөлөрүнөн каалаган убакта карап чыксаңыз болот. - Үн көлөмүн көзөмөлдөө өзгөрдү - Үн көлөмүн көзөмөлдөөнү жакшыртуу максатында, үн баскычтары мындан ары тексттеги курсорду же сыдырмаларды башкарбай калышты.\n\nСыдырманын абалын өзгөртүү үчүн экранды өйдө же ылдый сүрүңүз.\n\nТексттеги курсордун абалын өзгөртүү үчүн текст кутусун өйдө же ылдый сүрүңүз. Бул параметр Брайль баскычтобунда окууну башкаруу үчүн да колдонулат. - Сүрөттөрдөгү текст - Сүрөттөрдөгү текст тууралуу маалыматты автоматтык түрдө же керек болгондо гана алсаңыз болот.\n\nЭнбелгиси жок сүрөттөр үчүн: TalkBack көрсөтүлгөн текстти автоматтык түрдө окуйт.\n\nБардык сүрөттөр үчүн: TalkBack менюсун ачып, \"Сүрөттөгү текстти айтып бер\" баскычын басыңыз.\n\nСүрөттөр түзмөгүңүздө гана сакталып, Google\'га эч качан жөнөтүлбөйт. Эки функцияны тең Интернетсиз колдоно аласыз. - Терезеде өтүү - Билдирмелер тилкеси, негизги мазмун жана баскычтоп сыяктуу экрандагы бөлүмдөргө которула аласыз.\n\nТерезедеги элементтерге өтүү үчүн экранды 4 манжаңыз менен ылдый сүрүңүз. - Билдирмелер тилкеси, негизги мазмун жана баскычтоп сыяктуу экрандагы бөлүмдөргө которула аласыз.\n\nТерезедеги элементтерге өтүү үчүн экранды ылдый жана өйдө сүрүңүз. Терезедеги элементти тандамайынча, улантыңыз. Терезеге өтүү үчүн экранды ылдый сүрүңүз. Үйрөткүч TalkBack кызматына кош келиңиз! TalkBack – экрандагы нерселер көрүнбөй жаткан учурларда, ошондой эле көзү начар көргөн адамдарга экрандагы нерселерди окуп берген программа.\n\nTalkBack\'ти күйгүзүү же өчүрүү үчүн үн баскычтарын бир нече секундага кое бербей басып туруңуз.\n\nПрограмма күйгүзүлгөндө, ал экранда тандалган нерсени айтып берет.\n\nЭкранды оңго сүрсөңүз кийинки нерсе, солго сүрсөңүз мурунку нерсе окулат.\n\n\"Кийинки\" деген баскычты көрүү үчүн экранды оңго сүрүңүз. @@ -697,14 +688,14 @@ Баскычтопту манжаңыз менен сүрүп, керектүү тамга угулганда манжаңызды алыңыз.\n\nТөмөнкү текст кутучасын иштетип, аты-жөнүңүздү жазып көрүңүз. Брайль баскычтобу менен да терсеңиз болот. TalkBack\'тин жөндөөлөрүнөн издеңиз. Курсорду жылдыруу - Текст кутучасын иштеткенден кийин бир тамгадан экинчисине өтүү үчүн экранды өйдө же ылдый сүрүңүз.\n\nТөмөнкү текст кутучасында машыгып көрүңүз. + Текст кутучасын иштеткенден кийин, бир тамгадан экинчисине өтүү үчүн үндү катуулатуу/акырындатуу баскычын колдонуңуз.\n\nТөмөнкү текст кутучасында машыгып көрүңүз. TalkBack кызматына кош келиңиз! Текст тандоо Текст кутучасындагы текстти тандоо үчүн керектүү тексттин башына курсорду жылдырыңыз.\n\nТандап баштоо үчүн 2 манжаңыз менен эки жолу басып, коё бербей туруңуз. Андан соң курсорду тексттин аягына жылдырыңыз. Тандоо режиминен чыгуу үчүн 2 манжаңыз менен эки жолу басып, коё бербей туруңуз.\n\nТөмөнкү текст кутучасынан \"Кош келиңиз\" деген сөздү тандап көрүңүз. - Текст кутусундагы текстти тандоо үчүн керектүү тексттин башына курсорду жылдырыңыз.\n\nTalkBack менюсун ачуу үчүн экранды ылдый, анан оңго сүрүңүз. Аракеттерди эки жолу басып, тандоо режимине кириңиз. Андан соң курсорду тексттин аягына жылдырыңыз.\n\nTalkBack менюсун кайра ачып, аракеттерди эки жолу басып, тандоо режиминен чыгыңыз.\n\nТөмөнкү текст кутусунан \"Кош келиңиз\" деген сөздү тандап көрүңүз. + Текст кутучасындагы текстти тандоо үчүн керектүү тексттин башына курсорду жылдырыңыз.\n\nTalkBack менюсун ачуу үчүн экранды ылдый, анан оңго сүрүңүз. Түзөтүү параметрлерин эки жолу басып, тандоо режимине кириңиз. Андан соң курсорду тексттин аягына жылдырыңыз.\n\nTalkBack менюсун кайра ачып, түзөтүү параметрлерин эки жолу басып, тандоо режиминен чыгыңыз.\n\nТөмөнкү текст кутучасынан \"Кош келиңиз\" деген сөздү тандап көрүңүз. Көчүрүү, кесүү жана чаптоо - Текстти тандагандан кийин аракеттерди эки жолу басып, текстти көчүрүңүз.\n\nТөмөнкү кутучадагы сөздү көчүрүп көрүңүз. - Текстти кесүү же чаптоо үчүн TalkBack менюсун ачып, аракеттерди эки жолу басыңыз.\n\nТекстти чаптоо үчүн 3 манжаңыз менен үч жолу басыңыз.\n\nКөчүрүлгөн сөздү төмөнкү текст кутучасына коюп көрүңүз. + Текстти тандагандан кийин, аны 3 манжаңыз менен эки жолу басып, көчүрүңүз.\n\nТөмөндөгү текст кутучасындагы сөздү көчүрүп көрүңүз. + Текстти кесүү үчүн 3 манжаңыз менен үч жолу таптап, коё бербей басып туруңуз.\n\nТекстти чаптоо үчүн 3 манжаңыз менен үч жолу басыңыз.\n\nКөчүрүлгөн сөздү төмөнкү текст кутучасына коюп көрүңүз. Текстти көчүргөндөн кийин аны TalkBack менюсуна чаптай аласыз. TalkBack менюсун ачуу үчүн экранды ылдый, анан оңго сүрүңүз. Түзөтүү параметрлерин эки жолу басып, көчүрүңүз.\n\nТөмөнкү кутучадагы сөздү көчүрүп көрүңүз. Текстти кесүү же чаптоо үчүн TalkBack менюсун ачып, түзөтүү параметрлерин эки жолу басыңыз.\n\nКөчүрүлгөн сөздү төмөнкү текст кутучасына коюп көрүңүз. Текстти бул жерге чаптаңыз @@ -747,7 +738,6 @@ Элементтерге өтүү үчүн оңго же солго сүрүңүз Элементти иштетүү үчүн эки жолу басыңыз Сыдыруу үчүн 2 манжаңыз менен сүйрөңүз - Телефон туташып турганын текшериңиз. Калың чектер Түс Демейки @@ -759,12 +749,6 @@ Боз Сурамжылоо жабылды Текст: %1$s - Сүрөттөгү текстти сүрөттөө - Аныкталган сүрөтчө: %1$s - Бул аракет колдоого алынбайт. - Аракет тандалган жок. - Колдоого алынган аракетти тандаңыз. - Эч нерсе жок. - Аракеттер жөндөөсү иштетилген жок. - Текст табылган жок + Сүрөттү сүрөттөп берүү + Божомолдонгон сүрөтчө: %1$s diff --git a/talkback/src/main/res/values-lo/strings.xml b/talkback/src/main/res/values-lo/strings.xml index 4e10442d7..40654da89 100644 --- a/talkback/src/main/res/values-lo/strings.xml +++ b/talkback/src/main/res/values-lo/strings.xml @@ -7,7 +7,6 @@ ການຄັ້ງຄ່າການປ່ຽນຂໍ້ຄວາມເປັນສຽງເວົ້າ ພາສາ ພາສາເວົ້າ - ຄຳສັ່ງ ຄຳສັ່ງລະບົບ ເວີ​ຊັນ %1$s ຈັດ​ການ​ປ້າຍ​ກຳ​ກັບ​ທີ່​ກຳ​ນົດ​ເອງ @@ -31,37 +30,46 @@ ​ປົດ​ລັອກ​ອຸ​ປະ​ກອນ​ແລ້ວ ສຽງ ລະດັບສຽງ​ຂອງການເວົ້າ - ເວົ້າ​ການແຈ້ງເຕືອນເມື່ອໜ້າຈໍປິດຢູ່ - ອ່ານຈຳນວນຂອງລາຍການລາຍຊື່ສະເໝີ - ອ່ານຈຳນວນວິທີການເລື່ອນທັງໝົດ + ເວົ້າບອກ​ເມື່ອ​ໜ້າຈໍ​ປິດລົງ + ການ​ແຈ້ງເຕືອນ​ຈະ​ຖືກເວົ້າ​ເມື່ອ​ໜ້າ​ຈໍ​ປິດ​ຢູ່ + ບໍ່​ມີ​ການ​ເວົ້າ​ເກີດ​ຂຶ້ນ​ເມື່ອ​ໜ້າ​ຈໍ​ປິດ​ຢູ່ + ອ່ານຈຳນວນລາຍຊື່ລາຍການໃນໜ້າຈໍ + ອ່ານສະເພາະຕອນເລື່ອນດ້ວຍທ່າທາງ + ອ່ານຕະຫຼອດ ບັງເຊັນເຊີກວດສອບຄວາມໃກ້ເພື່ອຢຸດການເວົ້າ - ອ່ານຕົວໜັງສືພ້ອມກັບຕົວຢ່າງ - ເມື່ອທ່ານເລືອກປຸ່ມແປ້ນພິມ ຫຼື ນຳທາງຕາມຕົວອັກສອນ, ທ່ານຈະໄດ້ຍິນສຽງຕົວຢ່າງໄປພ້ອມກັບແຕ່ລະຕົວອັກສອນ, ເຊັ່ນ: \"h, hotel\" - ອ່ານເຄື່ອງໝາຍວັກຕອນ ແລະ ສັນຍາລັກ + ເວົ້າ​ຕົວ​ໜັງ​ສື​ທີ່​ເປັນ​ການ​ອອກ​ສຽງ + ຕົວອັກສອນໂຟເນຕິກແມ່ນບໍ່ອອກສຽງເວົ້າ + ຕົວອັກສອນໂຟເນຕິກແມ່ນຈະອອກສຽງເວົ້າເມື່ອກົດຄ້າງໄວ້ໃສ່ແປ້ນພິມ ແລະ ແຖບການນຳທາງຕາມຕົວອັກສອນ + ເຄື່ອງໝາຍຈ້ຳຈຸດ + ຈະບໍ່ອ່ານເຄື່ອງໝາຍຈ້ຳຈຸດ ແລະ ສັນຍາລັກຕ່າງໆອອກສຽງ + ຈະອ່ານເຄື່ອງໝາຍຈ້ຳຈຸດ ແລະ ສັນຍາລັກຕ່າງໆອອກສຽງ ຕົວພິມໃຫຍ່ ບໍ່ເຮັດຫຍັງ ເວົ້າວ່າ “capital” ປ່ຽນລະດັບສຽງ ຫຼິ້ນສຽງ ເວົ້າ​ຄຳ​ໄບ້​ການ​ໃຊ້ - ຫຼັງຈາກການອະທິບາຍເນື້ອຫາ, ໃຫ້ແນະນຳວິທີໃຊ້ - ອ່ານລາຍຊື່ ແລະ ຂໍ້ມູນຕາຕະລາງ + ຄຳໃບ້ການນຳໃຊ້ຈະບໍ່ອອກສຽງເວົ້າເມື່ອຍ້າຍໂຟກັສການຊ່ວຍເຂົ້າເຖິງ + ຄຳໃບ້ການນຳໃຊ້ແມ່ນຈະເວົ້າໃນລະຫວ່າງການນຳທາງ, ຫຼັງຈາກໄລຍະເວລາສັ້ນໆ + ລາຍຊື່ການເວົ້າ ແລະ ຂໍ້ມູນຕາໜ່າງ + ເວົ້າຂໍ້ມູນລາຍຊື່ ແລະ ຕາຕະລາງ + ບໍ່ເວົ້າຂໍ້ມູນລາຍຊື່ ແລະ ຕາຕະລາງ ຣີເຊັດທ່າທາງບໍ? ນີ້ຈະເປັນການຣີເຊັດທ່າທາງທັງໝົດໄປເປັນຄຳສັ່ງເລີມຕົ້ນຂອງພວກມັນ.\n\nທ່ານຈະສູນເສຍການປ່ຽນແປງໃດກໍຕາມທີ່ທ່ານສ້າງຂຶ້ນ. ຣີເຊັດ ຣີເຊັດການຕັ້ງຄ່າທ່າທາງແລ້ວ. ປະເພດອົງປະກອບການເວົ້າ - ສຳລັບລາຍການທີ່ໂຟກັສໄວ້ + ເວົ້າປະເພດອົງປະກອບສຳລັບລາຍການທີ່ເລືອກແລ້ວ + ບໍ່ໄດ້ເວົ້າປະເພດອົງປະກອບສຳລັບລາຍການທີ່ເລືອກເທື່ອ ໄອດີອົງປະກອບການເວົ້າ - ສຳລັບປຸ່ມທີ່ບໍ່ມີປ້າຍກຳກັບ - ໜ້າຈໍລະບົບເວົ້າ - ເມື່ອທ່ານສະຫຼັບໄປຫາໜ້າຈໍລະບົບອື່ນ ເຊັ່ນ: ແຖບສະຖານະ, ການແຈ້ງເຕືອນ ຫຼື ການຄວບຄຸມລະດັບສຽງ + ບໍ່ເວົ້າໄອດີອົງປະກອບສຳລັບປຸ່ມທີ່ບໍ່ໄດ້ຕັ້ງຊື່ໄວ້ + ເວົ້າໄອດີອົງປະກອບສຳລັບປຸ່ມທີ່ບໍ່ໄດ້ຕັ້ງຊື່ໄວ້ ​ສຳຫຼວດ​ໂດຍ​ການ​ສຳ​ຜັດ ການຄວບຄຸມ ແຕະເທື່ອດຽວເພື່ອເປີດນຳໃຊ້ ແຕະເທື່ອດຽວໃສ່ລາຍການທີ່ໂຟກັສໄວ້ເພື່ອເປີດນຳໃຊ້ ການເວົ້າລາຍລະອຽດ - ອ່ານເຄື່ອງໝາຍວັກຕອນ ແລະ ສັນຍາລັກ + ເຄື່ອງໝາຍຈ້ຳຈຸດ ປັບແຕ່ງຕົວ​ວັດແທກໂຟກັສ ປັບແຕ່ງທ່າ​ທາງ​ນິ້ວ​ມື ປ້າຍກຳກັບແບບກຳນົດເອງ @@ -203,7 +211,8 @@ ໃຊ້ການ​ປ່ຽນໂທນສຽງ ອອກສຽງແປ້ນພິມ ລຳດັບຄຳອະທິບາຍອົງປະກອບ - ອ່ານຕົວອັກສອນທີ່ລຶບອອກແລ້ວດ້ວຍສຽງສູງຂຶ້ນ + ເວົ້າຂໍ້ຄວາມທີ່ແປ້ນພິມລຶບອອກດ້ວຍສຽງສູງຂຶ້ນ + ຢ່າປ່ຽນ​ໂທນສຽງ​ໃນເວລາເວົ້າ ແປ້ນພິມອັກສອນນູນ ການສັ່ນເຕືອນ ການ​ຕອບ​ສະ​ໜອງ​ດ້ວຍ​ສຽງ @@ -211,6 +220,7 @@ ຄ່ອຍ​ສຽງ​ອື່ນໆ​ລົງ​ໃນ​ຂະ​ນະ​ທີ່​ກຳ​ລັງ​ເວົ້າ ລະດັບສຽງການຕອບໂຕ້ ທາງລັດຢຸດ/ເລີ່ມໃໝ່ Talkback ຢຸດໄວ້ ແລະ ສືບຕໍ່ + ເຊື່ອງທາງລັດໜ້າຈໍ ການຕັ້ງຄ່າ​ສຳລັບ​ນັກພັດທະນາ ເລືອກນັດໝາຍເພື່ອບັນທຶກ ກັ່ນຕອງການບັນທຶກນັດໝາຍການຊ່ວຍເຂົ້າເຖິງ @@ -256,7 +266,7 @@ ເປີດເມນູ TalkBack ຢຸດການສັ່ນ ຢຸດ ຫຼື ສືບຕໍ່ການເວົ້າ - ເປີດ ຫຼື ປິດການເວົ້າ + ເປີດສຽງ ຫຼື ປິດສຽງ TalkBack ອ່ານຈາກທາງເທິງ ອ່ານຈາກ​ລາຍການຕໍ່ໄປ ພິມ​ໂນດ​ແຜ​ນ​ຜັງ​ຕົ້ນ​ໄມ້ @@ -278,7 +288,6 @@ ກົດທາງລັດການຊ່ວຍເຂົ້າເຖິງຄ້າງໄວ້ ຍ້າຍໂຟກັສການນຳທາງໄປໜ້າ ຫຼື ປັບການຄວບຄຸມການອ່ານລົງ ຍ້າຍໂຟກັສການນຳທາງກັບຫຼັງ ຫຼື ປັບການຄວບຄຸມການອ່ານຂຶ້ນ - ເປີດໃຊ້ຄຳສັ່ງທີ່ເລືອກໃນປັດຈຸບັນ ຜົນການຊອກຫາ ຫຼິ້ນ ຫຼື ຢຸດມີເດຍຊົ່ວຄາວ ແອັບທັງໝົດ @@ -323,7 +332,7 @@ ການອ່ານ ຄຸນສົມບັດພິເສດ ອື່ນໆ - ສະແດງເມື່ອມີຄຳສັ່ງສຳລັບລາຍການປັດຈຸບັນ, ຮວມທັງຄຳສັ່ງສຳເນົາ, ວາງ, ເລືອກ ແລະ ອື່ນໆ + ສະແດງເມື່ອມີຄຳສັ່ງກຳນົດເອງສຳລັບລາຍການປັດຈຸບັນ ສຳເນົາ, ວາງ, ເລືອກ ແລະ ອື່ນໆ. ສະແດງເມື່ອທ່ານເລືອກກ່ອງຂໍ້ຄວາມໃດໜຶ່ງ. ເປີດລິ້ງພາຍໃນລາຍການທີ່ໂຟກັສໄວ້ ໄປຫາໜ້າຕໍ່ໄປ ຫຼື ກ່ອນໜ້າ. ສະແດງເມື່ອທ່ານກຳລັງອ່ານເນື້ອຫາທີ່ມີຫຼາຍໜ້າ. @@ -342,7 +351,6 @@ ເປີດການຕັ້ງຄ່າການປ່ຽນຂໍ້ຄວາມເປັນສຽງເວົ້າ ປິດສຽງອະທິບາຍຂອງ TalkBack ບໍ່ສາມາດແກ້ໄຂໄດ້ - ໃຊ້ຄຳສັ່ງ ອ່ານເທື່ອລະຕົວອັກສອນ ອ່ານເທື່ອລະຄຳ ອ່ານເທື່ອລະແຖວ @@ -365,7 +373,7 @@ ຫຼຸດລະດັບສຽງອື່ນທີ່ກຳລັງຫຼິ້ນຢູ່ໃນເວລາທີ່ TalkBack ເວົ້າ ເລື່ອນໄປໜ້າ ຫຼື ກັບຫຼັງ ເພີ່ມ ຫຼື ຫຼຸດລະດັບສຽງການຊ່ວຍເຂົ້າເຖິງ - ອ່ານຂໍ້ຄວາມທີ່ຝັງໃນຮູບທີ່ເລືອກອອກສຽງ + ຮັບຄຳອະທິບາຍແບບອັດຕະໂນມັດສຳລັບຮູບນີ້ ລົງ ລົງ​ແລ້ວ​ຂວາ ປັດ​ຂຶ້ນ @@ -408,9 +416,7 @@ ແຕະສອງເທື່ອຄ້າງໄວ້ດ້ວຍ 2 ນິ້ວ ແຕະສອງເທື່ອຄ້າງໄວ້ດ້ວຍ 3 ນິ້ວ ແຕະສອງເທື່ອຄ້າງໄວ້ດ້ວຍ 4 ນິ້ວ - ແຕະຄ້າງໄວ້ດ້ວຍ 3 ນິ້ວ ແຕະສາມເທື່ອຄ້າງໄວ້ດ້ວຍ 2 ນິ້ວ - ແຕະສາມເທື່ອຄ້າງໄວ້ດ້ວຍ 3 ນິ້ວ \"%1$s\" ຫຼື %2$s\" ເພື່ອປັບແກ້ \"%1$s\" ເພື່ອປັບແກ້ ທ່າທາງທີ່ບໍ່ຮູ້ຈັກ @@ -433,9 +439,8 @@ ໃນເວລາທີ່​ໜ້າຈໍ​ຖືກເປີດ ໃນເວລາ​ທີ່ສະແດງ​ໜ້າຈໍລັອກ ຈາກການ​ແຈ້ງເຕືອນ​ເທົ່ານັ້ນ - ກົດນິ້ວຄ້າງໄວ້ເພື່ອເລືອກປຸ່ມໃດກໍໄດ້, ຈາກນັ້ນແຕະສອງເທື່ອ - ກົດນິ້ວຄ້າງໄວ້ເພື່ອເລືອກປຸ່ມຕົວໜັງສືໃດກໍໄດ້, ຈາກນັ້ນຍົກນິ້ວຂຶ້ນ. ແຕະ​ສອງ​ເທື່ອສຳລັບປຸ່ມອື່ນໆ. - ກົດນິ້ວຄ້າງໄວ້ເພື່ອເລືອກປຸ່ມໃດກໍໄດ້, ຈາກນັ້ນຍົກນິ້ວຂຶ້ນ + ກົດນິ້ວຄ້າງໄວ້ເພື່ອເລືອກປຸ່ມ, ຈາກນັ້ນແຕະສອງເທື່ອ + ກົດນິ້ວຄ້າງໄວ້ເພື່ອເລືອກປຸ່ມ, ຈາກນັ້ນຍົກນິ້ວຂຶ້ນ ປິດການນຳໃຊ້ ຄ່ອຍຫຼາຍ ຄ່ອຍ @@ -485,6 +490,7 @@ ເລືອກ​ແອັບ​ພ​ລິ​ເຄ​ຊັນ ເພື່ອ​ສົ່ງ​ອອກປ້າຍ​ກຳ​ກັບ: TalkBack ​ເວີ​ຊັນ​ນີ້​ຮວມ​ມີ​ການ​ປ່ຽນ​ແປງ​ຂອງ​ທ່າ​ທາງ​ນິ້ວ​ມື​ເພື່ອ​ຊ່ວຍ​ໃນ​ການ​ເຂົ້າ​ເຖິງ. ຄຳ​ສັ່ງ​ທີ່​ເຊື່ອມ​ໂຍງ​ກັບ​ທ່າ​ທາງ​ນິ້ວ​ມື​ເຫຼົ່າ​ນີ້​ສາ​ມາດ​ປັບ​ແຕ່ງ​ໄດ້​ພາຍ​ໃນ​ເມ​ນູ​ການ​ຕັ້ງ​ຄ່າ TalkBack. ເມື່ອ​ເປີດ​ນຳ​ໃຊ້​ການ​ສຳຫຼວດ​ໂດຍ​ການ​ສຳ​ຜັດ​ແລ້ວ, ທ່ານ​ສາ​ມາດ​ໃຊ້​ທ່າ​ທາງ​ນິ້ວ​ມື​ຕໍ່​ໄປ​ນີ້​ເພື່ອ​ສັ່ງ​ການ​ບາງ​ຢ່າງ​ໄດ້.\n\n%1$s ກົດ​ປຸ່ມ​ເອົາ​ສຽງ​ລົງ ແລະ​ຂຶ້ນ​ດົນໆ + ກົດປຸ່ມລະດັບສຽງສາມເທື່ອໄວໆເພື່ອເຊື່ອງ ຫຼື ສະແດງໜ້າຈໍ ເຊື່ອງໜ້າຈໍບໍ? ນີ້ຈະເປັນການປິດໜ້າຈໍເພື່ອປັບປຸງຄວາມເປັນສ່ວນຕົວເພື່ອບໍ່ໃຫ້ສະແດງໜ້າຈໍທ່ານໃຫ້ຄົນອື່ນເຫັນໃນທີ່ສາທາລະນະ TalkBack ເວີຊັນນີ້ມີການປ່ຽນແປງດ້ານການນຳໃຊ້ທ່າທາງນິ້ວມືຈາກມາດຕະຖານ.\n\nການປັດຂຶ້ນແລ້ວລົງຈະຊ່ວຍໃຫ້ທ່ານຍ້າຍໄປຫາລາຍການທຳອິດທີ່ຢູ່ໃນໜ້າຈໍ ແລະ ການປັດລົງແລ້ວຂຶ້ນຈະຍ້າຍທ່ານໄປຫາລາຍການສຸດທ້າຍ.\n\nຕອນນີ້ການອ່ານເທື່ອລະພາກສ່ວນແມ່ນສາມາດປ່ຽນໄດ້ໂດຍການເລືອກໃສ່ລາຍການໃດໜຶ່ງ, ຈາກນັ້ນເລືອກການອ່ານເທື່ອລະພາກສ່ວນຈາກເມນູບໍລິບົດຂອງ TalkBack.\n\nທ່ານສາມາດປ່ຽນແປງຄຳສັ່ງທີ່ເກີດຂຶ້ນໄດ້ຈາກການໃຊ້ທ່າທາງນິ້ວຕໍ່ໄປນີ້ໄດ້ໃນເມນູການຕັ້ງຄ່າ TalkBack. @@ -500,9 +506,6 @@ ທ່ານ​ແນ່​ໃຈ​ບໍ່​ວ່າ​ຕ້ອງ​ການ​ເປີດ​ນຳ​ໃຊ້​ການ​ດີ​ບັກ​ໂນດ​ແຜນ​ຜັງ​ຕົ້ນ​ໄມ້?\n\n​ການ​ດີ​ບັກ​ໂນດ​ແຜນ​ຜັງ​ຕົ້ນ​ໄມ້​ຈະ​ເປັນ​ການເປີດ​ເຜີຍ​ເນື້ອ​ຫາ​ຂອງ​ໜ້າ​ຈໍ​ຂອງ​ທ່ານ​ໄປ​ໃສ່​ບັນ​ທຶກ​ຂອງ​ອຸ​ປະ​ກອນ, ເຊິ່ງ​ອາດ​ສາ​ມາດ​ຖືກ​ອ່ານ​ໄດ້​ໂດຍ​ແອບ​ພລິ​ເຄ​ຊັນ​ອື່ນໆ. ເປີດໃຊ້ສະຖິຕິປະສິດທິພາບບໍ? ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການເປີດໃຊ້ສະຖິຕິປະສິດທິພາບ?\n\nສະຖິຕິປະສິດທິພາບອາດໃຊ້ໜ່ວຍຄວາມຈຳ ແລະ ພະລັງງານຫຼາຍຂຶ້ນ. - ເປີດການນຳໃຊ້ການບັນທຶກແບບລະອຽດບໍ? - ການບັນທຶກແບບລະອຽດສາມາດຊ່ວຍການດີບັກໄດ້ແຕ່ອາດເຮັດໃຫ້ປາກົດມີຂໍ້ມູນສ່ວນຕົວໃນບັບເຟີບັນທຶກຂອງລະບົບ.\n\n ທ່ານຕ້ອງການເປີດການນຳໃຊ້ການບັນທຶກແບບລະອຽດບໍ່? - ແມ່ນແລ້ວ, ເປີດການນຳໃຊ້ການບັນທຶກແບບລະອຽດ ອະນຸຍາດການເຂົ້າເຖິງໂທລະສັບບໍ? ນີ້ຈະຊ່ວຍ TalkBack ຫຼຸດການປະກາດເມື່ອທ່ານລົມສາຍຢູ່ ສືບຕໍ່ @@ -556,11 +559,9 @@ ລະດັບສຽງການຊ່ວຍເຂົ້າເຖິງ ປັບແກ້ຕົວເລື່ອນ ປັບແກ້ຄ່າ - ຄຳສັ່ງ ເວົ້າລະຫັດຜ່ານ ເວົ້າລະຫັດຜ່ານທຸກເທື່ອ ສຽງ ແລະ ການສັ່ນ - ສຽງ ສຳເນົາແລ້ວ, %1$s ປິດ ປິດການຊອກຫາ @@ -595,15 +596,13 @@ %1$s ເພື່ອອ່ານ %2$s ເພື່ອໃຊ້ການຕັ້ງຄ່ານີ້, ໃຫ້ໄປທີ່ການຕັ້ງຄາ່ TalkBack ແລ້ວເພີ່ມທ່າທາງສຳລັບ \'%1$s\' ບໍ່ໄດ້ເປີດໃຊ້ແປ້ນພິມອັກສອນນູນເທື່ອ. ໃຫ້ໄປທີ່ການຕັ້ງຄ່າ TalkBack, ຕັ້ງຄ່າແປ້ນພິມອັກສອນນູນແລ້ວລອງໃໝ່. - ມີການແນະນຳ - ມີການແນະນຳ. ເພື່ອເຂົ້າເຖິງ, %1$s ໜ້າ %1$d ຈາກທັງໝົດ %2$d ກ່ອນໜ້າ ຕໍ່ໄປ ປິດ ແລ້ວໆ ເລື່ອນຂຶ້ນ - ຄຸນສົມບັດໃໝ່ໃນ TalkBack + ຄຸນສົມບັດໃໝ່ໃນ TalkBack ປິດສອນການນຳໃຊ້ບໍ? ທ່ານສາມາດກັບໄປຫາມັນຕອນໃດກໍໄດ້ໃນການຕັ້ງຄ່າ TalkBack. ຢູ່ໃນການສອນການນຳໃຊ້ຕໍ່ໄປ @@ -647,14 +646,6 @@ ແຕະເພື່ອຮຽນຮູ້ວິທີໃຊ້ TalkBack ໃຫ້ໄວຂຶ້ນດ້ວຍທ່າທາງໃໝ່. ຜັງໂໜດໄດ້ຖືກພິມໄປໃສ່ບັນທຶກແລ້ວ. ນີ້ແມ່ນທ່າທາງທີ່ໃຊ້ໄປຫຼ້າສຸດ, ກະລຸນາລາຍງານວ່າທ່າທາງໃດບໍ່ຖືກຕ້ອງ ແລະ ຄວນແມ່ນຫຍັງ. - ທ່ານຈະໄດ້ການຄວບຄຸມລະດັບສຽງທີ່ຮຽບງ່າຍ, ການຄວບຄຸມຄຳສັ່ງທີ່ໄວຂຶ້ນ ແລະ ອື່ນໆ.\n\nທ່ານຈະຮຽນກ່ຽວກັບອັບເດດ ແລະ ການປ່ຽນແປງສຳຄັນໃນໜ້າຈໍຕໍ່ໄປອີກສອງສາມໜ້າຈໍ. ຂັ້ນຕອນນີ້ຈະໃຊ້ເວລາປະມານ 5 ນາທີ.\n\nທ່ານສາມາດກວດສອບຂໍ້ມູນນີ້ໃນການຕັ້ງຄ່າ TalkBack ຕອນໃດກໍໄດ້. - ການປ່ຽນແປງການຄວບຄຸມລະດັບສຽງ - ເພື່ອປັບປຸງການຄວບຄຸມລະດັບສຽງ, ປຸ່ມລະດັບສຽງຈະບໍ່ຄວບຄຸມເຄີເຊີຂໍ້ຄວາມ ຫຼື ຕົວເລື່ອນອີກຕໍ່ໄປ.\n\nເພື່ອປ່ຽນຕຳແໜ່ງຂອງຕົວເລື່ອນ, ໃຫ້ປັດຂຶ້ນຫຼືລົງ.\n\nເພື່ອປ່ຽນຕຳແໜ່ງຂອງເຄີເຊີຂໍ້ຄວາມ, ໃຫ້ປັດຂຶ້ນຫຼືລົງໃນກ່ອງຂໍ້ຄວາມ. ນີ້ສາມາດໃຊ້ໄດ້ໃນຕົວຄວບຄຸມການອ່ານແປ້ນພິມອັກສອນນູນນຳ. - ຂໍ້ຄວາມໃນຮູບ - ທ່ານສາມາດຮັບລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບຂໍ້ຄວາມໃນຮູບອັດຕະໂນມັດ ຫຼື ເມື່ອທ່ານຕ້ອງການມັນໄດ້.\n\nສຳລັບຮູບທີ່ບໍ່ມີປ້າຍກຳກັບ: TalkBack ຈະອ່ານຂໍ້ຄວາມທີ່ປາກົດໂດຍອັດຕະໂນມັດ.\n\nສຳລັບຮູບທັງໝົດ: ເປີດເມນູ TalkBack ແລ້ວເລືອກ \"ອະທິບາຍຂໍ້ຄວາມໃນຮູບ\".\n\nຮູບຈະຖືກເກັບໄວ້ຢູ່ອຸປະກອນຂອງທ່ານ ແລະ ຈະບໍ່ຖືກສົ່ງໄປໃຫ້ Google ເດັດຂາດ. ນີ້ໝາຍຄວາມວ່າທ່ານສາມາດໃຊ້ຄຸນສົມບັດທັງສອງເຫຼົ່ານີ້ໄດ້ໂດຍບໍ່ຕ້ອງມີການເຊື່ອມຕໍ່ອິນເຕີເນັດ. - ການນຳທາງໜ້າຈໍ - ທ່ານສາມາດສະຫຼັບໄປມາລະຫວ່າງແຕ່ລະພາກສ່ວນຢູ່ໜ້າຈໍຂອງທ່ານໄດ້, ເຊັ່ນ: ແຖບການແຈ້ງເຕືອນ, ເນື້ອຫາຫຼັກ ແລະ ແປ້ນພິມ.\n\nເພື່ອໃຊ້ການນຳທາງໜ້າຈໍ, ໃຫ້ປັດລົງດ້ວຍ 4 ນິ້ວ. - ທ່ານສາມາດສະຫຼັບໄປມາລະຫວ່າງແຕ່ລະພາກສ່ວນຢູ່ໜ້າຈໍຂອງທ່ານໄດ້, ເຊັ່ນ: ແຖບການແຈ້ງເຕືອນ, ເນື້ອຫາຫຼັກ ແລະ ແປ້ນພິມ.\n\nເພື່ອໃຊ້ການນຳທາງໜ້າຈໍ, ໃຫ້ປັດລົງແລ້ວປັດຂຶ້ນ. ເຮັດຕໍ່ໄປເລື້ອຍໆຈົນກວ່າທ່ານຈະເລືອກການນຳທາງໜ້າຈໍ. ເພື່ອນຳທາງໄປຫາໜ້າຈໍ, ໃຫ້ປັດລົງ. ສອນການນຳໃຊ້ ຍິນດີຕ້ອນຮັບສູ່ TalkBack TalkBack ເປັນຕົວອ່ານໜ້າຈໍທີ່ມີຈຸດປະສົງສຳລັບສະຖານະການ ຫຼື ຄົນທີ່ມີຄວາມຫຍຸ້ງຍາກໃນການເບິ່ງເຫັນໜ້າຈໍ. ມັນມີການຕອບສະໜອງແບບສຽງເວົ້າເພື່ອໃຫ້ທ່ານສາມາດໃຊ້ອຸປະກອນຂອງທ່ານໂດຍບໍ່ຕ້ອງເບິ່ງໜ້າຈໍ.\n\nທ່ານສາມາດເປີດ ຫຼື ປິດ TalkBack ໄດ້ໂດຍການກົດປຸ່ມປັບສຽງທັງສອງຄ້າງໄວ້ຫຼາຍວິນາທີ.\n\nເມື່ອເປີດໃຊ້ TalkBack ແລ້ວ, ລາຍການທີ່ໂຟກັສໄວ້ຢູ່ໜ້າຈໍຈະຖືກອ່ານອອກສຽງ.\n\nການປັດຂວາຈະເລື່ອນໄປລາຍການຕໍ່ໄປ ແລະ ການປັດຊ້າຍຈະເລື່ອນໄປລາຍການກ່ອນໜ້າ.\n\nປັດຂວາຕອນນີ້ເພື່ອຊອກຫາປຸ່ມຕໍ່ໄປ. @@ -697,14 +688,14 @@ ເລື່ອນນິ້ວຂອງທ່ານຜ່ານແປ້ນພິມ. ເມື່ອທ່ານໄດ້ຍິນຕົວອັກສອນທີ່ທ່ານຕ້ອງການພິມ, ໃຫ້ຍົກນິ້ວຂອງທ່ານຂຶ້ນ.\n\nລອງເປີດໃຊ້ກ່ອງຂໍ້ຄວາມທາງລຸ່ມແລ້ວພິມຊື່ຂອງທ່ານ. ທ່ານສາມາດພິມດ້ວຍແປ້ນພິມອັກສອນນູນໄດ້ນຳ. ຊອກຫາມັນໄດ້ໃນການຕັ້ງຄ່າ TalkBack. ການຍ້າຍເຄີເຊີ - ເມື່ອທ່ານເປີດໃຊ້ກ່ອງຂໍ້ຄວາມໃດໜຶ່ງແລ້ວ, ທ່ານສາມາດຍ້າຍເຄີເຊີໄປມາລະຫວ່າງຕົວອັກສອນໄດ້ໂດຍການປັດລົງຂຶ້ນຫຼືລົງ.\n\nລອງເຮັດເບິ່ງໃນກ່ອງຂໍ້ຄວາມທາງລຸ່ມ. + ເມື່ອທ່ານເປີດໃຊ້ກ່ອງຂໍ້ຄວາມໃດໜຶ່ງແລ້ວ, ທ່ານສາມາດຍ້າຍເຄີເຊີໄປມາລະຫວ່າງຕົວອັກສອນໄດ້ໂດຍການກົດປຸ່ມລະດັບສຽງຂຶ້ນ ຫຼື ລົງ.\n\nລອງເຮັດເບິ່ງໃນກ່ອງຂໍ້ຄວາມທາງລຸ່ມ. ຍິນດີຕ້ອນຮັບສູ່ TalkBack ການເລືອກຂໍ້ຄວາມ ໃນກ່ອງຂໍ້ຄວາມ, ໃຫ້ຍ້າຍເຄີເຊີໄປຈຸດເລີ່ມຕົ້ນຂອງຂໍ້ຄວາມທີ່ທ່ານຕ້ອງການເລືອກ.\n\nແຕະສອງເທື່ອຄ້າງໄວ້ດ້ວຍ 2 ນິ້ວເພື່ອເລີ່ມໂໝດການເລືອກ. ຈາກນັ້ນຍ້າຍເຄີເຊີໄປຈຸດສິ້ນສຸດຂອງຂໍ້ຄວາມ. ແຕະສອງເທື່ອຄ້າງໄວ້ດ້ວຍ 2 ນິ້ວອີກເທື່ອໜຶ່ງເພື່ອສິ້ນສຸດໂໝດການເລືອກ.\n\nລອງເລືອກຄຳສັບ \"ຍິນດີຕ້ອນຮັບ\" ຢູ່ກ່ອງຂໍ້ຄວາມທາງລຸ່ມ. - ໃນກ່ອງຂໍ້ຄວາມ, ໃຫ້ເລື່ອນເຄີເຊີໄປຈຸດເລີ່ມຕົ້ນຂອງຂໍ້ຄວາມທີ່ທ່ານຕ້ອງການເລືອກ.\n\nປັດລົງແລ້ວຈາກນັ້ນປັດຂວາເພື່ອເປີດເມນູ TalkBack. ແຕະໃສ່ຄຳສັ່ງສອງເທື່ອແລ້ວຈາກນັ້ນເລີ່ມໂໝດການເລືອກ. ຍ້າຍເຄີເຊີໄປໃສ່ຈຸດສິ້ນສຸດຂອງກ່ອງຂໍ້ຄວາມ.\n\nເປີດເມນູ TalkBack ອີກເທື່ອໜຶ່ງ, ຈາກນັ້ນແຕະສອງເທື່ອໃສ່ຄຳສັ່ງເພື່ອສິ້ນສຸດໂໝດການເລືອກ.\n\nລອງເລືອກຄຳສັບ \"ຍິນດີຕ້ອນຮັບ\" ໃນກ່ອງຂໍ້ຄວາມທາງລຸ່ມ. + ໃນກ່ອງຂໍ້ຄວາມ, ໃຫ້ເລື່ອນເຄີເຊີໄປຈຸດເລີ່ມຕົ້ນຂອງຂໍ້ຄວາມທີ່ທ່ານຕ້ອງການເລືອກ.\n\nປັດລົງຈາກນັ້ນປັດຂວາເພື່ອເປີດເມນູ TalkBack. ແຕະສອງເທື່ອໃສ່ຕົວເລືອກການແກ້ໄຂແລ້ວເລີ່ມໂໝດການເລືອກ. ຍ້າຍເຄີເຊີໄປໃສ່ຈຸດສິ້ນສຸດຂອງກ່ອງຂໍ້ຄວາມ.\n\nເປີດເມນູ TalkBack ອີກເທື່ອໜຶ່ງ, ຈາກນັ້ນແຕະສອງເທື່ອໃສ່ຕົວເລືອກການແກ້ໄຂເພື່ອສິ້ນສຸດໂໝດການເລືອກ.\n\nລອງເລືອກຄຳສັບ \"ຍິນດີຕ້ອນຮັບ\" ໃນກ່ອງຂໍ້ຄວາມທາງລຸ່ມ. ສຳເນົາ, ຕັດ ແລະ ວາງ - ຫຼັງຈາກການເລືອກຂໍ້ຄວາມ, ໃຫ້ແຕະໃສ່ຄຳສັ່ງສອງເທື່ອແລ້ວຈາກນັ້ນສຳເນົາ.\n\nລອງສຳເນົາຄຳສັບໃດໜຶ່ງໃນກ່ອງຂໍ້ຄວາມທາງລຸ່ມ. - ເພື່ອຕັດ ຫຼື ວາງຂໍ້ຄວາມ, ໃຫ້ເປີດເມນູ TalkBack ຂຶ້ນມາແລ້ວແຕະສອງເທື່ອໃສ່ຄຳສັ່ງ.\n\nເພື່ອວາງຂໍ້ຄວາມ, ໃຫ້ແຕະສາມເທື່ອດ້ວຍ 3 ນິ້ວ.\n\nລອງວາງຄຳສັບໃດໜຶ່ງໃສ່ກ່ອງຂໍ້ຄວາມທາງລຸ່ມ. + ຫຼັງຈາກການເລືອກຂໍ້ຄວາມແລ້ວ, ໃຫ້ສຳເນົາມັນໂດຍການແຕະສອງເທື່ອດ້ວຍ 3 ນິ້ວ.\n\nລອງສຳເນົາຄຳສັບໃນກ່ອງຂໍ້ຄວາມທາງລຸ່ມ. + ເພື່ອຕັດຂໍ້ຄວາມ, ໃຫ້ແຕະສອງເທື່ອຄ້າງໄວ້ດ້ວຍ 3 ນິ້ວ.\n\nເພື່ອວາງຂໍ້ຄວາມ, ໃຫ້ແຕະສາມເທື່ອດ້ວຍ 3 ນິ້ວ.\n\nລອງວາງຄຳສັບໃດໜຶ່ງໃສ່ກ່ອງຂໍ້ຄວາມທາງລຸ່ມ. ຫຼັງຈາກການເລືອກຂໍ້ຄວາມແລ້ວ, ທ່ານສາມາດສຳເນົາມັນໄດ້ໃນເມນູ TalkBack. ປັດລົງຈາກນັ້ນປັດຂວາເພື່ອເປີດເມນູ TalkBack. ແຕະສອງເທື່ອໃສ່ຕົວເລືອກການແກ້ໄຂແລ້ວຈາກນັ້ນສຳເນົາ.\n\nລອງສຳເນົາຄຳສັບໃດໜຶ່ງໃນກ່ອງຂໍ້ຄວາມທາງລຸ່ມ. ເພື່ອຕັດ ຫຼື ວາງຂໍ້ຄວາມ, ໃຫ້ເປີດເມນູ TalkBack ຂຶ້ນມາແລ້ວແຕະສອງເທື່ອໃສ່ຕົວເລືອກການແກ້ໄຂ.\n\nລອງວາງຄຳສັບໃດໜຶ່ງໃສ່ກ່ອງຂໍ້ຄວາມທາງລຸ່ມ. ວາງຂໍ້ຄວາມບ່ອນນີ້ @@ -747,7 +738,6 @@ ປັດຂວາ ຫຼື ຊ້າຍເພື່ອຍ້າຍໄປມາລະຫວ່າງລາຍການ ແຕະສອງເທື່ອເພື່ອເປີດນຳໃຊ້ລາຍການ ລາກ 2 ນິ້ວເພື່ອເລື່ອນ - ກະລຸນາກວດສອບວ່າເຊື່ອມຕໍ່ໂທລະສັບແລ້ວຫຼືຍັງ. ຂອບໜາ ສີ ຄ່າເລີ່ມຕົ້ນ @@ -759,12 +749,6 @@ ສີເທົາ ປິດແບບສຳຫຼວດແລ້ວ ຂໍ້ຄວາມ: %1$s - ອະທິບາຍຂໍ້ຄວາມໃນຮູບ - ໄອຄອນທີ່ກວດພົບ: %1$s - ບໍ່ຮອງຮັບຄຳສັ່ງ. - ບໍ່ໄດ້ເລືອກຄຳສັ່ງ. - ກະລຸນາເລືອກຄຳສັ່ງທີ່ຮອງຮັບ. - ບໍ່ມີຄຳສັ່ງ. - ບໍ່ໄດ້ເປີດການນຳໃຊ້ການຕັ້ງຄ່າຄຳສັ່ງ. - ບໍ່ພົບຂໍ້ຄວາມ + ອະທິບາຍຮູບ + ໄອຄອນທີ່ຄາດເດົາ: %1$s diff --git a/talkback/src/main/res/values-lt/strings.xml b/talkback/src/main/res/values-lt/strings.xml index b43e62e33..1051a0a25 100644 --- a/talkback/src/main/res/values-lt/strings.xml +++ b/talkback/src/main/res/values-lt/strings.xml @@ -7,7 +7,6 @@ „Teksto į kalbą“ nustatymai Kalbos Kalba, kuria kalbama - Veiksmai Sistemos veiksmai %1$s versija Tvarkyti tinkintas etiketes @@ -31,37 +30,46 @@ Įrenginys atrakintas. Garso įrašas Kalbos garsumas - Ištarti įspėjimus, kai ekranas išjungtas - Visada ištarti sąrašo elementų skaičių - Ištarti visų slinkimo metodų skaičių + Kalbėti, kai ekranas išjungtas + Pranešimai sakomi, kai ekranas išjungtas + Nekalbama, kai ekranas išjungtas + Pasakyti sąrašo elementų ekrane skaičių + Sakyti, tik kai slenkama naudojant gestą + Visada sakoma Uždenkite artumo jutiklį, kad sustabdytumėte kalbą - Ištarti raides su pavyzdžiais - Pasirinkę klaviatūros klavišus arba naršydami pagal simbolį, su kiekviena raide išgirsite pavyzdį, pvz., „v, viešbutis“ - Ištarti skyrybos ženklus ir simbolius + Ištarti fonetines raides + Fonetinės raidės neištariamos + Fonetinės raidės bus ištariamos ilgai paspaudžiant klaviatūros klavišus ir pereinant po vieną simbolį. + Skyryba + Skyrybos ženklai ir simboliai neištariami + Skyrybos ženklai ir simboliai ištariami Didžiosios raidės Nieko nedaryti Ištarkite „capital“ (didžiosios) Keisti toną Leisti garsą Ištarti naudojimo patarimus - Apibūdinus kontekstą siūlyti, kaip naudoti + Naudojimo patarimai neištariami perkeliant pritaikymo neįgaliesiems paryškinimą + Naudojimo patarimai ištariami naršant, šiek tiek palaukus Ištarti sąrašo ir tinklelio informaciją + Sąrašo ir tinklelio informacija ištariama + Sąrašo ir tinklelio informacija neištariama Nustatyti gestus iš naujo? Visiems gestams bus iš naujo nustatyti numatytieji veiksmai.\n\nPrarasite visus atliktus keitimus. Nustatyti iš naujo Gestų nustatymai nustatyti iš naujo. Ištarti elemento tipą - Paryškinti elementai + Suaktyvintų elementų tipas ištariamas + Suaktyvintų elementų tipas neištariamas Ištarti elementų ID - Etiketėmis nepažymėti mygtukai - Ištarti sistemos langų pavadinimus - Kai perjungiate į kitus sistemos langus, pvz., būsenos juostą, pranešimus ar garsumo valdiklius + Mygtukų be etiketės elementų ID neištariami + Mygtukų be etiketės elementų ID sakomi Naršyti paliečiant Valdikliai Suaktyvinimas vienu palietimu Palieskite vieną kartą paryškintą elementą, kad suaktyvintumėte Daugiažodiškumas - Ištarti skyrybos ženklus ir simbolius + Skyryba Fokusavimo indikatoriaus tinkinimas Tinkinti gestus Tinkintos etiketės @@ -203,7 +211,8 @@ Naudoti tono pakeitimus Klaviatūros aidas Elemento aprašo užsakymas - Ištrintas raides tarti aukštesniu balso tonu + Aukštesniu balso tonu sakyti klaviatūra ištrintą tekstą + Kalbant nekeisti tono Brailio rašmenų klaviatūra Atsakas vibruojant Garso atsakas @@ -211,6 +220,7 @@ Kalbant sumažinti kitų garsų garsumą Garso atsako garsumas „TalkBack“ laikino sustabdymo ir atnaujinimo spartusis klavišas + Slėpti ekrano spartųjį klavišą Kūrėjų nustatymai Pasirin. įvyk., kurie bus įraš. Filtruoti pritaikymo neįgaliesiems įvykių rašymą į žurnalą @@ -256,7 +266,7 @@ Atidaryti „TalkBack“ meniu Pristabdyti atsaką Pristabdyti arba atnaujinti kalbą - Įjungti arba išjungti kalbą + Įjungti ar išjungti „TalkBack“ garsą Skaityti nuo viršaus Skaityti nuo kito elemento Spausdinti mazgų medį @@ -278,7 +288,6 @@ Palaikyti pritaikomumo spartųjį klavišą Perkelti aktyvinamą naršymo sritį į priekį arba taikyti skaitymo valdiklį žemyn Perkelti aktyvinamą naršymo sritį atgal arba taikyti skaitymo valdiklį aukštyn - Suaktyvinti šiuo metu pasirinktą veiksmą Paieškos rezultatas Paleisti arba pristabdyti mediją Visos programos @@ -323,7 +332,7 @@ Skaitymas Specialiosios funkcijos Kita - Rodoma, kai yra dabartinio elemento veiksmų, įskaitant kopijavimą, įklijavimą, pasirinkimą ir kt. + Rodoma, kai yra dabartinio elemento tinkintų veiksmų Kopijuokite, įklijuokite, pasirinkite ir dar daugiau. Rodoma, kai pasirenkate teksto laukelį. Atidarykite paryškinto elemento nuorodas Eikite į kitą arba ankstesnį puslapį. Rodoma, kai skaitote kelių puslapių turinį. @@ -342,7 +351,6 @@ Atidarykite teksto į kalbą nustatymus Išjunkite „TalkBack“ balso atsaką Neredaguotina - Atlikti veiksmus Skaitykite po vieną simbolį. Skaitykite po vieną žodį. Skaitykite po vieną eilutę. @@ -365,7 +373,7 @@ Sumažinkite kitų leidžiamų garsų garsumą, kai „TalkBack“ kalba Slinkimas pirmyn arba atgal Padidinti arba sumažinti pritaikomumo garsumą - Perskaityti tekstą, įterptą pasirinktame vaizde + Gaukite automatinį šio vaizdo aprašą žemyn žemyn, tada dešinėn Perbraukti aukštyn @@ -408,9 +416,7 @@ Palietimas du kartus ir palaikymas dviem pirštais Palietimas du kartus ir palaikymas trimis pirštais Palietimas du kartus ir palaikymas keturiais pirštais - Paliesti ir palaikyti trimis pirštais Triskart paliesti ir palaikyti dviem pirštais - Triskart paliesti ir palaikyti trimis pirštais Jei norite koreguoti, naudokite gestą „%1$s“ arba „%2$s“ Jei norite koreguoti, naudokite gestą „%1$s“ Nežinomas gestas @@ -433,9 +439,8 @@ Kai įjungiamas ekranas Kai rodomas užrakinimo ekranas Tik iš pranešimo - Laikydami pirštą pasirinkite bet kurį klavišą, tada dukart palieskite - Laikydami pirštą pasirinkite raidės klavišą, tada pakelkite pirštą. Kitus klavišus dukart palieskite. - Laikydami pirštą pasirinkite bet kurį klavišą, tada pakelkite pirštą + Laikydami pirštą pasirinkite klavišą, tada dukart palieskite + Laikydami pirštą pasirinkite klavišą, tada pakelkite pirštą Išjungta Labai švelniai Švelniai @@ -487,6 +492,7 @@ Pasirinkite programą, kurią naudodami eksportuosite etiketes: Ši „TalkBack“ versija apima numatytųjų pritaikymo neįgaliesiems gestų pakeitimus. Su šiais gestais susietus veiksmus galima tinkinti „TalkBack“ nustatymuose. Kai įgalintas naršymas paliečiant, kad atliktumėte tam tikrus veiksmus, galite naudoti toliau nurodytus gestus.\n\n%1$s Paspauskite ir palaikykite garsumo didinimo ir mažinimo klavišus + Norėdami slėpti arba rodyti ekraną, greitai triskart paspauskite abu garsumo klavišus Slėpti ekraną? Ekranas išjungiamas siekiant pagerinti privatumą, kad nebūtų matomas kitiems asmenims viešose vietose Ši „TalkBack“ versija apima numatytųjų pritaikymo neįgaliesiems gestų pakeitimus.\n\nGestu „aukštyn, tada žemyn“ pereisite prie pirmojo ekrano elemento, o gestu „žemyn, tada aukštyn“ pereisite prie paskutinio elemento.\n\nSkaitymo detalumą dabar galite pakeisti išryškinę elementą ir „TalkBack“ kontekstiniame meniu pasirinkę detalumą.\n\nŠių gestų atliekamus veiksmus galite keisti „TalkBack“ nustatymuose. @@ -502,9 +508,6 @@ Ar tikrai norite įjungti mazgų medžio derinimo režimą?\n\nJį įjungus, ekrano turinys pateikiamas įrenginio žurnaluose, kuriuos gali skaityti kitos programos. Įgalinti našumo statistiką? Ar tikrai norite įjungti našumo statistiką?\n\nNašumo statistika gali naudoti daugiau atminties ir energijos. - Įgalinti daugiažodį įrašymą į žurnalą - Daugiažodis įrašymas į žurnalą padeda derinant, bet jį naudojant asmens informacija gali būti rodoma sistemos žurnalo buferyje.\n\n Ar norite įgalinti daugiažodį įrašymą į žurnalą? - Taip, įgalinti daugiažodį įrašymą į žurnalą Leisti pasiekti telefoną? Tai padeda „TalkBack“ sumažinti pranešimų, kai kalbate telefonu Tęsti @@ -560,11 +563,9 @@ Pritaikomumo garsumas Koreguoti šliaužiklį Koreguoti vertę - Veiksmai Slaptažodžių ištarimas Slaptažodžiai visada ištariami Garsas ir vibravimas - Garsas nukopijuota, %1$s Uždaryti Uždaryti paiešką @@ -601,15 +602,13 @@ %1$s, kad skaitytumėte pagal: %2$s Norėdami tai naudoti, eikite į „TalkBack“ nustatymus ir pridėkite gestą „%1$s“ Brailio r. klav. neįjungta. Eikite į „TalkBack“ nust., nustatykite Brailio r. klav. ir band. dar k. - Pasiekiami pasiūlymai - Pasiekiami pasiūlymai. Jei norite pasiekti, %1$s %1$d psl. iš %2$d Ankstesnis Kita Uždaryti Baigti Naršyti į viršų - Naujos „TalkBack“ funkcijos + Naujos „TalkBack“ funkcijos Uždaryti mokymo programą? Galite bet kada sugrįžti „TalkBack“ nustatymuose. Likti mokymo programoje @@ -653,14 +652,6 @@ Palieskite, kad sužinotumėte, kaip sparčiau naudoti „TalkBack“ naudojant naujus gestus. Mazgų medis pateiktas žurnaluose. Čia pateikti neseniai atlikti gestai. Praneškite, kuris gestas netinkamas ir koks buvo numatytas. - Galėsite naudoti supaprastintus garsumo valdiklius, spartesnius veiksmų valdiklius ir dar daugiau.\n\nToliau pateikiamuose keliuose ekranuose sužinosite apie svarbiausius naujinius ir pakeitimus. Tai užtruks apie penkias minutes.\n\nŠią informaciją galėsite bet kuriuo metu peržiūrėti „TalkBack“ nustatymuose. - Garsumo valdiklio pakeitimai - Siekiant tobulinti garsumo valdymą, garsumo klavišais nebegalima valdyti teksto žymeklių ar šliaužiklių.\n\nJei norite pakeisti šliaužiklio poziciją, perbraukite aukštyn arba žemyn.\n\nJei norite pakeisti teksto žymeklio poziciją, perbraukite aukštyn arba žemyn teksto laukelyje. Tai taip pat veikia naudojant Brailio rašto klaviatūros skaitymo valdiklius. - Tekstas vaizduose - Daugiau išsamios informacijos apie tekstą vaizduose galite gauti automatiškai arba tada, kai jos reikia.\n\nJei vaizdai be etikečių: „TalkBack“ automatiškai skaitys rodomą tekstą.\n\nVisi vaizdai: atidarykite „TalkBack“ meniu ir pasirinkite „Apibūdinti vaizdo tekstą“.\n\nVaizdai lieka jūsų įrenginyje ir nėra siunčiami „Google“. Tai reiškia, kad abi šias funkcijas galite naudoti be interneto ryšio. - Lango naršymas - Galite perjungti įvairias ekrane pateikiamas skiltis, pvz., pranešimų juostą, pagrindinį turinį ir klaviatūrą.\n\nJei norite naudoti lango naršymo funkciją, perbraukite žemyn keturiais pirštais. - Galite perjungti įvairias ekrane pateikiamas skiltis, pvz., pranešimų juostą, pagrindinį turinį ir klaviatūrą.\n\nJei norite naudoti lango naršymo funkciją, perbraukite žemyn, tada aukštyn. Tęskite, kol pasirinksite lango naršymo funkciją. Jei norite naršyti langą, perbraukite žemyn. Mokymo programa Sveiki, tai – „TalkBack“ „TalkBack“ yra ekrano skaitytuvas, skirtas naudoti situacijose, kai prastai matomas ekranas, arba žmonėms, turintiems regėjimo sutrikimų. Teikiama ekrano skaitymo balsu funkcija, kad galėtumėte naudoti įrenginį nežiūrėdami į ekraną.\n\nGalite įjungti ar išjungti „TalkBack“ kelias sekundes palaikę abu garsumo klavišus.\n\nKai „TalkBack“ įjungta, paryškintas ekrano elementas perskaitomas garsiai.\n\nPerbraukus dešinėn pereinama prie kito elemento, o perbraukus kairėn – grįžtama prie ankstesniojo.\n\nPerbraukite dešinėn dabar, kad surastumėte mygtuką „Kitas“. @@ -703,14 +694,14 @@ Veskite pirštu per klaviatūrą. Kai išgirsite norimą įvesti raidę, pakelkite pirštą.\n\nPabandykite suaktyvinti toliau pateiktą teksto laukelį ir įvesti savo vardą. Be to, tekstą galite vesti naudodami Brailio rašto klaviatūrą. Ją rasite „TalkBack“ nustatymų skiltyje. Žymeklio perkėlimas - Kai suaktyvinate teksto laukelį, galite perkelti žymeklį nuo vienos raidės prie kitos perbraukdami aukštyn arba žemyn.\n\nIšbandykite tai toliau pateiktame teksto laukelyje. + Kai suaktyvinate teksto laukelį, galite perkelti žymeklį nuo vienos raidės prie kitos paspausdami garsumo klavišus aukštyn arba žemyn.\n\nIšbandykite tai toliau pateiktame teksto laukelyje. Sveiki! Tai – „TalkBack“ Teksto pasirinkimas Teksto laukelyje perkelkite žymeklį į norimo pasirinkti teksto pradžią.\n\nDukart palieskite ir palaikykite dviem pirštais, kad įjungtumėte pasirinkimo režimą. Tada perkelkite žymeklį į teksto pabaigą. Dar kartą dukart palieskite ir palaikykite dviem pirštais, kad išjungtumėte pasirinkimo režimą.\n\nPabandykite pasirinkti žodį „Sveiki“ toliau pateiktame teksto laukelyje. - Teksto laukelyje perkelkite žymeklį į norimo pasirinkti teksto pradžią.\n\nPerbraukite žemyn, tada dešinėn, kad atidarytumėte „TalkBack“ meniu. Dukart palieskite veiksmus, tada įjunkite pasirinkimo režimą. Perkelkite žymeklį į teksto pabaigą.\n\nDar kartą atidarykite „TalkBack“ meniu, tada dukart palieskite veiksmus, kad išjungtumėte pasirinkimo režimą.\n\nPabandykite pasirinkti žodį „Sveiki“ toliau pateiktame teksto laukelyje. + Teksto laukelyje perkelkite žymeklį į norimo pasirinkti teksto pradžią.\n\nPerbraukite žemyn, tada – dešinėn, kad atidarytumėte „TalkBack“ meniu. Dukart palieskite redagavimo parinktis ir tada įjunkite pasirinkimo režimą. Perkelkite žymeklį į teksto pabaigą.\n\nDar kartą atidarykite „TalkBack“ meniu, tada dukart palieskite redagavimo parinktis, kad išjungtumėte pasirinkimo režimą.\n\nPabandykite pasirinkti žodį „Sveiki“ toliau pateiktame teksto laukelyje. Kopijavimas, iškirpimas ir įklijavimas - Pasirinkę tekstą, dukart palieskite veiksmus, tada nukopijuokite.\n\nPabandykite nukopijuoti žodį toliau pateiktame teksto laukelyje. - Jei norite iškirpti tekstą, atidarykite „TalkBack“ meniu ir dukart palieskite veiksmus.\n\nJei norite įklijuoti tekstą, tris kartus palieskite trimis pirštais.\n\nPabandykite įklijuoti žodį toliau pateiktame teksto laukelyje. + Pasirinkę tekstą nukopijuokite jį dukart palietę trimis pirštais.\n\nPabandykite nukopijuoti žodį toliau pateiktame teksto laukelyje. + Jei norite iškirpti tekstą, dukart palieskite ir palaikykite trimis pirštais.\n\nJei norite įklijuoti tekstą, triskart palieskite trimis pirštais.\n\nPabandykite įklijuoti žodį toliau pateiktame teksto laukelyje. Pasirinkę tekstą galite nukopijuoti jį „TalkBack“ meniu. Perbraukite žemyn, tada – dešinėn, kad atidarytumėte „TalkBack“ meniu. Dukart palieskite redagavimo parinktis, o tada nukopijuokite.\n\nPabandykite nukopijuoti žodį toliau pateiktame teksto laukelyje. Jei norite iškirpti tekstą, atidarykite „TalkBack“ meniu ir dukart palieskite redagavimo parinktis.\n\nPabandykite įklijuoti žodį toliau pateiktame teksto laukelyje. Įklijuokite tekstą čia @@ -753,7 +744,6 @@ Pereikite nuo vieno elemento prie kito perbraukdami dešinėn ar kairėn Dukart palieskite, kad suaktyvintumėte elementą Vilkite du pirštus, kad slinktumėte - Patikrinkite, ar telefonas prijungtas. Storos kraštinės Spalva Numatytoji @@ -765,12 +755,6 @@ Pilka Apklausa uždaryta Tekstas: %1$s - Aprašyti paveikslėlio tekstą - Aptikta piktograma: %1$s - Veiksmas nepalaikomas. - Nepasirinkta jokių veiksmų. - Pasirinkite palaikomą veiksmą. - Nėra jokių veiksmų. - Veiksmų nustatymas neįgalintas. - Teksto nerasta + Vaizdo aprašas + Numatoma piktograma: %1$s diff --git a/talkback/src/main/res/values-lv/strings.xml b/talkback/src/main/res/values-lv/strings.xml index 83b5678be..437d5c564 100644 --- a/talkback/src/main/res/values-lv/strings.xml +++ b/talkback/src/main/res/values-lv/strings.xml @@ -7,7 +7,6 @@ Iestatījumi teksta pārvēršanai runā Valodas Runas valoda - Darbības Sistēmas darbības Versija %1$s Pielāgoto iezīmju pārvaldība @@ -31,37 +30,46 @@ Ierīce ir atbloķēta. Audio Runas skaļums - Izrunāt paziņojumus, kad izslēgts ekrāns - Vienmēr izrunāt saraksta vienumu skaitu - Izrunāt visu ritināšanas metožu skaitu + Runāt, kad ekrāns ir izslēgts + Ja ekrāns ir izslēgts, tiek atskaņoti paziņojumi + Ja ekrāns ir izslēgts, runa nav aktīva + Runājot nosaukt ekrānā redzamo vienumu skaitu + Runāt tikai, ritinot ar žestu + Vienmēr runāt Apklāt tuvuma sensoru, lai apturētu runas izvadi - Izrunāt burtus ar piemēriem - Atlasot tastatūras taustiņus vai pārvietojoties pa rakstzīmēm, būs dzirdams piemērs kopā ar katru burtu, piemēram, “v, viesnīca”. - Izrunāt pieturzīmes un simbolus + Izrunāt fonētiskos burtus + Netiek izrunāti fonētiskie burti. + Fonētiskie burti tiek izrunāti, kad nospiežat un turat tastatūras taustiņus un pārejat par vienu rakstzīmi uz priekšu. + Pieturzīmes + Pieturzīmes un simboli netiek izrunāti. + Pieturzīmes un simboli tiek izrunāti. Lielie burti Neveikt nekādas darbības Sakiet: “lielie burti” Mainīt skaņas augstumu Atskaņot signālu Izrunāt lietošanas ieteikumus - Pēc satura raksturošanas tiks ieteikts izmantojums + Pārvietojot pieejamības fokusu, netiek izrunāti lietošanas ieteikumi. + Lietošanas ieteikumi tiek izrunāti navigācijas laikā pēc īsa brīža. Izrunāt sarakstu un režģu informāciju + Tiek izrunāta informācija par sarakstiem un režģiem. + Netiek izrunāta informācija par sarakstiem un režģiem. Vai atiestatīt žestus? Tādējādi visiem žestiem tiks atjaunotas noklusējuma darbības.\n\nJūsu veiktās izmaiņas tiks zaudētas. Atiestatīt Žestu iestatījumi ir atiestatīti. Izrunāt elementa veidu - Izceltiem vienumiem + Tiek izrunāts izvēlēto vienumu elementa veids. + Netiek izrunāts izvēlēto vienumu elementa veids. Izrunāt elementu ID - Pogām bez iezīmēm - Skaļi izrunāt sistēmas logu nosaukumus - Kad pārslēdzaties uz citiem sistēmas logiem, piemēram, statusa joslu, paziņojumiem vai skaļuma vadīklām + Elementu ID netiek izrunāti pogām, kam nav iezīmju. + Elementu ID tiek izrunāti pogām, kam nav iezīmju. Pārlūkot pieskaroties Vadīklas Aktivizēt ar vienu pieskārienu Varat aktivizēt fokusētu vienumu, pieskaroties tam vienreiz Detalizētība - Izrunāt pieturzīmes un simbolus + Pieturzīmes Pielāgot fokusa indikatoru Pielāgot žestus Pielāgotās iezīmes @@ -203,7 +211,8 @@ Izmantot balss augstuma maiņu Tastatūras atbalss Elementu aprakstīšanas secība - Izrunāt dzēstos burtus paaugstinātā balss tonī + Izrunāt ar tastatūru dzēsto tekstu paaugstinātā balss tonī + Runājot nemainīt balss toni Braila tastatūra Vibrācija Skaņas signāls @@ -211,6 +220,7 @@ Samazināt citu lietotņu audio skaļumu runāšanas laikā Skaņas skaļums Talkback darbības apturēšanas un atsākšanas īsinājumtaustiņš + Ekrāna paslēpšanas saīsne Izstrādātāja iestatījumi Atlasīt notikumus reģistrēšanai Filtrēt pieejamības notikuma reģistrēšanu @@ -256,7 +266,7 @@ Atvērt TalkBack izvēlni Pauzēt balss komentārus Apturēt vai atsākt balss komentārus - Ieslēgt vai izslēgt runu + Ieslēgt vai izslēgt TalkBack skaņu Lasīt no sākuma Lasīt, sākot ar nākamo vienumu Drukāt mezglu koku @@ -278,7 +288,6 @@ Nospiest un turēt pieejamības saīsni Navigācijā izcelt nākamo vienumu vai samazināt lasīšanas vadīklas vērtību Navigācijā izcelt iepriekšējo vienumu vai palielināt lasīšanas vadīklas vērtību - Aktivizēt pašreiz atlasīto darbību Meklēšanas rezultāts Atskaņot multividi / apturēt atskaņošanu Visas lietotnes @@ -323,7 +332,7 @@ Lasīšana Īpašās funkcijas Citas - Norāda darbības, ko varat veikt ar pašreizējo vienumu (ja tādas ir), piemēram, kopēšanu, ielīmēšanu, atlasīšanu un citas + Šī izvēlne tiek rādīta, ja ar pašreizējo vienumu var veikt pielāgotas darbības Kopēšana, ielīmēšana, atlase un citas darbības. Šī izvēlne tiek rādīta, atlasot tekstlodziņu. Atvērt saites atlasītajā vienumā Pāriet uz iepriekšējo vai nākamo lapu. Šī izvēlne tiek rādīta, lasot saturu ar vairākām lapām. @@ -342,7 +351,6 @@ Atvērt iestatījumus teksta pārvēršanai runā Izslēgt TalkBack balss komentārus Nevar rediģēt - Darbību veikšana Lasīt pa vienai rakstzīmei Lasīt pa vienam vārdam Lasīt pa vienai rindai @@ -365,7 +373,7 @@ Samazināt cita atskaņotā audio satura skaļumu, kad tiek lasīts teksts funkcijā TalkBack Ritināšana uz priekšu vai atpakaļ Palielināt vai samazināt pieejamības paziņojumu skaļumu - Lasīt skaļi atlasītajā attēlā iegulto tekstu + Iegūstiet automātisku aprakstu šim attēlam. lejup uz leju, pēc tam pa labi Vilkt augšup @@ -408,9 +416,7 @@ Divreiz pieskarties ar 2 pirkstiem un turēt Divreiz pieskarties ar 3 pirkstiem un turēt Divreiz pieskarties ar 4 pirkstiem un turēt - Pieskarties ar 3 pirkstiem un turēt Trīsreiz pieskarties ar 2 pirkstiem un turēt - Trīsreiz pieskarties ar 3 pirkstiem un turēt Izmantojiet žestu “%1$s” vai “%2$s”, lai pielāgotu Izmantojiet žestu “%1$s”, lai pielāgotu Nezināms žests @@ -433,9 +439,8 @@ Kad tiek ieslēgts ekrāns Kad tiek parādīts bloķēšanas ekrāns Tikai no paziņojumu paneļa - Turiet pirkstu, lai atlasītu kādu taustiņu, un pēc tam veiciet dubultskārienu - Turiet pirkstu, lai atlasītu kādu burta taustiņu, un pēc tam atlaidiet. Lai atlasītu citus taustiņus, veiciet dubultskārienu. - Turiet pirkstu, lai atlasītu jebkuru taustiņu, un pēc tam atlaidiet + Turiet pirkstu, lai atlasītu taustiņu, un pēc tam veiciet dubultskārienu + Turiet pirkstu, lai atlasītu taustiņu, un pēc tam atlaidiet Izsl. Ļoti viegli Viegli @@ -486,6 +491,7 @@ Izvēlieties lietojumprogrammu iezīmju eksportēšanai: Šajā TalkBack versijā ir mainīti noklusējuma pieejamības žesti. Šiem žestiem piesaistītās darbības var pielāgot TalkBack iestatījumos. Iespējojot funkciju “Pārlūkot pieskaroties”, konkrētu darbību veikšanai varat izmantot tālāk norādītos žestus.\n\n%1$s Turiet nospiestus skaļuma palielināšanas un samazināšanas taustiņus + Trīsreiz ātri nospiest abus skaļuma taustiņus, lai paslēptu vai rādītu ekrānu Vai paslēpt ekrānu? Displejs tiek izslēgts konfidencialitātes nolūkos, lai jūsu ekrāns nebūtu redzams citiem, kad atrodaties publiskās vietās. Šajā TalkBack versijā ir mainīti noklusējuma pieejamības žesti.\n\nVeicot žestu “uz augšu un pēc tam uz leju”, varat pāriet uz pirmo ekrānā redzamo vienumu, bet, veicot žestu “uz leju un pēc tam uz augšu”, varat pāriet uz pēdējo vienumu.\n\nTagad lasīšanas precizitāti var mainīt, iestatot fokusu uz kādu vienumu un pēc tam TalkBack kontekstizvēlnē atlasot precizitātes līmeni.\n\nŠiem žestiem piesaistītās darbības var mainīt TalkBack iestatījumos. @@ -501,9 +507,6 @@ Vai tiešām vēlaties ieslēgt mezglu koku atkļūdošanu?\n\nMezglu koku atkļūdošanas laikā jūsu ekrāna saturs ir redzams ierīces žurnālfailos, ko var nolasīt citas lietotnes. Vai iespējot veiktspējas statistiku? Vai tiešām vēlaties ieslēgt veiktspējas statistiku?\n\nVeiktspējas statistikas darbībai var būt nepieciešams vairāk vietas atmiņā un lielāks enerģijas patēriņš. - Vai iespējot izvērsto reģistrēšanu? - Izvērstā reģistrēšana var palīdzēt veikt atkļūdošanu, taču tās dēļ sistēmas žurnāla buferī var tikt parādīta personas informācija.\n\n Vai vēlaties iespējot izvērsto reģistrēšanu? - Jā, iespējot izvērsto reģistrēšanu Vai atļaut piekļuvi tālrunim? Tādējādi funkcija TalkBack var samazināt zvana laikā atskaņoto paziņojumu skaitu Turpināt @@ -558,11 +561,9 @@ Pieejamības paziņojumu skaļums Pielāgot slīdni Pielāgot vērtību - Darbības Paroļu izrunāšana Paroles vienmēr tiek izrunātas Skaņa un vibrācija - Skaņa nokopēts, %1$s Aizvērt Beigt meklēšanu @@ -598,15 +599,13 @@ %1$s, lai lasītu ar šādu precizitāti: %2$s Lai to izmantotu, pārejiet uz TalkBack iestatījumiem un pievienojiet žestu darbībai “%1$s”. Braila tastatūra nav ieslēgta. Iestatiet Braila tastatūru TalkBack iestatījumos un mēģiniet vēlreiz. - Ir pieejami ieteikumi - Ir pieejami ieteikumi. Lai tiem piekļūtu: %1$s. %1$d. lapa no %2$d Iepriekšējā Tālāk Aizvērt Pabeigt Pārvietoties augšup - Jaunas TalkBack funkcijas + Jaunas TalkBack funkcijas Vai aizvērt pamācību? Jebkurā laikā varat atgriezties pie tās, atverot TalkBack iestatījumus. Palikt pamācībā @@ -650,14 +649,6 @@ Pieskarieties, lai uzzinātu, kā izmantot funkciju TalkBack ātrāk ar jauniem žestiem. Mezglu koks ir reģistrēts žurnālos. Šeit tiek rādīti nesen izmantotie žesti. Lūdzu, ziņojiet par nepareizo žestu un norādiet pareizo žestu. - Jūs iegūsiet vienkāršotas skaļuma vadīklas, ātrākas darbību vadīklas u.c. priekšrocības.\n\nNākamajos ekrānos ir sniegta informācija par galvenajiem jaunumiem un izmaiņām. Tam būs nepieciešamas aptuveni 5 minūtes.\n\nJebkurā brīdī varat pārskatīt šo informāciju TalkBack iestatījumos. - Skaļuma vadīklu izmaiņas - Lai uzlabotu skaļuma kontroli, skaļuma taustiņi vairs nekontrolē teksta kursorus vai slīdņus.\n\nLai mainītu slīdņa pozīciju, velciet augšup vai lejup.\n\nLai mainītu teksta kursora pozīciju, tekstlodziņā velciet augšup vai lejup. Šo funkciju var izmantot arī Braila tastatūras lasīšanas vadīklām. - Teksts attēlos - Varat automātiski vai pēc nepieciešamības uzzināt vairāk par tekstu attēlos.\n\nJa attēlam nav iezīmes, TalkBack automātiski nolasīs iekļauto tekstu.\n\nVisiem attēliem varat atvērt TalkBack izvēlni un atlasīt opciju “Attēlā esošā teksta aprakstīšana”.\n\nAttēli paliek jūsu ierīcē un netiek nosūtīti uzņēmumam Google. Tas nozīmē, ka abas funkcijas varat izmantot bez interneta savienojuma. - Navigācija logos - Varat pārslēgties starp dažādām ekrāna sadaļām, piemēram, paziņojumu joslu, galveno saturu un tastatūru.\n\nLai izmantotu navigāciju logos, velciet lejup ar četriem pirkstiem. - Varat pārslēgties starp dažādām ekrāna sadaļām, piemēram, paziņojumu joslu, galveno saturu un tastatūru.\n\nLai izmantotu navigāciju logos, velciet lejup un augšup. Turpiniet, līdz esat atlasījis navigāciju logos. Lai pārietu uz logu, velciet lejup. Mācības Laipni lūdzam funkcijā TalkBack TalkBack ir ekrāna lasītājs, kas ir paredzēts lietošanai situācijās, kad ir grūti saskatīt ekrāna saturu, vai lietotājiem ar redzes traucējumiem. Šī funkcija nodrošina balss komentārus, lai jūs varētu izmantot ierīci, neskatoties uz ekrānu.\n\nFunkciju TalkBack varat ieslēgt vai izslēgt, dažas sekundes turot nospiestus abus skaļuma taustiņus.\n\nJa funkcija TalkBack ir ieslēgta, ekrānā izceltais vienums tiks skaļi nolasīts.\n\nJa vilksiet pa labi, tiks izcelts nākamais vienums; ja vilksiet pa kreisi, tiks izcelts iepriekšējais vienums.\n\nTagad velciet pa labi, lai atrastu pogu Tālāk. @@ -700,14 +691,14 @@ Velciet pirkstu pāri tastatūrai. Kad dzirdat burtu, ko vēlaties rakstīt, atlaidiet pirkstu.\n\nIzmēģiniet tālāk redzamā tekstlodziņa aktivizēšanu un uzrakstiet savu vārdu. Varat arī rakstīt, izmantojot Braila tastatūru. Tā ir atrodama TalkBack iestatījumos. Kursora pārvietošana - Kad esat aktivizējis tekstlodziņu, varat pārvietot kursoru starp burtiem, velkot augšup vai lejup.\n\nIzmēģiniet to tālāk esošajā tekstlodziņā. + Kad esat aktivizējis tekstlodziņu, varat pārvietot kursoru starp burtiem, nospiežot augšupvērsto vai lejupvērsto skaļuma taustiņu.\n\nIzmēģiniet to tālāk redzamajā tekstlodziņā. Laipni lūdzam funkcijā TalkBack Teksta atlasīšana Tekstlodziņā pārvietojiet kursoru uz atlasāmā teksta sākumu.\n\nAr diviem pirkstiem veiciet dubultskārienu un turiet, lai ieslēgtu atlases režīmu. Pēc tam pārvietojiet kursoru uz teksta beigām. Vēlreiz ar diviem pirkstiem veiciet dubultskārienu un turiet, lai izslēgtu atlases režīmu.\n\nIzmēģiniet tālāk redzamajā tekstlodziņā atlasīt vārdu “Laipni”. - Tekstlodziņā pārvietojiet kursoru uz atlasāmā teksta sākumu.\n\nVelciet lejup un pēc tam — pa labi, lai atvērtu TalkBack izvēlni. Veiciet dubultskārienu uz darbībām un pēc tam ieslēdziet atlases režīmu. Pārvietojiet kursoru uz teksta beigām.\n\nVēlreiz atveriet TalkBack izvēlni un pēc tam veiciet dubultskārienu uz darbībām, lai izslēgtu atlases režīmu.\n\nIzmēģiniet tālāk redzamajā tekstlodziņā atlasīt vārdu “Laipni”. + Tekstlodziņā pārvietojiet kursoru uz atlasāmā teksta sākumu.\n\nVelciet lejup un pēc tam — pa labi, lai atvērtu TalkBack izvēlni. Veiciet dubultskārienu rediģēšanas opcijām un pēc tam ieslēdziet atlases režīmu. Pārvietojiet kursoru uz teksta beigām.\n\nVēlreiz atveriet TalkBack izvēlni un pēc tam veiciet dubultskārienu rediģēšanas opcijām, lai izslēgtu atlases režīmu.\n\nIzmēģiniet tālāk redzamajā tekstlodziņā atlasīt vārdu “Laipni”. Kopēšana, izgriešana un ielīmēšana - Kad teksts ir atlasīts, veiciet dubultskārienu uz darbībām un pēc tam nokopējiet tekstu.\n\nIzmēģiniet nokopēt kādu vārdu tālāk redzamajā tekstlodziņā. - Lai izgrieztu vai ielīmētu tekstu, atveriet TalkBack izvēlni un veiciet dubultskārienu uz darbībām.\n\nLai ielīmētu tekstu, trīsreiz pieskarieties ar trim pirkstiem.\n\nIzmēģiniet ielīmēt kādu vārdu tālāk redzamajā tekstlodziņā. + Kad teksts ir atlasīts, nokopējiet to, ar trim pirkstiem veicot dubultskārienu.\n\nIzmēģiniet nokopēt kādu vārdu tālāk redzamajā tekstlodziņā. + Lai izgrieztu tekstu, ar trim pirkstiem veiciet dubultskārienu un turiet.n\n\Lai ielīmētu tekstu, ar trim pirkstiem trīsreiz pieskarieties.\n\nIzmēģiniet ielīmēt kādu vārdu tālāk redzamajā tekstlodziņā. Kad teksts ir atlasīts, varat to kopēt TalkBack izvēlnē. Velciet lejup un pēc tam — pa labi, lai atvērtu TalkBack izvēlni. Veiciet dubultskārienu rediģēšanas opcijām un pēc tam nokopējiet tekstu.\n\nIzmēģiniet nokopēt kādu vārdu tālāk redzamajā tekstlodziņā. Lai izgrieztu vai ielīmētu tekstu, atveriet TalkBack izvēlni un veiciet dubultskārienu rediģēšanas opcijām.\n\nIzmēģiniet ielīmēt kādu vārdu tālāk redzamajā tekstlodziņā. Šeit ielīmējiet tekstu @@ -750,7 +741,6 @@ Velciet pa labi vai pa kreisi, lai pārietu starp vienumiem. Veiciet dubultskārienu, lai aktivizētu vienumu. Velciet divus pirkstus, lai ritinātu. - Lūdzu, pārbaudiet, vai ir izveidots tālruņa savienojums. Biezas apmales Krāsa Noklusējums @@ -762,12 +752,6 @@ Pelēka Aptauja ir slēgta Teksts: %1$s - Attēlā esošā teksta aprakstīšana - Noteiktā ikona: %1$s - Darbība netiek atbalstīta. - Nav atlasīta neviena darbība. - Lūdzu, atlasiet atbalstītu darbību. - Nav darbību. - Darbību iestatīšana nav iespējota. - Teksts nav atrasts + Attēla apraksts + Atpazītā ikona: %1$s diff --git a/talkback/src/main/res/values-mk/strings.xml b/talkback/src/main/res/values-mk/strings.xml index 9a275b8b0..4e45718a4 100644 --- a/talkback/src/main/res/values-mk/strings.xml +++ b/talkback/src/main/res/values-mk/strings.xml @@ -7,7 +7,6 @@ Поставки за „Од текст во говор“ Јазици Говорен јазик - Дејства Дејства на системот Верзија %1$s Управувајте со приспособени етикети @@ -31,37 +30,46 @@ Уредот е отклучен. Аудио Јачина на говор - Изговарај известувања при исклучен екран - Секогаш изговарај го бројот на ставки во список - Изговарај го бројот за сите начини на лизгање + Зборувај кога е исклучен екранот + Известувањата се изговараат кога екранот е исклучен + Нема говор кога е исклучен екранот + Изговарај го бројот на ставки во список на екранот + Изговарај само кога се лизга со движење + Секогаш се изговара Покријте го сензорот за близина за да го запрете говорот - Изговарај ги буквите со примери - Ако изберете копчиња на тастатура или се навигирате според знак, ќе слушнете пример со секоја од буквите, како „h, hotel“ (х, хотел) - Изговарај ги интерпункциите и симболите + Изговарај фонетски букви + Фонетските букви не се изговараат + Фонетски букви се изговараат при долго притискање на копчињата на тастатурата и движење по знак + Интерпункција + Интерпункцијата и симболите не се изговараат + Интерпункцијата и симболите се изговараат Големи букви Не правете ништо Кажете „голема буква“ Променете ја висината на гласот Пуштете звук Изговарај совети за користење - По опишување на содржините, предложи како се користат + Советите за користење не се изговараат со преместување на фокусот за пристапност + Советите за користење се изговараат за време на движењето, по кратко доцнење Изговарај информации за список и мрежа + Информациите за список и мрежа се изговараат + Информациите за список и мрежа не се изговараат Да се ресетираат движењата? Ова ќе ги ресетира сите движења на нивните стандардни дејства.\n\nЌе ги изгубите сите промени што сте ги извршиле. Ресетирај Поставките за движења се ресетирани. Изговарај тип на елемент - За фокусирани ставки + Типот елемент се изговара за фокусирани ставки + Типот елемент не се изговара за фокусирани ставки Изговарај ID-кодови на елементи - За неозначени копчиња - Изговарај ги системските прозорци - Кога ќе се префрлам на другите системски прозорци, како што е статусната лента, известувањата или контролите + Кај неозначените копчиња не се изговараат ID-броевите на елементот + Кај неозначените копчиња се изговараат ID-броевите на елементот Истражувајте со допир Контроли Допрете еднаш за активирање Допрете еднаш на нагласената ставка за активирање Речитост - Изговарај ги интерпункциите и симболите + Интерпункција Приспособете го индикаторот за фокус Приспособете ги движењата Приспособени етикети @@ -203,7 +211,8 @@ Употребувај промени во висина на гласот Ехо од тастатура Редослед на опишување елементи - Изговарај ги избришаните букви со повисок тон + Изговарај го избришаниот текст со тастатурата на повисок тон + Не менувајте ја висината на гласот кога зборувате Тастатура со брајово писмо Повратни информации со вибрирање Звучни повратни информации @@ -211,6 +220,7 @@ Ја намалува јачината на другите звуци при зборување Јачина на звучни одговори Суспендирај го TalkBack и продолжи со кратенката + Сокриј ја кратенката на екранот Поставки на програмерите Изберете настани Филтрирајте го евидентирањето на настаните за пристапност @@ -256,7 +266,7 @@ Го отвора менито на TalkBack Паузирај повратни информации Паузирај или продолжи говор - Вклучете или исклучете говор + Вклучете го или исклучете го звукот на TalkBack Читај од врвот Читај од следната ставка Отпечатете го дрвото со јазли @@ -278,7 +288,6 @@ Кратенка за задржување на копчето за пристапност Зголемете го фокусот на навигацијата или намалете ја контролата за читање Намалете го фокусот на навигацијата или зголемете ја контролата за читање - Активирајте го дејството што е избрано во моментов Резултат од пребарување Пушти или паузирај аудио/видео Сите апликации @@ -323,7 +332,7 @@ Читање Специјални функции Други - Ги покажува дејствата за тековната ставка, вклучувајќи копирај, залепи, избери и др. + Се прикажува кога има приспособени дејства за тековната ставка Копирај, залепи, избери и друго. Се прикажува кога ќе изберете текстуално поле. Отворај линкови во рамките на нагласената ставка Оди на следната или претходната страница. Се прикажува кога читате содржини со повеќе страници. @@ -342,7 +351,6 @@ Отворете ги поставките за „Од текст во говор“ Исклучете ги гласовните повратни информации на TalkBack Не може да се изменува - Извршувајте дејства Читај еден по еден знак Читај еден по еден збор Читај еден по еден ред @@ -365,7 +373,7 @@ Ја намалува јачината на другите звуци што се пуштени кога зборува TalkBack Лизгајте нанапред или наназад Зголемете ја или намалете ја јачината на звук на пристапноста - Читај го текстот вметнат во избрана слика + Добијте автоматски опис за сликава надолу надолу, па надесно Повлекување нагоре @@ -408,9 +416,7 @@ Двоен допир и задржување со 2 прста Двоен допир и задржување со 3 прста Двоен допир и задржување со 4 прста - Допрете и задржете со 3 прста Допрете трипати и задржете со два прста - Допрете трипати и задржете со 3 прста „%1$s“ или „%2$s“ за да приспособите „%1$s“ за да приспособите Непознато движење @@ -433,9 +439,8 @@ Кога ќе се вклучи екранот Кога е прикажан екранот за заклучување Само од известување - Задржете го прстот за да изберете некое копче, а потоа допрете двапати - Задржете го прстот за да изберете копче за буква, а потоа подигнете го. Допрете двапати за други копчиња. - Задржете го прстот за да изберете копче, а потоа подигнете го + Задржете го прстот за да го изберете копчето, а потоа допрете двапати + Задржете го прстот за да го изберете копчето, а потоа подигнете го Оневозможено Многу слабо Слабо @@ -485,6 +490,7 @@ Изберете ја апликацијата за извоз на етикети: Оваа верзија на TalkBack опфаќа промени на стандардните движења за пристапност. Дејствата поврзани со овие движења може да се приспособат во поставките на TalkBack. Кога ќе се овозможи Истражувај со допир, може да ги употребите следните движења за вршење одредени дејства.\n\n%1$s Долго притискање на копчињата за намалување и зголемување јачина на звук + Брзо притиснете ги двете копчиња за јачина на звук трипати за да се сокрие или прикаже екранот Да се скрие екранот? Ова го исклучува дисплејот за да ја подобри приватноста, така што екранот не е видлив за другите кога сте на јавни места Оваа верзија на TalkBack опфаќа промени на стандардните движења за пристапност.\n\nДвижењето „Нагоре, па надолу“ ќе ве одведе на првата ставка на екранот, а движењето „Надолу, па нагоре“ ќе ве одведе на последната ставка.\n\nДеталноста при читањето сега може да се промени со избирање на ставката, па избирање на деталноста од контекстуалното мени на TalkBack.\n\nДејствата што се вршат со овие движења може да ги промените во поставките за TalkBack. @@ -500,9 +506,6 @@ Дали сте сигурни дека сакате да го вклучите отстранувањето грешки на дрвото со јазли?\n\nОтстранувањето грешки на дрвото со јазли им ја открива содржината на екранот на дневниците на уредот, а нив може да ги читаат други апликации. Да се овозможи „Статистика за изведбатата“? Дали сте сигурни дека сакате да ја вклучите „Статистиката за изведбата“?\n\nТаа може да потроши повеќе меморија и енергија. - Да се овозможи опширно евидентирање? - Опширното евидентирање може да помогне при отстранувањето грешки, но може да предизвика личните податоци да се појават во привремената меморија на евиденцијата на системот.\n\n Да се овозможи опширно евидентирање? - Да, овозможи опширно евидентирање Да се дозволи пристап до телефонот? Ова помага TalkBack да ги намали соопштенијата кога имате повик Продолжи @@ -556,11 +559,9 @@ Јачина на звук на пристапноста Приспособете го лизгачот Приспособете ја вредноста - Дејства Изговарај лозинки Лозинките се изговараат секогаш Звук и вибрации - Звук копирано, %1$s Затвори Затвори го пребарувањето @@ -595,15 +596,13 @@ %1$s за читање според %2$s За да го користите ова, одете во „Поставки за TalkBack“ и додајте движење за „%1$s“ Тастатурата со брајово писмо не е вклучена. Одете во „Поставки за TalkBack“, поставете тастатура со брајово и пробајте повторно. - Достапни се предлози - Достапни се предлози. За да пристапите, %1$s Страница %1$d од %2$d Претходно Следно Затвори Заврши Движи се нагоре - Нови функции на TalkBack + Нови функции на TalkBack Да се затвори упатството? Може да се навратите на него во секое време во поставките за TalkBack. Остани во упатството @@ -647,14 +646,6 @@ Допрете за да дознаете како побрзо да ја користите TalkBack со новите движења. Дрвото со јазли е отпечатено во дневниците. Ова се движења што биле извршени неодамна. Пријавете кое од нив е погрешно и што треба да извршува. - Ќе добиете поедноставени контроли за јачината на звукот, побрзи контроли за дејства и друго.\n\nНа следните неколку екрани ќе дознаете повеќе за клучните новости и промени. Ова ќе потрае околу 5 минути.\n\nВо секое време може да ги прегледате информацииве во поставките за TalkBack. - Промени во контролите за јачината на звукот - За да се подобри контролата на јачината на звукот, копчињата за јачина на звук веќе не ги контролираат курсорите за текст или лизгачите.\n\nЗа да ја промените позицијата на лизгачот, повлечете нагоре или надолу.\n\nЗа да ја промените позицијата на курсорот за текст, повлечете нагоре или надолу во полето за текст. Ова исто така функционира и кај контролите за читање на тастатурата за брајово писмо. - Текст во слики - Повеќе детали за текстот во сликите може да добиете автоматски или кога ви требаат.\n\nЗа слики што немаат етикета: TalkBack автоматски ќе го чита текстот што се појавува.\n\nЗа сите слики: отворете го менито на TalkBack и изберете „Опиши го текстот во сликата“.\n\nСликите остануваат на вашиот уред и никогаш не се испраќаат до Google. Ова значи дека може да ги користите и двете функции без интернет-врска. - Навигација низ прозорци - Може да се префрлате помеѓу различни делови на екранот, како што се лентата за известувања, главниот дел и тастатурата.\n\nЗа да користите навигација низ прозорци, повлечете надолу со 4 прста. - Може да се префрлате помеѓу различни делови на екранот, како што се лентата за известувања, главниот дел и тастатурата.\n\nЗа да користите навигација низ прозорци, повлечете надолу, а потоа нагоре. Продолжете додека не ја изберете навигацијата низ прозорци. За навигација до прозорецот, повлечете надолу. Упатство Добре дојдовте во TalkBack TalkBack е читач на екран којшто е наменет за ситуации или лица што имаат потешкотии да ја видат содржината на екранот. Тој ви дава говорни повратни информации за да може да го користите уредот без да гледате во екранот.\n\nМоже да го вклучите или исклучите TalkBack така што ќе ги задржите притиснати двете копчиња за јачина на звук неколку секунди.\n\nКога TalkBack е вклучен, нагласената ставка на екранот се изговара наглас.\n\nПовлекувањето надесно ќе ве одведе на следната ставка, а повлекувањето налево на претходната.\n\nСега повлечете надесно за да го најдете копчето „Следно“. @@ -697,14 +688,14 @@ Повлечете со прстот преку тастатурата. Кога ќе ја слушнете буквата што сакате да ја напишете, подигнете го прстот.\n\nПробајте да го активирате текстуалното поле подолу и напишете го вашето име. Може и да пишувате со тастатура со брајово писмо. Најдете ја во поставките за TalkBack. Движење на курсорот - Кога ќе активирате поле за текст, може да го поместувате курсорот од буква на буква со повлекување нагоре или надолу.\n\nПробајте го ова во полето за текст подолу. + Откако ќе го активирате текстуалното поле, може да го поместувате курсорот од буква на буква со притискање на копчињата за јачина на звук нагоре или надолу.\n\nПробајте го ова во текстуалното поле подолу. Добре дојдовте во TalkBack Избирање текст Во текстуално поле, поместете го курсорот на почетокот на текстот што сакате да го изберете.\n\nДопрете двапати и задржете со 2 прста за да го започнете режимот на избор. Потоа поместете го курсорот на крајот на текстот. Допрете двапати и задржете со 2 прста повторно за да го завршите режимот на избор.\n\nПробајте да го изберете зборот „дојдовте“ во текстот подолу. - Во текстуално поле, поместете го курсорот на почетокот на текстот што сакате да го изберете.\n\nПовлечете надолу, па надесно за да го отворите менито на TalkBack. Допрете двапати на дејствата и започнете го режимот на избор. Поместете го курсорот на крајот на текстот.\n\nПовторно отворете го менито на TalkBack, а потоа допрете двапати на дејствата за да го завршите режимот на избор.\n\nПробајте да го изберете зборот „Welcome“ во полето за текст подолу. + Во текстуално поле, поместете го курсорот на почетокот на текстот што сакате да го изберете.\n\nПовлечете надолу, па надесно за да го отворите менито на TalkBack. Допрете двапати на опциите за изменување и започнете го режимот на избор. Поместете го курсорот на крајот на текстот.\n\nПовторно отворете го менито на TalkBack, а потоа допрете двапати на опциите за изменување за да го завршите режимот на избор.\n\nПробајте да го изберете зборот „дојдовте“ во текстот подолу. Копирање, сечење и лепење - Откако ќе го изберете текстот, извршете дејства со двоен допир, па копирајте.\n\nПробајте да копирате збор во полето за текст подолу. - За сечење или лепење текст, отворете го менито на TalkBack и извршете дејства со двоен допир.\n\nЗа да залепите текст, допрете трипати со 3 прста.\n\nПробајте да залепите збор во полето за текст подолу. + Откако ќе изберете текст, копирајте го така што ќе допрете двапати со 3 прста.\n\nПробајте да копирате збор во текстуалното поле подолу. + За сечење текст, допрете двапати и задржете со 3 прста.\n\nЗа лепење текст, допрете трипати со 3 прста.\n\nПробајте да залепите збор во текстуалното поле подолу. Откако ќе изберете текст, може да го копирате во менито на TalkBack. Повлечете надолу, па надесно за да го отворите менито на TalkBack. Допрете двапати на опциите за изменување, па копирајте.\n\nПробајте да копирате збор во текстуалното поле подолу. За сечење или лепење текст, отворете го менито на TalkBack и допрете двапати на опциите за изменување.\n\nПробајте да залепите збор во текстуалното поле подолу. Залепете текст тука @@ -747,7 +738,6 @@ Лизгајте надесно или налево за да се движите меѓу ставките Допрете двапати за да активирате ставка Повлечете со два прста за да лизгате - Проверете дали телефонот е поврзан. Дебели граници Боја Стандардна @@ -759,12 +749,6 @@ Сива Анкетата е затворена Текст: %1$s - Опиши го текстот во сликата - Избришана икона: %1$s - Дејството не е поддржано. - Нема избрано дејство. - Изберете поддржано дејство. - Нема дејства. - Поставката за дејства не е овозможена. - Не е пронајден текст + Опиши ја сликата + Предвидена икона: %1$s diff --git a/talkback/src/main/res/values-ml/strings.xml b/talkback/src/main/res/values-ml/strings.xml index 10976a385..1be04a0cc 100644 --- a/talkback/src/main/res/values-ml/strings.xml +++ b/talkback/src/main/res/values-ml/strings.xml @@ -7,7 +7,6 @@ ടെക്‌സ്റ്റ് ടു സ്‌പീച്ച് ക്രമീകരണം ഭാഷകൾ സംഭാഷണ ഭാഷ - പ്രവർത്തനങ്ങൾ സിസ്റ്റം പ്രവർത്തനങ്ങൾ പതിപ്പ് %1$s കസ്റ്റംലേബൽ നിയന്ത്രിക്കൂ @@ -31,37 +30,46 @@ ഉപകരണം അൺലോക്കുചെയ്‌തു. ഓഡിയോ സംഭാഷണ വോളിയം - സ്ക്രീൻ ഓഫായിരിക്കുമ്പോൾ അറിയിപ്പ് പറയുക - ലിസ്‌റ്റ് ഇനങ്ങളുടെ എണ്ണം എല്ലായ്‌പ്പോഴും പറയുക - എല്ലാ സ്‍ക്രോള്‍ ചെയ്യൽ രീതികളുടെയും എണ്ണം പറയുക + സ്ക്രീനോഫായിരിയ്ക്കുമ്പോൾ സംസാരിക്കൂ + സ്ക്രീൻ ഓഫായിരിക്കുമ്പോൾ അറിയിപ്പുകൾ സംസാരിക്കപ്പെടുന്നു + സ്‌കീൻ ഓഫായിരിക്കുമ്പോൾ സംഭാഷണമൊന്നും ഉണ്ടാകില്ല + സ്‌ക്രീനിലെ ലിസ്‌റ്റ് ഇനങ്ങളുടെ എണ്ണം പറയുക + വിരൽചലനം ഉപയോഗിച്ച് സ്‌ക്രോൾ ചെയ്യുമ്പോൾ മാത്രം പറയുക + എപ്പോഴും പറയും സ്പീച്ച് ഔട്ട്പുട്ട് നിർത്താൻ പ്രോക്‌സിമിറ്റി സെൻസർ മൂടുക - ഉദാഹരണങ്ങൾ സഹിതം അക്ഷരങ്ങൾ പറയുക - നിങ്ങൾ കീബോർഡ് കീകൾ തിരഞ്ഞെടുക്കുമ്പോഴോ അക്ഷരം അനുസരിച്ച് നാവിഗേറ്റ് ചെയ്യുമ്പോഴോ, \"h, hotel\" പോലെ ഓരോ അക്ഷരത്തിനുമൊപ്പം നിങ്ങളൊരു ഉദാഹരണം കേൾക്കും - ചിഹ്നങ്ങളും അടയാളങ്ങളും പറയുക + ഫൊണറ്റിക്ക് അക്ഷരങ്ങൾ പറഞ്ഞുതരിക + ഫോണറ്റിക്ക് അക്ഷരങ്ങൾ പറയില്ല + കീബോർഡ് കീകളിൽ നീണ്ട സമയം അമർത്തിക്കൊണ്ട് അക്ഷരങ്ങൾ പ്രകാരം നാവിഗേറ്റുചെയ്യുമ്പോൾ ഫൊണറ്റിക്ക് അക്ഷരങ്ങൾ പറഞ്ഞുതരും + വിരാമചിഹ്നം + വിരാമചിഹ്നവും ചിഹ്നങ്ങളും വായിക്കുന്നില്ല + വിരാമചിഹ്നവും ചിഹ്നങ്ങളും വായിക്കുന്നു വലിയക്ഷരങ്ങൾ ഒന്നും ചെയ്യണ്ട “വലിയക്ഷരം” എന്ന് പറയുക പിച്ച് മാറ്റുക ശബ്‌ദം പ്ലേ ചെയ്യുക ഉപയോഗ സൂചനകൾ പറഞ്ഞുതരിക - ഉള്ളടക്കം വിവരിച്ച ശേഷം, എങ്ങനെ ഉപയോഗിക്കണമെന്ന് നിർദ്ദേശിക്കുക - ലിസ്റ്റ്, ഗ്രിഡ് വിവരങ്ങൾ പറയുക + ഉപയോഗസഹായി ഫോക്കസ് നീക്കുമ്പോൾ ഉപയോഗ സൂചനകൾ പറഞ്ഞുതരില്ല + നാവിഗേഷൻ വേളയിൽ ചെറിയൊരു കാലതാമസത്തിന് ശേഷം ഉപയോഗ സൂചനകൾ പറഞ്ഞുതരും + ലിസ്റ്റ്, ഗ്രിഡ് വിവരങ്ങൾ വായിച്ചുകേൾക്കുക + ലിസ്‌റ്റ്, ഗ്രിഡ് വിവരങ്ങൾ പറഞ്ഞുതരും + ലിസ്‌റ്റ്, ഗ്രിഡ് വിവരങ്ങൾ പറഞ്ഞുതരില്ല ജെസ്ച്ചറുകൾ റീസെറ്റ് ചെയ്യണോ? ഇത് എല്ലാ ജെസ്ച്ചറുകളും അവയുടെ ഡിഫോൾട്ട് പ്രവർത്തനങ്ങളിലേക്ക് റീസെറ്റ് ചെയ്യും.\n\nനിങ്ങൾ വരുത്തിയ എല്ലാ മാറ്റങ്ങളും നഷ്ടപ്പെടും. റീസെറ്റ് ചെയ്യുക വിരൽചലന ക്രമീകരണം റീസെറ്റ് ചെയ്തു. എലമെന്റ് തരം വായിച്ചുകേൾക്കുക - ഫോക്കസ് ചെയ്ത ഇനങ്ങൾക്ക് + ഫോക്കസുചെയ്‌ത ഇനങ്ങൾക്ക് എലമെന്റ് തരം വായിച്ചുകേൾപ്പിക്കുന്നു + ഫോക്കസുചെയ്‌ത ഇനങ്ങൾക്ക് എലമെന്റ് തരം വായിച്ചുകേൾപ്പിക്കില്ല എലമെൻ്റ് ഐഡികൾ പറയുക - അൺലേബൽ ചെയ്ത ബട്ടണുകൾക്ക് - സിസ്റ്റം വിൻഡോകൾ എന്ന് പറയുക - സ്റ്റാറ്റസ് ബാറോ അറിയിപ്പുകളോ ശബ്‌ദ നിയന്ത്രണങ്ങളോ പോലുള്ള മറ്റ് സിസ്റ്റം വിൻഡോകളിലേക്ക് മാറുമ്പോൾ + ഘടക ഐഡികൾ ലേബൽ ചെയ്യാത്ത ബട്ടണുകൾക്കായി സംസാരിക്കില്ല + ഘടക ഐഡികൾ ലേബൽ ചെയ്യാത്ത ബട്ടണുകൾക്കായി സംസാരിക്കും ടച്ച് വഴി അടുത്തറിയൽ നിയന്ത്രണങ്ങൾ സജീവമാക്കാൻ, ഒറ്റത്തവണ ടാപ്പ് ചെയ്യുക ഫോക്കസ് ചെയ്‌തിരിക്കുന്ന ഇനം സജീവമാക്കാൻ, ഒരു തവണ അതിൽ ടാപ്പ് ചെയ്യുക വാചാലത - ചിഹ്നങ്ങളും അടയാളങ്ങളും പറയുക + വിരാമചിഹ്നം ഫോക്കസ് ഇൻഡിക്കേറ്റർ ഇഷ്ടാനുസൃതമാക്കുക ജെസ്ച്ചറുകൾ ഇഷ്‌ടാനുസൃതമാക്കുക ഇഷ്ടാനുസൃത ലേബലുകൾ @@ -203,7 +211,8 @@ പിച്ച് മാറ്റങ്ങൾ ഉപയോഗിക്കുക കീബോർഡ് എക്കോ എലമെന്റ് വിവരണ ക്രമം - കീബോർഡ് ഉപയോഗിച്ച് ഇല്ലാതാക്കിയ അക്ഷരങ്ങൾ ഉയർന്ന പിച്ചിൽ പറയുക + കീബോർഡ് ഉപയോഗിച്ച് ഇല്ലാതാക്കിയ വാചകം ഉയർന്ന പിച്ചിൽ പറയുക + സംഭാഷണത്തിനിടെ വോയ്‌സ് പിച്ച് മാറ്റരുത് ബ്രെയ്‌ലി കീബോർഡ് വൈബ്രേഷൻ ഫീഡ്ബാക്ക് ശബ്ദ ഫീഡ്ബാക്ക് @@ -211,6 +220,7 @@ സംഭാഷണത്തിനിടെ മറ്റ് ഓഡിയോ വോളിയം കുറയ്ക്കുക ശബ്‌ദ ഫീഡ്ബാക്ക് വോളിയം Talkback താൽക്കാലികമായി നിർത്തുകയും കുറുക്കുവഴി പുനരാരംഭിക്കുകയും ചെയ്യുക + സ്‌ക്രീൻ കുറുക്കുവഴി മറയ്ക്കുക ഡെവലപ്പർ ക്രമീകരണങ്ങൾ ലോഗുചെയ്യേണ്ട ഇവന്റുകൾ തിരഞ്ഞെടുക്കുക ഫിൽറ്റർ ഉപയോഗസഹായി ഇവന്റ് ലോഗുചെയ്യൽ @@ -256,7 +266,7 @@ TalkBack മെനു തുറക്കുക ഫീഡ്ബാക്ക് താൽക്കാലികമായി നിർത്തുക സംഭാഷണം തൽക്കാലം നിർത്തുക അല്ലെങ്കിൽ പുനരാരംഭിക്കുക - സംഭാഷണം ഓണാക്കുകയോ ഓഫാക്കുകയോ ചെയ്യുക + TalkBack ശബ്‌ദം ഓണാക്കുക അല്ലെങ്കിൽ ഓഫാക്കുക മുകളിൽ നിന്നും വായിക്കുക അടുത്ത ഇനത്തിൽ നിന്നും വായിക്കുക നോഡ് ട്രീ പ്രിന്റുചെയ്യുക @@ -278,7 +288,6 @@ ഉപയോഗസഹായി കുറുക്കുവഴി അമർത്തിപ്പിടിക്കുക നാവിഗേഷൻ ഫോക്കസ് മുന്നോട്ട് നീക്കുകയോ വായനാ നിയന്ത്രണം താഴേക്ക് ക്രമീകരിക്കുകയോ ചെയ്യുക നാവിഗേഷൻ ഫോക്കസ് പിന്നോട്ട് നീക്കുകയോ വായനാ നിയന്ത്രണം മുകളിലേക്ക് ക്രമീകരിക്കുകയോ ചെയ്യുക - നിലവിൽ തിരഞ്ഞെടുത്തിരിക്കുന്ന പ്രവർത്തനം സജീവമാക്കുക തിരയൽ ഫലം മീഡിയ പ്ലേ ചെയ്യുക/തൽക്കാലം നിർത്തുക എല്ലാ ആപ്പുകളും @@ -323,7 +332,7 @@ വായന പ്രത്യേക ഫീച്ചറുകൾ മറ്റുള്ളവ - പകർത്തൽ, ഒട്ടിക്കൽ, തിരഞ്ഞെടുക്കൽ എന്നിവയും മറ്റും ഉൾപ്പെടെ നിലവിലുള്ള ഇനത്തിന് പ്രവർത്തനങ്ങൾ ഉള്ളപ്പോൾ കാണിക്കുന്നു + നിലവിലെ ഇനത്തിന് ഇഷ്‌ടാനുസൃത പ്രവർത്തനങ്ങൾ ഉണ്ടെങ്കിൽ കാണിക്കുന്നു പകർത്തുക, ഒട്ടിക്കുക, തിരഞ്ഞെടുക്കുക എന്നിവയും മറ്റും. നിങ്ങൾ ഒരു ടെക്സ്റ്റ് ബോക്സ് തിരഞ്ഞെടുക്കുമ്പോൾ കാണിക്കുന്നു. ഫോക്കസ് ചെയ്‌ത ഇനത്തിലെ ലിങ്കുകൾ തുറക്കുക അടുത്ത പേജിലേക്കോ മുമ്പത്തെ പേജിലേക്കോ പോകുക. ഒന്നിലധികം പേജുകളുള്ള ഉള്ളടക്കം വായിക്കുമ്പോൾ കാണിക്കുന്നു. @@ -342,7 +351,6 @@ ടെക്‌സ്റ്റ് ടു സ്‌പീച്ച് ക്രമീകരണം തുറക്കുക TalkBack ശബ്‌ദ ഫീഡ്ബാക്ക് ഓഫാക്കുക എഡിറ്റ് ചെയ്യാനാകില്ല - പ്രവർത്തനങ്ങൾ നടത്തുക ഒരു സമയം ഒരു അക്ഷരം വായിക്കുക ഒരു സമയം ഒരു വാക്ക് വായിക്കുക ഒരു സമയം ഒരു വരി വായിക്കുക @@ -366,7 +374,7 @@ TalkBack സംസാരിക്കുമ്പോൾ പ്ലേ ചെയ്‌തുകൊണ്ടിരിക്കുന്ന മറ്റ് ഓഡിയോയുടെ ശബ്‌ദം കുറയ്‌ക്കുക മുന്നോട്ടോ പിന്നോട്ടോ സ്‌ക്രോൾ ചെയ്യുക ഉപയോഗസഹായി വോളിയം കൂട്ടുകയോ കുറയ്ക്കുകയോ ചെയ്യുക - തിരഞ്ഞെടുത്ത ചിത്രത്തിൽ ഉൾച്ചേർത്ത ടെക്സ്റ്റ് ഉറക്കെ വായിക്കുക + ഈ ചിത്രത്തിന് സ്വയമേവയുള്ള വിവരണം നേടുക താഴേയ്‌ക്ക് താഴേയ്ക്ക് പിന്നീട് വലത്തേയ്ക്ക് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക @@ -409,9 +417,7 @@ 2 വിരലുകൾ ഉപയോഗിച്ച് ഡബിൾ ടാപ്പ് ചെയ്‌ത് പിടിക്കുക 3 വിരലുകൾ ഉപയോഗിച്ച് ഡബിൾ ടാപ്പ് ചെയ്‌ത് പിടിക്കുക 4 വിരലുകൾ ഉപയോഗിച്ച് ഡബിൾ ടാപ്പ് ചെയ്‌ത് പിടിക്കുക - 3 വിരലുകൾ ഉപയോഗിച്ച് ടാപ്പ് ചെയ്‌ത് പിടിക്കുക 2 വിരലുകൾ ഉപയോഗിച്ച് മൂന്ന് തവണ ടാപ്പ് ചെയ്‌ത് പിടിക്കുക - 3 വിരലുകൾ ഉപയോഗിച്ച് മൂന്ന് തവണ ടാപ്പ് ചെയ്‌ത് പിടിക്കുക ക്രമീകരിക്കാൻ \"%1$s\" അല്ലെങ്കിൽ \"%2$s\" ക്രമീകരിക്കാൻ \"%1$s\" അജ്ഞാതമായ വിരൽചലനം @@ -434,9 +440,8 @@ സ്ക്രീൻ ഓണാക്കുമ്പോൾ ലോക്ക് സ്‌ക്രീൻ കാണിക്കുമ്പോൾ അറിയിപ്പിൽ നിന്ന് മാത്രം - ഏതെങ്കിലും കീ തിരഞ്ഞെടുക്കാൻ, വിരൽ അമർത്തിപ്പിടിച്ച ശേഷം ഡബിൾ ടാപ്പ് ചെയ്യുക - അക്ഷര കീ തിരഞ്ഞെടുക്കാൻ, വിരൽ അമർത്തിപ്പിടിച്ച ശേഷം എടുക്കുക. മറ്റ് കീകൾക്ക് ഡബിൾ ടാപ്പ് ചെയ്യുക. - ഏതെങ്കിലും കീ തിരഞ്ഞെടുക്കാൻ, വിരൽ അമർത്തിപ്പിടിച്ച ശേഷം എടുക്കുക + കീ തിരഞ്ഞെടുക്കാൻ, വിരൽ അമർത്തിപ്പിടിച്ച ശേഷം ഡബിൾ ടാപ്പ് ചെയ്യുക + കീ തിരഞ്ഞെടുക്കാൻ, വിരൽ അമർത്തിപ്പിടിച്ച ശേഷം എടുക്കുക പ്രവർത്തനരഹിതമാക്കി വളരെ ലളിതമായത് ലളിതമായത് @@ -486,6 +491,7 @@ ലേബലുകൾ എക്സ്പോർട്ടുചെയ്യുന്നതിനുള്ള അപ്ലിക്കേഷൻ തിരഞ്ഞെടുക്കുക: TalkBack-ന്റെ ഈ പതിപ്പിൽ, സ്ഥിര ഉപയോഗസഹായി സവിശേഷതകളിലെ മാറ്റങ്ങൾ ഉൾപ്പെടുന്നു. ഈ സവിശേഷതകളുമായി ബന്ധപ്പെടുത്തിയ പ്രവർത്തനങ്ങൾ TalkBack ക്രമീകരണങ്ങളിൽ ഇഷ്‌ടാനുസൃതമാക്കാനാവും. \'ടച്ച് വഴി അടുത്തറിയുക\' പ്രവർത്തനക്ഷമമാക്കുമ്പോൾ, ചില പ്രവർത്തനങ്ങൾ നടത്തുന്നതിന് ഇനിപ്പറയുന്ന സവിശേഷതകൾ നിങ്ങൾക്ക് ഉപയോഗിക്കാനാകും.\n\n%1$s വോളിയം കൂട്ടുക, കുറയ്‌ക്കുക കീകൾ ദീർഘനേരം അമർത്തുക + സ്ക്രീൻ മറയ്ക്കാനോ കാണിക്കാനോ രണ്ട് വോളിയം കീകളും മൂന്ന് തവണ പെട്ടെന്ന് അമർത്തുക സ്ക്രീൻ മറയ്ക്കണോ? നിങ്ങളുടെ സ്വകാര്യത മെച്ചപ്പെടുത്താൻ ഇത് ഡിസ്പ്ലേ ഓഫാക്കുന്നതിനാൽ പൊതുസ്ഥലങ്ങളിൽ നിങ്ങളുടെ സ്ക്രീൻ മറ്റുള്ളവർക്ക് ദൃശ്യമാകില്ല TalkBack-ന്റെ ഈ പതിപ്പിൽ, ഡിഫോൾട്ട് ഉപയോഗസഹായി വിരൽചലനങ്ങളിലെ മാറ്റങ്ങൾ ഉൾപ്പെടുന്നു.\n\nസ്ക്രീനിലെ ആദ്യ ഇനത്തിലേക്ക് നീക്കുന്നതിന് \'മുകളിലേയ്ക്ക്-പിന്നീട്-താഴേക്ക്\' വിരൽചലനം നിങ്ങളെ അനുവദിക്കും, \'താഴേക്ക്-പിന്നീട്-മുകളിലേയ്ക്ക്\' വിരൽചലനം അവസാന ഇനത്തിലേക്ക് നീക്കും.\n\nഇനം ഫോക്കസ് ചെയ്‌ത്, TalkBack സന്ദർഭ മെനുവിൽ നിന്നും ഒരു ഗ്രാനുലാരിറ്റി തിരഞ്ഞെടുക്കുന്നതിലൂടെ ഇപ്പോൾ വായനാ ഗ്രാനുലാരിറ്റി മാറ്റാനാകും.\n\nഈ വിരൽചലനങ്ങൾ നടത്തുന്ന പ്രവർത്തനങ്ങൾ TalkBack ക്രമീകരണത്തിൽ നിങ്ങൾക്ക് മാറ്റാനാകും. @@ -501,9 +507,6 @@ നോഡ് ട്രീ ഡീബഗ്ഗിംഗ് ഓണാക്കണമെന്ന് തീർച്ചയാണോ?\n\nനോഡ് ട്രീ ഡീബഗ്ഗിംഗ്, സ്ക്രീനിന്റെ ഉള്ളടക്കം മറ്റ് അപ്ലിക്കേഷനുകൾ റീഡ് ചെയ്യാനിടയുള്ള നിങ്ങളുടെ ഉപകരണത്തിന്റെ ലോഗുകളിൽ ദൃശ്യമാക്കുന്നു. പ്രകടന സ്ഥിതിവിവരക്കണക്കുകൾ പ്രവർത്തനക്ഷമമാക്കണോ? പ്രകടന സ്ഥിതിവിവരക്കണക്കുകൾ ഓണാക്കാൻ ആഗ്രഹിക്കുന്നുവെന്ന് തീർച്ചയാണോ?\n\nപ്രകടന സ്ഥിതിവിവരക്കണക്കുകൾ ഓണാക്കിയാൽ കൂടുതൽ മെമ്മറിയും ബാറ്ററിയും വിനിയോഗിക്കപ്പെടാം. - വെർബോസ് ലോഗിംഗ് പ്രവർത്തനക്ഷമമാക്കണോ? - ഡീബഗ് ചെയ്യാൻ സഹായിക്കാൻ വെർബോസ് ലോഗിംഗിന് കഴിയുമെങ്കിലും സിസ്‌റ്റം ലോഗ് ബഫറിൽ വ്യക്തിപര വിവരങ്ങൾ ദൃശ്യമാകാൻ അത് കാരണമാകും.\n\n വെർബോസ് ലോഗിംഗ് പ്രവർത്തനക്ഷമമാക്കണോ? - ഉവ്വ്, വെർബോസ് ലോഗിംഗ് പ്രവർത്തനക്ഷമമാക്കുക ഫോൺ ആക്‌സസ് അനുവദിക്കണോ? നിങ്ങൾ കോളിലായിരിക്കുമ്പോൾ അറിയിപ്പുകൾ കുറയ്‌ക്കാൻ TalkBack-നെ ഇത് സഹായിക്കുന്നു തുടരുക @@ -557,11 +560,9 @@ ഉപയോഗസഹായി വോളിയം സ്ലൈഡർ ക്രമീകരിക്കുക മൂല്യം ക്രമീകരിക്കുക - പ്രവർത്തനങ്ങൾ പാസ്‌വേഡുകൾ പറയുക പാസ്‌വേഡുകൾ എപ്പോഴും പറയും ശബ്‌ദവും വൈബ്രേഷനും - ശബ്‌ദം പകർത്തി, %1$s അവസാനിപ്പിക്കുക തിരയൽ അടയ്‌ക്കുക @@ -596,15 +597,13 @@ %2$s ആയി വായിക്കാൻ %1$s ഇത് ഉപയോഗിക്കാൻ, TalkBack ക്രമീകരണത്തിൽ പോയി \'%1$s\' എന്നതിനായി ഒരു വിരൽചലനം ചേർക്കുക ബ്രെയ്‌ലി കീബോർഡ് ഓണല്ല. TalkBack ക്രമീകരണത്തിൽ പോയി ബ്രെയ്‌ലി കീബോർഡ് ക്രമീകരിച്ച ശേഷം ശ്രമിക്കൂ. - നിർദ്ദേശങ്ങൾ ലഭ്യമാണ് - നിർദ്ദേശങ്ങൾ ലഭ്യമാണ്. ആക്‌സസ് ചെയ്യാൻ, %1$s %2$d പേജുകളിൽ %1$d-ാമത്തേത് മുമ്പത്തേത് അടുത്തത് അടയ്ക്കുക പൂർത്തിയാക്കുക മുകളിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക - TalkBack-ലെ പുതിയ ഫീച്ചറുകൾ + TalkBack-ലെ പുതിയ ഫീച്ചറുകൾ ട്യൂട്ടോറിയൽ അടയ്‌ക്കണോ? TalkBack ക്രമീകരണത്തിൽ ഏത് സമയത്തും നിങ്ങൾക്ക് ഇതിലേക്ക് മടങ്ങിയെത്താനാകും. ട്യൂട്ടോറിയലിൽ തുടരുക @@ -648,14 +647,6 @@ പുതിയ വിരൽചലനങ്ങൾ ഉപയോഗിച്ച് TalkBack വേഗത്തിൽ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് മനസ്സിലാക്കാൻ ടാപ്പ് ചെയ്യുക. നോട് ട്രീ, ലോഗുകളിൽ അച്ചടിച്ചു. അടുത്തിടെ നിറവേറ്റിയ ജെസ്‌റ്ററുകൾ ഇത്, ഏത് ജെസ്‌റ്ററാണ് തെറ്റ്, എന്താണ് പ്രതീക്ഷിച്ചത് എന്ന് റിപ്പോർട്ട് ചെയ്യുക. - ലളിതമാക്കിയ വോളിയം നിയന്ത്രണങ്ങൾ, പെട്ടെന്നുള്ള ആക്ഷൻ നിയന്ത്രണങ്ങൾ എന്നിവയും മറ്റും നിങ്ങൾക്ക് ലഭിക്കും.\n\nപ്രധാന അപ്ഡേറ്റുകളെയും മാറ്റങ്ങളെയും കുറിച്ച് അടുത്ത ഏതാനും സ്ക്രീനുകളിൽ നിന്ന് നിങ്ങൾക്ക് മനസ്സിലാക്കാം. ഇതിന് 5 മിനിറ്റ് എടുക്കും.\n\nഈ വിവരങ്ങൾ TalkBack ക്രമീകരണത്തിൽ ഏത് സമയത്തും നിങ്ങൾക്ക് അവലോകനം ചെയ്യാം. - വോളിയം നിയന്ത്രണത്തിലെ മാറ്റങ്ങൾ - വോളിയം നിയന്ത്രണം മെച്ചപ്പെടുത്താൻ, ടെക്സ്റ്റ് കഴ്‌സറുകളോ സ്ലൈഡറുകളോ ഇനി വോളിയം കീകൾ ഉപയോഗിക്കുന്നില്ല.\n\nസ്ലൈഡറിന്റെ സ്ഥാനം മാറ്റുന്നതിന്, മുകളിലേക്കോ താഴേക്കോ സ്വൈപ്പ് ചെയ്യുക.\n\nടെക്‌സ്റ്റ് കഴ്‌സറിന്റെ സ്ഥാനം മാറ്റുന്നതിന്, ടെക്സ്റ്റ് ബോക്സിൽ മുകളിലേക്കോ താഴേക്കോ സ്വൈപ്പ് ചെയ്യുക. ബ്രെയ്‌ലി കീബോർഡ് വായനാ നിയന്ത്രണങ്ങളിലും ഇത് പ്രവർത്തിക്കും. - ചിത്രങ്ങളിലെ ടെക്സ്റ്റ് - ചിത്രങ്ങളിലെ ടെക്സ്റ്റിനെ കുറിച്ചുള്ള കൂടുതൽ വിശദാംശങ്ങൾ സ്വയമേവയോ നിങ്ങൾക്ക് ആവശ്യമുള്ളപ്പോഴോ നേടാൻ കഴിയും.\n\nലേബൽ ഇല്ലാത്ത ചിത്രങ്ങൾക്ക്: ദൃശ്യമാകുന്ന ടെക്സ്റ്റ് TalkBack സ്വയമേവ വായിക്കും.\n\nഎല്ലാ ചിത്രങ്ങൾക്കും: TalkBack മെനു തുറന്ന് \"ചിത്രത്തിലെ ടെക്സ്റ്റ് വിശദീകരിക്കുക\" തിരഞ്ഞെടുക്കുക.\n\nചിത്രങ്ങൾ നിങ്ങളുടെ ഉപകരണത്തിൽ തന്നെ തുടരും, ഒരിക്കലും അവ Google-ലേക്ക് അയയ്ക്കുന്നില്ല. ഇന്റർനെറ്റ് കണക്ഷൻ ഇല്ലാതെ തന്നെ നിങ്ങൾക്ക് ഈ രണ്ട് ഫീച്ചറുകളും ഉപയോഗിക്കാം എന്നതാണ് ഇതിനർത്ഥം. - വിൻഡോ നാവിഗേഷൻ - അറിയിപ്പ് ബാർ, പ്രധാന ഉള്ളടക്കം, കീബോർഡ് പോലുള്ള സ്ക്രീനിലെ വിവിധ വിഭാഗങ്ങൾക്കിടയിൽ നിങ്ങൾക്ക് മാറാം.\n\nവിൻഡോ നാവിഗേഷൻ ഉപയോഗിക്കാൻ 4 വിരലുകൾ ഉപയോഗിച്ച് താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക. - അറിയിപ്പ് ബാർ, പ്രധാന ഉള്ളടക്കം, കീബോർഡ് പോലുള്ള സ്ക്രീനിലെ വിവിധ വിഭാഗങ്ങൾക്കിടയിൽ നിങ്ങൾക്ക് മാറാം.\n\nവിൻഡോ നാവിഗേഷൻ ഉപയോഗിക്കാൻ താഴേക്ക് തുടർന്ന് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക. നിങ്ങൾ വിൻഡോ നാവിഗേഷൻ തിരഞ്ഞെടുക്കുന്നത് വരെ തുടരുക. വിൻഡോയിലേക്ക് നാവിഗേറ്റ് ചെയ്യാൻ, താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക. ട്യൂട്ടോറിയൽ TalkBack-ലേക്ക് സ്വാഗതം സ്‌ക്രീൻ കാണാൻ ബുദ്ധിമുട്ട് നേരിടുന്ന സാഹചര്യങ്ങൾക്കോ ആളുകൾക്കോ വേണ്ടി സജ്ജീകരിച്ച സ്‌ക്രീൻ റീഡറാണ് TalkBack. സ്‌ക്രീൻ നോക്കാതെ തന്നെ ഉപകരണം ഉപയോഗിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന സംഭാഷണ ഫീഡ്‌ബാക്ക് ഇത് നൽകുന്നു.\n\nകുറച്ച് സെക്കൻഡുകൾ രണ്ട് വോളിയം കീകളും പിടിക്കുന്നതിലൂടെ നിങ്ങൾക്ക് TalkBack ഓണാക്കാനോ ഓഫാക്കാനോ കഴിയും.\n\nTalkBack ഓണാകുമ്പോൾ സ്ക്രീനിലെ ഫോക്കസ് ചെയ്ത ഇനം ഉറക്കെ വായിക്കപ്പെടും.\n\nവലത്തേക്ക് സ്വെെപ്പ് ചെയ്‌താൽ അടുത്ത ഇനത്തിലേക്ക് നീങ്ങും, ഇടത്തേക്ക് സ്വെെപ്പ് ചെയ്‌താൽ മുമ്പത്തെ ഇനത്തിലേക്ക് നീങ്ങും.\n\nഅടുത്ത ബട്ടൺ കണ്ടെത്താൻ ഇപ്പോൾ സ്വെെപ്പ് ചെയ്യൂ. @@ -698,14 +689,14 @@ കീബോർഡിലുടനീളം നിങ്ങളുടെ വിരൽ നീക്കുക. നിങ്ങൾക്ക് ടൈപ്പ് ചെയ്യേണ്ട അക്ഷരം കേൾക്കുമ്പോൾ കീബോർഡിൽ നിന്ന് വിരലെടുക്കുക.\n\nചുവടെയുള്ള ടെക്സ്റ്റ് ബോക്സ് സജീവമാക്കി നിങ്ങളുടെ പേര് ടൈപ്പ് ചെയ്ത് നോക്കുക. ബ്രെയ്‌ലി കീബോർഡ് ഉപയോഗിച്ചും നിങ്ങൾക്ക് ടൈപ്പ് ചെയ്യാം. ഇത് TalkBack ക്രമീകരണത്തിൽ കണ്ടെത്തുക. കഴ്‌സർ നീക്കൽ - ടെക്സ്റ്റ് ബോക്സ് സജീവമാക്കി കഴിഞ്ഞാൽ, മുകളിലേക്കോ താഴേക്കോ സ്വൈപ്പ് ചെയ്ത് അക്ഷരങ്ങൾക്കിടയിലൂടെ കഴ്‌സർ നീക്കാം.\n\nചുവടെയുള്ള ടെക്സ്റ്റ് ബോക്സിൽ ഇത് പരീക്ഷിക്കുക. + ടെക്സ്റ്റ് ബോക്സ് സജീവമാക്കി കഴിഞ്ഞാൽ, വോളിയം കീകൾ മുകളിലേക്കോ താഴേക്കോ അമർത്തി അക്ഷരങ്ങൾക്കിടയിലൂടെ നിങ്ങൾക്ക് കഴ്‌സർ നീക്കാം.\n\nചുവടെയുള്ള ടെക്സ്റ്റ് ബോക്സിൽ ഇത് പരീക്ഷിക്കുക. TalkBack-ലേക്ക് സ്വാഗതം ടെക്സ്റ്റ് തിരഞ്ഞെടുക്കൽ ഒരു ടെക്സ്റ്റ് ബോക്‌സിൽ, നിങ്ങൾക്ക് തിരഞ്ഞെടുക്കേണ്ട ടെക്‌സ്‌റ്റിന്റെ തുടക്കത്തിലേക്ക് കഴ്‌സർ നീക്കുക.\n\nതിരഞ്ഞെടുക്കൽ മോഡ് ആരംഭിക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് ഡബിൾ ടാപ്പ് ചെയ്ത് പിടിക്കുക. തുടർന്ന് ടെക്സ്റ്റിന്റെ അവസാന ഭാഗത്തേക്ക് കഴ്‌സർ നീക്കുക. തിരഞ്ഞെടുക്കൽ മോഡ് അവസാനിപ്പിക്കാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് ഡബിൾ ടാപ്പ് ചെയ്ത് പിടിക്കുക.\n\nചുവടെയുള്ള ടെക്സ്റ്റ് ബോക്സിൽ \"സ്വാഗതം\" എന്ന വാക്ക് തിരഞ്ഞെടുക്കാൻ ശ്രമിക്കുക. - ഒരു ടെക്സ്റ്റ് ബോക്സിൽ, നിങ്ങൾക്ക് തിരഞ്ഞെടുക്കേണ്ട ടെക്സ്റ്റിന്റെ തുടക്കത്തിലേക്ക് കഴ്‌സർ നീക്കുക.\n\nTalkBack മെനു തുറക്കാൻ താഴേക്കും തുടർന്ന് വലത്തേക്കും സ്വൈപ്പ് ചെയ്യുക. പ്രവർത്തനങ്ങളിൽ ഡബിൾ ടാപ്പ് ചെയ്‌ത ശേഷം തിരഞ്ഞെടുക്കൽ മോഡ് ആരംഭിക്കുക. ടെക്സ്റ്റിന്റെ അവസാനഭാഗത്തേക്ക് കഴ്‌സർ നീക്കുക.\n\nതിരഞ്ഞെടുക്കൽ മോഡ് അവസാനിപ്പിക്കാൻ, വീണ്ടും TalkBack മെനു തുറന്ന് പ്രവർത്തനങ്ങളിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക.\n\nചുവടെയുള്ള ടെക്സ്റ്റ് ബോക്സിൽ \"സ്വാഗതം\" എന്ന വാക്ക് തിരഞ്ഞെടുക്കാൻ ശ്രമിക്കുക. + ഒരു ടെക്സ്റ്റ് ബോക്‌സിൽ, നിങ്ങൾക്ക് തിരഞ്ഞെടുക്കേണ്ട ടെക്‌സ്‌റ്റിന്റെ തുടക്കത്തിലേക്ക് കഴ്‌സർ നീക്കുക.\n\nTalkBack മെനു തുറക്കാൻ താഴേക്കും തുടർന്ന് വലത്തേക്കും സ്വൈപ്പ് ചെയ്യുക. എഡിറ്റ് ചെയ്യാനുള്ള ഓപ്ഷനുകളിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക, തുടർന്ന് തിരഞ്ഞെടുക്കൽ മോഡ് ആരംഭിക്കുക. ടെക്സ്റ്റിന്റെ അവസാനഭാഗത്തേക്ക് കഴ്‌സർ നീക്കുക.\n\nവീണ്ടും TalkBack മെനു തുറക്കുക, തുടർന്ന് തിരഞ്ഞെടുക്കൽ മോഡ് അവസാനിപ്പിക്കാൻ എഡിറ്റ് ചെയ്യാനുള്ള ഓപ്ഷനുകളിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക.\n\nചുവടെയുള്ള ടെക്സ്റ്റ് ബോക്സിൽ \"സ്വാഗതം\" എന്ന വാക്ക് തിരഞ്ഞെടുക്കാൻ ശ്രമിക്കുക. പകർത്തുക, മുറിക്കുക, ഒട്ടിക്കുക എന്നിവ - ടെക്‌സ്‌റ്റ് തിരഞ്ഞെടുത്ത് കഴിഞ്ഞ്, പ്രവർത്തനങ്ങളിൽ ഡബിൾ ടാപ്പ് ചെയ്‌ത ശേഷം പകർത്തുക.\n\nചുവടെയുള്ള ടെക്‌സ്‌റ്റ് ബോക്‌സിൽ ഒരു വാക്ക് പകർത്താൻ ശ്രമിക്കുക. - ടെക്‌സ്‌റ്റ് മുറിക്കാനോ ഒട്ടിക്കാനോ, TalkBack മെനു തുറന്ന ശേഷം പ്രവർത്തനങ്ങളിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക.\n\nടെക്‌സ്‌റ്റ് ഒട്ടിക്കാൻ, 3 വിരലുകൾ ഉപയോഗിച്ച് മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക.\n\nചുവടെയുള്ള ടെക്‌സ്‌റ്റ് ബോക്‌സിൽ ഒരു വാക്ക് ഒട്ടിക്കാൻ ശ്രമിക്കുക. + ടെക്സ്റ്റ് തിരഞ്ഞെടുത്തതിന് ശേഷം, 3 വിരലുകൾ ഉപയോഗിച്ച് ഡബിൾ ടാപ്പ് ചെയ്ത് ഇത് പകർത്തുക.\n\nചുവടെയുള്ള ടെക്സ്റ്റ് ബോക്സിൽ ഒരു വാക്ക് പകർത്താൻ ശ്രമിക്കുക. + ടെക്സ്റ്റ് മുറിക്കാൻ, 3 വിരലുകൾ ഉപയോഗിച്ച് ഡബിൾ ടാപ്പ് ചെയ്ത് പിടിക്കുക.\n\nടെക്സ്റ്റ് ഒട്ടിക്കാൻ, 3 വിരലുകൾ ഉപയോഗിച്ച് മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക.\n\nചുവടെയുള്ള ടെക്സ്റ്റ് ബോക്സിൽ ഒരു വാക്ക് ഒട്ടിക്കാൻ ശ്രമിക്കുക. ടെക്സ്റ്റ് തിരഞ്ഞെടുത്തതിന് ശേഷം, നിങ്ങൾക്ക് ഇത് TalkBack മെനുവിൽ പകർത്താം. TalkBack മെനു തുറക്കാൻ താഴേക്കും തുടർന്ന് വലത്തേക്കും സ്വൈപ്പ് ചെയ്യുക. എഡിറ്റ് ചെയ്യാനുള്ള ഓപ്ഷനുകളിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക, തുടർന്ന് പകർത്തുക.\n\nചുവടെയുള്ള ടെക്സ്റ്റ് ബോക്സിലെ ഒരു വാക്ക് പകർത്താൻ ശ്രമിക്കുക. ടെക്സ്റ്റ് മുറിക്കാനോ ഒട്ടിക്കാനോ, TalkBack മെനു തുറന്ന് എഡിറ്റ് ചെയ്യാനുള്ള ഓപ്ഷനുകളിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക.\n\nചുവടെയുള്ള ടെക്സ്റ്റ് ബോക്സിൽ ഒരു വാക്ക് ഒട്ടിക്കാൻ ശ്രമിക്കുക. ടെക്സ്റ്റ് ഇവിടെ ഒട്ടിക്കുക @@ -748,7 +739,6 @@ ഇനങ്ങൾക്കിടയിൽ നീക്കാൻ വലത്തോട്ടോ ഇടത്തോട്ടോ സ്വെെപ്പ് ചെയ്യുക ഒരു ഇനം സജീവമാക്കാൻ ഡബിൾ ടാപ്പ് ചെയ്യുക സ്‌ക്രോൾ ചെയ്യാൻ 2 വിരലുകൾ ഉപയോഗിച്ച് വലിച്ചിടുക - ഫോൺ കണക്‌റ്റ് ചെയ്‌തിട്ടുണ്ടെന്ന് പരിശോധിക്കുക. കനമുള്ള ബോർഡറുകൾ നിറം ഡിഫോൾട്ട് @@ -760,12 +750,6 @@ ഗ്രേ സർവേ അവസാനിച്ചു ടെക്‌സ്റ്റ്: %1$s - ചിത്രത്തിലെ ടെക്സ്റ്റ് വിവരിക്കുക - തിരിച്ചറിഞ്ഞ ഐക്കൺ: %1$s - പ്രവർത്തനം പിന്തുണയ്‌ക്കുന്നില്ല. - പ്രവർത്തനമൊന്നും തിരഞ്ഞെടുത്തിട്ടില്ല. - പിന്തുണയ്ക്കുന്ന പ്രവർത്തനം തിരഞ്ഞെടുക്കുക. - പ്രവർത്തനങ്ങളൊന്നുമില്ല. - പ്രവർത്തനങ്ങളുടെ ക്രമീകരണം പ്രവർത്തനക്ഷമമാക്കിയിട്ടില്ല. - ടെക്സ്റ്റ് കണ്ടെത്തിയില്ല + ചിത്രം വിവരിക്കുക + പ്രവചിച്ച ഐക്കൺ: %1$s diff --git a/talkback/src/main/res/values-mn/strings.xml b/talkback/src/main/res/values-mn/strings.xml index ba2f16b4b..b4c97f454 100644 --- a/talkback/src/main/res/values-mn/strings.xml +++ b/talkback/src/main/res/values-mn/strings.xml @@ -7,7 +7,6 @@ Бичвэрийг ярианд хувиргах тохиргоо Хэл Ярианы хэл - Үйлдлүүд Системийн үйлдлүүд Хувилбар %1$s Тусгай шошгуудыг удирдах @@ -31,37 +30,46 @@ Төхөөрөмж нээгдсэн. Аудио Дууны түвшин - Дэлгэц унтраалттай үед мэдэгдлийг унших - Жагсаалтын зүйлийн дугаарыг үргэлж унших - Бүх гүйлгэх аргын тоог унших + Дэлгэц унтарвал ярина + Дэлгэц унтарсан үед мэдэгдлүүдийг уншина is off + Дэлгэц унтарсан үед ярих боломжгүй + Дэлгэц дээрх зүйлсийн жагсаалтын тоог чангаар унших + Зөвхөн зангаагаар гүйлгэх үед чангаар унших + Байнга чангаар уншдаг Яриаг зогсоохын тулд зай мэдрэгчийг халхална уу - Жишээтэй үсгийг унших - Та гарын товч сонгох эсвэл тэмдэгтээр шилжих үедээ \"h, hotel\" гэх мэтээр үсэг бүрийн хамт жишээ сонсоно - Цэг, таслал болон тэмдэгтийг унших + Авиа зүйн үсгийг хэлэх + Авиа зүйн үсгийг хэлэхгүй + Компьютерийн гарыг удаан дарах эсвэл тэмдэгт хооронд шилжихэд авиа зүйн үсгийг хэлнэ + Цэг, таслал + Цэг, таслал болон тэмдгийг уншихгүй + Цэг, таслал болон тэмдгийг уншина Том үсэг Юу ч бүү хий \"Том\" гэж хэлнэ үү Ярианы өнгийг өөрчлөх Дуу тоглуулах Хэрэглээний сануулгыг хэлэх - Контентыг тайлбарласны дараа хэрхэн ашиглахыг санал болгоно - Жагсаалт ба хүснэгтийн мэдээллийг унших + Хандалтын фокусыг өөрчлөхөд хэрэглээний зааврыг хэлэхгүй + Шилжүүлэх явцад түр хугацаанд саатсаны дараа хэрэглээний зааврыг хэлнэ + Жагсаалт, сүлжээний мэдээллийг хэлэх + Жагсаалт, сүлжээний мэдээллийг хэлнэ + Жагсаалт, сүлжээний мэдээллийг хэлэхгүй Зангааг шинэчлэх үү? Энэ нь бүх зангааг өгөгдмөл үйлдлүүд рүү нь шинэчилнэ.\n\nТа хийсэн аливаа өөрчлөлтүүдээ алдана. Шинэчлэх Зангааны тохиргоог шинэчиллээ. Элементийн төрлийг хэлэх - Сонгосон зүйлсэд + Гол зүйлсийн элементийн төрлийг хэлнэ + Гол зүйлсийн элементийн төрлийг хэлэхгүй Элементийн ID-г хэлэх - Шошголоогүй товчлуурт - Системийн цонхыг чангаар унших - Таныг статус самбар, мэдэгдэл эсвэл дууны түвшний хяналт зэрэг системийн бусад цонх руу сэлгэх үед + Шошголоогүй товчлуурын элемент ID-г хэлэхгүй + Шошголоогүй товчлуурын элемент ID-г хэлнэ Хүрэлтээр сонсох Хяналт Идэвхжүүлэхийн тулд нэг удаа товшино уу Идэвхжүүлэхийн тулд сонгосон зүйл дээр нэг удаа товшино уу Нуршилт - Цэг, таслал болон тэмдэгтийг унших + Цэг, таслал Фокусын заалтыг өөрчлөх Зангааг өөрчлөх Захиалгат шошго @@ -203,7 +211,8 @@ Хэмжээний өөрчлөлтийг ашиглах Гарын чимээ Элементийн тайлбарын дараалал - Устгасан үсгийг илүү дээд өнгөтэй дуу хоолойгоор уншина + Гарын устгасан текстийг чанга өнгөөо унших + Дууны хэмжээгээ өөрчлөхгүйгээр ярина Брайл гар Чичирхийллийн өгөгдөл Дууны өгөгдөл @@ -211,6 +220,7 @@ Ярьж байхдаа бусад аудионы дууны түвшнийг багасгах Дууны өгөгдлийн түвшин Talkback-г түр зогсоох, үргэлжлүүлэх түлхүүрийн товчлол + Дэлгэцийн товчлолыг нуух Хөгжүүлэгчийн тохиргоо Нэвтрэх арга хэмжээг сонгох Хандалтын үйл ажиллагааны нэвтрэлтийг шүүх @@ -256,7 +266,7 @@ TalkBack цэсийг нээх Өгөгдөл түр зогсоох Яриаг түр зогсоох эсвэл үргэлжлүүлэх - Яриаг асаах эсвэл унтраах + TalkBack-н дуу чимээг асаах эсвэл унтраах Дээрээс унших Дараагийнхаас унших Зангилаа модыг хэвлэх @@ -278,7 +288,6 @@ Хандалтын товчлолыг барих Навигацын сонголтыг урагш зөөх эсвэл унших хяналтыг доош тохируулна уу Навигацын сонголтыг арагш зөөх эсвэл унших хяналтыг дээш тохируулна уу - Одоогоор сонгосон үйлдлийг идэвхжүүлэх Хайлтын илэрц Медиаг тоглуулах эсвэл түр зогсоох Бүх апп @@ -323,7 +332,7 @@ Унших Тусгай онцлог Бусад - Хуулах, буулгах, сонгох болон бусад үйлдлийг оруулаад одоогийн зүйлд үйлдэл байгаа үед харуулна + Одоогийн зүйлд захиалгат үйлдэл байгаа тохиолдолд харуулдаг Хуулах, буулгах, сонгох мөн илүү ихийг хийнэ үү. Таныг текстийн хайрцгийг сонгох үед харуулна. Сонгосон зүйл доторх холбооснуудыг нээнэ үү Дараагийн эсвэл өмнөх хуудас руу очно уу. Таныг олон хуудастай контент уншиж байх үед харуулна. @@ -342,7 +351,6 @@ Бичвэрийг ярианд хувиргах тохиргоог нээнэ үү TalkBack-н дуу хоолойн санал хүсэлтийг унтраана уу Засах боломжгүй - Үйлдлүүдийг гүйцэтгэнэ үү Нэг удаад нэг тэмдэгт уншина уу Нэг удаад нэг үг уншина уу Нэг удаад нэг мөр уншина уу @@ -365,7 +373,7 @@ TalkBack ярих үед тоглуулж буй бусад аудионы дууны түвшнийг багасгана уу Урагш эсвэл арагш гүйлгэх Хандалтын дууны түвшнийг өсгөх эсвэл бууруулах - Сонгосон зурагт оруулсан текстийг чангаар унших + Энэ зургийн автомат тайлбарыг авах доош доош дараа нь баруун Дээш нь шудрах @@ -408,9 +416,7 @@ 2 хуруугаар хоёр товшоод удаан дарах 3 хуруугаар хоёр товшоод удаан дарах 4 хуруугаар хоёр товшоод удаан дарах - 3 хуруугаараа товшоод удаан дарах 2 хуруугаараа гурав товшоод удаан дарах - 3 хуруугаараа гурав товшоод удаан дарах Тохируулахын тулд \"%1$s\" эсвэл %2$s\" Тохируулахын тулд \"%1$s\" Үл мэдэгдэх зангаа @@ -433,9 +439,8 @@ Дэлгэц асахад Дэлгэц түгжигдэх үед Зөвхөн мэдэгдлээс - Дурын товчлуурыг сонгохын тулд удаан дараад дараа нь хоёр товшино уу - Үсгийн товчлуурыг сонгохын тулд удаан дараад дараа нь хуруугаа өргөнө үү. Бусад товчлуурыг үзэхийн тулд хоёр товшино уу. - Сонгох дурын товчлуурыг удаан дараад хуруугаа өргөнө үү + Товчлуур сонгохыг удаан дараад дараа нь хоёр товшино уу + Сонгох товчлуурыг удаан дараад хуруугаа өргөнө үү Идэвхгүйжүүлсэн Маш сул Гэрэл @@ -485,6 +490,7 @@ Шошго экспортлох апп сонгох: TalkBack-н энэ хувилбарт үндсэн хандалтын дохионууд өөрчлөгдсөн. Эдгээр дохиотой холбогдсон үйлдлүүдийг TalkBack тохиргооноос тохируулах боломжтой. Хүрэлтээр сонсох идэвхжсэн үед та дараах дохионуудыг ашиглан тодорхой үйлдлийг гүйцэтгэх боломжтой.\n\n%1$s Дууны дээш, доош товчлуурыг удаан дар + Дэлгэцийг нуух эсвэл харуулахын тулд дууны түвшний хоёр товчийг гурван удаа хурдан дарна уу Дэлгэцийг нуух уу? Энэ нь нууцлалыг сайжруулахын тулд дэлгэцийг унтраах бөгөөд ингэснээр таны дэлгэц олон нийтийн газарт бусдад харагдахгүй TalkBack-н энэ хувилбарт үндсэн хандалтын зангаанд оруулсан өөрчлөлтүүд багтсан.\n\nДээш, доош зангаагаар дэлгэцийн эхний зүйл рүү шилжих бөгөөд доош, дээш зангаагаар сүүлийн зүйл рүү шилжинэ.\n\nУнших масштабыг одоо тухайн зүйлийг сонгосны дараа talkback-н хам сэдэв цэснээс масштабыг сонгох замаар өөрчилж болно.\n\nТа эдгээр зангаагаар гүйцэтгэх үйлдлүүдийг TalkBack-н Тохиргоонд өөрчилж болно. @@ -500,9 +506,6 @@ Та зангилаа модон дебаг-г идэвхжүүлэхдээ итгэлтэй байна уу?\n\nЗангилаа модон дебаг нь таны дэлгэцийн агуулгыг таны төхөөрөмжийн лог-т нээлттэй болгосноор өөр аппликейшнүүдэд унших боломж олгоно. Гүйцэтгэлийн статистикийг идэвхжүүлэх үү? Гүйцэтгэлийн статистикийг асаах уу?\n\nГүйцэтгэлийн статистик нь санах ой, цэнэг зарцуулалтыг нэмэгдүүлнэ. - Дэлгэрэнгүй логийг идэвхжүүлэх үү? - Дэлгэрэнгүй лог нь дебаг хийхэд туслах боломжтой хэдий ч энэ нь системийн нэвтрэх буферт хувийн мэдээллийг гарч ирэхэд хүргэж болзошгүй.\n\n Та дэлгэрэнгүй логийг идэвхжүүлэхийг хүсэж байна уу? - Тийм, дэлгэрэнгүй логийг идэвхжүүлэх Утасны хандалтыг зөвшөөрөх үү? Тaныг утсаар ярьж байх үед энэ нь TalkBack-д мэдэгдлийг багасгахад тусална Үргэлжлүүлэх @@ -556,11 +559,9 @@ Хандалтын дууны түвшин Гулсуулагчийг тохируулах Утгыг тохируулах - Үйлдлүүд Нууц үгийг хэлэх Нууц үгийг тогтмол хэлнэ Хонхны ая болон чичиргээ - Дуу хуулсан, %1$s Хаах Хайлтыг хаах @@ -595,15 +596,13 @@ %2$s-р уншихын тулд %1$s Үүнийг ашиглахын тулд TalkBack-н тохиргоо руу очоод, \"%1$s\"-н зангаа нэмнэ үү Брайл гарыг асаагаагүй байна. TalkBack тохиргоо руу очиж, Брайл гарыг тохируулаад дахин оролдоно уу. - Зөвлөмж боломжтой байна - Зөвлөмж боломжтой байна. Хандахын тулд %1$s %2$d-н %1$d-р хуудас Өмнөх Дараах Хаах Дуусгах Дээш шилжих - TalkBack-н шинэ онцлогууд + TalkBack-н шинэ онцлогууд Практик хичээлийг хаах уу? Та үүнд хүссэн үедээ TalkBack-н тохиргооноос буцаж очих боломжтой. Практик хичээлд үлдэх @@ -647,14 +646,6 @@ TalkBack-г шинэ зангаануудаар хэрхэн илүү хурдан ашиглах талаар мэдэж авахын тулд товшино уу. Зангилааны модыг логт хэвлэсэн. Эдгээр нь саяхан гүйцэтгэсэн зангаанууд бөгөөд аль зангаа нь буруу болох хэрхэн гүйцэтгэх ёстойг мэдээлнэ үү. - Та хялбарчилсан дууны түвшний хяналт, илүү шуурхай үйлдлийн хяналт болон бусад зүйлийг авна.\n\nТа дараагийн хэдэн дэлгэцэд гол шинэчлэлт болон өөрчлөлтийн талаар мэдэж авна. Үүнд ойролцоогоор 5 минут зарцуулна.\n\nТа энэ мэдээллийг хүссэн үедээ TalkBack-н тохиргооноос шалгах боломжтой. - Дууны түвшний хяналтын өөрчлөлт - Дууны түвшний хяналтыг сайжруулахын тулд дууны түвшний товч нь текстийн курсор эсвэл гулсуулагчийг хянахаа больсон.\n\nГулсуулагчийн байрлалыг өөрчлөхийн тулд дээш эсвэл доош шударна уу.\n\nТекстийн курсорын байрлалыг өөрчлөхийн тулд текстийн хайрцагт дээш эсвэл доош шударна уу. Энэ нь мөн брайл гарын уншилтын хяналттай ажилладаг. - Зураг дээрх текст - Та зураг дээрх текстийн талаарх дэлгэрэнгүйг автоматаар эсвэл энэ нь шаардлагатай болох үед авах боломжтой.\n\nШошгогүй зургийн хувьд: TalkBack нь гарч ирсэн текстийг автоматаар уншина.\n\nБүх зургийн хувьд: TalkBack-н цэсийг нээж, \"Зураг дээрх текстийг тайлбарлах\"-ыг сонгоно уу.\n\nЗураг нь таны төхөөрөмж дээр үлдэх бөгөөд үүнийг хэзээ ч Google рүү илгээхгүй. Энэ нь та эдгээр онцлогийг хоёуланг нь интернэт холболтгүйгээр ашиглах боломжтой гэсэн үг юм. - Цонхны навигац - Та мэдэгдлийн мөрний хэсэг, үндсэн контент болон гар зэрэг дэлгэцийнхээ өөр өөр хэсэг хооронд сэлгэх боломжтой.\n\nЦонхны навигацыг ашиглахын тулд 4 хуруугаараа доош шударна уу. - Та мэдэгдлийн мөрний хэсэг, үндсэн контент болон гар зэрэг дэлгэцийнхээ өөр өөр хэсэг хооронд сэлгэх боломжтой.\n\nЦонхны навигацыг ашиглахын тулд доош, дараа нь дээш шударна уу. Та цонхны навигацыг сонгох хүртлээ үргэлжлүүлнэ үү. Цонх руу шилжихийн тулд доош шударна уу. Практик хичээл TalkBack-д тавтай морилно уу TalkBack нь дэлгэцийг харахад хүндрэлтэй нөхцөл байдал эсвэл хүмүүст зориулагдсан дэлгэц уншигч юм. Энэ нь танд яриагаар санал өгснөөр та төхөөрөмжөө дэлгэц рүү нь харалгүйгээр ашиглах боломжтой болно.\n\nТа дууны түвшний хоёр товчийг хэдэн секундийн турш зэрэг дарснаар TalkBack-г асаах эсвэл унтраах боломжтой.\n\nTalkBack асаалттай үед дэлгэц дээр сонгосон зүйлийг чангаар уншина.\n\nБаруун тийш шударснаар дараагийн зүйл рүү шилжих бөгөөд харин зүүн тийш шударснаар өмнөх зүйл рүү шилжинэ.\n\nДараагийн товчлуурыг олохын тулд яг одоо шударна уу. @@ -697,14 +688,14 @@ Хуруугаа гар дээр аваачина уу. Бичихийг хүссэн үсгийг сонсох үедээ хуруугаа өргөнө үү.\n\nДоорх текстийн хайрцгийг идэвхжүүлж, нэрээ бичиж үзнэ үү. Та мөн брайл гараар бичих боломжтой. Үүнийг TalkBack-н тохиргооноос хайна уу. Курсорыг зөөх - Та текстийн хайрцгийг идэвхжүүлсэн үедээ дээш эсвэл доош шударснаар курсорыг үсэг хооронд хөдөлгөх боломжтой.\n\nҮүнийг доорх текстийн хайрцагт туршина уу. + Та текстийн хайрцгийг идэвхжүүлсэн үедээ дууны түвшний товчийг дээш эсвэл доош дарж курсорыг үсэг хооронд зөөх боломжтой.\n\nҮүнийг доорх текстийн хайрцагт туршиж үзнэ үү. TalkBack-д тавтай морилно уу Текст сонгох Текстийн хайрцагт курсорыг сонгохыг хүсэж буй текстийнхээ эхлэл рүү зөөнө үү.\n\nСонголтын горимыг эхлүүлэхийн тулд 2 хуруугаараа хоёр товшоод удаан дарна уу. Дараа нь курсорыг текстийн төгсгөлд аваачна уу. Сонголтын горимыг дуусгахын тулд 2 хуруугаараа дахин хоёр товшоод, удаан дарна уу.\n\nДоорх текстийн хайрцгаас \"Тавтай морил\" гэсэн үгийг сонгож үзнэ үү. - Текстийн хайрцагт курсорыг сонгохыг хүсэж буй текстийнхээ эхлэл рүү зөөнө үү.\n\nTalkBack-н цэсийг нээхийн тулд доош, дараа нь баруун тийш шударна уу. Үйлдэл дээр хоёр товшоод, дараа нь сонголтын горимыг эхлүүлнэ үү. Курсорыг текстийн төгсгөл рүү аваачна уу.\n\nСонголтын горимыг дуусгахын тулд TalkBack-н цэсийг дахин нээгээд, дараа нь үйлдэл дээр хоёр товшино уу.\n\nДоорх текстийн хайрцгаас \"Тавтай морил\" гэсэн үгийг сонгож үзнэ үү. + Текстийн хайрцагт курсорыг сонгохыг хүсэж буй текстийнхээ эхлэл рүү зөөнө үү.\n\nTalkBack-н цэсийг нээхийн тулд доош, дараа нь баруун тийш шударна уу. Засах сонголтыг хоёр товшоод, дараа нь сонголтын горимыг эхлүүлнэ үү. Курсорыг текстийн төгсгөл рүү аваачна уу.\n\nСонголтын горимыг дуусгахын тулд TalkBack-н цэсийг дахин нээгээд, дараа нь засах сонголтыг хоёр товшино уу.\n\nДоорх текстийн хайрцгаас \"Тавтай морил\" гэсэн үгийг сонгож үзнэ үү. Хуулах, таслах болон буулгах - Текстийг сонгосны дараа үйлдлүүд дээр хоёр товшоод, дараа нь хуулна уу.\n\nДоорх текстийн хайрцаг дахь үгийг хуулж үзнэ үү. - Текстийг тайрах эсвэл буулгахын тулд TalkBack-н цэсийг нээгээд, үйлдлүүд дээр хоёр товшино уу.\n\nТекстийг буулгахын тулд 3 хуруугаараа гурав товшино уу.\n\nДоорх текстийн хайрцгийн үгийг буулгаж үзнэ үү. + Текстийг сонгосны дараа 3 хуруугаараа үүнийг хоёр товшиж хуулна уу.\n\nДоорх текстийн хайрцгийн үгийг хуулж үзнэ үү. + Текстийг тайрахын тулд 3 хуруугаараа хоёр товшоод, удаан дарна уу.\n\nТекстийг буулгахын тулд 3 хуруугаараа гурав товшино уу.\n\nДоорх текстийн хайрцгийн үгийг буулгаж үзнэ үү Та текстийг сонгосныхоо дараа үүнийг TalkBack-н цэсэнд хуулах боломжтой. TalkBack-н цэсийг нээхийн тулд доош, дараа нь баруун тийш шударна уу. Засах сонголтыг хоёр товшоод дараа нь хуулна уу.\n\nДоорх текстийн хайрцгийн үгийг хуулж үзнэ үү. Текстийг тайрах эсвэл буулгахын тулд TalkBack-н цэсийг нээгээд засах сонголтыг хоёр товшино уу.\n\nДоорх текстийн хайрцгийн үгийг буулгаж үзнэ үү. Текстийг энд буулгана уу @@ -747,7 +738,6 @@ Зүйл хооронд шилжихийн тулд баруун эсвэл зүүн тийш шударна уу Зүйл идэвхжүүлэхийн тулд хоёр товшино уу Гүйлгэхийн тулд 2 хуруугаараа чирнэ үү - Утас холбогдсон эсэхийг шалгана уу. Өргөн хүрээ Өнгө Өгөгдмөл @@ -759,12 +749,6 @@ Саарал Судалгааг хаасан Текст: %1$s - Зураг дээрх текстийг дүрслэх - Илэрсэн дүрс тэмдэг: %1$s - Үйлдлийг дэмждэггүй. - Үйлдэл сонгоогүй. - Дэмжигдсэн үйлдлийг сонгоно уу. - Үйлдлүүд алга. - Үйлдлийн тохиргоог идэвхжүүлээгүй байна. - Текст олдсонгүй + Зургийг тодорхойлох + Таамагласан дүрс тэмдэг: %1$s diff --git a/talkback/src/main/res/values-mr/strings.xml b/talkback/src/main/res/values-mr/strings.xml index f3c315554..af16d48dc 100644 --- a/talkback/src/main/res/values-mr/strings.xml +++ b/talkback/src/main/res/values-mr/strings.xml @@ -7,7 +7,6 @@ टेक्स्ट-टू-स्पीच सेटिंग्ज भाषा बोली भाषा - कृती सिस्टम क्रिया आवृत्ती %1$s कस्टम लेबले व्यवस्थापित करा @@ -31,37 +30,46 @@ डिव्हाइस अनलॉक केले. ऑडिओ उच्चारण व्‍हॉल्‍यूम - स्क्रीन बंद असताना सूचना बोलून सांगा - सूचीमधील आयटमची संख्या नेहमी बोलून सांगा - स्क्रोल करण्याच्या सर्व पद्धतींसाठी संख्या बोलून सांगा + स्क्रीन बंद असते तेव्हा बोला + स्क्रीन बंद असते तेव्हा सूचना बोलल्या जातात + स्क्रीन बंद असते तेव्हा उच्चारण होत नाही + स्क्रीनवरील सूचीबद्ध आयटमची संख्या बोला + फक्त जेश्चरसह स्क्रोल करत असताना बोला + नेहमी बोलले जाणारे स्पीच थांबवण्यासाठी प्रॉक्झिमिटी सेन्सर कव्हर करा - उदाहणांसह अक्षरे बोलून सांगा - तुम्ही कीबोर्डच्या की निवडता किंवा वर्णानुसार नेव्हिगेट करता तेव्हा, तुम्हाला प्रत्येक अक्षरासोबत उदाहरण ऐकू येईल, जसे की, \"एच, हॉटेल\" - विराचिन्हे आणि चिन्हे बोलून सांगा + फोनेटिक अक्षरे बोला + अक्षरे उच्चाराप्रमाणे बोलली जात नाहीत + कीबोर्डवर जास्त वेळ दाबून धरल्यावर आणि वर्ण नेव्हिगेट केल्याने अक्षरे उच्चाराप्रमाणे बोलली जातात + विरामचिन्ह + विरामचिन्ह आणि चिन्हे वाचली जात नाहीत + विरामचिन्ह आणि चिन्हे वाचली जातात कॅपिटल अक्षरे काहीही करू नका “कॅपिटल” म्हणा पिच बदला आवाज प्ले करा वापर सूचना बोला - आशयाचे वर्णन केल्यानंतर, तो कसा वापरावा ते सुचवा - सूची आणि ग्रिडची माहिती बोलून सांगा + प्रवेशयोग्यता फोकस हलवत असताना वापराच्या सूचना बोलून दाखवली जात नाहीत + थोड्या विलंबानंतर, नेव्हिगेशन होताना वापराच्या सूचना बोलल्या जातात + सूची आणि ग्रिड माहिती बोला + सूची आणि ग्रिड माहिती बोलली जाते + सूची आणि ग्रिड माहिती बोलली जात नाही जेश्चर रीसेट करायचे का? यामुळे सर्व जेश्चर त्यांच्या डीफॉल्ट क्रियांमध्ये रीसेट केली जातील.\n\nतुम्ही केलेले कोणतेही बदल गमवाल. रीसेट करा जेश्चर सेटिंग्ज रीसेट केली आहेत. घटक प्रकार बोला - फोकस केलेल्‍या आयटमसाठी + फोकस केलेल्‍या आयटमसाठी घटक प्रकार बोलला जातो + फोकस केलेल्‍या आयटमसाठी घटक प्रकार बोलला जात नाही घटक आयडी म्‍हणा - लेबल न लावलेल्या बटणासाठी - सिस्टीम विंडोबद्दल घोषणा - तुम्ही स्टेटस बार, सूचना किंवा व्हॉल्यूम नियंत्रणे यांसारख्या इतर सिस्टीम विंडोवर स्विच करता तेव्हा + लेबल न केलेल्‍या बटणांसाठी घटक आयडी बोलले जात नाहीत + लेबल न केलेल्‍या बटणांसाठी घटक आयडी बोलले जातात स्‍पर्श करून एक्‍सप्‍लोर करा नियंत्रणे अ‍ॅक्टिव्हेट करण्यासाठी एकदा टॅप करा अ‍ॅक्टिव्हेट करण्यासाठी फोकस केलेल्या आयटमवर एकदा टॅप करा व्हर्बाेसिटी - विराचिन्हे आणि चिन्हे बोलून सांगा + विरामचिन्ह फोकस इंडिकेटर कस्टमाइझ करा जेश्चर कस्टमाइझ करा कस्टम लेबल @@ -203,7 +211,8 @@ पिच बदल वापरा कीबोर्ड इको घटक वर्णन मागणी - हटवलेली अक्षरे मोठ्या आवाजात बोलून सांगा + कीबोर्डद्वारे हटवण्यात आलेला मजकूर हा मोठा पिच असलेल्या आवाजात बोलला जावा + बोलताना व्हॉइस पिच बदलू नका ब्रेल कीबोर्ड व्हायब्रेट अभिप्राय आवाज फीडबॅक @@ -211,6 +220,7 @@ बोलताना अन्य ऑडिओ व्हॉल्‍यूम कमी करा आवाज फीडबॅक व्‍हॉल्‍यूम TalkBack निलंबित आणि शॉर्टकट पुनः सुरू करा + स्क्रीन शॉर्टकट लपवा डेव्हलपर सेटिंग्ज लॉग इन करण्यासाठी इव्हेंट निवडा प्रवेशयोग्यता कार्यक्रम नोंदी फिल्टर करा @@ -256,7 +266,7 @@ TalkBack मेनू उघडा अभिप्रायास विराम द्या स्पीच थांबवा किंवा पुन्हा सुरू करा - स्पीच सुरू किंवा बंद करा + TalkBack चा आवाज सुरू किंवा बंद करा वरून वाचा पुढील आयटमपासून वाचा नोड ट्री मुद्रीत करा @@ -278,7 +288,6 @@ ॲक्सेसिबिलिटी शॉर्टकट धरून ठेवा नेव्हिगेशन फोकस पुढे हलवा किंवा खाली वाचन नियंत्रण अ‍ॅडजस्ट करा नेव्हिगेशन फोकस मागे हलवा किंवा वर वाचन नियंत्रण अ‍ॅडजस्ट करा - सध्या निवडलेली कृती ॲक्टिव्हेट करा शोध परिणाम मीडिया प्ले करा किंवा थांबवा सर्व अ‍ॅप्स @@ -323,7 +332,7 @@ वाचन विशेष वैशिष्ट्ये इतर - हा मेनू सध्याच्या आयटमसाठी कॉपी करणे, पेस्ट करणे, निवडणे आणि आणखी बऱ्याच गोष्टी करणे या कृती अस्तित्वात असताना दिसतो + सध्याच्या आयटमसाठी कस्टम कृती असल्यास दिसते कॉपी करा, पेस्ट करा, निवडा असे बरेच काही करा. तुम्ही मजकूर बॉक्स निवडल्यास दिसते. फोकस केलेल्या आयटममध्ये लिंक उघडा पुढील किंवा मागील पेजवर जा. तुम्ही एकाहून अधिक पेज असलेला आशय वाचत असल्यास दिसते. @@ -342,7 +351,6 @@ टेक्‍स्‍ट टू स्‍पीच सेटिंग्ज उघडा TalkBack व्हॉइस फीडबॅक बंद करा संपादित न करता येण्यासारखे - कृती करा एका वेळी एक वर्ण वाचा एका वेळी एक शब्द वाचा एका वेळी एक ओळ वाचा @@ -365,7 +373,7 @@ TalkBack बोलते तेव्हा इतर ऑडिओचा आवाज कमी करा पुढे किंवा मागे स्क्रोल करा अ‍ॅक्सेसिबिलिटी व्‍हॉल्‍यूम कमी-जास्त करा - निवडलेल्या इमेजमधील एम्बेड केलेला मजकूर वाचा + या इमेजसाठी ऑटोमॅटिक वर्णन मिळवा खाली खाली नंतर उजवीकडे वर स्वाइप करा @@ -408,9 +416,7 @@ दोन बोटांनी टॅप करा आणि धरून ठेवा तीन बोटांनी टॅप करा आणि धरून ठेवा चार बोटांनी टॅप करा आणि धरून ठेवा - तीन बोटांनी टॅप करा आणि धरून ठेवा दोन बोटांनी तीनदा टॅप करणे आणि धरून ठेवणे - तीनदा टॅप करणे आणि तीन बोटांनी धरून ठेवणे अ‍ॅडजस्ट करण्यासाठी \"%1$s\" किंवा %2$s\" अ‍ॅडजस्ट करण्यासाठी \"%1$s\" अज्ञात जेश्चर @@ -434,8 +440,7 @@ लॉक स्क्रीन दर्शविली जाते तेव्हा फक्त सूचनांवरून की निवडण्यासाठी बोट धरून ठेवा, त्यानंतर दोनदा टॅप करा - कोणत्याही अक्षराची की निवडण्यासाठी बोट धरून ठेवा, त्यानंतर ते उचला. इतर कीसाठी दोनदा टॅप करा. - कोणतीही की निवडण्यासाठी बोट धरून ठेवा, त्यानंतर उचला + की निवडण्यासाठी बोट धरून ठेवा, त्यानंतर उचला अक्षम केले खूप हलके हलके @@ -485,6 +490,7 @@ लेबले एक्सपोर्ट करण्‍यासाठी ॲप्लिकेशन निवडा: TalkBack ची ही आवृत्ती डीफॉल्ट प्रवेशयोग्यता जेश्चरवरील बदल समाविष्ट करते. या जेश्चरशी संबंधित क्रिया TalkBack सेटिंग्जमध्ये कस्टमाइझ केल्या जाऊ शकतात. जेव्हा स्पर्श करून एक्सप्लोर करा सक्षम केले जाते, तेव्हा तुम्ही विशिष्ट क्रिया करण्यासाठी खालील जेश्चर वापरू शकता.\n\n%1$s आवाज वाढवा आणि आवाज कमी की दीर्घकाळ दाबा + स्क्रीन लपवण्यासाठी किंवा दाखवण्यासाठी दोन्ही व्हॉल्यूम की तीनदा झटपट दाबा स्क्रीन लपवायची आहे का? हे गोपनीयता सुधारण्यासाठी डिस्प्ले बंद करते जेणेकरून सार्वजनिक ठिकाणी असताना तुमची स्क्रीन इतरांंना दिसणार नाही TalkBack ची ही आवृत्ती डीफॉल्ट अ‍ॅक्सेसिबिलिटी जेश्चरवरील बदल समाविष्ट करते.\n\nआधी वर-मग-खाली होणारे जेश्चर तुम्हाला स्क्रीनवरील प्रथम आयटमवर जाण्यास अनुमती देईल आणि आधी खाली-मग-वर होणारे जेश्चर शेवटच्या आयटमवर जाईल.\n\nवाचन ग्रॅन्युलॅरिटी आता आयटम फोकस करून, त्यानंतर TalkBack कॉंटेक्स्ट मेनूमधून ग्रॅन्युलॅरिटी निवडून बदलली जाऊ शकते.\n\nतुम्ही TalkBack सेटिंग्जमध्ये या जेश्चरने केलेल्या क्रिया बदलू शकता. @@ -500,9 +506,6 @@ तुम्हाला खात्री आहे की तुम्ही नोड ट्री डीबग करणे सुरू करू इच्छित आहात?\n\nनोड ट्री डीबग करणे आपल्या डीव्हाइसच्या लॉगवर आपल्या स्क्रीनचा आशय प्रदर्शित करते, जी अन्य ॲप्लिकेशनद्वारे वाचली जाऊ शकते. कार्यप्रदर्शन आकडेवारी सक्षम करायची? तुम्हाला खात्री आहे की तुम्ही कार्यप्रदर्शन आकडेवारी सुरू करू इच्छिता?\n\nकार्यप्रदर्शन आकडेवारी कदाचित आणखी मेमरी आणि पॉवर खर्च करू शकते. - व्हर्बाेस लॉगिंग सुरू करायचे आहे का? - व्हर्बाेस लॉगिंगमध्ये हे डीबगिंगमध्ये मदत करू शकते, पण त्यामुळे सिस्टीम लॉगच्या बफरमध्ये वैयक्तिक माहिती दिसू शकते.\n\n तुम्हाला व्हर्बाेस लॉगिंग सुरू करायचे आहे का? - होय, व्हर्बाेस लॉगिंग सुरू करा फोन अ‍ॅक्सेस करण्याची अनुमती द्यायची आहे का? तुम्ही कॉलवर असताना हे TalkBack ला सूचना कमी करण्यात मदत करते पुढे सुरू ठेवा @@ -556,11 +559,9 @@ अ‍ॅक्सेसिबिलिटी व्हॉल्यूम स्लायडर अ‍ॅडजस्ट करा मूल्य अ‍ॅडजस्ट करा - कृती पासवर्ड म्हणा पासवर्ड नेहमी बोलले जातात आवाज आणि व्हायब्रेशन - आवाज %1$s, कॉपी केला बंद करा शोध बंद करा @@ -595,15 +596,13 @@ %2$s वाचण्यासाठी %1$s हे वापरण्यासाठी, TalkBack सेटिंग्जवर जा आणि \'%1$s\' साठी एखादे जेश्चर जोडा ब्रेल कीबोर्ड सुरू केलेला नाही. TalkBack सेटिंग्जवर जा, ब्रेल कीबोर्ड सेट करा व पुन्हा प्रयत्न करा. - सूचना उपलब्ध आहेत - सूचना उपलब्ध आहेत. अ‍ॅक्सेस करण्यासाठी, %1$s %2$d पैकी %1$d पेज मागील पुढे जा बंद करा समाप्त वर नेव्‍हिगेट करा - TalkBack मधील नवीन वैशिष्ट्ये + TalkBack मधील नवीन वैशिष्ट्ये ट्यूटोरियल बंद करायची आहे का? तुम्ही TalkBack सेटिंग्जमध्ये कधीही त्यावर परत येऊ शकता. ट्यूटोरियल सुरू ठेवा @@ -649,14 +648,6 @@ नवीन जेश्चरसह TalkBack झटपट कसे वापरायचे ते जाणून घेण्यासाठी टॅप करा. नोड ट्रीला लॉगमध्ये प्रिंट केले गेले आहे. ही अलीकडे केलेली जेश्चर आहेत, कृपया कोणते जेश्चर चुकीचे आहे आणि काय अपेक्षित आहे हे कळवा. - तुम्हाला सुलभ आवाजाची नियंत्रणे, झटपट कृती नियंत्रणे आणि आणखी बरेच काही मिळेल.\n\nतुम्ही पुढील काही स्क्रीनमध्ये मुख्य अपडेट आणि बदलांबद्दल जाणून घ्याल. यासाठी पाच मिनिटे लागतील.\n\nतुम्ही या माहितीचे TalkBack सेटिंग्जमध्ये कधीही पुनरावलोकन करू शकता. - आवाजाच्या नियंत्रणासंबंधित बदल - आवाजाच्या नियंत्रणामध्ये सुधारणा करण्यासाठी, व्हॉल्यूम की या आता मजकूर कर्सर किंवा स्लायडर नियंत्रित करत नाहीत.\n\nस्लायडरची स्थिती बदलण्यासाठी, वर किंवा खाली स्वाइप करा.\n\nमजकूर कर्सरची स्थिती बदलण्यासाठी, टेक्स्ट बॉक्समध्ये वर किंवा खाली स्वाइप करा. हे ब्रेल कीबोर्ड वाचन नियंत्रणांमध्येदेखील काम करते. - इमेजमधील मजकूर - तुम्‍हाला इमेजमधील मजकुराविषयी अधिक तपशील आपोआप किंवा तुम्हाला आवश्यकता असताना मिळू शकतो.\n\nलेबल नसलेल्‍या इमेजसाठी: TalkBack आपोआप दिसणारा मजकूर वाचेल.\n\nसर्व इमेजसाठी: TalkBack मेनू उघडा आणि \"इमेजमधील मजकूराचे वर्णन करा\" निवडा.\n\nइमेज तुमच्या डिव्हाइसवर राहतात आणि कधीही Google कडे पाठवल्या जात नाहीत. याचा अर्थ तुम्ही ही दोन्ही वैशिष्ट्ये इंटरनेट कनेक्शनशिवाय वापरू शकता. - विंडो नेव्हिगेशन - तुम्ही तुमच्या स्क्रीनवरील सूचना बार, मुख्य आशय आणि कीबोर्ड यांसारख्या वेगवेगळ्या विभागांदरम्यान स्विच करू शकता.\n\nविंडो नेव्हिगेशन वापरण्यासाठी, चार बोटांनी खाली स्वाइप करा. - तुम्ही तुमच्या स्क्रीनवरील सूचना बार, मुख्य आशय आणि कीबोर्ड यांसारख्या वेगवेगळ्या विभागांदरम्यान स्विच करू शकता.\n\nविंडो नेव्हिगेशन वापरण्यासाठी, खाली आणि नंतर वर स्वाइप करा. तुम्ही विंडो नेव्हिगेशन निवडेपर्यंत पुढे जात रहा. विंडोवर नेव्हिगेट करण्यासाठी, खाली स्‍वाइप करा. ट्यूटोरियल TalkBack मध्ये स्वागत आहे TalkBack हे स्क्रीन रीडर आहे जे स्क्रीन पाहण्यात अडचण येते अशा परिस्थितींसाठी किंवा लोकांसाठी आहे. ते वाचिक फीडबॅक देते जेणेकरून, तुम्ही स्क्रीनकडे न पाहता तुमचे डिव्हाइस वापरू शकता.\n\nतुम्ही दोन्ही व्हॉल्यूम की काही सेकंदांसाठी धरून ठेवून TalkBack सुरू किंवा बंद करू शकता.\n\nTalkBack सुरू असते तेव्हा, स्क्रीनवरील फोकस केलेला आयटम मोठ्याने बोलला जातो.\n\nउजवीकडे स्वाइप केल्यास, पुढील आयटमवर जाईल आणि डावीकडे स्वाइप केल्यास, मागील आयटमवर जाईल.\n\nपुढचे बटण पाहण्यासाठी आता उजवीकडे स्वाइप करा. @@ -703,14 +694,14 @@ TalkBack सेटिंग्जमध्ये TalkBack मेनू आणि तुमचे बोट कीबोर्डवर हलवा. तुम्हाला टाइप करायचे असलेले अक्षर ऐकू आल्यावर, तुमचे बोट उचला.\n\nखालील मजकूर बॉक्स अ‍ॅक्टिव्हेट करून आणि तुमचे नाव टाइप करून पहा. तुम्ही ब्रेल कीबोर्ड वापरूनदेखील टाइप करू शकता. तो TalkBack सेटिंग्ज मध्ये शोधा. कर्सर हलवणे - तुम्ही टेक्स्ट बॉक्स अ‍ॅक्टिव्हेट केल्यावर, तुम्ही वर किंवा खाली स्वाइप करून कर्सरला अक्षरांदरम्यान हलवू शकता.\n\nखालील टेक्स्ट बॉक्समध्ये वापरून पहा. + तुम्ही मजकूर बॉक्स अ‍ॅक्टिव्हेट केल्यावर, व्हॉल्यूम की वर किंवा खाली दाबून अक्षरांदरम्यान कर्सर हलवू शकता.\n\nहे खालील मजकूर बॉक्समध्ये करून पहा. TalkBack मध्ये स्वागत आहे मजकूर निवडणे मजकूर बॉक्समध्ये, तुम्हाला जो मजकूर निवडायचा आहे त्याच्या सुरूवातीस कर्सर हलवा.\n\nनिवड मोड सुरू करण्यासाठी दोन बोटांनी दोनदा टॅप करा आणि धरून ठेवा. त्यानंतर कर्सर मजकुराच्या शेवटी न्या. निवड मोड संपवण्यासाठी, पुन्हा दोन बोटांनी दोनदा टॅप करा आणि धरून ठेवा.\n\nखालील मजकूर बॉक्समध्ये \"स्वागत आहे\" हे शब्द निवडून पहा. - टेक्स्ट बॉक्समध्ये, तुम्हाला जो मजकूर निवडायचा आहे त्याच्या सुरूवातीस कर्सर हलवा.\n\nTalkBack मेनू उघडण्यासाठी आधी खाली त्यानंतर उजवीकडे स्वाइप करा. कृतीवर दोनदा टॅप करा आणि निवड मोड सुरू करा. मजकुराच्या शेवटी कर्सर न्या.\n\nपुन्हा TalkBack मेनू उघडा त्यानंतर, निवड मोड संपवण्यासाठी, कृतीवर दोनदा टॅप करा.\n\nखालील टेक्स्ट बॉक्समध्ये \"स्वागत आहे\" हे शब्द निवडून पहा. + मजकूर बॉक्समध्ये, तुम्हाला जो मजकूर निवडायचा आहे त्याच्या सुरूवातीस कर्सर हलवा.\n\nTalkBack मेनू उघडण्यासाठी आधी खाली त्यानंतर उजवीकडे स्वाइप करा. संपादनाच्या पर्यायांवर दोनदा टॅप करा आणि निवड मोड सुरू करा. मजकुराच्या शेवटी कर्सर न्या.\n\nपुन्हा TalkBack मेनू उघडा त्यानंतर, निवड मोड संपवण्यासाठी, संपादनाच्या पर्यायांवर दोनदा टॅप करा.\n\nखालील मजकूर बॉक्समध्ये \"स्वागत आहे\" हे शब्द निवडून पहा. कॉपी करणे, कट करणे आणि पेस्ट करणे - मजकूर निवडल्यानंतर, कृतीवर दोनदा टॅप करा आणि त्यानंतर कॉपी करा.\n\nखालील टेक्स्ट बॉक्समध्ये एक शब्द कॉपी करून पहा. - मजकूर कट किंवा पेस्ट करण्यासाठी, TalkBack मेनू उघडा आणि कृतीवर दोनदा टॅप करा.\n\nमजकूर पेस्ट करण्यासाठी, तीन बोटांनी तीनदा टॅप करा.\n\nखालील टेक्स्ट बॉक्समध्ये एक शब्द पेस्ट करून पहा. + मजकूर निवडल्यानंतर, तीन बोटांनी दोनदा टॅप करून तो कॉपी करा.\n\nखालील मजकूर बॉक्समधील एक शब्द निवडून पहा. + मजकूर कट करण्यासाठी, तीन बोटांनी दोनदा टॅप करा आणि धरून ठेवा.\n\nमजकूर पेस्ट करण्यासाठी, तीन बोटांनी तीनदा-टॅप करा.\n\nखालील मजकूर बॉक्समध्ये एक शब्द पेस्ट करून पहा. मजकूर निवडल्यानंतर, तुम्ही तो TalkBack मेनूमधून कॉपी करू शकता. TalkBack मेनू उघडण्यासाठी, खाली आणि त्यानंतर उजवीकडे स्वाइप करा. संपादनाच्या पर्यायांवर दोनदा टॅप करा आणि त्यानंतर कॉपी करा.\n\nखालील मजकूर बॉक्समधील एक शब्द कॉपी करून पहा. मजकूर कट किंवा पेस्ट करण्यासाठी, TalkBack मेनू उघडा आणि संपादनाच्या पर्यायांवर दोनदा टॅप करा.\n\nखालील मजकूर बॉक्समध्ये एक शब्द पेस्ट करून पहा. मजकूर येथे पेस्ट करा @@ -753,7 +744,6 @@ TalkBack सेटिंग्जमध्ये TalkBack मेनू आणि आयटमदरम्यान हलवण्यासाठी उजवीकडे किंवा डावीकडे स्‍वाइप करा आयटम अ‍ॅक्टिव्हेट करण्यासाठी दोनदा टॅप करा स्क्रोल करण्यासाठी दोन बोटांनी ड्रॅग करा - फोन कनेक्ट केलेला आहे का ते तपासा. जाड बॉर्डर रंग डीफॉल्ट @@ -765,12 +755,6 @@ TalkBack सेटिंग्जमध्ये TalkBack मेनू आणि राखाडी सर्वेक्षण बंद झाले मजकूर: %1$s - इमेजमधील मजकुराचे वर्णन करा - आयकन डिटेक्ट केला: %1$s - कृतीला सपोर्ट नाही. - कोणतीही कृती निवडलेली नाही. - कृपया सपोर्ट असलेली कृती निवडा. - कोणत्याही कृती नाहीत. - कृतीचे सेटिंग सुरू केलेले नाही. - कोणताही मजकूर आढळला नाही + इमेजचे वर्णन करा + पूर्वानुमान केलेला आयकन: %1$s diff --git a/talkback/src/main/res/values-ms/strings.xml b/talkback/src/main/res/values-ms/strings.xml index dcf5b9a43..113b3a7c1 100644 --- a/talkback/src/main/res/values-ms/strings.xml +++ b/talkback/src/main/res/values-ms/strings.xml @@ -7,7 +7,6 @@ Tetapan teks kepada pertuturan Bahasa Bahasa pertuturan - Tindakan Tindakan sistem Versi %1$s Urus Label Peribadi @@ -31,37 +30,46 @@ Peranti dibuka kunci. Audio Kelantangan pertuturan - Sebut pemberitahuan apabila skrin mati - Sentiasa sebut bilangan item senarai - Sebut kiraan untuk semua kaedah penatalan + Bercakap apabila skrin dimatikan + Pemberitahuan disebut apabila skrin dimatikan + Tiada pertuturan berlaku apabila skrin dimatikan + Tuturkan bilangan item senarai pada skrin + Bertutur hanya apabila menatal menggunakan gerak isyarat + Sentiasa dituturkan Tutup penderia kehampiran untuk menghentikan pertuturan - Sebut huruf dengan contoh - Apabila anda memilih kekunci papan kekunci atau menavigasi mengikut aksara, anda akan mendengar contoh bersama setiap huruf, seperti, \"h, hotel\" - Sebut tanda baca dan simbol + Tuturkan huruf fonetik + Huruf fonetik tidak dituturkan + Huruf fonetik akan dituturkan apabila menekan lama pada kekunci papan kekunci dan bergerak mengikut aksara + Tanda baca + Tanda baca dan simbol tidak dituturkan + Tanda baca dan simbol dituturkan Huruf besar Jangan buat apa-apa Sebutkan “huruf besar” Tukar nada seru Mainkan bunyi Tuturkan petunjuk penggunaan - Selepas menerangkan kandungan, cadangkan cara penggunaan - Sebut maklumat senarai dan grid + Petunjuk penggunaan tidak dituturkan apabila mengalihkan fokus kebolehaksesan + Petunjuk penggunaan dituturkan semasa navigasi, selepas sedikit kelengahan + Tuturkan maklumat senarai dan grid + Maklumat senarai dan grid dituturkan + Maklumat senarai dan grid tidak dituturkan Tetapkan semula gerak isyarat? Ini akan menetapkan semula semua gerak isyarat kepada tindakan lalai.\n\nAnda akan kehilangan apa-apa perubahan yang telah anda buat. Tetapkan semula Tetapan gerak isyarat telah ditetapkan semula. Tuturkan jenis unsur - Untuk item yang difokus + Jenis unsur dituturkan untuk item yang difokus + Jenis unsur tidak dituturkan untuk item yang difokus Tuturkan ID unsur - Untuk butang yang tidak berlabel - Sebut tetingkap sistem - Apabila anda bertukar kepada tetingkap sistem lain seperti bar status, pemberitahuan atau kawalan kelantangan + ID unsur tidak dituturkan bagi butang yang tidak berlabel + ID unsur dituturkan bagi butang yang tidak berlabel Teroka melalui sentuhan Kawalan Satu ketikan untuk mengaktifkan Ketik sekali pada item yang difokuskan untuk pengaktifan Maklumat berjela - Sebut tanda baca dan simbol + Tanda baca Sesuaikan Penunjuk Fokus Peribadikan gerak isyarat Label tersuai @@ -203,7 +211,8 @@ Gunakan perubahan nada Gema papan kekunci Susunan perihalan unsur - Sebut huruf yang dipadamkan dengan nada suara yang lebih tinggi + Tuturkan teks yang dipadam papan kekunci dengan nada suara yang lebih tinggi + Jangan ubah nada suara apabila bercakap Papan kekunci Braille Maklum balas getaran Maklum balas bunyi @@ -211,6 +220,7 @@ Kurangkan kelantangan audio lain semasa bercakap Kelantangn mklm bls bunyi Pintasan jeda dan sambung semula Talkback + Sembunyikan pintasan skrin Tetapan pembangun Pilih acara untuk dilog Tapis pengelogan acara kebolehaksesan @@ -256,7 +266,7 @@ Buka menu TalkBack Jedakan maklum balas Jeda atau sambung semula pertuturan - Hidupkan atau matikan pertuturan + Hidupkan atau matikan bunyi TalkBack Baca dari atas Baca daripada item seterusnya Cetak pokok nod @@ -278,7 +288,6 @@ Tahan pintasan kebolehaksesan Gerakkan fokus navigasi ke hadapan atau laraskan kawalan bacaan ke bawah Gerakkan fokus navigasi ke belakang atau laraskan kawalan bacaan ke atas - Aktifkan tindakan yang dipilih pada masa ini Hasil carian Main atau jeda media Semua apl @@ -323,7 +332,7 @@ Membaca Ciri khas Lain-lain - Ditunjukkan apabila wujud tindakan untuk item semasa termasuk salin, tampal, pilih dan banyak lagi + Ditunjukkan apabila wujud tindakan tersuai untuk item semasa Salin, tampal, pilih dan banyak lagi. Ditunjukkan apabila anda memilih kotak teks. Buka pautan dalam item yang difokuskan Pergi ke halaman seterusnya atau sebelumnya. Ditunjukkan apabila anda membaca kandungan yang mempunyai berbilang halaman. @@ -342,7 +351,6 @@ Buka tetapan teks ke pertuturan Matikan maklum balas suara TalkBack Tidak boleh diedit - Lakukan tindakan Baca aksara satu demi satu Baca perkataan satu demi satu Baca baris satu demi satu @@ -365,7 +373,7 @@ Kurangkan kelantangan audio lain yang dimainkan semasa TalkBack bertutur Tatal ke depan atau ke belakang Tinggikan atau kurangkan kelantangan Kebolehaksesan - Baca teks yang dibenamkan pada imej yang dipilih + Dapatkan penerangan automatik untuk imej ini ke bawah bawah kemudian kanan Leret ke atas @@ -408,9 +416,7 @@ Ketik dua kali dan tahan dengan 2 jari Ketik dua kali dan tahan dengan 3 jari Ketik dua kali dan tahan dengan 4 jari - Ketik dan tahan dengan 3 jari Ketik tiga kali dan tahan dengan 2 jari - Ketik tiga kali dan tahan dengan 3 jari \"%1$s\" atau %2$s\" untuk pelarasan \"%1$s\" untuk pelarasan Gerak isyarat tidak diketahui @@ -433,9 +439,8 @@ Apabila skrin dihidupkan Apabila skrin kunci ditunjukkan Dari pemberitahuan sahaja - Tahan jari untuk memilih mana-mana kekunci, kemudian ketik dua kali - Tahan jari untuk memilih kekunci huruf, kemudian angkat jari. Ketik dua kali untuk kekunci lain. - Tahan jari untuk memilih mana-mana kekunci, kemudian angkat jari + Tahan jari untuk memilih kekunci, kemudian ketik dua kali + Tahan jari untuk memilih kekunci, kemudian angkat jari Dilumpuhkan Sangat perlahan Perlahan @@ -485,6 +490,7 @@ Pilih aplikasi untuk mengeksport label: Versi TalkBack ini termasuk perubahan kepada gerak isyarat kebolehaksesan lalai. Tindakan yang dikaitkan dengan gerak balas ini boleh diperibadikan dalam tetapan TalkBack. Apabila Teroka melalui sentuhan didayakan, anda boleh menggunakan gerak isyarat berikut untuk melakukan tindakan tertentu.\n\n%1$s Tekan lama kekunci kelantangan naik dan turun + Tekan kedua-dua kekunci kelantangan sebanyak tiga kali dengan cepat untuk menyembunyikan atau menunjukkan skrin Sembunyikan skrin? Ini mematikan paparan untuk meningkatkan privasi agar skrin anda tidak dapat dilihat oleh orang lain ketika berada di tempat umum Versi TalkBack ini mengandungi perubahan pada gerak isyarat kebolehaksesan lalai.\n\nGerak isyarat ke atas kemudian ke bawah akan membolehkan anda beralih ke item pertama pada skrin dan gerak isyarat ke bawah kemudian ke atas akan beralih ke item terakhir.\n\nKini kebutiran bacaan boleh ditukar dengan menumpukan item, kemudian memilih kebutiran daripada menu konteks Talkback.\n\nAnda boleh menukar tindakan yang dilakukan oleh gerak isyarat ini dalam Tetapan TalkBack. @@ -500,9 +506,6 @@ Adakah anda pasti anda ingin menghidupkan penyahpijatan pohon nod?\n\nPenyahpijatan pohon nod mendedahkan kandungan skrin anda kepada log peranti anda, yang mungkin boleh dibaca oleh aplikasi lain. Dayakan Statistik Prestasi? Adakah anda pasti mahu menghidupkan statistik prestasi?\n\nStatistik prestasi mungkin menggunakan lebih banyak memori dan kuasa. - Dayakan pengelogan berjela? - Pengelogan berjela boleh membantu dalam penyahpepijatan tetapi mungkin menyebabkan maklumat peribadi muncul dalam penimbal log sistem.\n\n Adakah anda ingin mendayakan pengelogan berjela? - Ya, dayakan pengelogan berjela Benarkan akses telefon? Tindakan ini membantu TalkBack mengurangkan pengumuman semasa anda membuat panggilan Teruskan @@ -556,11 +559,9 @@ Kelantangan kebolehaksesan Laraskan peluncur Laraskan nilai - Tindakan Tuturkan kata laluan Kata laluan sentiasa dituturkan Bunyi dan getaran - Bunyi disalin, %1$s Tutup Tutup carian @@ -595,15 +596,13 @@ %1$s untuk membaca melalui %2$s Untuk menggunakan ini, pergi ke Tetapan Talkback dan tambahkan gerak isyarat untuk \'%1$s\' Papan kekunci Braille tidak dihidupkan. Pergi ke tetapan TalkBack, sediakan papan kekunci Braille dan cuba lagi. - Cadangan tersedia - Cadangan tersedia. Untuk mengakses, %1$s Halaman %1$d daripada %2$d Sebelumnya Seterusnya Tutup Selesai Navigasi ke atas - Ciri baharu dalam TalkBack + Ciri baharu dalam TalkBack Tutup tutorial? Kembali semula pada bila-bila masa dalam tetapan Talkback. Kekal dalam tutorial @@ -647,14 +646,6 @@ Ketik untuk mengetahui cara menggunakan TalkBack dengan lebih pantas dengan gerak isyarat baharu. Pokok nod telah dicetak pada log. Berikut ialah gerak isyarat yang dilakukan baru-baru ini. Sila laporkan gerak isyarat yang salah dan perkara yang dijangkakan. - Anda akan mendapat kawalan kelantangan yang lebih mudah, kawalan tindakan pantas dan banyak lagi.\n\nAnda akan mempelajari tentang kemaskinian dan perubahan utama dalam beberapa skrin seterusnya. Proses ini akan mengambil masa selama kira-kira 5 minit.\n\nAnda boleh menyemak maklumat ini dalam tetapan TalkBack pada bila-bila masa. - Perubahan kawalan kelantangan - Untuk meningkatkan kawalan kelantangan, kekunci kelantangan tidak lagi mengawal kursor teks atau peluncur.\n\nUntuk mengubah kedudukan peluncur, leret ke atas atau ke bawah.\n\nUntuk mengubah kedudukan kursor teks, leret ke atas atau ke bawah di dalam kotak teks. Cara ini juga berfungsi dalam kawalan bacaan papan kekunci braille. - Teks dalam imej - Anda boleh mendapatkan butiran lanjut tentang teks dalam imej secara automatik atau semasa anda memerlukannya.\n\nUntuk imej yang tidak mempunyai label: TalkBack akan membaca teks yang dipaparkan secara automatik.\n\nUntuk semua imej: Buka menu TalkBack dan pilih \"Terangkan teks dalam imej\".\n\nImej akan kekal pada peranti anda dan tidak akan dihantar kepada Google. Hal ini bermakna anda boleh menggunakan kedua-dua ciri ini tanpa sambungan Internet. - Navigasi tetingkap - Anda boleh bertukar antara bahagian yang berlainan pada skrin anda, seperti bar pemberitahuan, kandungan utama dan papan kekunci.\n\nUntuk menggunakan navigasi tetingkap, leret ke bawah menggunakan 4 jari. - Anda boleh bertukar antara bahagian yang berlainan pada skrin anda, seperti bar pemberitahuan, kandungan utama dan papan kekunci.\n\nUntuk menggunakan navigasi tetingkap, leret ke bawah dan kemudian ke atas. Teruskan meleret sehingga anda memilih navigasi tetingkap. Leret ke bawah untuk menavigasi ke tetingkap. Tutorial Selamat datang ke TalkBack TalkBack ialah pembaca skrin yang ditujukan untuk situasi sukar melihat skrin atau untuk orang yang mengalami kesukaran melihat skrin. TalkBack memberi anda maklum balas yang dituturkan supaya anda boleh menggunakan peranti anda tanpa perlu melihat skrin.\n\nAnda boleh menghidupkan atau mematikan TalkBack dengan menahan kedua-dua kekunci kelantangan selama beberapa saat.\n\nApabila TalkBack dihidupkan, item yang difokuskan pada skrin akan dituturkan dengan kuat.\n\nMeleret ke kanan akan bergerak ke item seterusnya dan meleret ke kiri akan bergerak ke item sebelumnya.\n\nLeret ke kanan sekarang untuk mencari butang seterusnya. @@ -697,14 +688,14 @@ Gerakkan jari anda merentasi papan kekunci. Apabila anda mendengar huruf yang ingin anda taip, angkat jari anda.\n\nCuba aktifkan kotak teks di bawah dan taipkan nama anda. Anda juga boleh menaip dengan papan kekunci braille. Cari papan kekunci braille dalam tetapan TalkBack. Menggerakkan kursor - Apabila anda telah mengaktifkan kotak teks, anda boleh menggerakkan kursor antara huruf dengan meleret ke atas atau ke bawah.\n\nCuba gerakkan kursor dalam kotak teks di bawah. + Apabila anda telah mengaktifkan kotak teks, anda boleh menggerakkan kursor antara huruf dengan menekan kekunci kelantangan ke atas atau ke bawah.\n\nCuba gerakkan kursor dalam kotak teks di bawah. Selamat datang ke TalkBack Memilih teks Dalam kotak teks, gerakkan kursor ke bahagian awal teks yang ingin anda pilih.\n\nKetik dua kali dan tahan dengan 2 jari untuk memulakan mod pemilihan. Kemudian gerakkan kursor ke hujung teks. Ketik dua kali dan tahan dengan 2 jari sekali lagi untuk menamatkan mod pemilihan.\n\nCuba pilih frasa \"Selamat datang\" dalam kotak teks di bawah. - Dalam kotak teks, gerakkan kursor ke permulaan teks yang ingin anda pilih.\n\nLeret ke bawah, kemudian ke kanan untuk membuka menu TalkBack. Ketik dua kali tindakan, kemudian mulakan mod pemilihan. Gerakkan kursor ke penghujung teks.\n\nBuka menu TalkBack sekali lagi, kemudian ketik dua kali tindakan untuk menamatkan mod pemilihan.\n\nCuba pilih frasa \"Selamat Datang\" dalam kotak teks di bawah. + Dalam kotak teks, gerakkan kursor ke bahagian awal teks yang ingin anda pilih.\n\nLeret ke bawah kemudian ke kanan untuk membuka menu TalkBack. Ketik dua kali pada pilihan pengeditan kemudian mulakan mod pemilihan. Gerakkan kursor ke hujung teks.\n\nBuka menu TalkBack sekali lagi, kemudian ketik dua kali pada pilihan pengeditan untuk menamatkan mod pemilihan.\n\nCuba pilih frasa \"Selamat datang\" dalam kotak teks di bawah. Salin, potong dan tampal - Selepas memilih teks, ketik dua kali tindakan, kemudian salin.\n\nCuba salin perkataan dalam kotak teks di bawah. - Untuk memotong atau menampal teks, buka menu TalkBack dan ketik dua kali tindakan.\n\nUntuk menampal teks, ketik tiga kali menggunakan 3 jari.\n\nCuba tampal perkataan dalam kotak teks di bawah. + Selepas memilih teks, salin teks dengan mengetik dua kali menggunakan 3 jari.\n\nCuba salin satu perkataan dalam kotak teks di bawah. + Untuk memotong teks, ketik dua kali dan tahan menggunakan 3 jari.\n\nUntuk tampal teks, ketik tiga kali menggunakan 3 jari.\n\nCuba tampal satu perkataan dalam kotak teks di bawah. Selepas memilih teks, anda boleh menyalin teks dalam menu TalkBack. Leret ke bawah kemudian ke kanan untuk membuka menu TalkBack. Ketik dua kali pada pilihan pengeditan kemudian salin.\n\nCuba salin satu perkataan dalam kotak teks di bawah. Untuk memotong atau menampal teks, buka menu TalkBack dan ketik dua kali pada pilihan pengeditan.\n\nCuba tampal satu perkataan dalam kotak teks di bawah. Tampal teks di sini @@ -747,7 +738,6 @@ Leret ke kanan atau ke kiri untuk beralih antara item. Ketik dua kali untuk mengaktifkan item Seret 2 jari untuk menatal - Sila semak sama ada telefon bersambung atau tidak. Sempadan tebal Warna Lalai @@ -759,12 +749,6 @@ Kelabu Tinjauan ditutup Teks: %1$s - Terangkan teks dalam imej - Ikon yang dikesan: %1$s - Tindakan tidak disokong. - Tiada tindakan dipilih. - Sila pilih tindakan yang disokong. - Tiada tindakan. - Tetapan tindakan tidak didayakan. - Tiada teks ditemukan + Huraikan imej + Ikon ramalan: %1$s diff --git a/talkback/src/main/res/values-my/strings.xml b/talkback/src/main/res/values-my/strings.xml index 52f53c8ab..d853aa6e7 100644 --- a/talkback/src/main/res/values-my/strings.xml +++ b/talkback/src/main/res/values-my/strings.xml @@ -7,7 +7,6 @@ စာသားမှ စကားပြောသို့ ပြောင်းခြင်း ဆက်တင်များ ဘာသာစကားများ ပြောဆိုသည့် ဘာသာစကား - လုပ်ဆောင်ချက်များ စနစ် လုပ်ဆောင်ချက်များ ဗားရှင်း %1$s တံဆိပ်များကို စီမံခြင်း @@ -31,37 +30,46 @@ ကိရိယာ သော့ဖွင့်ထား။ အသံ အသံအတိုးအကျယ် - စခရင်ပိတ်နေစဉ် အကြောင်းကြားချက်ကို ပြောရန် - စာရင်းအရေအတွက်ကို အမြဲပြောရန် - လှိမ့်သည့် နည်းလမ်းအားလုံးအတွက် အရေအတွက်ကို ပြောသည် + မျက်နှာပြင် ပိတ်ထားလျှင် ပြောပါ + မျက်နှာပြင် ပိတ်ထားလျှင် အကြောင်းကြားစာများကို ပြောပေးသည် + မျက်နှာပြင် ပိတ်ထားလျှင် ဘယ်လို နှုတ်ပြောမှုမှ မဖြစ်နိုင်ပါ + မျက်နှာပြင်ပေါ်ရှိ အကြောင်းအရာစာရင်း အရေအတွက်ကို ပြောရန် + လက်ဟန်ဖြင့် လှိမ့်နေသည့်အခါတွင်သာ ပြောရန် + အမြဲပြောရန် ပြောဆိုမှုကိုရပ်ရန် အနီးတစ်ဝိုက်အာရုံခံကိရိယာကို ဖုံးပါ - စာကို ဥပမာများဖြင့်ပြောရန် - ကီးဘုတ်ခလုတ်များကို အက္ခရာဖြင့် ရွေးသောအခါ (သို့) ရွှေ့သောအခါ စာလုံးတစ်လုံးစီအတွက် ဥပမာတစ်ခုကို ကြားရမည်။ ဥပမာ \"h, hotel\" - ပုဒ်ဖြတ်ပုဒ်ရပ်နှင့် သင်္ကေတများ ပြောရန် + အသံထွက် စာလုံးများကို ပြောပေးရန် + အသံထွက်ကိုပြသည့် စာလုံးများကို ပြောပေးမည်မဟုတ်ပါ + ကီးဘုတ်ကို ကြာရှည်စွာနှိပ်ပြီး စာလုံးတစ်ခုစီပေါ်တွင် ရွှေ့လိုက်လျှင် အသံထွက်စာလုံးများကို ပြောပေးပါမည် + ပုဒ်ဖြတ်ပုဒ်ရပ် + ပုဒ်ဖြတ်ပုဒ်ရပ်နှင့် သင်္ကေတများကို ထည့်မပြောပါ + ပုဒ်ဖြတ်ပုဒ်ရပ်နှင့် သင်္ကေတများကို ထည့်ပြောပါမည် စာလုံးအကြီးများ ပြောင်းလဲမှု မလုပ်ပါနှင့် “capital” ဟု ပြောပါ အသံအနိမ့်အမြင့် ပြောင်းရန် အသံဖွင့်ရန် အသုံးပြုရေး အကြံပေးချက်များကို ပြောပေးရန် - အကြောင်းအရာကို ဖော်ပြပြီး အသုံးပြုပုံကို အကြံပြုသည် - စာရင်းနှင့် ဇယားကွက် အချက်အလက်ပြောရန် + အသုံးပြုမှု ရွေးချယ်ခြင်းကို ရွှေ့သည့်အခါ သုံးစွဲရန်အကြံပေးချက်များကို ပြောပေးမည်မဟုတ်ပါ + လမ်းညွှန်နေချိန်တွင် အသုံးပြုမှုအကြံပေးချက်များကို အချိန်အနည်းငယ် နှောင့်နှေးပြီး ပြောပေးပါမည် + စာရင်းနှင့်ဇယားကွက် အချက်အလက်များပြောရန် + စာရင်းနှင့် ဇယားကွက် အချက်အလက်များကို ပြောပေးပါမည် + စာရင်းနှင့် ဇယားကွက် အချက်အလက်များကို ပြောပေးမည်မဟုတ်ပါ လက်ဟန်များကို ပြင်ဆင်သတ်မှတ်မလား။ လက်ဟန်များအားလုံးကို ယင်းတို့၏ မူလလုပ်ဆောင်ချက်များသို့ ပြင်ဆင်သတ်မှတ်ပေးသည်။\n\nသင်ပြုလုပ်ထားသော ပြောင်းလဲမှုများကို ဆုံးရှုံးပါမည်။ ပြန်သတ်မှတ်ရန် လက်ဟန်ဆက်တင်များကို ပြန်သတ်မှတ်လိုက်ပါပြီ။ အကြောင်းအရာ အမျိုးအစားကို ပြောရန် - အထူးပြသသော အကြောင်းအရာများအတွက် + ချိန်ထားသည့် အရာများအတွက် ပစ္စည်းအမျိုးအစားကို ပြောပေးပါသည် + ချိန်ထားသည့် အရာများအတွက် ပစ္စည်းအမျိုးအစားကို မပြောပေးပါ အကြောင်းအရာ ID များကို အသံထွက်ပြောပေးရန် - အညွှန်းမပါသော ခလုတ်များအတွက် - စကားပြောစနစ် ဝင်းဒိုးများ - အခြေအနေပြ ဘား၊ အကြောင်းကြားချက်များ (သို့) အသံထိန်းချုပ်မှုများကဲ့သို့ အခြားစနစ်ဆိုင်ရာ ဝင်းဒိုးများသို့ ပြောင်းသောအခါ + အညွှန်းမပါသော ခလုတ်များအတွက် အကြောင်းအရာ ID များကို အသံထွက်ဖတ်ပေးမည် မဟုတ်ပါ + အညွှန်းမပါသော ခလုတ်များအတွက် အကြောင်းအရာ ID များကို အသံထွက်ဖတ်ပေးပါမည် တို့ထိလျက် စူးစမ်းပါ ထိန်းချုပ်မှုများ စဖွင့်ရန် တစ်ကြိမ်တို့ပါ စဖွင့်ရန် အာရုံစိုက်ထားသည့် အကြောင်းအရာကို တစ်ကြိမ်တို့ပါ အကျယ်ချဲ့ရှင်းပြရန် - ပုဒ်ဖြတ်ပုဒ်ရပ်နှင့် သင်္ကေတများ ပြောရန် + ပုဒ်ဖြတ်ပုဒ်ရပ် အာရုံပြုအညွှန်းကို စိတ်ကြိုက်လုပ်ရန် စိတ်ကြိုက်လက်ဟန် လုပ်ရန် စိတ်ကြိုက် အမည်များ @@ -157,8 +165,8 @@ ယခင်ထိန်းချုပ်မှုသို့ ရွှေ့ပါ ရွေးချယ်ရန်အကွက် နောက်တစ်ကွက်သို့ ရွှေ့ပါ ယခင်ရွှေးချယ်ရန်အကွက်သို့ ရွှေ့ပါ - ARIA အထူးနေရာ နောက်တစ်ခုသို့ ရွှေ့ပါ - ယခင် ARIA အထူးနေရာသို့ ရွှေ့ပါ + ARIA အထင်ကရနေရာ နောက်တစ်ခုသို့ ရွှေ့ပါ + ယခင် ARIA အထင်ကရနေရာသို့ ရွှေ့ပါ တည်းဖြတ်ရန်အကွက် နောက်တစ်ကွက်သို့ ရွှေ့ပါ ယခင်တည်းဖြတ်ရန်အကွက်သို့ ရွှေ့ပါ အာရုံစိုက်၍ရသည့် နောက်အကြောင်းအရာတစ်ခုသို့ ရွှေ့ပါ @@ -203,7 +211,8 @@ အသံစဉ် ပြောင်းလဲမှုများကို အသုံးပြုရန် ကီးဘုတ် အသံထွက် အကြောင်းအရာဖော်ပြချက် အစီအစဉ် - ဖျက်လိုက်သည့်စာကို အသံစူးစူးဖြင့် ပြောပေးသည် + ဖျက်လိုက်သည့်စာကို အသံကျယ်ကျယ်စူးစူးဖြင့် ကီးဘုတ်က ဖတ်ပြပါ + စကား ပြောနေစဉ် အသံအနိမ့်အမြင့်ကို မပြောင်းပါနှင့် မျက်မမြင်စာရေးစနစ် လက်ကွက် တုန်ခါမှု အကြံပြုချက် အသံဖြင့် အကြံပြုချက် @@ -211,6 +220,7 @@ စကားပြောနေလျှင် အခြား အသံကို လျှော့လိုက်ပါ အသံတုံ့ပြန်မှု အတိုးအကျယ် TalkBack သည် ဖြတ်လမ်းကို ဆိုင်းငံ့ခြင်းနှင့် ဆက်လက်အသုံးပြုခြင်းများ ပြုလုပ်ပေးပါသည် + ဖန်သားပြင် မှိန်ထားရန် ဖြတ်လမ်းလင့်ခ် ဆော့ဖ်ဝဲရေးသူ ဆက်တင်များ မှတ်တမ်းတင်ရန် ဖြစ်ရပ်ကို ရွေးချယ်ပါ အများသုံးစွဲနိုင်မှုဖြစ်ရပ် မှတ်တမ်းတင်ခြင်းကို စိစစ်ပါ @@ -256,7 +266,7 @@ TalkBack မီနူးကို ဖွင့်ရန် တုံ့ပြန်မှု ဆိုင်းငံ့ရန် ပြောဆိုမှုကို ခဏရပ်ရန် သို့မဟုတ် ဆက်လုပ်ရန် - စကားပြော ဖွင့်ရန် (သို့) ပိတ်ရန် + Talkback အသံကို ဖွင့်ရန် သို့မဟုတ် ပိတ်ရန် ထိပ်မှ ဖတ်ရန် နောက် တစ်ခုမှ ဖတ်ရန် node tree ပရင့်ထုတ်ရန် @@ -278,7 +288,6 @@ အများသုံးစွဲနိုင်မှုဖြတ်လမ်းခလုတ်ကို ဖိထားရန် ရှေ့သို့ ဆက်လက်လမ်းညွှန်ရန် သို့မဟုတ် စာဖတ်နှုန်းကို လျှော့ချရန် နောက်သို့ လမ်းညွန်ရန် သို့မဟုတ် စာဖတ်နှုန်းမြှင့်ရန် - လက်ရှိရွေးထားသော လုပ်ဆောင်ချက်ကို စဖွင့်ရန် ရှာဖွေမှုရလဒ် မီဒီယာဖွင့်ရန် (သို့) ခဏရပ်ရန် အက်ပ်အားလုံး @@ -323,7 +332,7 @@ စာဖတ်ခြင်း အထူး ဝန်ဆောင်မှုများ အခြား - မိတ္တူကူးရန်၊ ကူးထည့်ရန်၊ ရွေးရန်စသည်တို့အပါအဝင် လက်ရှိဖိုင်အတွက် လုပ်ဆောင်ချက်များ ရှိသောအခါ ပြသည် + လက်ရှိအရာအတွက် စိတ်ကြိုက်လုပ်ဆောင်ချက်များ ရှိသောအခါတွင် ပြသည် မိတ္တူကူးရန်၊ ကူးထည့်ရန်၊ ရွေးချယ်ရန်နှင့် အခြားအရာများ။ စာသားအကွက်ကို ရွေးချယ်လိုက်သောအခါတွင် ပြသည်။ ဗဟိုချက်ထားသည့် အရာအတွင်းရှိ လင့်ခ်များကို ဖွင့်သည် နောက် သို့မဟုတ် ယခင်စာမျက်နှာသို့ သွားသည်။ စာမျက်နှာများစွာရှိသော အကြောင်းအရာကို ဖတ်နေသောအခါတွင် ပြသည်။ @@ -342,7 +351,6 @@ စာသားမှ စကားပြောသို့ ပြောင်းခြင်း ဆက်တင်များကို ဖွင့်ပါ TalkBack အသံတုံ့ပြန်မှုကို ပိတ်ရန် တည်းဖြတ်၍မရပါ - ဆောင်ရွက်သည့် လုပ်ဆောင်ချက်များ တစ်ကြိမ်လျှင် အက္ခရာတစ်လုံးကိုသာ ဖတ်ရန် တစ်ကြိမ်လျှင် စာလုံးတစ်လုံးကိုသာ ဖတ်ရန် တစ်ကြိမ်လျှင် စာကြောင်းတစ်ကြောင်းကိုသာ ဖတ်ရန် @@ -365,7 +373,7 @@ TalkBack ပြောသောအခါတွင် ဖွင့်ထားသည့် အခြားအသံကို တိုးသည် ရှေ့သို့ (သို့) နောက်သို့ လှိမ့်ပါ ‘အများသုံးစွဲနိုင်မှု အသံ’ ကို ချဲ့သည် (သို့) တိုးသည် - ရွေးချယ်ထားသောပုံထဲရှိ စာသားကို ဖတ်ပြသည် + ဤပုံအတွက် အလိုအလျောက်ဖော်ပြချက် ရယူပါ အောက်မြား အောက်နှင့် ညာသို့ အပေါ်သို့ ပွတ်ဆွဲရန် @@ -408,9 +416,7 @@ လက်ချောင်း ၂ ချောင်းဖြင့် နှစ်ချက်တို့ပြီး ဖိထားရန် လက်ချောင်း ၃ ချောင်းဖြင့် နှစ်ချက်တို့ပြီး ဖိထားရန် လက်ချောင်း ၄ ချောင်းဖြင့် နှစ်ချက်တို့ပြီး ဖိထားရန် - လက် ၃ ချောင်းဖြင့် တို့ပြီး ဖိထားရန် လက် ၂ ချောင်းဖြင့် သုံးချက်တို့ပြီး ဖိထားရန် - လက် ၃ ချောင်းဖြင့် သုံးချက်တို့ပြီး ဖိထားရန် ညှိရန် “%1$s” သို့မဟုတ် “%2$s” ညှိရန် “%1$s” အမည်မသိ လက်ဟန် @@ -433,9 +439,8 @@ မျက်နှာပြင် ပွင့်လာချိန်မှာ သော့ခတ် မျက်နှာပြင် မြင်ရလျှင် အကြောင်းကြားစာ ထံမှသာ - ကီးတစ်ခုခုရွေးရန် လက်ချောင်းကိုဖိထားပြီး နှစ်ချက်တို့ပါ - အက္ခရာကီးရွေးရန် လက်ချောင်းကိုဖိထားပြီး လွှတ်လိုက်ပါ။ အခြားကီးများအတွက် နှစ်ချက်တို့ပါ။ - ကီးရွေးရန် လက်ချောင်းကိုဖိထားပြီး လွှတ်လိုက်ပါ + ကီးရွေးရန် လက်ချောင်းကိုဖိထားပြီး နှစ်ချက်တို့ပါ + ကီးရွေးရန် လက်ချောင်းကိုဖိထားပြီး လွှတ်လိုက်ပါ ပိတ်ထားသည် အနည်းငယ်မျှ အသာအယာ @@ -485,8 +490,9 @@ တံဆိပ်များကို တင်ပို့ရန် အပလီကေးရှင်းကို ရွေးပါ- TalkBack ၏ လက်ရှိ ဗားရှင်းထဲမှာ အသုံးပြုရေး ပုံသေ လက်ဟန်များ ထဲက အပြောင်းအလဲများ ပါရှိပါသည်။ ယင်း လက်ဟန်များဖြင့် ဆက်စပ်ကြသည့် လုပ်ဆောင်ချက်များကို TalkBack ဆက်တင်များထဲမှာ စိတ်ကြိုက် ပြုလုပ်နိုင်ပါသည်။ တို့ထိ စူးစမ်းမှုကို ဖွင့်ထားလျှင်၊ သင်သည် အချို့သော လုပ်ဆောင်ချက်များ အတွက် အောက်ပါ လက်ဟန်များကို အသုံးပြုနိုင်သည်။\n\n%1$s အသံအတိုးချဲ့ခလုတ်များကို ကြာရှည်စွာနှိပ်ခြင်း + ဖန်သားပြင်ကို မှိန်ထားရန် (သို့) အလင်းပေးရန် အသံထိန်းခလုတ်နှစ်ခုလုံးကို သုံးကြိမ်အမြန်နှိပ်ပါ။ ဖန်သားပြင်ကို မှိန်ထားမလား။ - ၎င်းက ကိုယ်ရေးအချက်အလက်လုံခြုံမှု ပိုကောင်းစေရန် ဖန်သားပြင်ပြသမှုကို ပိတ်ပေးသဖြင့် အများသုံးနေရာများတွင် အခြားသူများက သင့်ဖန်သားပြင်ကို မြင်နိုင်မည်မဟုတ်ပါ + ၎င်းက ပုဂ္ဂိုလ်ရေးလုံခြုံမှု ပိုကောင်းစေရန် ဖန်သားပြင်ပြသမှုကို ပိတ်ပေးသဖြင့် အများသုံးနေရာများတွင် အခြားသူများက သင့်ဖန်သားပြင်ကို မြင်နိုင်မည်မဟုတ်ပါ ဤ TalkBack ဗားရှင်းတွင် မူရင်းအများသုံးစွဲနိုင်မှုဆိုင်ရာ လက်ဟန်အပြောင်းအလဲများ ပါဝင်သည်။\n\nအပေါ်မှအောက်သို့ လက်ဟန်က ဖန်သားပြင်ပေါ်ရှိ ပထမအရာသို့ ရွှေ့ခွင့်ပြုပြီး အောက်မှအပေါ်သို့ လက်ဟန်က နောက်ဆုံးအရာသို့ ရွှေ့ပေးမည်။\n\nTalkback အကြောင်းအရာမီနူးထဲမှ အသေးစိတ်ကိုရွေး၍ အကြောင်းအရာတစ်ခုကို ဦးတည်ထားပြီး အသေးစိတ်ဖတ်ရှုခြင်းကို ယခုပြောင်းနိုင်ပါပြီ။\n\nဤလက်ဟန်များဖြင့် လုပ်ဆောင်ချက်များကို \'TalkBack ဆက်တင်များ\' တွင် ပြောင်းနိုင်သည်။ ဤ TalkBack ဗားရှင်းတွင် မူရင်းသုံးစွဲမှုဆိုင်ရာ လှုပ်ရှားမှုဟန် ပြင်ဆင်ချက်များ ပါဝင်သည်။\n\nအပေါ်သို့ညွှန်သည့် လှုပ်ရှားမှုဟန်သည် ယခင်လမ်းညွှန်ချက်ဆက်တင်သို့ ရွှေ့သွားပြီး၊ အောက်သို့ညွှန်သည့် လှုပ်ရှားမှုဟန်သည် နောက်လမ်းညွှန်ချက်ဆက်တင်သို့ ရွှေ့ပါသည်။ စိတ်ချရမှုဆိုင်ရာ ပြဿနာများကြောင့် TalkBack မှနေ၍ ဤဆက်တင်များကို ဖယ်ရှားထားသည်-\n• စက်ပစ္စည်းလက်ဟန်များ၏ ဘေးတွင် တို့ပါ\n• ဆက်တိုက်ဖတ်ခြင်းကို စတင်ရန် လှုပ်ယမ်းပါ @@ -500,9 +506,6 @@ node tree အမှားရှာဖွင့်ရန် ဖွင့်လိုသည်မှာ သေချာပါသလား?\n\nNode tree အမှားရှာခြင်းသည် တစ်ခြား အက်ပ်များဖြင့် ဖတ်နိုင်သည့် သင့်စက်ကိရိယာ၏ မှတ်တမ်းများကို ထုတ်ဖော်ပြသလိုဖြစ်မည်။ စွမ်းဆောင်ရည်ပြ စာရင်းဇယားကို ဖွင့်မလား။ စွမ်းဆောင်ရည်ပြ စာရင်းဇယားကို ဖွင့်လိုသည်မှာ သေချာပြီလား။\n\nစွမ်းဆောင်ရည်ပြ စာရင်းဇယားသည် မှတ်ဉာဏ်နှင့် ဓာတ်အားကို ပိုမိုသုံးစွဲနိုင်ပါသည်။ - အကျယ်ရှင်းလင်းချက် မှတ်တမ်းတင်ခြင်းကို ဖွင့်မလား။ - အကျယ်ရှင်းလင်းချက် မှတ်တမ်းတင်ခြင်းသည် အမှားရှာပြင်ခြင်း၌ ကူညီနိုင်သော်လည်း စနစ်မှတ်တမ်းယာယီကြားခံနယ်တွင် ကိုယ်ရေး အချက်အလက်များကို ပေါ်စေနိုင်သည်။\n\n အကျယ်ရှင်းလင်းချက် မှတ်တမ်းတင်ခြင်းကို ဖွင့်မလား။ - အကျယ်ရှင်းလင်းချက် မှတ်တမ်းတင်ခြင်းဖွင့်ရန် ဖုန်းသုံးခွင့်ပြုမလား။ သင်ဖုန်းပြောနေစဉ် Talkback ကို ကြေညာချက်များ လျှော့ချရန် ကူညီပေးနိုင်သည် ရှေ့ဆက်ရန် @@ -516,7 +519,7 @@ ခေါင်းစီး ခလုတ် စာရင်းပြအကွက် - ARIA အထူးနေရာ + ARIA အထင်ကရနေရာ တည်းဖြတ်ရန်အကွက် ဒါကိုအသေးစိတ်ကြည့်နိုင်ပါတယ် ခေါင်းစီး ၁ @@ -556,11 +559,9 @@ အများသုံးစွဲနိုင်မှု အသံ ရွှေ့တုံးကို ချိန်ညှိပါ တန်ဖိုးကို ချိန်ညှိပါ - လုပ်ဆောင်ချက်များ စကားဝှက်များကို အသံထွက်ဖတ်ပေးခြင်း စကားဝှက်များကို အမြဲတမ်း အသံထွက်ဖတ်ပေးရန် အသံနှင့် တုန်ခါမှု - အသံ %1$s ကို ကူးပြီးပါပြီ။ ပိတ်ရန် ရှာဖွေခြင်းကို ပိတ်ရန် @@ -595,15 +596,13 @@ %2$s တွင် ဖတ်ရန် %1$s ဤအရာကိုအသုံးပြုရန် TalkBack ဆက်တင်များသို့သွားပြီး \'%1$s\' အတွက် လက်ဟန်တစ်ခု ထည့်သွင်းပါ မျက်မမြင်စာကီးဘုတ်ကို ဖွင့်မထားပါ။ TalkBack ဆက်တင်များသို့သွား၍ မျက်မမြင်စာကီးဘုတ်ကို စနစ်ထည့်သွင်းကာ ထပ်စမ်းကြည့်ပါ။ - အကြံပြုချက် ရယူနိုင်သည် - အကြံပြုချက် ရယူနိုင်သည်။ သုံးခွင့်ရယူရန် %1$s စာမျက်နှာ %2$d အနက် %1$d ယခင် ရှေ့သို့ ပိတ်ရန် ပြီးပြီ အပေါ်သို့ သွားပါ - TalkBack ရှိ ဝန်ဆောင်မှုအသစ်များ + TalkBack ရှိ ဝန်ဆောင်မှု အသစ်များ သင်ခန်းစာကို ပိတ်မလား။ Talkback ဆက်တင်များတွင် ၎င်းသို့ အချိန်မရွေး ပြန်လာနိုင်ပါသည်။ သင်ခန်းစာကို ဆက်ကြည့်ရန် @@ -647,14 +646,6 @@ လက်ဟန်အသစ်များဖြင့် TalkBack အမြန်သုံးနည်းကို လေ့လာရန် တို့ပါ။ Node tree ကို မှတ်တမ်းများသို့ ပုံနှိပ်ထုတ်ယူလိုက်သည်။ ၎င်းတို့သည် မကြာသေးမီက ပြုလုပ်ခဲ့သောလက်ဟန်များ ဖြစ်သည်။ မည်သည့်လက်ဟန်က မှားကြောင်းနှင့် မည်သည့်က မှန်ကြောင်းတို့ကို အစီရင်ခံပါ။ - ရိုးရှင်းသော အသံအတိုးအကျယ်သတ်မှတ်ချက်များ၊ အမြန်လုပ်ဆောင်ချက် သတ်မှတ်ချက်များစသည်တို့ ရရှိပါမည်။\n\nလာမည့်ဖန်သားပြင်အချို့တွင် အဓိက အပ်ဒိတ်နှင့် အပြောင်းအလဲများအကြောင်း လေ့လာနိုင်မည်။ ၎င်းအတွက် အချိန် ၅ မိနစ်ခန့် ကြာပါမည်။\n\nTalkBack ဆက်တင်များတွင် ဤအချက်အလက်ကို အချိန်မရွေး ပြန်လည်စစ်ဆေးနိုင်သည်။ - အသံအတိုးအကျယ်သတ်မှတ်ချက် အပြောင်းအလဲများ - အသံအတိုးအကျယ်သတ်မှတ်ချက် ပိုကောင်းမွန်စေရန် အသံထိန်းခလုတ်များက စာသားကာဆာ (သို့) ရွှေ့တုံးများကို ထိန်းချုပ်တော့မည်မဟုတ်ပါ။\n\nရွှေ့တုံးနေရာပြောင်းရန် အပေါ် (သို့) အောက်သို့ ပွတ်ဆွဲပါ။\n\nစာသားကာဆာနေရာပြောင်းရန် စာသားအကွက်တွင် အပေါ် (သို့) အောက်သို့ ပွတ်ဆွဲပါ။ မျက်မမြင်စာရေးစနစ်သုံး ကီးဘုတ်ရှိ စာဖတ်ခြင်းထိန်းချုပ်မှုများတွင်လည်း ၎င်းကိုသုံးနိုင်သည်။ - ပုံပေါ်ရှိ စာသား - ပုံထဲရှိ စာသားအကြောင်း နောက်ထပ်အသေးစိတ်ကို အလိုအလျောက် (သို့) လိုအပ်ချိန်၌ ရယူနိုင်သည်။\n\nအညွှန်းမပါသော ပုံများအတွက်- TalkBack က မြင်ရသောစာသားများကို အလိုအလျောက်ဖတ်ပြမည်။\n\nပုံအားလုံးအတွက်- TalkBack မီနူးဖွင့်ပြီး “ပုံထဲရှိ စာသားကို ဖော်ပြခြင်း” ရွေးပါ။\n\nပုံများသည် သင့်စက်တွင်သာ ရှိပြီး Google သို့ ဘယ်တော့မှမပို့ပါ။ ဤဝန်ဆောင်မှုနှစ်ခုစလုံးကို အင်တာနက်ချိတ်ဆက်မှုမရှိဘဲ အသုံးပြုနိုင်သည်ဟု ဆိုလိုပါသည်။ - ဝင်းဒိုးလမ်းညွှန် - အသိပေးချက်ဘား၊ အဓိကအကြောင်းအရာနှင့် ကီးဘုတ်ကဲ့သို့ ကဏ္ဍအမျိုးမျိုးကို သင့်ဖန်သားပြင်တွင် ပြောင်းနိုင်သည်။\n\nဝင်းဒိုးလမ်းညွှန် အသုံးပြုရန် လက် ၄ ချောင်းဖြင့် အောက်သို့ပွတ်ဆွဲပါ။ - အသိပေးချက်ဘား၊ အဓိကအကြောင်းအရာနှင့် ကီးဘုတ်ကဲ့သို့ ကဏ္ဍအမျိုးမျိုးကို သင့်ဖန်သားပြင်တွင် ပြောင်းနိုင်သည်။\n\nဝင်းဒိုးလမ်းညွှန် အသုံးပြုရန် အောက်သို့ပွတ်ဆွဲပြီးနောက် အပေါ်သို့ပွတ်ဆွဲပါ။ ဝင်းဒိုးလမ်းညွှန် ရွေးပြီးသည်အထိ ဆက်သွားပါ။ ဝင်းဒိုးသို့ သွားရန် အောက်သို့ပွတ်ဆွဲပါ။ ရှင်းလင်းပို့ချချက် TalkBack က ကြိုဆိုပါသည် TalkBack သည် ဖန်သားပြင်ကိုကြည့်ရန် ခက်ခဲခြင်း သို့မဟုတ် ခက်ခဲသူများအတွက် ဖန်သားပြင်ဖတ်အက်ပ် ဖြစ်ပါသည်။ ဖန်သားပြင်ကို မကြည့်ဘဲ စက်ကိုသုံးနိုင်ရန် ၎င်းက အသံထွက် အကြံပြုသည်။\n\nအသံထိန်းခလုတ်နှစ်ခုစလုံးကို စက္ကန့်အနည်းငယ် ဖိထား၍ TalkBack ကို ဖွင့်နိုင် ပိတ်နိုင်သည်။\n\nTalkBack ကို ဖွင့်ထားသည့်အခါ ဖန်သားပြင်ရှိ အထူးပြသထားသော အရာကို အသံထွက်ဖတ်ပြသည်။\n\nညာဘက်သို့ ပွတ်ဆွဲပါက နောက်အကြောင်းအရာသို့ သွားပြီး ဘယ်ဘက်သို့ ပွတ်ဆွဲပါက ယခင်အကြောင်းအရာသို့ သွားမည်။\n\nရှေ့သို့ခလုတ်ကိုရှာရန် ညာဘက်သို့ ပွတ်ဆွဲလိုက်ပါ။ @@ -697,14 +688,14 @@ သင့်လက်ချောင်းကို လက်ကွက်တစ်လျှောက် ရွှေ့ပါ။ သင်ရိုက်လိုသည့် စာလုံးကို ကြားရသည့်အခါ လက်ချောင်းကို လွှတ်လိုက်ပါ။\n\nအောက်ပါ စာသားအကွက်ကို စသုံးကြည့်၍ သင့်အမည်ကို ရိုက်ထည့်ပါ။ မျက်မမြင်စာရေးစနစ် လက်ကွက်ဖြင့်လည်း စာရိုက်နိုင်သည်။ ၎င်းကို TalkBack ဆက်တင်များတွင် ရှာပါ။ ကာဆာ ရွှေ့ခြင်း - စာသားအကွက်ရွေးထားချိန်တွင် အပေါ်အောက် ပွတ်ဆွဲခြင်းဖြင့် စာလုံးများအကြား ကာဆာရွှေ့နိုင်သည်။\n\nအောက်ပါ စာသားအကွက်တွင် စမ်းကြည့်နိုင်သည်။ + စာသားအကွက်ကို စသုံးပြီးသည့်အခါ အသံချဲ့ခလုတ် သို့မဟုတ် အသံတိုးခလုတ်ကို နှိပ်ခြင်းဖြင့် စာလုံးများအကြားတွင် ကာဆာရွှေ့နိုင်သည်။\n\nအောက်ပါ စာသားအကွက်တွင် ၎င်းကို စမ်းကြည့်ပါ။ TalkBack က ကြိုဆိုပါသည် စာသား ရွေးချယ်ခြင်း စာသားအကွက်တွင် သင်ရွေးလိုသော စာသား၏ အစသို့ ကာဆာကို ရွှေ့ပါ။\n\nစာသားရွေးချယ်သောမုဒ်ကို စတင်ရန် လက်ချောင်း ၂ ချောင်းဖြင့် နှစ်ချက်တို့၍ ဖိထားပါ။ ထို့နောက် စာသား၏ အဆုံးသို့ ကာဆာကို ရွှေ့ပါ။ စာသားရွေးချယ်သောမုဒ်ကို အဆုံးသတ်ရန် လက်ချောင်း ၂ ချောင်းဖြင့် နှစ်ချက်တို့၍ တစ်ဖန်ပြန်ဖိထားပါ။\n\nအောက်ပါ စာသားအကွက်တွင် \"ကြိုဆိုပါသည်\" ဆိုသည့် စကားလုံးကို ရွေးကြည့်ပါ။ - စာသားအကွက်တွင် သင်ရွေးလိုသော စာသား၏ အစသို့ ကာဆာကို ရွှေ့ပါ။\n\nTalkBack မီနူးကို ဖွင့်ရန် အောက်သို့ ပွတ်ဆွဲပြီးနောက် ညာဘက်သို့ ပွတ်ဆွဲပါ။ လုပ်ဆောင်ချက်များကို နှစ်ချက်တို့ပြီး ရွေးချယ်သောမုဒ်ကို စတင်ပါ။ စာသား၏ အဆုံးသို့ ကာဆာကို ရွှေ့ပါ။\n\nTalkBack မီနူးကို ပြန်ဖွင့်ပြီးနောက် ရွေးချယ်သောမုဒ်ကို အဆုံးသတ်ရန် လုပ်ဆောင်ချက်များကို နှစ်ချက်တို့ပါ။\n\nအောက်ပါ စာသားအကွက်တွင် \"ကြိုဆိုပါသည်\" ဆိုသည့် စာလုံးကို ရွေးကြည့်ပါ။ + စာသားအကွက်တွင် သင်ရွေးလိုသော စာသား၏ အစသို့ ကာဆာကို ရွှေ့ပါ။\n\nTalkBack မီနူးကို ဖွင့်ရန် အောက်သို့ ပွတ်ဆွဲပြီးနောက် ညာဘက်သို့ ပွတ်ဆွဲပါ။ တည်းဖြတ်နည်းများကို နှစ်ချက်တို့ပြီးနောက် စာသားရွေးချယ်သောမုဒ်ကို စတင်ပါ။ စာသား၏ အဆုံးသို့ ကာဆာကို ရွှေ့ပါ။\n\nTalkBack မီနူးကို ပြန်ဖွင့်ပြီးနောက် စာသားရွေးချယ်သောမုဒ်ကို အဆုံးသတ်ရန် တည်းဖြတ်နည်းများကို နှစ်ချက်တို့ပါ။\n\nအောက်ပါ စာသားအကွက်တွင် \"ကြိုဆိုပါသည်\" ဆိုသည့် စကားလုံးကို ရွေးကြည့်ပါ။ မိတ္တူကူးခြင်း၊ ဖြတ်ယူခြင်းနှင့် ကူးထည့်ခြင်း - စာသားရွေးပြီးနောက် လုပ်ဆောင်ချက်များကို နှစ်ချက်တို့ကာ မိတ္တူကူးပါ။\n\nအောက်ပါစာသားအကွက်ထဲရှိ စာလုံးတစ်လုံးကို မိတ္တူကူးကြည့်ပါ။ - စာသားဖြတ်ယူရန် (သို့) ကူးထည့်ရန် TalkBack မီနူးကို ဖွင့်ပြီး လုပ်ဆောင်ချက်များကို နှစ်ချက်တို့ပါ။\n\nစာသားကူးထည့်ရန် လက် ၃ ချောင်းဖြင့် သုံးချက်တို့ပါ။\n\nအောက်ပါစာသားအကွက်တွင် စာလုံးတစ်လုံးကို ကူးထည့်ကြည့်ပါ။ + စာသားရွေးချယ်ပြီးနောက် လက်ချောင်း ၃ ချောင်းဖြင့် နှစ်ချက်တို့၍ ၎င်းကို မိတ္တူကူးပါ။\n\nအောက်ပါ စာသားအကွက်အတွင်း စကားလုံးကို မိတ္တူကူးကြည့်ပါ။ + စာသားကို ဖြတ်ယူရန် လက်ချောင်း ၃ ချောင်းဖြင့် နှစ်ချက်တို့ပြီး ဖိထားပါ။\n\nစာသားကို ကူးထည့်ရန် လက်ချောင်း ၃ ချောင်းဖြင့် သုံးချက်တို့ပါ။\n\nအောက်ပါ စာသားအကွက်အတွင်း စကားလုံးကို ကူးထည့်ကြည့်ပါ။ စာသားကို ရွေးချယ်ပြီးနောက် ၎င်းကို TalkBack မီနူးတွင် မိတ္တူကူးနိုင်သည်။ TalkBack မီနူးကို ဖွင့်ရန် အောက်သို့ ပွတ်ဆွဲပြီးနောက် ညာဘက်သို့ ပွတ်ဆွဲပါ။ \'တည်းဖြတ်ရန်ရွေးစရာ\' မီနူးကို နှစ်ချက်တို့ဖွင့်ပြီး \'မိတ္တူကူးရန်\' ကို နှစ်ချက်တို့ပါ။\n\nအောက်ပါ စာသားအကွက်တွင် စကားလုံးကို မိတ္တူကူးကြည့်ပါ။ စာသားကိုဖြတ်ယူရန် သို့မဟုတ် ကူးထည့်ရန် TalkBack မီနူးကို ဖွင့်ပြီးနောက် \'တည်းဖြတ်ရန်ရွေးစရာ\' မီနူးထဲမှ လုပ်လိုသည်ကို နှစ်ချက်တို့ပါ။\n\nအောက်ပါ စာသားအကွက်တွင် စကားလုံးကို ကူးထည့်ကြည့်ပါ။ ဤနေရာတွင် ကူးထည့်ပါ @@ -747,7 +738,6 @@ အကြောင်းအရာများအကြား ရွှေ့ရန် ညာဘက် (သို့) ဘယ်ဘက်သို့ ပွတ်ဆွဲပါ အကြောင်းအရာကို စတင်ရန် နှစ်ချက်တို့ပါ လှိမ့်ရန် လက် ၂ ချောင်းဖြင့် ဖိဆွဲပါ - ဖုန်းနှင့်ချိတ်ဆက်ထားခြင်း ရှိ၊ မရှိ စစ်ဆေးပါ။ ထူသော ဘောင်များ အရောင် မူရင်း @@ -759,12 +749,6 @@ မီးခိုးရောင် စစ်တမ်း ပိတ်ထားသည် စာသား- %1$s - ပုံထဲရှိ စာသားကို ဖော်ပြခြင်း - ဖျက်လိုက်သည့် သင်္ကေတ- %1$s - လုပ်ဆောင်ချက် ပံ့ပိုးမထားပါ။ - လုပ်ဆောင်ချက် ရွေးချယ်မထားပါ။ - ပံ့ပိုးထားသော လုပ်ဆောင်ချက်တစ်ခု ရွေးပါ။ - လုပ်ဆောင်ချက်များ မရှိပါ။ - လုပ်ဆောင်ချက်များဆက်တင်ကို ဖွင့်မထားပါ။ - စာသား ရှာမတွေ့ပါ + ပုံကိုရှင်းလင်းဖော်ပြရန် + ခန့်မှန်းသင်္ကေတ- %1$s diff --git a/talkback/src/main/res/values-my/strings_voicecommands.xml b/talkback/src/main/res/values-my/strings_voicecommands.xml index 719fff9df..dba99b204 100644 --- a/talkback/src/main/res/values-my/strings_voicecommands.xml +++ b/talkback/src/main/res/values-my/strings_voicecommands.xml @@ -81,7 +81,7 @@ ထွက်ပါ အသံတိတ်ပါ ခဏရပ်ပါ - ထားလိုက်ပါ + ကိစ္စမရှိပါ တိတ်တိတ်နေပါ ပိုမြန်ပါ စကားပြောနှုန်း တိုးပါ diff --git a/talkback/src/main/res/values-nb/strings.xml b/talkback/src/main/res/values-nb/strings.xml index ecb083b1b..f7cf36613 100644 --- a/talkback/src/main/res/values-nb/strings.xml +++ b/talkback/src/main/res/values-nb/strings.xml @@ -7,7 +7,6 @@ Innstillinger for tekst til tale Språk Talespråk - Handlinger Systemhandlinger Versjon %1$s Angi tilpassede etiketter @@ -31,37 +30,46 @@ Enheten er opplåst. Lyd Talevolum - Les opp varsler når skjermen er slått av - Les alltid opp antall listeelementer - Les opp telling for alle rullemetoder + Snakk når skjermen er av + Varsler leses høyt når skjermen er slått av + Ingen tale når skjermen er slått av + Les opp antall listeelementer på skjermen + Les bare opp ved rulling med bevegelse + Leses alltid opp Dekk avstandssensoren for å stoppe tale - Les opp bokstaver med eksempler - Når du velger tastaturtaster eller navigerer etter tegn, hører du et eksempel for hver bokstav, for eksempel «h, hotell» - Les opp tegnsetting og symboler + Uttal fonetiske tegn + Fonetiske tegn leses ikke opp + Fonetiske tegn leses opp når du trykker lenge på tastaturtastene og navigerer etter tegn + Tegnsetting + Tegnsetting og symboler blir ikke lest opp + Tegnsetting og symboler blir lest opp Store bokstaver Ikke gjør noe Si «stor bokstav» Endre tonehøyden Spill av lyd Uttal brukstips - Foreslå hvordan innholdet kan brukes, etter at det er beskrevet + Brukstips leses ikke opp ved flytting av tilgjengelighetsfokus + Brukstips leses opp mens du navigerer, etter en kort forsinkelse Les opp informasjon om liste og rutenett + Informasjon om liste og rutenett leses opp + Informasjon om liste og rutenett leses ikke opp Vil du tilbakestille bevegelser? Dette tilbakestiller alle bevegelser til standardhandlingene.\n\nDu mister alle endringer du har gjort. Tilbakestill Innstillingene for bevegelser er blitt tilbakestilt. Les opp elementtype - For elementer i fokus + Elementtypen leses opp for elementer i fokus + Elementtypen leses ikke opp for elementer i fokus Les opp element-ID-er - For knapper uten etikett - Les opp systemvinduer - Når du bytter til andre systemvinduer, for eksempel statusfeltet, varsler eller volumkontroller + Element-ID-er leses ikke opp for knapper som ikke er merket + Element-ID-er leses opp for knapper som ikke er merket Berøringsutforskning Kontroller Enkelttrykk for å aktivere Trykk én gang på et element som har fokus, for å aktivere Detaljnivå - Les opp tegnsetting og symboler + Tegnsetting Tilpass fokusindikatoren Tilpass bevegelser Tilpassede etiketter @@ -203,7 +211,8 @@ Bruk tonehøydeendringer Tastaturekko Rekkefølge for beskrivelse av element - Les opp bokstaver som er slettet, med lysere stemme + Les opp tekst som er slettet på tastaturet, med lysere stemme + Ikke endre tonehøyden når du snakker Punktskrifttastatur Vibrasjonstilbakemelding Tilbakemelding med lyd @@ -211,6 +220,7 @@ Senk volumet på annen lyd under tale Volum på lydtilbakemelding Hurtigtast for å suspendere/fortsette TalkBack + Skjul skjermsnarveien Utviklerinnstillinger Velg hendelser du vil loggføre Filtertilgjengelighet for loggføring av hendelser @@ -256,7 +266,7 @@ Åpne TalkBack-menyen Stopp tilbakemeldinger midlertidig Sett på pause eller gjenoppta tale - Slå tale på eller av + Slå TalkBack-lyd på eller av Les fra toppen Les fra neste element Skriv ut nodetreet @@ -278,7 +288,6 @@ Hold tilgjengelighetssnarveien Flytt navigeringsfokus forover eller juster lesekontrollen ned Flytt navigeringsfokus bakover eller juster lesekontrollen opp - Aktiver handlingen som er valgt Søkeresultat Spill av eller sett medier på pause Alle apper @@ -323,7 +332,7 @@ Lesing Spesielle funksjoner Annet - Vises når det finnes handlinger for det gjeldende elementet, inkludert blant annet kopier, lim inn og velg + Vises når det finnes tilpassede handlinger for det aktive elementet Kopiér, lim inn, velg med mer Vises når du velger et tekstfelt. Åpne linker i et element som har fokus Gå til neste eller forrige side. Vises når du leser innhold med flere sider. @@ -342,7 +351,6 @@ Åpne innstillinger for tekst til tale Slå av TalkBack-taletilbakemelding Ikke redigerbar - Utfør handlinger Les ett tegn om gangen Les ett ord om gangen Les én linje om gangen @@ -365,7 +373,7 @@ Senk volumet til annen lyd som spilles av når TalkBack snakker Rull fremover eller bakover Øk eller reduser tilgjengelighetsvolum - Les opp tekst som er innebygd i et valgt bilde + Få an automatisk beskrivelse for dette bildet ned ned og deretter til høyre Sveip opp @@ -408,9 +416,7 @@ Dobbelttrykk og hold med to fingre Dobbelttrykk og hold med tre fingre Dobbelttrykk og hold med fire fingre - Trykk og hold med tre fingre Trippeltrykk og hold med to fingre - Trippeltrykk og hold med tre fingre «%1$s» eller «%2$s» for å justere «%1$s» for å justere Ukjent bevegelse @@ -433,9 +439,8 @@ Når skjermen slås på Når låseskjermen vises Bare fra varsler - Hold fingeren nede for å velge hvilken som helst tast, og deretter dobbelttrykker du - Hold fingeren nede for å velge bokstavtast, og deretter løfter du fingeren. Dobbelttrykk for andre taster. - Hold fingeren nede for å velge hvilken som helst tast, og deretter løfter du fingeren + Hold fingeren nede for å velge tast, og deretter dobbelttrykker du + Hold fingeren nede for å velge tast, og deretter løfter du fingeren Slått av Veldig lett Lett @@ -485,6 +490,7 @@ Velg en app for å eksportere etiketter: Denne versjonen av TalkBack inkluderer endringer i standardbevegelsene for tilgjengelighet. Handlingene som er knyttet til disse bevegelsene, kan tilpasses i TalkBack-innstillingene. Når Berøringsutforskning er aktivert, kan du bruke følgende bevegelser for å utføre bestemte handlinger.\n\n%1$s Trykk lenge på volum opp eller volum ned + Trykk raskt på begge volumtastene tre ganger for å skjule eller vise skjermen Vil du skjule skjermen? Dette slår av skjermen for å forbedre personvernet, slik at skjermen ikke er synlig for andre når du er på offentlige steder Denne versjonen av TalkBack inneholder endringer i standardbevegelsene for tilgjengelighet.\n\nOpp-og-deretter-ned-bevegelsen gjør det mulig å bevege seg til det første elementet på skjermen, og ned-og-deretter-opp-bevegelsen tar deg til det siste elementet.\n\nNå kan lesedetaljnivået endres ved å fokusere på et element og deretter velge et detaljnivå fra TalkBack-hurtigmenyen.\n\nDu kan endre handlingene som utføres med disse bevegelsene, i TalkBack-innstillingene. @@ -500,9 +506,6 @@ Er du sikker på at du vil slå på nodetre-feilsøking?\n\nNodetre-feilsøking eksponerer innholdet på skjermen din for loggene til enheten din, og disse kan leses av andre apper. Vil du slå på resultatstatistikk? Er du sikker på at du vil slå på resultatstatistikk?\n\nResultatstatistikk kan bruke mer minne og strøm. - Vil du slå på detaljert logging? - Detaljert logging kan bidra til feilsøking, men kan føre til at personopplysninger vises i bufferen til systemloggen.\n\n Vil du slå på detaljert logging? - Ja, slå på detaljert logging Vil du gi telefontilgang? Dette bidrar til å redusere kunngjøringer fra TalkBack når du er i en samtale Fortsett @@ -556,11 +559,9 @@ Tilgjengelighetsvolum Juster glidebryteren Juster verdien - Handlinger Les passord Passord leses alltid Lyd og vibrering - Lyd kopiert, %1$s Lukk Lukk søket @@ -595,15 +596,13 @@ %1$s for å lese basert på %2$s For å bruke den, gå til TalkBack-innstillingene og legg til en bevegelse for «%1$s» Punktskrifttastatur er ikke på. Gå til TalkBack-innstillingene, konfigurer tastaturet og prøv igjen. - Forslag er tilgjengelige - Forslag er tilgjengelige. For å åpne, %1$s Side %1$d av %2$d Forrige Neste Lukk Fullfør Gå opp - Nye funksjoner i TalkBack + Nye funksjoner i TalkBack Vil du lukke veiledningen? Du kan når som helst gå tilbake til den i TalkBack-innstillingene. Blir værende i veiledningen @@ -647,14 +646,6 @@ Trykk for å finne ut hvordan du bruker TalkBack raskere med nye bevegelser. Nodetreet er blitt skrevet ut til logger. Dette er bevegelsene som er blitt utført nylig. Rapportér hvilken bevegelse som er feil, og hva du forventet. - Du får forenklet volumkontroll, raskere handlingskontroller med mer.\n\nDu finner ut mer om viktige oppdateringer og endringer på de neste skjermene. Dette tar omtrent fem minutter.\n\nDu kan når som helst sjekke denne informasjonen i TalkBack-innstillingene. - Endringer av volumkontroll - For å forbedre volumkontrollen kontrollerer ikke volumtastene tekstmarkører eller glidebrytere lenger.\n\nFor å endre plasseringen til en glidebryter, sveip opp eller ned.\n\nFor å endre plasseringen til tekstmarkøren, sveip opp eller ned i et tekstfelt. Dette fungerer også i lesekontroller for punktskrifttastatur. - Tekst i bilder - Du kan få mer informasjon om tekst i bilder automatisk eller når du trenger det.\n\nFor bilder som ikke har etikett: TalkBack leser automatisk teksten som vises.\n\nFor alle bilder: Åpne TalkBack-menyen og velg «Beskriv tekst i bildet».\n\nBilder blir værende på enheten din og sendes aldri til Google. Dette betyr at du kan bruke begge disse funksjonene uten internettilkobling. - Vindusnavigering - Du kan bytte mellom de forskjellige delene av skjermen, som varsellinjen, hovedinnholdet og tastaturet.\n\nFor å bruke vindusnavigering, sveip ned med fire fingre. - Du kan bytte mellom de forskjellige delene av skjermen, som varsellinjen, hovedinnholdet og tastaturet.\n\nFor å bruke vindusnavigering, sveip ned og så opp. Fortsett til du har valgt vindusnavigering. For å navigere til vinduet, sveip ned. Veiledning Velkommen til TalkBack TalkBack er en skjermleser som er laget for situasjoner eller personer som har vanskeligheter med å se skjermen. Funksjonen gir deg taletilbakemeldinger, slik at du kan bruke enheten uten å se på skjermen.\n\nDu kan slå TalkBack på eller av ved å holde inne begge volumknappene i flere sekunder.\n\nNår TalkBack er på, blir elementet som er i fokus på skjermen, lest opp.\n\nSveiping til høyre flytter til neste element, og sveiping til venstre flytter til forrige element.\n\nSveip til høyre nå for å finne Neste-knappen. @@ -697,14 +688,14 @@ Dra fingeren over tastaturet. Når du hører bokstaven du vil skrive inn, løfter du fingeren.\n\nPrøv å aktivere tekstfeltet nedenfor og skrive inn navnet ditt. Du kan også skrive med punktskrifttastaturet. Du finner det i TalkBack-innstillingene. Beveg markøren - Når du har aktivert et tekstfelt, kan du bevege markøren mellom bokstaver ved å sveipe opp eller ned.\n\nPrøv det i tekstfeltet nedenfor. + Når du har aktivert et tekstfelt, kan du bevege markøren mellom bokstaver ved å trykke på volumtastene opp eller ned.\n\nPrøv det i tekstfeltet nedenfor. Velkommen til TalkBack Merking av tekst I et tekstfelt flytter du markøren til starten av teksten du vil merke.\n\nDobbelttrykk og hold med to fingre for å starte markeringsmodus. Deretter beveger du markøren til slutten av teksten. Dobbelttrykk og hold med to fingre igjen for å avslutte markeringsmodus.\n\nPrøv å merke ordet «Velkommen» i tekstfeltet nedenfor: - I et tekstfelt flytter du markøren til starten av teksten du vil markere.\n\nSveip ned og så til høyre for å åpne TalkBack-menyen. Dobbelttrykk på handlingene og start markeringsmodus. Beveg markøren til slutten av teksten.\n\nÅpne TalkBack-menyen igjen og dobbelttrykk på handlingene for å avslutte markeringsmodus.\n\nPrøv å markere ordet «Velkommen» i tekstfeltet nedenfor. + I et tekstfelt flytter du markøren til starten av teksten du vil merke.\n\nSveip ned og så til høyre for å åpne TalkBack-menyen. Dobbelttrykk på redigeringsalternativene og start markeringsmodus. Beveg markøren til slutten av teksten.\n\nÅpne TalkBack-menyen igjen og dobbelttrykk på redigeringsalternativene for å avslutte markeringsmodus.\n\nPrøv å merke ordet «Velkommen» i tekstfeltet nedenfor: Kopiér, klipp ut og lim inn - Etter at du har valgt tekst, dobbelttrykker du på handlinger og deretter kopier.\n\nPrøv å kopiere et ord i tekstfeltet nedenfor. - For å klippe ut eller lime inn tekst, åpne TalkBack-menyen og dobbelttrykk på handlinger.\n\nFor å lime inn tekst, trippeltrykk med tre fingre.\n\nPrøv å lime inn et ord i tekstfeltet nedenfor. + Etter å ha merket teksten kopierer du den ved å dobbelttrykke med tre fingre.\n\nPrøv å kopiere et ord inn i tekstfeltet nedenfor. + For å klippe ut tekst, dobbelttrykk og hold med tre fingre.\n\nFor å lime inn tekst, trippeltrykk med tre fingre.\n\nPrøv å lime inn et ord i tekstfeltet nedenfor. Etter at du har markert tekst, kan du kopiere den inn i TalkBack-menyen. Sveip ned og så til høyre for å åpne TalkBack-menyen. Dobbelttrykk på redigeringsalternativene, og deretter kopier.\n\nPrøv å kopiere et ord i tekstfeltet nedenfor. For å klippe ut eller lime inn tekst, åpne TalkBack-menyen og dobbelttrykk på redigeringsalternativene.\n\nPrøv å lime inn et ord i tekstfeltet nedenfor. Lim inn tekst her @@ -747,7 +738,6 @@ Sveip til høyre eller venstre for å bevege deg mellom elementer Dobbelttrykk for å aktivere et element Dra to fingre for å rulle - Sjekk om telefonen er tilkoblet. Tykke kantlinjer Farge Standard @@ -759,12 +749,6 @@ Grå Undersøkelsen er lukket Tekst: %1$s - Beskriv tekst i bildet - Registrert ikon: %1$s - Handlingen støttes ikke. - Ingen handling er valgt. - Velg en handling som støttes. - Ingen handlinger. - Handlingsinnstillingen er ikke slått på. - Fant ingen tekst + Beskriv bildet + Forventet ikon: %1$s diff --git a/talkback/src/main/res/values-ne/strings.xml b/talkback/src/main/res/values-ne/strings.xml index 12dc4d354..79d4273ad 100644 --- a/talkback/src/main/res/values-ne/strings.xml +++ b/talkback/src/main/res/values-ne/strings.xml @@ -7,7 +7,6 @@ टेक्स्ट-टू-स्पिचका सेटिङ भाषाहरू पाठ पढेर सुनाइने भाषा - कारबाहीहरू प्रणालीसम्बन्धी कारबाहीहरू संस्करण %1$s आफू अनुकूल लेबलहरू प्रबन्ध गर्नुहोस् @@ -31,37 +30,46 @@ उपकरण बन्द खोलियो अडियो बोलीको मात्रा - स्क्रिन अफ हुँदा सूचनाहरू भन्नुहोस् - सूचीका वस्तुहरूको सङ्ख्या सधैँ भन्नुहोस् - स्क्रोल गर्ने सबै विधिहरूको गिन्ती भन्नुहोस् + स्क्रिन बन्द हुँदा बोल्नुहोस् + स्क्रिन बन्द हुँदा अधिसूचनाहरू सुनाइन्छ + स्क्रिन बन्द गरिएको बेला कुनै पनि ध्वनि सुनिँदैन। + स्क्रिनमा रहेको सूचीको वस्तुहरूका सङ्‌ख्या बोल्नुहोस् + इसारामार्फत स्क्रोल गर्दा मात्र बोल्नुहोस्‌ + सधैँ बोलिने आवाज रोक्नका लागि निकटका वस्तु पत्ता लगाउने सेन्सर छोप्नुहोस् - उदाहरणसहितका अक्षरहरू भन्नुहोस् - तपाईंले किबोर्डका की चयन गर्नुभयो वा वर्ण प्रयोग गरेर नेभिगेट गर्नुभयो भने तपाईं हरेक अक्षरसँगै (जस्तै, \"ह, होटेल\") जस्ता कुनै उदाहरण सुन्नु हुने छ - विराम चिन्ह तथा प्रतीकहरू भन्नुहोस् + फोनेटिक अक्षर बोल्नुहोस् + ध्वन्यात्मक अक्षरहरू बोलिँदैनन् + किबोर्डका कुञ्जीहरूमा लामो समयसम्म थिच्दा र वर्ण अनुसार नेभिगेसन गर्दा ध्वन्यात्मक अक्षरहरू बोलिन्छन्। + विराम चिन्ह + विराम चिन्ह तथा अन्य चिन्हहरू पढेर सुनाइने छैनन् + विराम चिन्ह तथा अन्य चिन्ह पढेर सुनाइने छन् ठुला अक्षरहरू केही पनि नगर्नुहोस् “ठुलो” भन्नुहोस् आवाजको तीक्ष्णता बदल्नुहोस् ध्वनि बजाउनुहोस् उपयोग संकेत बोल्नुहोस् - सामग्रीका बारेमा वर्णन गरिसकेपछि यसको प्रयोग गर्ने तरिका बताउनुहोस् - सूची र ग्रिडसम्बन्धी जानकारी भन्नुहोस् + पहुँच सम्बन्धी फोकसलाई सार्दा उपयोग सम्बन्धी संकेतहरू बोलिँदैनन् + नेभिगेसनको बेला छोटो विलम्बपछि उपयोग सम्बन्धी संकेतहरू बोलिन्छन् + सूची र ग्रिड सम्बन्धी जानकारी बोल्नुहोस् + सूची र ग्रिड सम्बन्धी जानकारी बोलिन्छ + सूची र ग्रिड सम्बन्धी जानकारी बोलिँदैन इसाराहरू रिसेट गर्ने हो? तपाईंले इसाराहरू रिसेट गर्नुभयो भने इसारासम्बन्धी सबै सेटिङ रिसेट भई डिफल्ट सेटिङ लागू हुने छ।\n\nतपाईं आफूले सेट गरेका सबै इसाराहरू गुमाउनु हुने छ। रिसेट गर्नुहोस् इसारासम्बन्धी सेटिङहरू रिसेट गरिएका छन्। तत्वको प्रकार बोल्नुहोस् - फोकस गरिएका वस्तुहरूका हकमा + केन्द्रित गरिएका वस्तुहरूको तत्त्वको प्रकार बोलिन्छ + केन्द्रित गरिएका वस्तुहरूको तत्त्वको प्रकार बोलिँदैन तत्त्वका ID हरू बोल्नुहोस् - लेबल नगरिएका बटनहरूका हकमा - स्पिक सिस्टम विन्डो - तपाईंले स्ट्याटस बार, सूचना वा भोल्युम नियन्त्रण जस्ता सिस्टमका अन्य विन्डोहरू प्रयोग गर्नुभयो भने + लेबल नगरिएका बटनहरूका लागि तत्त्वका ID हरू बोलिँदैनन् + लेबल नगरिएका बटनहरूका लागि तत्त्वका ID हरू बोलिन्छन् छोएर अन्वेषण नियन्त्रण सुविधाहरू एक्टिभेट गर्न एक पटक ट्याप गर्नुहोस् फोकस गरिएको वस्तु एक्टिभेट गर्न उक्त वस्तुमा एक पटक ट्याप गर्नुहोस् बढी शब्द बोल्ने सेटिङ - विराम चिन्ह तथा प्रतीकहरू भन्नुहोस् + विराम चिन्ह फोकस इन्डिकेटर कस्टोमाइज गर्नुहोस् इसाराहरूलाई आफू अनुकूल पार्नुहोस् आफू अनुकूल लेबलहरू @@ -203,7 +211,8 @@ पिच परिवर्तनहरू प्रयोग गर्नुहोस् किबोर्ड गुन्जन तत्त्व सम्बन्धी विवरणको क्रम - मेटाइएका अक्षरहरू ठुलो स्वरमा भनियोस् + किबोर्डमार्फत मेटाइएको पाठ चर्को स्वरमा बोल्नुहोस् + बोल्दा आवाजको पिच नबदल्नुहोस् ब्रेल किबोर्ड कम्पन प्रतिक्रिया ध्वनि प्रतिक्रिया @@ -211,6 +220,7 @@ बोलिरहँदा अन्य अडियोको आवाज घटाउनुहोस्। ध्वनि प्रतिक्रियाको भोल्युम Talkback लाई निलम्बन र पुनःसुरु गर्नाका लागि सर्टकट + स्क्रिन लुकाउनुहोस् नामक सर्टकट विकासकर्तासम्बन्धी सेटिङहरू सेटिङहरू लग गर्न घटनाक्रमहरूलाई चयन गर्नुहोस् पहुँच सम्बन्धी घटनाक्रम लग गर्ने कार्यलाई फिल्टर गर्नुहोस् @@ -256,7 +266,7 @@ TalkBack मेनु खोलियोस् प्रतिक्रिया रोक्नुहोस् TalkBack को बोली पज वा सुचारु गर्नुहोस् - स्पिच अन वा अफ गर्नुहोस् + TalkBack को ध्वनि अन वा अफ गर्नुहोस् माथिबाट पढ्नुहोस् अर्को वस्तुबाट पढ्न सुरु गर्नुहोस् नोड रूख प्रिन्ट गर्नुहोस् @@ -278,7 +288,6 @@ पहुँचको सर्टकटमा टच एण्ड होल्ड गर्नुहोस् नेभिगेसन फोकस अगाडि लगियोस् वा पढेर सुनाउने सुविधा नियन्त्रण गर्ने विकल्प तल लगेर राखियोस् नेभिगेसन फोकस पछाडि लगियोस् वा पढेर सुनाउने सुविधा नियन्त्रण गर्ने विकल्प माथि लगेर राखियोस् - हाल चयन गरिएको कारबाही एक्टिभेट गर्नुहोस् खोजको परिणाम मिडिया प्ले वा पज गर्नुहोस् सबै एपहरू @@ -323,7 +332,7 @@ पढेर सुनाउने सुविधा विशेष सुविधाहरू अन्य - हालको वस्तुका हकमा कपी गर्ने, पेस्ट गर्ने र चयन गर्नेलगायतका कारबाहीहरू उपलब्ध भएका खण्डमा ती कारबाहीहरू देखाउँछ + हालका वस्तुमा गर्न सकिने आफूले चाहेअनुसारका कारबाही उपलब्ध भएका बेला उक्त कुरा देखाउँछ कपी गर्ने, पेस्ट गर्ने, चयन गर्नेलगायतका अन्य कारबाही गर्नुहोस्। तपाईंले कुनै पाठ बाकस चयन गर्दा देखा पर्छ। कुनै केन्द्रित वस्तुभित्र रहेका लिंकहरू खोल्नुहोस् अर्को वा अघिल्लो पृष्ठमा जानुहोस्।‍ तपाईंले एकभन्दा बढी पृष्ठ भएको सामग्री पढ्दा देखा पर्छ। @@ -342,7 +351,6 @@ टेक्स्ट-टू-स्पिचका सेटिङ खोल्नुहोस् TalkBack को आवाजमूलक प्रतिक्रिया अफ गर्नुहोस् सम्पादन गर्न मिल्दैन - कारबाहीहरू गर्नुहोस् एक पटकमा एउटा वर्ण पढ्नुहोस् एक पटकमा एउटा शब्द पढ्नुहोस् एक पटकमा एउटा हरफ पढ्नुहोस् @@ -365,7 +373,7 @@ TalkBack ले बोल्दा प्ले भइरहेका अन्य अडियोको आवाज कम गर्नुहोस् अगाडि वा पछाडि स्क्रोल गर्नुहोस् सर्वसुलभता सेवाको भोल्युम बढाउनुहोस् वा घटाउनुहोस् - चयन गरिएको फोटोमा भएको इम्बेड गरिएको टेक्स्ट पढ्नुहोस् + यो फोटोसम्बन्धी विवरण स्वतः प्राप्त गर्नुहोस् तल तल अनि दायाँ माथितिर स्वाइप गर्दा @@ -408,9 +416,7 @@ २ वटा औँलाले ट्याप गरी थिचिरहँदा ३ वटा औँलाले ट्याप गरी थिचिरहँदा ४ वटा औँलाले ट्याप गरी थिचिरहँदा - ३ वटा औँलाले ट्याप गरी थिचिरहनुहोस् २ वटा औँलाले ट्रिपल ट्याप गरी थिचिरहनुहोस् - ३ वटा औँलाले ट्रिपल ट्याप गरी थिचिरहनुहोस् समायोजन गर्न \"%1$s\" वा %2$s\" समायोजन गर्न \"%1$s\" यो इसाराबारे जानकारी छैन @@ -433,9 +439,8 @@ स्क्रिन खुलेको बेला बन्द गरिएको स्क्रिन देखाउँदा अधिसूचनाबाट मात्र - कुनै पनि की चयन गर्न त्यसलाई औँलाले थिच्नुहोस्, त्यसपछि डबल ट्याप गर्नुहोस् - अक्षर की चयन गर्न त्यसलाई औँलाले थिच्नुहोस्, त्यसपछि छाड्नुहोस्। अन्य की चयन गर्न डबल ट्याप गर्नुहोस्। - तपाईं की चयन गर्न चाहनुहुन्छ भने औँलाले उक्त की थिच्नुहोस्, त्यसपछि छोड्नुहोस् + की चयन गर्न त्यसलाई औँलाले थिच्नुहोस्, त्यसपछि डबल ट्याप गर्नुहोस् + की चयन गर्न औँलाले थिच्नुहोस्, त्यसपछि छोड्नुहोस् असक्षम गरियो निकै हल्का हलुका @@ -485,6 +490,7 @@ लेबलहरू निर्यात गर्न एपहरू छनौट गर्नुहोस्: कुरा फर्काउने यो संस्करणमा डिफल्ट पहुँच इशाराहरूमा परिवर्तनहरू समावेश छन्। यी इशाराहरूसँग सम्बन्धित कार्यहरू कुरा फर्काउने सेटिङ्हरूभित्र अनुकूलिन गरी मिलाउन सकिन्छ। स्पर्श बाट खोजीलाई सक्षम गराउँदा खास कार्य सम्पन्न गर्नको लागि तपाईं निम्न ‍‍इशाराहरूलाई प्रयोग गर्न सक्नु हुन्छ।\n\n%1$s भोल्युम तल र माथि गर्न लामो थिच्ने कुञ्जीहरू + स्क्रिन लुकाउन वा देखाउन भोल्युम बढाउने र घटाउने दुवै बटन तीन पटक चाँडोचाँडो थिच्नुहोस् स्क्रिन लुकाउने हो? यस कार्यले सार्वजनिक ठाउँमा भएका बेला तपाईंको स्क्रिन अरूले नदेखून् भन्नाका खातिर डिस्प्ले अफ गर्छ र तपाईंको गोपनीयता सुरक्षित राख्छ TalkBack को यस संस्करणमा पहुँचसम्बन्धी डिफल्ट इसाराहरू परिवर्तन गरिएका छन्।\n\nतपाईं \'माथि अनि तल\' इसारा प्रयोग गरी स्क्रिनको पहिलो वस्तुमा जान सक्नुहुन्छ भने \'तल अनि माथि\' इसारा प्रयोग गरी अन्तिम वस्तुमा जान सक्नुहुन्छ।\n\nअब कुनै एउटा वस्तुमा केन्द्रित गरेर अनि TalkBack को सन्दर्भ मेनुबाट पढाइको स्तर छानेर पाठ पढेर सुनाइने दर परिवर्तन गर्न सकिन्छ।\n\nतपाईं TalkBack का सेटिङमा गई यी इसारा प्रयोग गरी गरिने कारबाहीहरू परिवर्तन गर्न सक्नुहुन्छ। @@ -500,9 +506,6 @@ तपाईं नोड रूख डिबग खोल्न चाहनुहुन्छ भनी निश्चित हुनुहुन्छ?\n\nनोड रूख डिबग अन्य एप द्वारा पढ्न सक्छ जो आफ्नो उपकरणको लगको आफ्नो पर्दाको सामग्री खुला गर्छ। सम्पादन सम्बन्धी तथ्याङ्कलाई सक्षम पार्ने हो? तपाईं सम्पादन सम्बन्धी तथ्याङ्कलाई सक्रिय गर्ने कुरामा सुनिश्चित हुनुहुन्छ?\n\nसम्पादन सम्बन्धी तथ्याङ्क प्रयोग गर्दा मेमोरी र ब्याट्री बढी खपत हुन सक्छ। - भर्बोस लगिङ अन गर्ने हो? - भर्बोस लगिङले डिबग प्रक्रियामा मद्दत गर्न सक्छ तर यसकै कारण तपाईंका व्यक्तिगत जानकारी सिस्टम लगको बफरमा देखिने सम्भावना हुन्छ।\n\n तपाईं भर्बोस लगिङ अन गर्न चाहनुहुन्छ? - अँ, भर्बोस लगिङ अन गरियोस् फोन चलाउन दिने हो? तपाईंले यो अनुमति दिनुभयो भने TalkBack लाई तपाईं कुनै कलमा भएका बेला सूचनाको सङ्ख्या घटाउन सहयोग पुग्छ जारी राख्नुहोस् @@ -556,11 +559,9 @@ सर्वसुलभता सेवाको भोल्युम स्लाइडर मिलाउनुहोस् मान मिलाउनुहोस् - कारबाहीहरू पासवर्डको उच्चारण गर्नुहोस् सधैँ पासवर्डहरूको उच्चारण गरिन्छ साउन्ड तथा भाइब्रेसन - ध्वनि प्रतिलिपि बनाइयो, %1$s बन्द गर्नुहोस् खोज बन्द गर्नुहोस् @@ -595,15 +596,13 @@ %2$s का आधारमा सुन्न %1$s यसको प्रयोग गर्न TalkBack का सेटिङमा जानुहोस् र \'%1$s\' का लागि कुनै इसारा हाल्नुहोस् ब्रेल किबोर्ड अन गरिएको छैन। TalkBack को सेटिङमा जानुहोस्, ब्रेल किबोर्ड सेटअप गर्नुहोस् र फेरि प्रयास गर्नुहोस्। - सुझावहरू उपलब्ध छन् - सुझावहरू उपलब्ध छन्। प्रयोग गर्न, %1$s %2$d मध्ये %1$d औँ पेज अघिल्लो अर्को बन्द गर्नुहोस् समाप्त गर्नुहोस् माथि जानुहोस् - TalkBack का नयाँ सुविधाहरू + TalkBack का नयाँ सुविधाहरू ट्यूटोरियल बन्द गर्ने हो? तपाईं जुनसुकै बेला TalkBack का सेटिङमा आई यो ट्युटेरियल हेर्न सक्नुहुन्छ। ट्यूटोरियल हेरिरहनुहोस् @@ -647,14 +646,6 @@ नयाँ इसाराहरू प्रयोग गरी अझ छिटो TalkBack चलाउने तरिका जान्न ट्याप गर्नुहोस्। नोड ट्री लगमा प्रिन्ट गरिएको छ। यहाँ हालसालै प्रयोग गरिएका इसाराहरू छन्। कृपया कुन इसारा ठिक छैन र उक्त इसारा कस्तो भए हुन्थ्यो भन्ने कुराबारे रिपोर्ट गर्नुहोस्। - तपाईं सरलीकृत भोल्युम कन्ट्रोल, द्रुत कारबाहीसम्बन्धी कन्ट्रोल र थप सुविधा प्राप्त गर्नु हुने छ।\n\nतपाईं यसपछि देखाइने केही स्क्रिनहरूमा मुख्य अपडेट तथा परिवर्तनहरूका बारेमा जानकारी प्राप्त गर्नु हुने छ। यो जानकारी पढिसक्न लगभग ५ मिनेट लाग्ने छ।\n\nतपाईं TalkBack का सेटिङमा गई जुनसुकै बेला यो जानकारी हेर्न सक्नुहुन्छ। - भोल्युम कन्ट्रोलसम्बन्धी परिवर्तनहरू - भोल्युम कन्ट्रोल सुधार गर्न भोल्युम बटनहरूले अबदेखि टेक्स्ट कर्सर वा स्लाइडरहरू नियन्त्रण गर्दैनन्।\n\nस्लाइडरको स्थान परिवर्तन गर्न माथि वा तलतिर स्वाइप गर्नुहोस्।\n\nटेक्स्ट कर्सरको स्थान परिवर्तन गर्न टेक्स्ट बक्समा गई माथि वा तलतिर स्वाइप गर्नुहोस्। यो सुविधा ब्रेल किबोर्डको रिडिङ कन्ट्रोलमा पनि चल्छ। - फोटोहरूमा भएको टेक्स्ट - तपाईं स्वतः वा आफूलाई आवश्यक परेका बेलामा फोटोहरूमा भएको टेक्स्टका बारेमा थप जानकारी प्राप्त गर्न सक्नुहुन्छ।\n\nलेबल नभएका फोटोहरूका हकमा: TalkBack ले फोटोमा देखिने टेक्स्ट स्वतः पढ्ने छ।\n\nसबै फोटोहरूका हकमा: TalkBack को मेनु खोल्नुहोस् र \"फोटोमा भएको टेक्स्टका बारेमा वर्णन गर्नुहोस्\" चयन गर्नुहोस्।\n\nफोटोहरू तपाईंको डिभाइसमा रहने छन् र कहिल्यै पनि Google मा पठाइँदैन। यसको मतलब तपाईं इन्टरनेट नहुँदा पनि यी दुवै सुविधाहरू चलाउन सक्नुहुन्छ। - विन्डो नेभिगेसन - तपाईं आफ्नो स्क्रिनमा भएका नोटिफिकेसन बार, मुख्य सामग्री र किबोर्ड जस्ता विभिन्न खण्डहरूका बिचमा अदलबदल गर्न सक्नुहुन्छ।\n\nविन्डो नेभिगेसन चलाउन ४ वटा औँलाले तलतिर स्वाइप गर्नुहोस्। - तपाईं आफ्नो स्क्रिनमा भएका नोटिफिकेसन बार, मुख्य सामग्री र किबोर्ड जस्ता विभिन्न खण्डहरूका बिचमा अदलबदल गर्न सक्नुहुन्छ।\n\nविन्डो नेभिगेसन चलाउन तल अनि माथितिर स्वाइप गर्नुहोस्। विन्डो नेभिगेसन चयन नगरेसम्म स्वाइप गरिरहनुहोस्। विन्डोमा नेभिगेट गर्न तलतिर स्वाइप गर्नुहोस्। ट्यूटोरियल TalkBack मा स्वागत छ TalkBack स्क्रिनमा हेर्न कठिन हुने अवस्था वा स्क्रिनमा भएको कुरा देख्न गाह्रो हुने मान्छेहरूलाई ध्यानमा राखेर बनाइएको एउटा स्क्रिन रिडर हो। तपाईं आफ्नो डिभाइसको स्क्रिनमा नहेरिकन यन्त्र प्रयोग गर्न सक्नुहोस् भन्नाका खातिर यसले तपाईंलाई बोलेर प्रतिक्रिया दिन्छ।\n\nतपाईं केही सेकेन्डसम्म दुवै भोल्युम की थिचिराखेर TalkBack सुविधा अन वा अफ गर्न सक्नुहुन्छ।\n\nTalkBack सुविधा अन भएका बेला तपाईं स्क्रिनमा जुन वस्तुमा फोकस गर्नुहुन्छ यसले सो वस्तुका बारेमा ठुलो स्वरले पढेर सुनाउँछ।\n\nतपाईंले स्क्रिनमा दायाँतिर स्वाइप गर्नुभयो भने तपाईं अर्को वस्तुमा जान सक्नुहुन्छ र बायाँतिर स्वाइप गर्नुभयो भने तपाईं अघिल्लो वस्तुमा जान सक्नुहुन्छ।\n\n\'अर्को\' बटनमा जान अहिले नै दायाँतिर स्वाइप गर्नुहोस्। @@ -697,14 +688,14 @@ आफ्नो औँला किबोर्डको एक छेउबाट अर्को छेउतिर सार्नुहोस्। आफूले टाइप गर्न चाहेको अक्षर सुनिएपछि औँला उठाउनुहोस्।\n\nयो सुविधा चलाएर हेर्न तलको टेक्स्ट बक्स सक्रिय गर्नुहोस् र आफ्नो नाम टाइप गर्नुहोस्। तपाईं ब्रेल किबोर्ड प्रयोग गरेर पनि टाइप गर्न सक्नुहुन्छ। तपाईं TalkBack का सेटिङमा गई यो किबोर्ड भेट्टाउन सक्नुहुन्छ। कर्सर सार्ने तरिका - तपाईंले टेक्स्ट बक्स एक्टिभेट गर्नुभएको छ भने तपाईं माथि वा तलतिर स्वाइप गरेर एउटा अक्षरबाट अर्को अक्षरमा कर्सर लैजान सक्नुहुन्छ।\n\nतलको टेक्स्ट बक्समा यो कार्य गरी हेर्नुहोस्। + तपाईंले कुनै टेक्स्ट बक्स सक्रिय गर्नुभएको छ भने तपाईं कर्सर सारेर एउटा अक्षरबाट अर्को अक्षरमा लैजान भोल्युम बढाउने वा घटाउने बटन थिच्न सक्नुहुन्छ।\n\nतलको टेक्स्ट बक्समा यसो गरी हेर्नुहोस्। TalkBack मा स्वागत छ पाठ चयन गर्ने तरिका टेक्स्ट बक्सभित्र, कर्सर सारेर आफूले चयन गर्न चाहेको पाठको सुरुमा लैजानुहोस्।\n\nपाठ चयन गर्ने मोड सुरु गर्न डबल ट्याप गरेर दुई वटा औँलाले थिचिरहनुहोस्। त्यसपछि कर्सर सारेर पाठका अन्त्यमा लैजानुहोस्। पाठ चयन गर्ने मोड अन्त्य गर्न फेरि २ वटा औँलाले डबल ट्याप गरी थिचिरहनुहोस्।\n\nतलको टेक्स्ट बक्समा रहेको \"स्वागत छ\" पाठ चयन गर्ने प्रयास गर्नुहोस्। - टेक्स्ट बक्सभित्र, कर्सर सारेर आफूले चयन गर्न चाहेको पाठको सुरुमा लैजानुहोस्।\n\nTalkBack मेनु खोल्न पहिले तलतिर अनि दायाँतिर स्वाइप गर्नुहोस्। \"कारबाहीहरू\" मा डबल ट्याप गर्नुहोस् अनि पाठ चयन गर्ने मोड सुरु गर्नुहोस्। कर्सर सारेर पाठका अन्त्यमा लैजानुहोस्।\n\nTalkBack को मेनु फेरि खोल्नुहोस् अनि चयन गर्ने मोड अन्त्य गर्न सम्पादन गर्ने विकल्पहरूमा डबल ट्याप गर्नुहोस्।\n\nतलको टेक्स्ट बक्समा भएको \"स्वागत छ\" नामक पाठ चयन गर्ने प्रयास गर्नुहोस्। + टेक्स्ट बक्सभित्र, कर्सर सारेर आफूले चयन गर्न चाहेको पाठको सुरुमा लैजानुहोस्।\n\nTalkBack मेनु खोल्न पहिले तलतिर अनि दायाँतिर स्वाइप गर्नुहोस्। सम्पादनसम्बन्धी विकल्पहरूमा डबल ट्याप गर्नुहोस् अनि चयन गर्ने मोड सुरु गर्नुहोस्। कर्सर सारेर पाठका अन्त्यमा लैजानुहोस्।\n\nTalkBack को मेनु फेरि खोल्नुहोस् अनि चयन गर्ने मोड अन्त्य गर्न सम्पादनसम्बन्धी विकल्पहरूमा डबल ट्याप गर्नुहोस्।\n\nतलको पाठ बक्समा रहेको \"स्वागत छ\" पाठ चयन गर्ने प्रयास गर्नुहोस्। कपी, कट र पेस्ट गर्ने तरिका - पाठ चयन गरिसकेपछि \"कारबाहीहरू\" मा डबल ट्याप गर्नुहोस् अनि पाठ कपी गर्नुहोस्।\n\nतलको टेक्स्ट बक्समा भएको कुनै शब्द कपी गरी हेर्नुहोस्। - पाठ कट वा पेस्ट गर्न TalkBack मेनु खोल्नुहोस् अनि \"कारबाहीहरू\" मा डबल ट्याप गर्नुहोस्।\n\nपाठ पेस्ट गर्न ३ औँलाले ट्रिपल ट्याप गर्नुहोस्।\n\nतलको टेक्स्ट बक्समा कुनै शब्द पेस्ट गरी हेर्नुहोस्। + पाठ चयन गरिसकेपछि ३ वटा औँलाले डबल ट्याप गरेर उक्त पाठ कपी गर्नुहोस्।\n\nतलको टेक्स्ट बक्समा भएका कुनै शब्द कपी गर्ने प्रयास गर्नुहोस्। + पाठ कट गर्न ३ वटा औँलाले डबल ट्याप गरी थिचिरहनुहोस्।\n\nकपी वा कट गरेको पाठ पेस्ट गर्न ३ वटा औँलाले ट्रिपल ट्याप गर्नुहोस्।\n\nतलको टेक्स्ट बक्समा कुनै शब्द पेस्ट गर्ने प्रयास गर्नुहोस्। पाठ चयन गरिसकेपछि तपाईं TalkBack को मेनुमा गई उक्त पाठ कपी गर्न सक्नुहुन्छ। TalkBack को मेनु खोल्न तल अनि दायाँतिर स्वाइप गर्नुहोस्। सम्पादन गर्ने विकल्पहरूमा डबल ट्याप गर्नुहोस् अनि पाठ कपी गर्नुहोस्।\n\nतलको टेक्स्ट बक्समा भएका कुनै शब्द कपी गर्ने प्रयास गर्नुहोस्। पाठ कट वा पेस्ट गर्न TalkBack को मेनु खोल्नुहोस् अनि सम्पादन गर्ने विकल्पहरूमा डबल ट्याप गर्नुहोस्।\n\nतलको टेक्स्ट बक्समा कुनै शब्द पेस्ट गर्ने प्रयास गर्नुहोस्। टेक्स्ट यहाँ पेस्ट गर्नुहोस् @@ -747,7 +738,6 @@ एउटा वस्तुबाट अर्को वस्तुमा जान दायाँ वा बायाँतिर स्वाइप गर्नुहोस् कुनै वस्तु सक्रिय गर्न त्यसमा डबल ट्याप गर्नुहोस् स्क्रोल गर्न २ औँलाले ड्र्याग गर्नुहोस् - कृपया फोन कनेक्ट गरिएको छ कि छैन भन्ने कुरा जाँच्नुहोस्। बाक्ला किनाराहरू रङ डिफल्ट @@ -759,12 +749,6 @@ खरानी रङ सर्वेक्षण सम्पन्न भएको छ टेक्स्ट म्यासेज: %1$s - फोटोमा भएको टेक्स्टका बारेमा वर्णन गर्नुहोस् - पत्ता लगाइएको आइकन: %1$s - यो कारबाही गर्न मिल्दैन। - कुनै पनि कारबाही चयन गरिएको छैन। - कृपया गर्न मिल्ने कारबाही चयन गर्नुहोस्। - कुनै पनि कारबाही छैन। - कारबाहीसम्बन्धी सेटिङ अन गरिएको छैन। - कुनै पनि टेक्स्ट भेटिएन + यो फोटोका बारेमा वर्णन गर्नुहोस् + पूर्वानुमान गरिएको आइकन: %1$s diff --git a/talkback/src/main/res/values-nl/strings.xml b/talkback/src/main/res/values-nl/strings.xml index ac7abcae2..65926e99b 100644 --- a/talkback/src/main/res/values-nl/strings.xml +++ b/talkback/src/main/res/values-nl/strings.xml @@ -7,7 +7,6 @@ Instellingen tekst-naar-spraak Talen Gesproken taal - Acties Systeemacties Versie %1$s Aangepaste labels beheren @@ -31,37 +30,46 @@ Apparaat ontgrendeld. Audio Spraakvolume - Meldingen uitspreken als scherm uit is - Aantal lijstitems altijd uitspreken - Aantal uitspreken voor alle scrollmethoden + Spreken als scherm uit is + Meldingen worden uitgesproken als het scherm uitstaat + Geen spraak als het scherm uitstaat + Het aantal lijstitems op het scherm uitspreken + Alleen spreken wanneer met een gebaar wordt gescrolld + Altijd gesproken Afstandssensor afdekken om spraak te stoppen - Letters uitspreken met voorbeelden - Als je toetsen op het toetsenbord selecteert of navigeert op teken, hoor je een voorbeeld samen met elke letter, zoals \'h, hotel\' - Interpunctie en symbolen uitspreken + Fonetische letters uitspreken + Fonetische letters worden niet uitgesproken + Fonetische letters worden uitgesproken wanneer je lang op toetsen op het toetsenbord drukt en per teken navigeert + Interpunctie + Interpunctie en symbolen worden niet uitgesproken + Interpunctie en symbolen worden uitgesproken Hoofdletters Niets doen Zeg \'hoofdletter\' Toonhoogte wijzigen Geluid afspelen Gebruikstips uitspreken - Na beschrijving van content voorstellen hoe deze kan worden gebruikt - Lijst- en rasterinformatie uitspreken + Gebruikstips worden niet uitgesproken wanneer de toegankelijkheidsfocus wordt verplaatst + Gebruikstips worden na een kleine vertraging uitgesproken tijdens navigatie + Info over lijsten en rasters uitspreken + Informatie over lijsten en rasters wordt uitgesproken + Informatie over lijsten en rasters wordt niet uitgesproken Gebaren resetten? Hiermee worden alle gebaren gereset naar de standaardacties.\n\nJe raakt hiermee je aanpassingen kwijt. Resetten De instellingen voor gebaren zijn gereset. Elementtype uitspreken - Voor gefocuste items + Het elementtype wordt uitgesproken voor items waarop de focus is geplaatst + Het elementtype wordt niet uitgesproken voor items waarop de focus is geplaatst Element-ID\'s voorlezen - Voor niet-gelabelde knoppen - Systeemvensters uitspreken - Als je overschakelt naar andere systeemvensters, zoals de statusbalk, meldingen of volumeregeling + Element-ID\'s worden niet voorgelezen voor niet-gelabelde knoppen + Element-ID\'s worden voorgelezen voor niet-gelabelde knoppen Verkennen via aanraking Bedieningselementen Tik 1 keer om te activeren Tik 1 keer op een gefocust item om het te activeren Uitgebreidheidsniveau - Interpunctie en symbolen uitspreken + Interpunctie Focusindicator aanpassen Gebaren aanpassen Aangepaste labels @@ -203,20 +211,22 @@ Verschillende toonhoogten gebruiken Toetsenbordecho Volgorde van elementbeschrijving - Verwijderde letters uitspreken op een hogere toonhoogte + Tekst die via toetsenbord is verwijderd, uitspreken op een hogere toonhoogte + Gebruik dezelfde toonhoogte tijdens het spreken Brailletoetsenbord Trilfeedback - Geluids-feedback + Geluidsfeedback Audiovolume verlagen Overig audiovolume verlagen tijdens spreken Volume geluidsfeedback Snelle link voor opschorten en hervatten van Talkback + Snelkoppeling voor verbergen van scherm Ontwikkelaarsinstellingen Bij te houden gebeurtenissen Gebeurtenisregistratie voor toegankelijkheid filteren Vertraging vensteraankondiging verkleinen Niveau van logoutput - Spraakuitvoer tonen + Spraakuitvoer weergeven Herkende spraak herhalen Foutopsporing voor knooppuntstructuren aanzetten Gebruik de toets voor gesproken zoekopdrachten om de knooppuntstructuur af te drukken in plaats van te zoeken @@ -256,7 +266,7 @@ TalkBack-menu openen Feedback onderbreken Spraak pauzeren of hervatten - Spraak aan- of uitzetten + Talkback-geluiden aan- of uitzetten Lezen vanaf het begin Lezen vanaf volgend item Knooppuntstructuur afdrukken @@ -278,7 +288,6 @@ Snelkoppeling voor toegankelijkheid vasthouden De focus van de navigatie verder bewegen of een leesoptie lager instellen De focus van de navigatie terug bewegen of een leesoptie hoger instellen - De momenteel geselecteerde actie activeren Zoekresultaat Media afspelen of onderbreken Alle apps @@ -323,7 +332,7 @@ Lezen Speciale functies Overig - Toont wanneer er acties zijn voor het huidige item, waaronder kopiëren, plakken en selecteren + Wordt getoond als er aangepaste acties zijn voor het huidige item Kopiëren, plakken, selecteren en meer. Wordt getoond als je een tekstvak selecteert. Links binnen een gefocust item openen Naar de volgende of vorige pagina gaan. Wordt getoond als je content met meerdere pagina\'s leest. @@ -339,10 +348,9 @@ Scherm verbergen zodat anderen het niet kunnen bekijken in openbare ruimtes. Zet het daarna terug naar normale status. TalkBack-instellingen openen Ga naar Alle apps en Snelle instellingen - Tekst-naar- spraakinstellingen openen + Tekst-naar-spraak-instellingen openen Gesproken TalkBack-feedback uitzetten Niet bewerkbaar - Acties uitvoeren 1 teken tegelijk lezen 1 woord tegelijk lezen 1 regel tegelijk lezen @@ -364,8 +372,8 @@ Het scherm verbergen zodat anderen je scherm niet kunnen bekijken in openbare ruimtes Het volume van andere audio verlagen als TalkBack spreekt Vooruit- of terugscrollen - Toegankelijkheids-volume verhogen of verlagen - Ingesloten tekst in een geselecteerde afbeelding voorlezen + Toegankelijkheidsvolume verhogen of verlagen + Automatische beschrijving voor deze afbeelding opvragen omlaag omlaag en naar rechts Omhoog swipen @@ -408,9 +416,7 @@ Dubbeltikken en vasthouden met 2 vingers Dubbeltikken en vasthouden met 3 vingers Dubbeltikken en vasthouden met 4 vingers - Tikken en vasthouden met 3 vingers 3 keer tikken en vasthouden met 2 vingers - 3 keer tikken en vasthouden met 3 vingers Gebruik %1$s of %2$s om dit aan te passen Gebruik %1$s om dit aan te passen Onbekend gebaar @@ -433,9 +439,8 @@ Als scherm aangaat Bij actief vergrendelscherm Alleen vanuit meldingen - Houd je vinger op een toets om deze te selecteren en dubbeltik - Houd je vinger op een lettertoets om deze te selecteren en haal dan je vinger van het scherm. Dubbeltik voor andere toetsen. - Houd je vinger op een toets om te selecteren en haal dan je vinger van het scherm + Houd je vinger op de toets om te selecteren en dubbeltik + Houd je vinger op de toets om te selecteren en haal je vinger van het scherm Uitgezet Erg zacht Zacht @@ -485,6 +490,7 @@ Kies een app om labels te exporteren: Deze versie van TalkBack omvat wijzigingen in de standaardgebaren voor toegankelijkheid. De acties die horen bij deze gebaren, kunnen worden aangepast in de TalkBack-instellingen. Als Verkennen via aanraking aanstaat, kun je de volgende gebaren gebruiken om bepaalde acties uit te voeren.\n\n%1$s Toetsen voor volume omhoog en volume omlaag lang indrukken + Druk 3 keer op beide volumetoetsen om het scherm snel te verbergen of te tonen Scherm verbergen? Hiermee wordt het scherm uitgezet voor meer privacy, zodat anderen je scherm niet kunnen zien in openbare ruimtes In deze versie van TalkBack zijn de standaardgebaren voor toegankelijkheid gewijzigd.\n\nMet het gebaar \'omhoog en dan omlaag\' ga je naar het eerste item op het scherm, en met het gebaar \'omlaag en dan omhoog\' naar het laatste item.\n\nHet leesniveau kan nu worden aangepast door de focus op een item te plaatsen en een leesniveau te selecteren in het TalkBack-contextmenu.\n\nIn de TalkBack-instellingen kun je de acties wijzigen die met deze gebaren worden uitgevoerd. @@ -500,9 +506,6 @@ Weet je zeker dat je foutopsporing voor knooppuntstructuren wilt aanzetten?\n\nMet foutopsporing voor knooppuntstructuren wordt de content van je scherm opgenomen in de logboeken van je apparaat die andere apps kunnen lezen. Prestatiestatistieken aanzetten? Weet je zeker dat je prestatiestatistieken wilt aanzetten?\n\nPrestatiestatistieken kunnen meer geheugen en voeding verbruiken. - Uitgebreide logboeken aanzetten? - Uitgebreide logboeken kunnen helpen bij foutopsporing, maar kunnen ervoor zorgen dat er persoonlijke informatie terechtkomt in de buffer voor systeemlogboeken.\n\nWil je uitgebreide logboeken aanzetten? - Ja, uitgebreide logboeken aanzetten Toegang geven tot telefoon? Zo kan TalkBack mededelingen beperken terwijl je belt Doorgaan @@ -556,11 +559,9 @@ Toegankelijkheidsvolume Schuifregelaar aanpassen Waarde aanpassen - Acties Wachtwoorden voorlezen Wachtwoorden worden altijd voorgelezen Geluid en trillen - Geluid gekopieerd, %1$s Sluiten Zoekopdracht afsluiten @@ -595,15 +596,13 @@ %1$s om te lezen per %2$s Als je dit wilt gebruiken, ga je naar de TalkBack-instellingen en voeg je een gebaar toe voor \'%1$s\' Brailletoetsenbord staat niet aan. Stel het brailletoetsenbord in via de Talkback-instellingen en probeer opnieuw. - Suggesties beschikbaar - Suggesties beschikbaar. Zo open je ze: %1$s Pagina %1$d van %2$d Vorige Volgende Sluiten Voltooien Omhoog navigeren - Nieuwe functies in TalkBack + Nieuwe functies in TalkBack Tutorial sluiten? Je kunt deze informatie ook altijd bekijken in de TalkBack-instellingen. In tutorial blijven @@ -647,14 +646,6 @@ Tik voor meer informatie over hoe je TalkBack sneller gebruikt met nieuwe gebaren. Nodestructuur is afgedrukt naar logboeken. Hier zijn recent uitgevoerde gebaren. Laat ons weten welk gebaar niet klopt en wat je had verwacht. - Je krijgt een vereenvoudigde volumeregeling, kunt sneller acties uitvoeren en meer.\n\nIn de volgende schermen kom je meer te weten over belangrijke updates en wijzigingen. Dit duurt ongeveer 5 minuten.\n\nJe kunt deze informatie ook altijd bekijken in de TalkBack-instellingen. - Wijzigingen in volumeregeling - Ter verbetering van de volumeregeling kun je de volumetoetsen niet meer gebruiken om tekstcursors of schuifregelaars te bedienen.\n\nAls je de positie van een schuifregelaar wilt wijzigen, swipe je omhoog of omlaag.\n\nAls je de positie van de tekstcursor wilt wijzigen, swipe je omhoog of omlaag in een tekstvak. Dit werkt ook bij leesinstellingen van het brailletoetsenbord. - Tekst in afbeeldingen - Je kunt meer details over tekst in afbeeldingen krijgen, automatisch of wanneer je dat nodig hebt.\n\nVoor afbeeldingen die geen label hebben: TalkBack leest automatisch de tekst voor die verschijnt.\n\nVoor alle afbeeldingen: Open het TalkBack-menu en selecteer Tekst in afbeelding beschrijven.\n\nAfbeeldingen blijven op je apparaat staan en worden nooit naar Google gestuurd. Dit betekent dat je beide functies kunt gebruiken zonder internetverbinding. - Vensternavigatie - Je kunt schakelen tussen verschillende gedeelten op je scherm, zoals de berichtenbalk, de hoofdcontent en het toetsenbord.\n\nSwipe met 4 vingers omlaag om vensternavigatie te gebruiken. - Je kunt schakelen tussen verschillende gedeelten op je scherm, zoals de berichtenbalk, de hoofdcontent en het toetsenbord.\n\nSwipe omlaag en dan omhoog om vensternavigatie te gebruiken. Ga door totdat je vensternavigatie hebt geselecteerd. Swipe omlaag om naar het venster te gaan. Tutorial Welkom bij TalkBack TalkBack is een schermlezer die bedoeld is voor slechtziende en blinde mensen en voor situaties waarin je het scherm moeilijk kunt zien. Je krijgt gesproken feedback zodat je het apparaat kunt gebruiken zonder naar het scherm te kijken.\n\nJe kunt TalkBack aan- of uitzetten door beide volumeknoppen een aantal seconden ingedrukt te houden.\n\nAls TalkBack aanstaat, wordt het gefocuste item op het scherm voorgelezen.\n\nSwipe naar rechts voor het volgende item en naar links voor het vorige item.\n\nSwipe nu naar rechts om de knop Volgende te vinden. @@ -697,14 +688,14 @@ Beweeg je vinger over het toetsenbord. Als je de letter hoort die je wilt typen, til je je vinger op.\n\nProbeer het onderstaande tekstvak te activeren en je naam te typen. Je kunt ook typen met het brailletoetsenbord. Je vindt dit toetsenbord in de TalkBack-instellingen. De cursor verplaatsen - Als je een tekstvak hebt geactiveerd, kun je de cursor tussen letters verplaatsen door omhoog of omlaag te swipen.\n\nProbeer dit in het onderstaande tekstvak. + Als je een tekstvak hebt geactiveerd, kun je de cursor verplaatsen tussen de letters door op de volumeknoppen voor omhoog en omlaag te drukken.\n\nProbeer dit in het onderstaande tekstvak. Welkom bij TalkBack Tekst selecteren Plaats de cursor in een tekstvak aan het begin van de tekst die je wilt selecteren.\n\nDubbeltik met 2 vingers en houd ze op het scherm om de selectie te starten. Verplaats de cursor daarna naar het eind van de tekst. Dubbeltik nog een keer met 2 vingers en houd vast om de selectie te voltooien.\n\nProbeer het woord Welkom te selecteren in het onderstaande tekstvak. - Plaats de cursor in een tekstvak aan het begin van de tekst die je wilt selecteren.\n\nSwipe omlaag en dan naar rechts om het TalkBack-menu te openen. Dubbeltik op de acties en start dan de selectiemodus. Verplaats de cursor naar het eind van de tekst.\n\nOpen opnieuw het TalkBack-menu en dubbeltik op de acties om de selectie af te ronden.\n\nProbeer het woord Welkom te selecteren in het onderstaande tekstvak. + Plaats de cursor in een tekstvak aan het begin van de tekst die je wilt selecteren.\n\nSwipe omlaag en dan naar rechts om het TalkBack-menu te openen. Dubbeltik op de bewerkingsopties en start de selectie. Verplaats de cursor naar het eind van de tekst.\n\nOpen opnieuw het TalkBack-menu en dubbeltik op de bewerkingsopties om de selectie te voltooien.\n\nProbeer het woord Welkom te selecteren in het onderstaande tekstvak. Kopiëren, knippen en plakken - Nadat je de tekst hebt geselecteerd, dubbeltik je op de acties en kopieer je de tekst.\n\nProbeer een woord in het onderstaande tekstvak te kopiëren. - Als je tekst wilt knippen of plakken, open je het TalkBack-menu en dubbeltik je op de acties.\n\nAls je tekst wilt plakken, tik je drie keer met 3 vingers.\n\nProbeer een woord in het onderstaande tekstvak te plakken. + Als je tekst hebt geselecteerd, kopieer je deze door met 3 vingers te dubbeltikken.\n\nProbeer een woord in het onderstaande tekstvak te kopiëren. + Dubbeltik met 3 vingers en houd vast om tekst te knippen.\n\nTik 3 keer met 3 vingers om tekst te plakken.\n\nProbeer een woord in het onderstaande tekstvak te plakken. Nadat je tekst hebt geselecteerd, kun je deze kopiëren via het TalkBack-menu. Swipe omlaag en daarna naar rechts om het TalkBack-menu te openen. Dubbeltik op de bewerkingsopties en kopieer de tekst.\n\nProbeer een woord in het onderstaande tekstvak te kopiëren. Als je tekst wilt knippen of plakken, open je het TalkBack-menu en dubbeltik je op de bewerkingsopties.\n\nProbeer een woord in het onderstaande tekstvak te plakken. Plak hier tekst @@ -747,7 +738,6 @@ Swipe naar rechts of links om tussen items te scrollen Dubbeltik om een item te activeren Sleep met 2 vingers om te scrollen - Check of de telefoon is verbonden. Dikke randen Kleur Standaard @@ -759,12 +749,6 @@ Grijs Enquête gesloten Tekst: %1$s - Tekst in afbeelding beschrijven - Verwijderd icoon: %1$s - Actie niet ondersteund. - Geen actie geselecteerd. - Selecteer een ondersteunde actie. - Geen acties. - Instelling voor acties staat niet aan. - Geen tekst gevonden + Afbeelding beschrijven + Voorspeld icoon: %1$s diff --git a/talkback/src/main/res/values-no/strings.xml b/talkback/src/main/res/values-no/strings.xml index ecb083b1b..f7cf36613 100644 --- a/talkback/src/main/res/values-no/strings.xml +++ b/talkback/src/main/res/values-no/strings.xml @@ -7,7 +7,6 @@ Innstillinger for tekst til tale Språk Talespråk - Handlinger Systemhandlinger Versjon %1$s Angi tilpassede etiketter @@ -31,37 +30,46 @@ Enheten er opplåst. Lyd Talevolum - Les opp varsler når skjermen er slått av - Les alltid opp antall listeelementer - Les opp telling for alle rullemetoder + Snakk når skjermen er av + Varsler leses høyt når skjermen er slått av + Ingen tale når skjermen er slått av + Les opp antall listeelementer på skjermen + Les bare opp ved rulling med bevegelse + Leses alltid opp Dekk avstandssensoren for å stoppe tale - Les opp bokstaver med eksempler - Når du velger tastaturtaster eller navigerer etter tegn, hører du et eksempel for hver bokstav, for eksempel «h, hotell» - Les opp tegnsetting og symboler + Uttal fonetiske tegn + Fonetiske tegn leses ikke opp + Fonetiske tegn leses opp når du trykker lenge på tastaturtastene og navigerer etter tegn + Tegnsetting + Tegnsetting og symboler blir ikke lest opp + Tegnsetting og symboler blir lest opp Store bokstaver Ikke gjør noe Si «stor bokstav» Endre tonehøyden Spill av lyd Uttal brukstips - Foreslå hvordan innholdet kan brukes, etter at det er beskrevet + Brukstips leses ikke opp ved flytting av tilgjengelighetsfokus + Brukstips leses opp mens du navigerer, etter en kort forsinkelse Les opp informasjon om liste og rutenett + Informasjon om liste og rutenett leses opp + Informasjon om liste og rutenett leses ikke opp Vil du tilbakestille bevegelser? Dette tilbakestiller alle bevegelser til standardhandlingene.\n\nDu mister alle endringer du har gjort. Tilbakestill Innstillingene for bevegelser er blitt tilbakestilt. Les opp elementtype - For elementer i fokus + Elementtypen leses opp for elementer i fokus + Elementtypen leses ikke opp for elementer i fokus Les opp element-ID-er - For knapper uten etikett - Les opp systemvinduer - Når du bytter til andre systemvinduer, for eksempel statusfeltet, varsler eller volumkontroller + Element-ID-er leses ikke opp for knapper som ikke er merket + Element-ID-er leses opp for knapper som ikke er merket Berøringsutforskning Kontroller Enkelttrykk for å aktivere Trykk én gang på et element som har fokus, for å aktivere Detaljnivå - Les opp tegnsetting og symboler + Tegnsetting Tilpass fokusindikatoren Tilpass bevegelser Tilpassede etiketter @@ -203,7 +211,8 @@ Bruk tonehøydeendringer Tastaturekko Rekkefølge for beskrivelse av element - Les opp bokstaver som er slettet, med lysere stemme + Les opp tekst som er slettet på tastaturet, med lysere stemme + Ikke endre tonehøyden når du snakker Punktskrifttastatur Vibrasjonstilbakemelding Tilbakemelding med lyd @@ -211,6 +220,7 @@ Senk volumet på annen lyd under tale Volum på lydtilbakemelding Hurtigtast for å suspendere/fortsette TalkBack + Skjul skjermsnarveien Utviklerinnstillinger Velg hendelser du vil loggføre Filtertilgjengelighet for loggføring av hendelser @@ -256,7 +266,7 @@ Åpne TalkBack-menyen Stopp tilbakemeldinger midlertidig Sett på pause eller gjenoppta tale - Slå tale på eller av + Slå TalkBack-lyd på eller av Les fra toppen Les fra neste element Skriv ut nodetreet @@ -278,7 +288,6 @@ Hold tilgjengelighetssnarveien Flytt navigeringsfokus forover eller juster lesekontrollen ned Flytt navigeringsfokus bakover eller juster lesekontrollen opp - Aktiver handlingen som er valgt Søkeresultat Spill av eller sett medier på pause Alle apper @@ -323,7 +332,7 @@ Lesing Spesielle funksjoner Annet - Vises når det finnes handlinger for det gjeldende elementet, inkludert blant annet kopier, lim inn og velg + Vises når det finnes tilpassede handlinger for det aktive elementet Kopiér, lim inn, velg med mer Vises når du velger et tekstfelt. Åpne linker i et element som har fokus Gå til neste eller forrige side. Vises når du leser innhold med flere sider. @@ -342,7 +351,6 @@ Åpne innstillinger for tekst til tale Slå av TalkBack-taletilbakemelding Ikke redigerbar - Utfør handlinger Les ett tegn om gangen Les ett ord om gangen Les én linje om gangen @@ -365,7 +373,7 @@ Senk volumet til annen lyd som spilles av når TalkBack snakker Rull fremover eller bakover Øk eller reduser tilgjengelighetsvolum - Les opp tekst som er innebygd i et valgt bilde + Få an automatisk beskrivelse for dette bildet ned ned og deretter til høyre Sveip opp @@ -408,9 +416,7 @@ Dobbelttrykk og hold med to fingre Dobbelttrykk og hold med tre fingre Dobbelttrykk og hold med fire fingre - Trykk og hold med tre fingre Trippeltrykk og hold med to fingre - Trippeltrykk og hold med tre fingre «%1$s» eller «%2$s» for å justere «%1$s» for å justere Ukjent bevegelse @@ -433,9 +439,8 @@ Når skjermen slås på Når låseskjermen vises Bare fra varsler - Hold fingeren nede for å velge hvilken som helst tast, og deretter dobbelttrykker du - Hold fingeren nede for å velge bokstavtast, og deretter løfter du fingeren. Dobbelttrykk for andre taster. - Hold fingeren nede for å velge hvilken som helst tast, og deretter løfter du fingeren + Hold fingeren nede for å velge tast, og deretter dobbelttrykker du + Hold fingeren nede for å velge tast, og deretter løfter du fingeren Slått av Veldig lett Lett @@ -485,6 +490,7 @@ Velg en app for å eksportere etiketter: Denne versjonen av TalkBack inkluderer endringer i standardbevegelsene for tilgjengelighet. Handlingene som er knyttet til disse bevegelsene, kan tilpasses i TalkBack-innstillingene. Når Berøringsutforskning er aktivert, kan du bruke følgende bevegelser for å utføre bestemte handlinger.\n\n%1$s Trykk lenge på volum opp eller volum ned + Trykk raskt på begge volumtastene tre ganger for å skjule eller vise skjermen Vil du skjule skjermen? Dette slår av skjermen for å forbedre personvernet, slik at skjermen ikke er synlig for andre når du er på offentlige steder Denne versjonen av TalkBack inneholder endringer i standardbevegelsene for tilgjengelighet.\n\nOpp-og-deretter-ned-bevegelsen gjør det mulig å bevege seg til det første elementet på skjermen, og ned-og-deretter-opp-bevegelsen tar deg til det siste elementet.\n\nNå kan lesedetaljnivået endres ved å fokusere på et element og deretter velge et detaljnivå fra TalkBack-hurtigmenyen.\n\nDu kan endre handlingene som utføres med disse bevegelsene, i TalkBack-innstillingene. @@ -500,9 +506,6 @@ Er du sikker på at du vil slå på nodetre-feilsøking?\n\nNodetre-feilsøking eksponerer innholdet på skjermen din for loggene til enheten din, og disse kan leses av andre apper. Vil du slå på resultatstatistikk? Er du sikker på at du vil slå på resultatstatistikk?\n\nResultatstatistikk kan bruke mer minne og strøm. - Vil du slå på detaljert logging? - Detaljert logging kan bidra til feilsøking, men kan føre til at personopplysninger vises i bufferen til systemloggen.\n\n Vil du slå på detaljert logging? - Ja, slå på detaljert logging Vil du gi telefontilgang? Dette bidrar til å redusere kunngjøringer fra TalkBack når du er i en samtale Fortsett @@ -556,11 +559,9 @@ Tilgjengelighetsvolum Juster glidebryteren Juster verdien - Handlinger Les passord Passord leses alltid Lyd og vibrering - Lyd kopiert, %1$s Lukk Lukk søket @@ -595,15 +596,13 @@ %1$s for å lese basert på %2$s For å bruke den, gå til TalkBack-innstillingene og legg til en bevegelse for «%1$s» Punktskrifttastatur er ikke på. Gå til TalkBack-innstillingene, konfigurer tastaturet og prøv igjen. - Forslag er tilgjengelige - Forslag er tilgjengelige. For å åpne, %1$s Side %1$d av %2$d Forrige Neste Lukk Fullfør Gå opp - Nye funksjoner i TalkBack + Nye funksjoner i TalkBack Vil du lukke veiledningen? Du kan når som helst gå tilbake til den i TalkBack-innstillingene. Blir værende i veiledningen @@ -647,14 +646,6 @@ Trykk for å finne ut hvordan du bruker TalkBack raskere med nye bevegelser. Nodetreet er blitt skrevet ut til logger. Dette er bevegelsene som er blitt utført nylig. Rapportér hvilken bevegelse som er feil, og hva du forventet. - Du får forenklet volumkontroll, raskere handlingskontroller med mer.\n\nDu finner ut mer om viktige oppdateringer og endringer på de neste skjermene. Dette tar omtrent fem minutter.\n\nDu kan når som helst sjekke denne informasjonen i TalkBack-innstillingene. - Endringer av volumkontroll - For å forbedre volumkontrollen kontrollerer ikke volumtastene tekstmarkører eller glidebrytere lenger.\n\nFor å endre plasseringen til en glidebryter, sveip opp eller ned.\n\nFor å endre plasseringen til tekstmarkøren, sveip opp eller ned i et tekstfelt. Dette fungerer også i lesekontroller for punktskrifttastatur. - Tekst i bilder - Du kan få mer informasjon om tekst i bilder automatisk eller når du trenger det.\n\nFor bilder som ikke har etikett: TalkBack leser automatisk teksten som vises.\n\nFor alle bilder: Åpne TalkBack-menyen og velg «Beskriv tekst i bildet».\n\nBilder blir værende på enheten din og sendes aldri til Google. Dette betyr at du kan bruke begge disse funksjonene uten internettilkobling. - Vindusnavigering - Du kan bytte mellom de forskjellige delene av skjermen, som varsellinjen, hovedinnholdet og tastaturet.\n\nFor å bruke vindusnavigering, sveip ned med fire fingre. - Du kan bytte mellom de forskjellige delene av skjermen, som varsellinjen, hovedinnholdet og tastaturet.\n\nFor å bruke vindusnavigering, sveip ned og så opp. Fortsett til du har valgt vindusnavigering. For å navigere til vinduet, sveip ned. Veiledning Velkommen til TalkBack TalkBack er en skjermleser som er laget for situasjoner eller personer som har vanskeligheter med å se skjermen. Funksjonen gir deg taletilbakemeldinger, slik at du kan bruke enheten uten å se på skjermen.\n\nDu kan slå TalkBack på eller av ved å holde inne begge volumknappene i flere sekunder.\n\nNår TalkBack er på, blir elementet som er i fokus på skjermen, lest opp.\n\nSveiping til høyre flytter til neste element, og sveiping til venstre flytter til forrige element.\n\nSveip til høyre nå for å finne Neste-knappen. @@ -697,14 +688,14 @@ Dra fingeren over tastaturet. Når du hører bokstaven du vil skrive inn, løfter du fingeren.\n\nPrøv å aktivere tekstfeltet nedenfor og skrive inn navnet ditt. Du kan også skrive med punktskrifttastaturet. Du finner det i TalkBack-innstillingene. Beveg markøren - Når du har aktivert et tekstfelt, kan du bevege markøren mellom bokstaver ved å sveipe opp eller ned.\n\nPrøv det i tekstfeltet nedenfor. + Når du har aktivert et tekstfelt, kan du bevege markøren mellom bokstaver ved å trykke på volumtastene opp eller ned.\n\nPrøv det i tekstfeltet nedenfor. Velkommen til TalkBack Merking av tekst I et tekstfelt flytter du markøren til starten av teksten du vil merke.\n\nDobbelttrykk og hold med to fingre for å starte markeringsmodus. Deretter beveger du markøren til slutten av teksten. Dobbelttrykk og hold med to fingre igjen for å avslutte markeringsmodus.\n\nPrøv å merke ordet «Velkommen» i tekstfeltet nedenfor: - I et tekstfelt flytter du markøren til starten av teksten du vil markere.\n\nSveip ned og så til høyre for å åpne TalkBack-menyen. Dobbelttrykk på handlingene og start markeringsmodus. Beveg markøren til slutten av teksten.\n\nÅpne TalkBack-menyen igjen og dobbelttrykk på handlingene for å avslutte markeringsmodus.\n\nPrøv å markere ordet «Velkommen» i tekstfeltet nedenfor. + I et tekstfelt flytter du markøren til starten av teksten du vil merke.\n\nSveip ned og så til høyre for å åpne TalkBack-menyen. Dobbelttrykk på redigeringsalternativene og start markeringsmodus. Beveg markøren til slutten av teksten.\n\nÅpne TalkBack-menyen igjen og dobbelttrykk på redigeringsalternativene for å avslutte markeringsmodus.\n\nPrøv å merke ordet «Velkommen» i tekstfeltet nedenfor: Kopiér, klipp ut og lim inn - Etter at du har valgt tekst, dobbelttrykker du på handlinger og deretter kopier.\n\nPrøv å kopiere et ord i tekstfeltet nedenfor. - For å klippe ut eller lime inn tekst, åpne TalkBack-menyen og dobbelttrykk på handlinger.\n\nFor å lime inn tekst, trippeltrykk med tre fingre.\n\nPrøv å lime inn et ord i tekstfeltet nedenfor. + Etter å ha merket teksten kopierer du den ved å dobbelttrykke med tre fingre.\n\nPrøv å kopiere et ord inn i tekstfeltet nedenfor. + For å klippe ut tekst, dobbelttrykk og hold med tre fingre.\n\nFor å lime inn tekst, trippeltrykk med tre fingre.\n\nPrøv å lime inn et ord i tekstfeltet nedenfor. Etter at du har markert tekst, kan du kopiere den inn i TalkBack-menyen. Sveip ned og så til høyre for å åpne TalkBack-menyen. Dobbelttrykk på redigeringsalternativene, og deretter kopier.\n\nPrøv å kopiere et ord i tekstfeltet nedenfor. For å klippe ut eller lime inn tekst, åpne TalkBack-menyen og dobbelttrykk på redigeringsalternativene.\n\nPrøv å lime inn et ord i tekstfeltet nedenfor. Lim inn tekst her @@ -747,7 +738,6 @@ Sveip til høyre eller venstre for å bevege deg mellom elementer Dobbelttrykk for å aktivere et element Dra to fingre for å rulle - Sjekk om telefonen er tilkoblet. Tykke kantlinjer Farge Standard @@ -759,12 +749,6 @@ Grå Undersøkelsen er lukket Tekst: %1$s - Beskriv tekst i bildet - Registrert ikon: %1$s - Handlingen støttes ikke. - Ingen handling er valgt. - Velg en handling som støttes. - Ingen handlinger. - Handlingsinnstillingen er ikke slått på. - Fant ingen tekst + Beskriv bildet + Forventet ikon: %1$s diff --git a/talkback/src/main/res/values-or/strings.xml b/talkback/src/main/res/values-or/strings.xml index 560940ad1..b6f88d3b4 100644 --- a/talkback/src/main/res/values-or/strings.xml +++ b/talkback/src/main/res/values-or/strings.xml @@ -7,7 +7,6 @@ ଟେକ୍ସଟ୍-ଟୁ-ସ୍ପିଚ୍ ସେଟିଂସ୍ ଭାଷାଗୁଡ଼ିକ କଥିତ ଭାଷା - କାର୍ଯ୍ୟଗୁଡ଼ିକ ସିଷ୍ଟମ୍ କାର୍ଯ୍ୟଗୁଡ଼ିକ ଭର୍ସନ୍‌ %1$s କଷ୍ଟମ୍‌ ଲେବଲ୍‌ ପରିଚାଳନା କରନ୍ତୁ @@ -31,37 +30,46 @@ ଡିଭାଇସ୍‌ ଅନଲକ୍‌ ଅଛି ଅଡିଓ କଥା ଭଲ୍ୟୁମ୍‌ - ସ୍କ୍ରିନ ବନ୍ଦ ଥିବା ବେଳେ ବିଜ୍ଞପ୍ତି କୁହନ୍ତୁ - ସର୍ବଦା ତାଲିକାଭୁକ୍ତ ଆଇଟମଗୁଡ଼ିକର ସଂଖ୍ୟା କୁହନ୍ତୁ - ସମସ୍ତ ସ୍କ୍ରୋଲିଂ ପଦ୍ଧତିର ସଂଖ୍ୟା କୁହନ୍ତୁ + ସ୍କ୍ରୀନ୍‌ ଅଫ୍‌ ଥିବା ସମୟରେ କଥା ହୁଅନ୍ତୁ + ସ୍କ୍ରୀନ୍‌ ଅଫ୍‌ ଥିବା ସମୟରେ ବିଜ୍ଞପ୍ତି କୁହାଗଲା + ସ୍କ୍ରୀନ୍‌ ଅଫ୍‌ ଥିବା ସମୟରେ କୌଣସି କଥା କୁହାଗଲା ନାହିଁ + ସ୍କ୍ରୀନ୍ ଉପରେ ଥିବା ତାଲିକାଭୁକ୍ତ ଆଇଟମ୍‌ର ନାମ କୁହନ୍ତୁ + କେବଳ ଜେଶ୍ଚର୍ ସହିତ ସ୍କ୍ରୋଲ୍ ହେବାବେଳେ କୁହନ୍ତୁ + ସର୍ବଦା କହୁଥିବ ସ୍ପିଚ୍ ବନ୍ଦ କରିବା ପାଇଁ ପ୍ରୋକ୍ସିମିଟୀ ସେନ୍ସର୍ କଭର୍ କରନ୍ତୁ - ଉଦାହରଣ ସହ ଅକ୍ଷର କୁହନ୍ତୁ - ଯେତେବେଳେ ଆପଣ କୀବୋର୍ଡ କୀ ଚୟନ କରନ୍ତି କିମ୍ବା ଅକ୍ଷର ଅନୁସାରେ ନାଭିଗେଟ କରନ୍ତି, ସେତେବେଳେ ଆପଣ \"h, ହୋଟେଲ\" ପରି ପ୍ରତ୍ୟେକ ଅକ୍ଷର ସହିତ ଏକ ଉଦାହରଣ ଶୁଣିବେ - ବିରାମ ଚିହ୍ନ ଏବଂ ପ୍ରତୀକ କୁହନ୍ତୁ + ଫୋନେଟିକ୍‌ ଅକ୍ଷର କୁହନ୍ତୁ + ଫୋନେଟିକ୍ ଅକ୍ଷରଗୁଡ଼ିକ କୁହାଯାଇନଥାଏ + କୀ’ବୋର୍ଡ କୀ\'ଗୁଡ଼ିକୁ ଦୀର୍ଘ ସମୟ ପାଇଁ ଦବାଇ ରଖିଲେ କିମ୍ବା ଅକ୍ଷର ଅନୁଯାୟୀ ନାଭିଗେଟ୍ କରିବାବେଳେ ଫୋନେଟିକ୍‌ ଅକ୍ଷର କୁହାଯାଇଥାଏ + ବିରାମ ଚିହ୍ନ + ବିରାମ ଚିହ୍ନ ଓ ପ୍ରତୀକଗୁଡ଼ିକ କୁହାଯାଏ ନାହିଁ + ବିରାମ ଚିହ୍ନ ଓ ପ୍ରତୀକଗୁଡ଼ିକ କୁହାଯାଏ ବଡ଼ ଅକ୍ଷର କିଛି କରନ୍ତୁ ନାହିଁ “ବଡ଼ ଅକ୍ଷର” ବୋଲି କୁହନ୍ତୁ ପିଚ୍ ପରିବର୍ତ୍ତନ କରନ୍ତୁ ସାଉଣ୍ଡ ଚଲାନ୍ତୁ ବ୍ୟବହାର ସୂଚନା କୁହନ୍ତୁ - ବିଷୟବସ୍ତୁ ବର୍ଣ୍ଣନା କରିବା ପରେ, କିପରି ବ୍ୟବହାର କରିବେ ତାହା ପରାମର୍ଶ ଦିଅନ୍ତୁ - ତାଲିକା ଏବଂ ଗ୍ରିଡ ସୂଚନା କୁହନ୍ତୁ + ଆକ୍ସେସିବିଲିଟୀ ଫୋକସ୍ ଚଲାଇବା ସମୟରେ ଉପଯୋଗୀ ସୂଚନା କୁହାଯାଇନଥାଏ + ଅଳ୍ପ ବିଳମ୍ବ ପରେ ନାଭିଗେସନ୍ ସମୟରେ ଉପଯୋଗୀ ସୂଚନା କୁହାଯାଇଥାଏ + ତାଲିକା ଓ ଗ୍ରୀଡ୍‌ର ସୂଚନା ବିଷୟରେ କୁହନ୍ତୁ + ତାଲିକା ଓ ଗ୍ରୀଡ୍‌ର ସୂଚନା କୁହାଯାଏ + ତାଲିକା ଓ ଗ୍ରୀଡ୍‌ର ସୂଚନା କୁହାଯାଇନାହିଁ ଜେଶ୍ଚରଗୁଡ଼ିକୁ ରିସେଟ୍ କରିବେ? ଏହା ସମସ୍ତ ଜେଶ୍ଚରକୁ ସେଗୁଡ଼ିକର ଡିଫଲ୍ଟ କାର୍ଯ୍ୟଗୁଡ଼ିକରେ ରିସେଟ୍ କରିବ।\n\nଆପଣ ନିଜେ କରିଥିବା ଯେ କୌଣସି ପରିବର୍ତ୍ତନକୁ ହରାଇବେ। ରିସେଟ୍ କରନ୍ତୁ ଜେଶ୍ଚର୍ ସେଟିଂସ୍ ରିସେଟ୍ କରାଯାଇଛି। ଏଲିମେଣ୍ଟର ପ୍ରକାର କୁହନ୍ତୁ - ଫୋକସ କରାଯାଇଥିବା ଆଇଟମଗୁଡ଼ିକ ପାଇଁ + ଫୋକସ୍‌ କରାଯାଇଥିବା ଆଇଟମ୍ ପାଇଁ ଏଲିମେଣ୍ଟ ପ୍ରକାର କୁହାଯାଇଥାଏ + ଫୋକସ୍‌ କରାଯାଇଥିବା ଆଇଟମ୍ ପାଇଁ ଏଲିମେଣ୍ଟ ପ୍ରକାର କୁହାଯାଇନଥାଏ ଏଲିମେଣ୍ଟ ID କୁହନ୍ତୁ - ଲେବଲ କରାଯାଇନଥିବା ଆଇଟମଗୁଡ଼ିକ ପାଇଁ - ସ୍ପିକ ସିଷ୍ଟମ ୱିଣ୍ଡୋ - ଯେତେବେଳେ ଆପଣ ଷ୍ଟାଟସ ବାର, ବିଜ୍ଞପ୍ତି କିମ୍ବା ଭଲ୍ୟୁମ ନିୟନ୍ତ୍ରଣ ପରି ଅନ୍ୟ ସିଷ୍ଟମ ୱିଣ୍ଡୋକୁ ସ୍ୱିଚ କରନ୍ତି + ଏଲିମେଣ୍ଟ IDଗୁଡ଼ିକୁ ଲେବଲ୍ କରାଯାଇନଥିବା ବଟନ୍ ପାଇଁ କୁହାଯାଇନଥାଏ + ଏଲିମେଣ୍ଟ IDଗୁଡ଼ିକୁ ଲେବଲ୍ କରାଯାଇନଥିବା ବଟନ୍ ପାଇଁ କୁହାଯାଇଥାଏ ସ୍ପର୍ଶ ଦ୍ୱାରା ଅନ୍ୱେଷଣ କରନ୍ତୁ ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ ସକ୍ରିୟ କରିବାକୁ ଗୋଟିଏ ଥର-ଟାପ୍ କରନ୍ତୁ ସକ୍ରିୟ କରିବାକୁ ଏକ ଫୋକସ୍ କରାଯାଇଥିବା ଆଇଟମ୍ ଉପରେ ଥରେ ଟାପ୍ କରନ୍ତୁ ଶବ୍ଦବହୁଳତା - ବିରାମ ଚିହ୍ନ ଏବଂ ପ୍ରତୀକ କୁହନ୍ତୁ + ବିରାମ ଚିହ୍ନ ଫୋକସ୍ ଇଣ୍ଡିକେଟରକୁ କଷ୍ଟମାଇଜ୍ କରନ୍ତୁ ଜେଶ୍ଚରଗୁଡ଼ିକୁ କଷ୍ଟମାଇଜ୍ କରନ୍ତୁ କଷ୍ଟମ୍ ଲେବଲ୍ @@ -149,7 +157,7 @@ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ଦେଖାନ୍ତୁ ଇନଷ୍ଟଲ୍‌ ହୋଇଥିବା ଭାଷାଗୁଡ଼ିକ ଦେଖାନ୍ତୁ କୀ’ବୋର୍ଡ ଶର୍ଟକଟ୍‌ଗୁଡ଼ିକ ପରିଚାଳନା କରନ୍ତୁ - ଟକବ୍ୟାକ୍ ସେଟିଂସ ଖୋଲନ୍ତୁ + ଟକବ୍ୟାକ୍‌ ସେଟିଙ୍ଗ ଖୋଲନ୍ତୁ ୱେବ୍‌ ନେଭିଗେଶନ୍‌ କାର୍ଯ୍ୟ ପରବର୍ତ୍ତୀ ବଟନ୍‌କୁ ନେଭିଗେଟ୍‌ କରନ୍ତୁ ପୂର୍ବ ବଟନ୍‌କୁ ନେଭିଗେଟ୍‌ କରନ୍ତୁ @@ -203,7 +211,8 @@ ପିଚ୍‌ ପରିବର୍ତ୍ତନ ବ୍ୟବହାର କରନ୍ତୁ କୀବୋର୍ଡ ଇକୋ ଏଲିମେଣ୍ଟ ବିବରଣୀ କ୍ରମ - ଡିଲିଟ କରାଯାଇଥିବା ଲେଟରଗୁଡ଼ିକୁ ଏକ ହାଇ-ପିଚ ଭଏସରେ କୁହନ୍ତୁ + କୀବୋର୍ଡ ମାଧ୍ୟମରେ ଡିଲିଟ୍ କରାଯାଇଥିବା ଟେକ୍ସଟକୁ ଏକ ହାଇ-ପିଚ୍ ଭଏସରେ କୁହନ୍ତୁ + କଥା କହିବା ସମୟରେ ସ୍ୱର ପିଟ୍‌ ପରିବର୍ତ୍ତନ କରନ୍ତୁ ନାହିଁ ବ୍ରେଲି କୀବୋର୍ଡ ଭାଇବ୍ରେସନ୍ ମତାମତ ସାଉଣ୍ଡ ମତାମତ @@ -211,7 +220,8 @@ କହିବା ସମୟରେ ଅନ୍ୟ ଅଡିଓ ଭଲ୍ୟୁମ୍‌ କମ୍‌ କରନ୍ତୁ ସାଉଣ୍ଡ ମତାମତ ଭଲ୍ୟୁମ୍‍ ଟକବ୍ୟାକ୍‌ ଖାରଜ କରନ୍ତୁ ଏବଂ ଶର୍ଟକଟ୍‌ ପୁନଃଆରମ୍ଭ କରନ୍ତୁ - ଡେଭଲପର ସେଟିଂସ + ସ୍କ୍ରିନ୍ ସର୍ଟକଟ୍ ଲୁଚାନ୍ତୁ + ଡେଭଲପର୍ ସେଟିଂସ୍ ଲଗରେ ଇଭେଣ୍ଟଗୁଡ଼ିକ ଚୟନ କରନ୍ତୁ ଆକ୍ସେସବିଲିଟି ଇଭେଣ୍ଟ ଲଗିଙ୍ଗ ଫିଲ୍ଟର କରନ୍ତୁ ୱିଣ୍ଡୋ ଉଦ୍‍ଘୋଷଣା ବିଳମ୍ବ ହ୍ରାସ କରନ୍ତୁ @@ -256,7 +266,7 @@ TalkBack ମେନୁ ଖୋଲନ୍ତୁ ମତାମତକୁ ପଜ୍ କରନ୍ତୁ ସ୍ପିଚ୍ ବିରତ କରନ୍ତୁ କିମ୍ବା ପୁଣି ଆରମ୍ଭ କରନ୍ତୁ - ସ୍ପିଚ ଚାଲୁ କିମ୍ବା ବନ୍ଦ କରନ୍ତୁ + TalkBack ସାଉଣ୍ଡକୁ ଚାଲୁ କିମ୍ବା ବନ୍ଦ କରନ୍ତୁ ଶୀର୍ଷରୁ ପଢ଼ନ୍ତୁ ପରବର୍ତ୍ତୀ ଆଇଟମ୍‌ରୁ ପଢ଼ନ୍ତୁ ନୋଡ୍‌ ଟ୍ରୀ ପ୍ରିଣ୍ଟ କରନ୍ତୁ @@ -278,7 +288,6 @@ ଆକ୍ସେସିବିଲିଟୀ ସର୍ଟକଟକୁ ଧରି ରଖନ୍ତୁ ନାଭିଗେସନ୍ ଫୋକସକୁ ଆଗକୁ ମୁଭ୍ କରନ୍ତୁ କିମ୍ବା ପଢ଼ିବା ନିୟନ୍ତ୍ରଣକୁ ତଳକୁ ଆଡଜଷ୍ଟ କରନ୍ତୁ ନାଭିଗେସନ୍ ଫୋକସକୁ ପଛକୁ ମୁଭ୍ କରନ୍ତୁ କିମ୍ବା ପଢ଼ିବା ନିୟନ୍ତ୍ରଣକୁ ଉପରକୁ ଆଡଜଷ୍ଟ କରନ୍ତୁ - ବର୍ତ୍ତମାନ ଚୟନ କରାଯାଇଥିବା କାର୍ଯ୍ୟକୁ ସକ୍ରିୟ କରନ୍ତୁ ସନ୍ଧାମ ପରିଣାମ ମିଡିଆ ଚଲାନ୍ତୁ ବା ବିରତ କରନ୍ତୁ ସମସ୍ତ ଆପ୍ @@ -323,7 +332,7 @@ ପଢ଼ିବା ବିଶେଷ ଫିଚରଗୁଡ଼ିକ ଅନ୍ୟ - କପି କରିବା, ପେଷ୍ଟ କରିବା, ଚୟନ କରିବା ଏବଂ ଆହୁରି ଅନେକ କିଛି ସମେତ, ବର୍ତ୍ତମାନର ଆଇଟମ ପାଇଁ କାର୍ଯ୍ୟଗୁଡ଼ିକ ଥିଲେ ଏହା ଦେଖାଇଥାଏ + ବର୍ତ୍ତମାନର ଆଇଟମ୍ ପାଇଁ କଷ୍ଟମ୍ କାର୍ଯ୍ୟଗୁଡ଼ିକ ଥିଲେ ଏହା ଦେଖାଇଥାଏ କପି, ପେଷ୍ଟ, ଚୟନ ଏବଂ ଆହୁରି ଅନେକ କିଛି କରନ୍ତୁ। ଆପଣ ଏକ ଟେକ୍ସଟ୍ ବାକ୍ସ ଚୟନ କଲେ ଏହା ଦେଖାଇଥାଏ। ଫୋକସ୍ କରାଯାଇଥିବା ଏକ ଆଇଟମ୍ ମଧ୍ୟରେ ଲିଙ୍କଗୁଡ଼ିକୁ ଖୋଲନ୍ତୁ ପରବର୍ତ୍ତୀ କିମ୍ବା ପୂର୍ବବର୍ତ୍ତୀ ପୃଷ୍ଠାକୁ ଯାଆନ୍ତୁ। ଆପଣ ଏକାଧିକ ପୃଷ୍ଠାରେ ଥିବା ବିଷୟବସ୍ତୁ ପଢ଼ିବା ବେଳେ ଏହା ଦେଖାଇଥାଏ। @@ -342,7 +351,6 @@ ଟେକ୍ସଟ୍-ଟୁ-ସ୍ପିଚ୍ ସେଟିଂସ୍ ଖୋଲନ୍ତୁ TalkBack ଭଏସ୍ ମତାମତକୁ ବନ୍ଦ କରନ୍ତୁ ଏଡିଟ୍ କରିପାରିବେ ନାହିଁ - କାର୍ଯ୍ୟଗୁଡ଼ିକ କରନ୍ତୁ ଥରକେ ଗୋଟିଏ ଅକ୍ଷର ପଢ଼ନ୍ତୁ ଥରକେ ଗୋଟିଏ ଶବ୍ଦ ପଢ଼ନ୍ତୁ ଥରକେ ଗୋଟିଏ ଧାଡ଼ି ପଢ଼ନ୍ତୁ @@ -365,7 +373,7 @@ TalkBack କହୁଥିବା ସମୟରେ ଚାଲୁଥିବା ଅନ୍ୟ ଅଡିଓର ଭଲ୍ୟୁମକୁ କମ୍ କରନ୍ତୁ ଫରୱାର୍ଡ୍ ବା ବ୍ୟାକୱାର୍ଡକୁ ସ୍କ୍ରୋଲ୍ କରନ୍ତୁ ଆକ୍ସେସିବିଲିଟୀ ଭଲ୍ୟୁମ୍ ବଢ଼ାନ୍ତୁ କିମ୍ବା କମାନ୍ତୁ - ଚୟନିତ ଇମେଜରେ ଏମ୍ବେଡ କରାଯାଇଥିବା ଟେକ୍ସଟ ପଢ଼ନ୍ତୁ + ଏହି ଇମେଜ୍ ପାଇଁ ଏକ ସ୍ୱଚାଳିତ ବର୍ଣ୍ଣନା ପାଆନ୍ତୁ ତଳ ତଳକୁ ତା’ପରେ ଡାହାଣକୁ ଉପରକୁ ସ୍ୱାଇପ୍‌ କରନ୍ତୁ @@ -408,9 +416,7 @@ 2ଟି ଆଙ୍ଗୁଠିରେ ଦୁଇଥର-ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ 3ଟି ଆଙ୍ଗୁଠିରେ ଦୁଇଥର-ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ 4ଟି ଆଙ୍ଗୁଠିରେ ଦୁଇଥର-ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ - 3ଟି ଆଙ୍ଗୁଠିରେ ଟାପ କରି ଧରି ରଖିନ୍ତୁ 2ଟି ଆଙ୍ଗୁଠିରେ ତିନିଥର-ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ - 3ଟି ଆଙ୍ଗୁଠିରେ ତିନିଥର-ଟାପ କରି ଧରି ରଖିନ୍ତୁ ଆଡଜଷ୍ଟ କରିବାକୁ \"%1$s\" କିମ୍ବା %2$s\" ଆଡଜଷ୍ଟ କରିବାକୁ \"%1$s\" ଅଜଣା ଜେଶ୍ଚର୍ @@ -433,9 +439,8 @@ ଯେତେବେଳେ ସ୍କ୍ରୀନ୍‌ ଅନ୍‌ ହୁଏ ଯେତେବେଳେ ଲକ୍‌ ସ୍କ୍ରୀନ୍‌ ଦେଖାଯାଇଥିଲା କେବଳ ବିଜ୍ଞପ୍ତିଠାରୁ - ଯେ କୌଣସି କୀ ଚୟନ କରିବା ପାଇଁ ଆଙ୍ଗୁଠିକୁ ଦବାଇ ଧରନ୍ତୁ, ତା\'ପରେ ଦୁଇଥର-ଟାପ କରନ୍ତୁ - ଯେ କୌଣସି ଅକ୍ଷର ଚୟନ କରିବା ପାଇଁ ଆଙ୍ଗୁଠିକୁ ଦବାଇ ଧରନ୍ତୁ, ତା\'ପରେ ଉଠାନ୍ତୁ। ଅନ୍ୟ କୀଗୁଡ଼ିକ ପାଇଁ ଦୁଇଥର-ଟାପ କରନ୍ତୁ। - ଯେ କୌଣସି କୀ ଚୟନ କରିବା ପାଇଁ ଆଙ୍ଗୁଠିକୁ ଦବାଇ ଧରନ୍ତୁ, ତା\'ପରେ ଉଠାନ୍ତୁ + କୀ ଚୟନ କରିବା ପାଇଁ ଆଙ୍ଗୁଠିକୁ ଦବାଇ ଧରନ୍ତୁ, ତା\'ପରେ ଦୁଇଥର-ଟାପ୍ କରନ୍ତୁ + କୀ ଚୟନ କରିବା ପାଇଁ ଆଙ୍ଗୁଠିକୁ ଦବାଇ ଧରନ୍ତୁ, ତା\'ପରେ ଉଠାନ୍ତୁ ଅକ୍ଷମ ହୋଇଛି ଅତି ହାଲୁକା ହାଲୁକା @@ -485,6 +490,7 @@ ଲେବଲ୍‌ ଏକ୍ସପୋର୍ଟ କରିବାକୁ ଏକ ଆପ୍ଲିକେଶନ୍‍ର ଚୟନ କରନ୍ତୁ ଟକବ୍ୟାକ୍‌ର ଏହି ଭର୍ସନ୍‌ରେ ଡିଫଳ୍ଟ ବ୍ୟବହାରିକ ଜେଶ୍ଚର୍‍ ଅନ୍ତର୍ଭୁକ୍ତ ଅଟେ। ଜେଶ୍ଚର୍‍ ସହିତ ଜଡ଼ିତ କାର୍ଯ୍ୟପ୍ରକ୍ରିୟା ଟକବ୍ୟାକ୍ ସେଟିଙ୍ଗ ମଧ୍ୟରେ କଷ୍ଟମାଇଜ୍ କରାଯାଇପାରେ। ଯେତେବେଳେ ସ୍ପର୍ଶ ଦ୍ୱାରା ସନ୍ଧାନ କରିବା ସକ୍ଷମ କରାଯାଏ, ଆପଣ କେତୋଟି କାର୍ଯ୍ୟପ୍ରକ୍ରିୟା କରିବାକୁ ନିମ୍ନଲିଖିତ ଜେଶ୍ଚର୍‍ର ବ୍ୟବହାର କରିପାରିବେ। \n\n%1$s ଭଲ୍ୟୁମ୍‌ ଉପରକୁ ଓ ତଳକୁ କରିବା କୀ’କୁ ଅଧିକ ସମୟ ଧରି ଦବାନ୍ତୁ + ସ୍କ୍ରିନ୍ ଲୁଚାଇବାକୁ କିମ୍ବା ଦେଖାଇବାକୁ ଉଭୟ ଭଲ୍ୟୁମ୍ କୀକୁ ଶୀଘ୍ର ତିନିଥର ଦବାନ୍ତୁ ସ୍କ୍ରିନ୍ ଲୁଚାଇବେ? ଗୋପନୀୟତାକୁ ଉନ୍ନତ କରିବାକୁ ଏହା ଡିସପ୍ଲେକୁ ବନ୍ଦ କରିଥାଏ, ଯାହା ଫଳରେ ସାର୍ବଜନୀନ ସ୍ଥାନଗୁଡ଼ିକରେ ଥିବା ସମୟରେ ଆପଣଙ୍କ ସ୍କ୍ରିନ୍ ଅନ୍ୟମାନଙ୍କୁ ଦେଖାଯାଏ ନାହିଁ TalkBackର ଏହି ସଂସ୍କରଣରେ ଡିଫଲ୍ଟ ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର ପରିବର୍ତ୍ତନଗୁଡ଼ିକ ଅନ୍ତର୍ଭୁକ୍ତ ଥାଏ।\n\nଉପରକୁ-ତା’ପରେ-ତଳକୁ ଜେଶ୍ଚର୍ ଆପଣଙ୍କୁ ସ୍କ୍ରିନର ପ୍ରଥମ ଆଇଟମକୁ ମୁଭ୍ କରିବାକୁ ଏବଂ ତଳକୁ-ତା’ପରେ-ଉପରକୁ ଜେଶ୍ଚର୍ ଶେଷ ଆଇଟମକୁ ମୁଭ୍ କରିବାକୁ ଅନୁମତି ଦେବ।\n\nଏକ ଆଇଟମକୁ ଫୋକସ୍ କରି ତା’ପରେ TalkBack ପ୍ରସଙ୍ଗ ମେନୁରୁ ଏକ ଗ୍ରାନୁଲାରିଟି ଚୟନ କରିବା ଦ୍ୱାରା ପଢ଼ିବା ଗ୍ରାନୁଲାରିଟିକୁ ବର୍ତ୍ତମାନ ବଦଳା ଯାଇପାରିବ।\n\nଆପଣ TalkBack ସେଟିଂସରେ ଏହି ଜେଶ୍ଚର୍ ଦ୍ୱାରା କରାଯାଇଥିବା କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ବଦଳାଇ ପାରିବେ। @@ -500,9 +506,6 @@ ନୋଡ୍‌ ଟ୍ରୀ ଡିବଗିଙ୍ଗକୁ ଅନ୍‌ କରିବା ପାଇଁ ଆପଣ ନିଶ୍ଚିତ କି?\n\nନୋଡ୍‌ ଟ୍ରୀ ଡିବଗିଙ୍ଗ ଆପଣଙ୍କ ସ୍କ୍ରୀନ୍‌ର ବିଷୟକୁ ନିଜ ଡିଭାଇସ୍‌ର ଲଗ୍‌ରେ ଦେଖାଇଥାଏ, ଯାହାକୁ ଅନ୍ୟ ଆପ୍ଲିକେଶନ୍ ସାହାଯ୍ୟରେ ପଢ଼ାଯାଇପାରିବ। କାର୍ଯ୍ୟଦକ୍ଷତା ପରିସଂଖ୍ୟନ ସକ୍ଷମ କରିବେ? ଆପଣ କାର୍ଯ୍ୟଦକ୍ଷତା ପରିସଂଖ୍ୟନ ଅନ୍‌ କରିବାକୁ ଚାହୁଁଛନ୍ତି କି?\n\nକାର୍ଯ୍ୟଦକ୍ଷତା ପରିସଂଖ୍ୟନ ଅଧିକ ମେମୋରୀ ଓ ପାୱାର୍‌ ଖର୍ଚ୍ଚ କରିପାରେ। - ଭର୍ବୋସ ଲଗିଂ ସକ୍ଷମ କରିବେ? - ଭର୍ବୋସ ଲଗିଂ ଡିବଗ କରିବାରେ ସାହାଯ୍ୟ କରିପାରିବ କିନ୍ତୁ ଏହା ଫଳରେ ସିଷ୍ଟମ ଲଗ ବଫରରେ ବ୍ୟକ୍ତିଗତ ସୂଚନା ଦେଖାଯାଇପାରେ।\n\n ଭର୍ବୋସ ଲଗିଂକୁ ସକ୍ଷମ କରିବେ? - ହଁ, ଭର୍ବୋସ ଲଗିଂ ସକ୍ଷମ କରନ୍ତୁ ଫୋନ୍ ଆକ୍ସେସକୁ ଅନୁମତି ଦେବେ କି? ଆପଣ କୌଣସି କଲରେ ଥିବା ସମୟରେ ଏହା TalkBackକୁ ଘୋଷଣାଗୁଡ଼ିକୁ କମ୍ କରିବାରେ ସାହାଯ୍ୟ କରେ ଜାରି ରଖନ୍ତୁ @@ -546,7 +549,7 @@ ଟକବ୍ୟାକ୍‌ ଅନ୍‌ ଅଛି ନାଭିଗେଟ୍ କରିବା ପାଇଁ ଆରୋ ସହିତ ସର୍ଚ୍ଚକୁ ଦବାନ୍ତୁ ଶର୍ଟକଟଗୁଡ଼ିକର ତାଲିକା ଦେଖିବାକୁ %1$s ଦବାନ୍ତୁ - ଟକବ୍ୟାକ୍‌ ସେଟିଂସ ଖୋଲିବା ପାଇଁ %1$sକୁ ଦବାନ୍ତୁ + ଟକବ୍ୟାକ୍‌ ସେଟିଙ୍ଗ ଖୋଲିବା ପାଇଁ %1$s ଦବାନ୍ତୁ ଡିଫଲ୍ଟ ସ୍ପିଚ୍‌ ରେଟ୍ ଶବ୍ଦବହୁଳତା @@ -556,11 +559,9 @@ ଆକ୍ସେସିବିଲିଟୀ ଭଲ୍ୟୁମ୍ ସ୍ଲାଇଡରକୁ ଆଡଜଷ୍ଟ କରନ୍ତୁ ମୂଲ୍ୟକୁ ଆଡଜଷ୍ଟ କରନ୍ତୁ - କାର୍ଯ୍ୟଗୁଡ଼ିକ ପାସୱାର୍ଡ କୁହନ୍ତୁ ପାସୱାର୍ଡ ସବୁବେଳେ କୁହାଯାଇଥାଏ ସାଉଣ୍ଡ ଏବଂ ଭାଇବ୍ରେସନ୍ - ସାଉଣ୍ଡ କପୀ ହେଲା, %1$s ବନ୍ଦ କରନ୍ତୁ ସନ୍ଧାନ ବନ୍ଦ କରନ୍ତୁ @@ -595,15 +596,13 @@ %2$s ଭାବରେ ପଢ଼ିବାକୁ %1$s ଏହା ବ୍ୟବହାର କରିବାକୁ, TalkBack ସେଟିଂସକୁ ଯାଆନ୍ତୁ ଏବଂ \'%1$s\' ପାଇଁ ଏକ ଜେଶ୍ଚର୍ ଯୋଗ କରନ୍ତୁ ବ୍ରେଲି କୀବୋର୍ଡ ଚାଲୁ କରାଯାଇନାହିଁ। TalkBack ସେଟିଂସକୁ ଯାଅ, ବ୍ରେଲି କୀବୋର୍ଡ ସେଟ୍ ଅପ୍ କରି ପୁଣି ଚେଷ୍ଟା କର। - ପରାମର୍ଶ ଉପଲବ୍ଧ ଅଛି - ପରାମର୍ଶ ଉପଲବ୍ଧ ଅଛି। ଆକ୍ସେସ କରିବାକୁ, %1$s %2$d ମଧ୍ୟରୁ %1$d ପୃଷ୍ଠା ପୂର୍ବବର୍ତ୍ତୀ ପରବର୍ତ୍ତୀ ବନ୍ଦ କରନ୍ତୁ ସମ୍ପୂର୍ଣ୍ଣ କର ଉପରକୁ ନାଭିଗେଟ୍ କରନ୍ତୁ - TalkBackରେ ନୂଆ ଫିଚରଗୁଡ଼ିକ + TalkBackରେ ନୂଆ ଫିଚରଗୁଡ଼ିକ ଟ୍ୟୁଟୋରିଆଲ୍ ବନ୍ଦ କରିବେ? ଆପଣ ଯେ କୌଣସି ସମୟରେ TalkBack ସେଟିଂସରେ ଏଠାକୁ ଫେରିପାରିବେ। ଟ୍ୟୁଟୋରିଆଲରେ ରୁହନ୍ତୁ @@ -647,14 +646,6 @@ ନୂଆ ଜେଶ୍ଚରଗୁଡ଼ିକ ସହିତ TalkBackର ବ୍ୟବହାରକୁ କିପରି ଦ୍ରୁତ କରିବେ ତାହା ଜାଣିବାକୁ ଟାପ୍ କରନ୍ତୁ। ଲଗଗୁଡ଼ିକରେ ନୋଡ୍ ଟ୍ରି ପ୍ରିଣ୍ଟ କରାଯାଇଛି। ଏଠାରେ ବର୍ତ୍ତମାନ କରାଯାଇଥିବା ଜେଶ୍ଚରଗୁଡ଼ିକ ଅଛି, ଦୟାକରି କେଉଁ ଜେଶ୍ଚରଟି ଭୁଲ୍ ଏବଂ କଣ ଆଶା କରାଯାଉଛି ତାହା ରିପୋର୍ଟ କରନ୍ତୁ। - ଆପଣ ସରଳୀକୃତ ଭଲ୍ୟୁମ ନିୟନ୍ତ୍ରଣ, ଶୀଘ୍ର କାର୍ଯ୍ୟ ନିୟନ୍ତ୍ରଣ ଏବଂ ଆହୁରି ଅନେକ କିଛି ପାଇବେ।\n\nଆପଣ ପରବର୍ତ୍ତୀ କିଛି ସ୍କ୍ରିନରେ ପ୍ରମୁଖ ଅପଡେଟ ଏବଂ ପରିବର୍ତ୍ତନଗୁଡ଼ିକ ବିଷୟରେ ଜାଣିବେ। ଏଥିପାଇଁ ପ୍ରାୟ 5 ମିନିଟ ସମୟ ଲାଗିବ।\n\nଆପଣ ଯେ କୌଣସି ସମୟରେ TalkBack ସେଟିଂସରେ ଏହି ସୂଚନାର ସମୀକ୍ଷା କରିପାରିବେ। - ଭଲ୍ୟୁମ ନିୟନ୍ତ୍ରଣ ସମ୍ବନ୍ଧିତ ପରିବର୍ତ୍ତନଗୁଡ଼ିକ - ଭଲ୍ୟୁମ ନିୟନ୍ତ୍ରଣକୁ ଉନ୍ନତ କରିବା ପାଇଁ, ଭଲ୍ୟୁମ କୀଗୁଡ଼ିକ ଟେକ୍ସଟ କର୍ସର କିମ୍ବା ସ୍ଲାଇଡରଗୁଡ଼ିକୁ ଆଉ ନିୟନ୍ତ୍ରଣ କରୁନାହିଁ।\n\nଏକ ସ୍ଲାଇଡରର ଅବସ୍ଥିତି ପରିବର୍ତ୍ତନ କରିବାକୁ, ଉପରକୁ କିମ୍ବା ତଳକୁ ସ୍ୱାଇପ କରନ୍ତୁ।\n\nଟେକ୍ସଟ କର୍ସରର ଅବସ୍ଥିତି ପରିବର୍ତ୍ତନ କରିବାକୁ, ଏକ ଟେକ୍ସଟ ବକ୍ସରେ ଉପରକୁ କିମ୍ବା ତଳକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ଏହା ମଧ୍ୟ ବ୍ରେଲି କୀବୋର୍ଡ ପଢ଼ିବା ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକରେ କାମ କରେ। - ଇମେଜଗୁଡ଼ିକରେ ଥିବା ଟେକ୍ସଟ - ଆପଣ ସ୍ୱଚାଳିତ ଭାବେ କିମ୍ବା ଆପଣ ଆବଶ୍ୟକ କରିବା ସମୟରେ ଇମେଜଗୁଡ଼ିକରେ ଥିବା ଟେକ୍ସଟ ବିଷୟରେ ସବିଶେଷ ସୂଚନା ପାଇପାରିବେ।\n\nକୌଣସି ଲେବଲ ନଥିବା ଇମେଜଗୁଡ଼ିକ ପାଇଁ: TalkBack ସ୍ୱଚାଳିତ ଭାବେ ଦେଖାଯାଉଥିବା ଟେକ୍ସଟକୁ ପଢ଼ିବ।\n\nସମସ୍ତ ଇମେଜ ପାଇଁ: TalkBack ମେନୁ ଖୋଲନ୍ତୁ ଏବଂ \"ଇମେଜରେ ଥିବା ଟେକ୍ସଟର ବର୍ଣ୍ଣନା କରନ୍ତୁ\"କୁ ଚୟନ କରନ୍ତୁ।\n\nଇମେଜଗୁଡ଼ିକ ଆପଣଙ୍କ ଡିଭାଇସରେ ରହିଥାଏ ଏବଂ ସେଗୁଡ଼ିକୁ କେବେ ବି Googleକୁ ପଠାଯାଏ ନାହିଁ। ଏହାର ଅର୍ଥ ହେଉଛି ଆପଣ କୌଣସି ଇଣ୍ଟରନେଟ ସଂଯୋଗ ବିନା ଉଭୟ ଫିଚରକୁ ବ୍ୟବହାର କରିପାରିବେ। - ୱିଣ୍ଡୋ ନାଭିଗେସନ - ବିଜ୍ଞପ୍ତି ବାର, ମୁଖ୍ୟ ବିଷୟବସ୍ତୁ ଏବଂ କୀବୋର୍ଡ ପରି ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଥିବା ବିଭିନ୍ନ ବିଭାଗ ମଧ୍ୟରେ ଆପଣ ସ୍ୱିଚ କରିପାରିବେ।\n\nୱିଣ୍ଡୋ ନାଭିଗେସନ ବ୍ୟବହାର କରିବାକୁ, 4ଟି ଆଙ୍ଗୁଠିରେ ତଳକୁ ସ୍ୱାଇପ କରନ୍ତୁ। - ବିଜ୍ଞପ୍ତି ବାର, ମୁଖ୍ୟ ବିଷୟବସ୍ତୁ ଏବଂ କୀବୋର୍ଡ ପରି ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଥିବା ବିଭିନ୍ନ ବିଭାଗ ମଧ୍ୟରେ ଆପଣ ସ୍ୱିଚ କରିପାରିବେ।\n\nୱିଣ୍ଡୋ ନାଭିଗେସନ ବ୍ୟବହାର କରିବାକୁ, ତଳକୁ ଏବଂ ତା\'ପରେ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ଆପଣ ୱିଣ୍ଡୋ ନାଭିଗେସନ ଚୟନ ନକରିବା ପର୍ଯ୍ୟନ୍ତ ଜାରି ରଖନ୍ତୁ। ୱିଣ୍ଡୋକୁ ନାଭିଗେଟ କରିବା ପାଇଁ, ତଳକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ଟ୍ୟୁଟୋରିଆଲ୍ TalkBackକୁ ସ୍ୱାଗତ TalkBack ଏକ ସ୍କ୍ରିନ୍ ରିଡର୍ ଯାହା ଏପରି କିଛି ପରିସ୍ଥିତି ପାଇଁ କିମ୍ବା ସ୍କ୍ରିନ୍ ଦେଖିବାରେ ଅସୁବିଧାର ସମ୍ମୁଖୀନ ହେଉଥିବା ଲୋକମାନଙ୍କ ପାଇଁ ଉଦ୍ଦିଷ୍ଟ ଅଟେ। ଏହା ଆପଣଙ୍କୁ କଥିତ ମତାମତ ଦିଏ ଯାହା ଫଳରେ ଆପଣ ସ୍କ୍ରିନକୁ ନଦେଖି ଆପଣଙ୍କ ଡିଭାଇସ୍ ବ୍ୟବହାର କରିପାରିବେ।\n\nକିଛି ସମୟ ପାଇଁ ଉଭୟ ଭଲ୍ୟୁମ୍ କୀକୁ ଦବାଇ ଧରି ଆପଣ TalkBackକୁ ଚାଲୁ କିମ୍ବା ବନ୍ଦ କରିପାରିବେ।\n\nଯେତେବେଳେ TalkBack ଚାଲୁ ଥାଏ, ସେତେବେଳେ ସ୍କ୍ରିନରେ ଫୋକସ୍ କରାଯାଇଥିବା ଆଇଟମକୁ ଉଚ୍ଚ ସ୍ୱରରେ କହିଥାଏ।\n\nଡାହାଣକୁ ସ୍ୱାଇପ୍ କରିବା ଦ୍ୱାରା ପରବର୍ତ୍ତୀ ଆଇଟମ୍ ଏବଂ ବାମକୁ ସ୍ୱାଇପ୍ କରିବା ଦ୍ୱାରା ପୂର୍ବବର୍ତ୍ତୀ ଆଇଟମକୁ ମୁଭ୍ କରିବ।\n\nପରବର୍ତ୍ତୀ ବଟନକୁ ଖୋଜି ପାଇବା ପାଇଁ ବର୍ତ୍ତମାନ ଡାହାଣକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। @@ -697,14 +688,14 @@ କୀବୋର୍ଡ ଉପରେ ଆପଣଙ୍କ ଆଙ୍ଗୁଠି ମୁଭ୍ କରନ୍ତୁ। ଯେତେବେଳେ ଆପଣ ଟାଇପ୍ କରିବାକୁ ଚାହୁଁଥିବା ଅକ୍ଷର ଶୁଣିବେ, ସେତେବେଳେ ଆପଣଙ୍କ ଆଙ୍ଗୁଠି ଉଠାନ୍ତୁ।\n\nନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ୍ ବକ୍ସକୁ ସକ୍ରିୟ କରି ଦେଖନ୍ତୁ ଓ ଆପଣଙ୍କ ନାମ ଟାଇପ୍ କରନ୍ତୁ। ଆପଣ ବ୍ରେଲି କୀବୋର୍ଡ ମାଧ୍ୟମରେ ବି ଟାଇପ୍ କରିପାରିବେ। ଏହାକୁ TalkBack ସେଟିଂସରେ ଖୋଜନ୍ତୁ। କର୍ସର୍ ମୁଭ୍ କରିବା - ଯେତେବେଳେ ଆପଣ ଏକ ଟେକ୍ସଟ ବକ୍ସକୁ ସକ୍ରିୟ କରିବେ, ସେତେବେଳେ ଉପରକୁ କିମ୍ବା ତଳକୁ ସ୍ୱାଇପ କରି ଆପଣ ଅକ୍ଷରଗୁଡ଼ିକ ମଧ୍ୟରେ କର୍ସରକୁ ମୁଭ କରିପାରିବେ।\n\nଏହାକୁ ନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ ବକ୍ସରେ ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। + ଯେତେବେଳେ ଆପଣ ଏକ ଟେକ୍ସଟ୍ ବକ୍ସକୁ ସକ୍ରିୟ କରିବେ, ସେତେବେଳେ ଆପଣ ଭଲ୍ୟୁମ୍ ଅପ୍ କିମ୍ବା ଡାଉନ୍ କୀ ଦବାଇ କର୍ସରକୁ ଗୋଟିଏରୁ ଅନ୍ୟ ଅକ୍ଷରକୁ ମୁଭ୍ କରିପାରିବେ।\n\nଏହାକୁ ନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ୍ ବକ୍ସରେ ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। TalkBackକୁ ସ୍ୱାଗତ ଟେକ୍ସଟକୁ ଚୟନ କରିବା ଏକ ଟେକ୍ସଟ୍ ବକ୍ସରେ, କର୍ସରକୁ ଆପଣ ଚୟନ କରିବାକୁ ଚାହୁଁଥିବା ଟେକ୍ସଟର ଆରମ୍ଭକୁ ନିଅନ୍ତୁ।\n\nଚୟନ ମୋଡ୍ ଆରମ୍ଭ କରିବାକୁ ଦୁଇଥର-ଟାପ୍ କରି 2ଟି ଆଙ୍ଗୁଠିରେ ଧରି ରଖନ୍ତୁ। ତା’ପରେ କର୍ସରକୁ ଟେକ୍ସଟର ଶେଷକୁ ନିଅନ୍ତୁ। ଚୟନ ମୋଡ୍ ଶେଷ କରିବାକୁ ପୁଣି ଦୁଇଥର-ଟାପ୍ କରି 2ଟି ଆଙ୍ଗୁଠିରେ ଧରି ରଖନ୍ତୁ।\n\nନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ୍ ବକ୍ସରେ \"ସ୍ୱାଗତ\" ଶବ୍ଦକୁ ଚୟନ କରି ଦେଖନ୍ତୁ। - ଏକ ଟେକ୍ସଟ ବକ୍ସରେ, କର୍ସରକୁ ଆପଣ ଚୟନ କରିବାକୁ ଚାହୁଁଥିବା ଟେକ୍ସଟର ଆରମ୍ଭକୁ ନିଅନ୍ତୁ।\n\nTalkBack ମେନୁ ଖୋଲିବା ପାଇଁ ତଳକୁ ଏବଂ ତା’ପରେ ଡାହାଣକୁ ସ୍ୱାଇପ କରନ୍ତୁ। କାର୍ଯ୍ୟଗୁଡ଼ିକରେ ଦୁଇଥର-ଟାପ କରନ୍ତୁ ଏବଂ ତା\'ପରେ ଚୟନ ମୋଡ ଆରମ୍ଭ କରନ୍ତୁ। କର୍ସରକୁ ଟେକ୍ସଟର ଶେଷକୁ ନିଅନ୍ତୁ।\n\nପୁଣି TalkBack ମେନୁ ଖୋଲନ୍ତୁ, ତା’ପରେ ଚୟନ ମୋଡ ସମାପ୍ତ କରିବାକୁ କାର୍ଯ୍ୟଗୁଡ଼ିକରେ ଦୁଇଥର-ଟାପ କରନ୍ତୁ।\n\nନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ ବକ୍ସରେ \"ସ୍ୱାଗତ\" ଶବ୍ଦକୁ ଚୟନ କରି ଦେଖନ୍ତୁ। + ଏକ ଟେକ୍ସଟ୍ ବକ୍ସରେ, କର୍ସରକୁ ଆପଣ ଚୟନ କରିବାକୁ ଚାହୁଁଥିବା ଟେକ୍ସଟର ଆରମ୍ଭକୁ ନିଅନ୍ତୁ।\n\nTalkBack ମେନୁ ଖୋଲିବା ପାଇଁ ତଳକୁ ତା’ପରେ ଡାହାଣକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। ଏଡିଟିଂ ବିକଳ୍ପରେ ଦୁଇଥର ଟାପ୍ କରନ୍ତୁ ଓ ତା\'ପରେ ଚୟନ ମୋଡ୍ ଆରମ୍ଭ କରନ୍ତୁ। କର୍ସରକୁ ଟେକ୍ସଟର ଶେଷକୁ ନିଅନ୍ତୁ।\n\nପୁଣି TalkBack ମେନୁ ଖୋଲନ୍ତୁ, ତା’ପରେ ଚୟନ ମୋଡ୍ ଶେଷ କରିବାକୁ ଏଡିଟିଂ ବିକଳ୍ପରେ ଦୁଇଥର-ଟାପ୍ କରନ୍ତୁ।\n\nନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ୍ ବକ୍ସରେ \"ସ୍ୱାଗତ\" ଶବ୍ଦକୁ ଚୟନ କରି ଦେଖନ୍ତୁ। କପି, କଟ୍ ଓ ପେଷ୍ଟ୍ କରିବା - ଟେକ୍ସଟ ଚୟନ କରିବା ପରେ, କାର୍ଯ୍ୟଗୁଡ଼ିକରେ ଦୁଇଥର-ଟାପ କରନ୍ତୁ ଏବଂ ତା\'ପରେ କପି କରନ୍ତୁ।\n\nନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ ବକ୍ସରେ ଏକ ଶବ୍ଦ କପି କରି ଦେଖନ୍ତୁ। - ଟେକ୍ସଟ କଟ କିମ୍ବା ପେଷ୍ଟ କରିବାକୁ, TalkBack ମେନୁ ଖୋଲି କାର୍ଯ୍ୟଗୁଡ଼ିକରେ ଦୁଇଥର-ଟାପ କରନ୍ତୁ।\n\nଟେକ୍ସଟ ପେଷ୍ଟ କରିବାକୁ, 3ଟି ଆଙ୍ଗୁଠିରେ ତିନିଥର-ଟାପ କରନ୍ତୁ।\n\nନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ ବକ୍ସରେ ଏକ ଶବ୍ଦ ପେଷ୍ଟ କରି ଦେଖନ୍ତୁ। + ଟେକ୍ସଟ୍ ଚୟନ କରିବା ପରେ, ଏହାକୁ 3ଟି ଆଙ୍ଗୁଠିରେ ଦୁଇଥର ଟାପ୍ କରି କପି କରନ୍ତୁ।\n\nନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ୍ ବକ୍ସରେ ଏକ ଶବ୍ଦ କପି କରି ଦେଖନ୍ତୁ। + ଟେକ୍ସଟ୍ କଟ୍ କରିବାକୁ, 3ଟି ଆଙ୍ଗୁଠିରେ ଦୁଇଥର ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ।\n\nଟେକ୍ସଟ୍ ପେଷ୍ଟ କରିବାକୁ, 3ଟି ଆଙ୍ଗୁଠିରେ ତିନିଥର-ଟାପ୍ କରନ୍ତୁ।\n\nନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ୍ ବକ୍ସରେ ଏକ ଶବ୍ଦ ପେଷ୍ଟ କରି ଦେଖନ୍ତୁ। ଟେକ୍ସଟ୍ ଚୟନ କରିବା ପରେ, ଆପଣ ଏହାକୁ TalkBack ମେନୁରେ କପି କରିପାରିବେ। TalkBack ମେନୁ ଖୋଲିବା ପାଇଁ ତଳକୁ ତା’ପରେ ଡାହାଣକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। ଏଡିଟିଂ ବିକଳ୍ପରେ ଦୁଇଥର ଟାପ୍ କରନ୍ତୁ ଓ ତା\'ପରେ କପି କରନ୍ତୁ।\n\nନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ୍ ବକ୍ସରେ ଏକ ଶବ୍ଦ କପି କରି ଦେଖନ୍ତୁ। ଟେକ୍ସଟ୍ କଟ୍ କିମ୍ବା ପେଷ୍ଟ କରିବାକୁ, TalkBack ମେନୁ ଖୋଲି ଏଡିଟିଂ ବିକଳ୍ପରେ ଦୁଇଥର ଟାପ୍ କରନ୍ତୁ।\n\nନିମ୍ନରେ ଥିବା ଟେକ୍ସଟ୍ ବକ୍ସରେ ଏକ ଶବ୍ଦ ପେଷ୍ଟ କରି ଦେଖନ୍ତୁ। ଏଠାରେ ଟେକ୍ସଟ୍ ପେଷ୍ଟ କରନ୍ତୁ @@ -747,7 +738,6 @@ ଆଇଟମଗୁଡ଼ିକ ମଧ୍ୟରେ ମୁଭ୍ କରିବାକୁ ଡାହାଣ କିମ୍ବା ବାମକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଏକ ଆଇଟମକୁ ସକ୍ରିୟ କରିବାକୁ ଦୁଇଥର-ଟାପ୍ କରନ୍ତୁ ସ୍କ୍ରୋଲ୍ କରିବାକୁ 2 ଆଙ୍ଗୁଠିରେ ଡ୍ରାଗ୍ କରନ୍ତୁ - ଫୋନ ସଂଯୁକ୍ତ ଅଛି ନା ନାହିଁ ତାହା ଦୟାକରି ଯାଞ୍ଚ କରନ୍ତୁ। ମୋଟା ବର୍ଡର୍ ରଙ୍ଗ ଡିଫଲ୍ଟ @@ -759,12 +749,6 @@ ଧୂସର ସର୍ଭେ ବନ୍ଦ କରାଯାଇଛି ଟେକ୍ସଟ୍: %1$s - ଇମେଜରେ ଥିବା ଟେକ୍ସଟର ବର୍ଣ୍ଣନା କରନ୍ତୁ - ଚିହ୍ନଟ କରାଯାଇଥିବା ଆଇକନ: %1$s - କାର୍ଯ୍ୟ ସମର୍ଥିତ ନୁହେଁ। - କୌଣସି କାର୍ଯ୍ୟ ଚୟନ କରାଯାଇନାହିଁ। - ଦୟାକରି ଏକ ସମର୍ଥିତ କାର୍ଯ୍ୟକୁ ଚୟନ କରନ୍ତୁ। - କୌଣସି କାର୍ଯ୍ୟ ନାହିଁ। - କାର୍ଯ୍ୟ ସେଟିଂ ସକ୍ଷମ କରାଯାଇନାହିଁ। - କୌଣସି ଟେକ୍ସଟ ମିଳିଲା ନାହିଁ + ଇମେଜର ବର୍ଣ୍ଣନା କରନ୍ତୁ + ପୂର୍ବାନୁମାନ କରାଯାଇଥିବା ଆଇକନ୍: %1$s diff --git a/talkback/src/main/res/values-pa/strings.xml b/talkback/src/main/res/values-pa/strings.xml index 3986e176d..e3397c0ab 100644 --- a/talkback/src/main/res/values-pa/strings.xml +++ b/talkback/src/main/res/values-pa/strings.xml @@ -7,7 +7,6 @@ ਲਿਖਤ-ਤੋਂ-ਬੋਲੀ ਸੈਟਿੰਗਾਂ ਭਾਸ਼ਾਵਾਂ ਬੋਲਚਾਲ ਦੀ ਭਾਸ਼ਾ - ਕਾਰਵਾਈਆਂ ਸਿਸਟਮ ਕਾਰਵਾਈਆਂ ਵਰਜਨ %1$s ਵਿਉਂਂਤੀ ਲੇਬਲਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ @@ -31,37 +30,46 @@ ਡੀਵਾਈਸ ਅਣਲਾਕ ਕੀਤਾ। ਆਡੀਓ ਸਪੀਚ ਵੌਲਿਊਮ - ਸਕ੍ਰੀਨ ਬੰਦ ਹੋਣ \'ਤੇ ਸੂਚਨਾਵਾਂ ਬੋਲੋ - ਹਮੇਸ਼ਾਂ ਸੂਚੀ ਦੀਆਂ ਆਈਟਮਾਂ ਦਾ ਨੰਬਰ ਬੋਲੋ - ਸਕ੍ਰੋਲ ਕਰਨ ਸੰਬੰਧੀ ਸਾਰੀਆਂ ਵਿਧੀਆਂ ਦੀ ਗਿਣਤੀ ਬੋਲੋ + ਜਦੋਂ ਸਕ੍ਰੀਨ ਬੰਦ ਹੁੰਦੀ ਹੈ ਉਦੋਂ ਬੋਲੋ + ਜਦੋਂ ਸਕ੍ਰੀਨ ਬੰਦ ਹੁੰਦੀ ਹੈ ਤਾਂ ਸੂਚਨਾਵਾਂ ਬੋਲੀਆਂ ਜਾਂਦੀਆਂ ਹਨ + ਜਦੋਂ ਸਕ੍ਰੀਨ ਬੰਦ ਹੁੰਦੀ ਹੈ ਤਾਂ ਕੋਈ ਸਪੀਚ ਨਹੀਂ ਵਾਪਰਦੀ + ਸਕ੍ਰੀਨ \'ਤੇ ਸੂਚੀਬੱਧ ਆਈਟਮਾਂ ਦੀ ਗਿਣਤੀ ਬੋਲੋ + ਸੰਕੇਤ ਨਾਲ ਸਕ੍ਰੋਲ ਕਰਨ \'ਤੇ ਹੀ ਬੋਲੋ + ਹਮੇਸ਼ਾਂ ਬੋਲੀਆਂ ਜਾਂਦੀਆਂ ਹਨ ਬੋਲੀ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ ਨੇੜਤਾ ਸੈਂਸਰ ਨੂੰ ਢੱਕੋ - ਉਦਾਹਰਨਾਂ ਨਾਲ ਅੱਖਰ ਬੋਲੋ - ਜਦੋਂ ਤੁਸੀਂ ਕੀ-ਬੋਰਡ ਦੀਆਂ ਕੁੰਜੀਆਂ ਚੁਣਦੇ ਹੋ ਜਾਂ ਅੱਖਰ-ਚਿੰਨ੍ਹ ਮੁਤਾਬਕ ਨੈਵੀਗੇਟ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ \"hotel ਲਈ h\" ਵਾਂਗ ਹਰ ਅੱਖਰ ਨਾਲ ਉਦਾਹਰਨ ਵੀ ਸੁਣਾਈ ਦੇਵੇਗੀ - ਵਿਰਾਮ ਚਿੰਨ੍ਹ ਅਤੇ ਚਿੰਨ੍ਹ ਬੋਲੋ + ਧੁਨੀਆਤਮਿਕ ਅੱਖਰ ਬੋਲੋ + ਫ਼ੋਨੈਟਿਕ ਅੱਖਰ ਨਹੀਂ ਬੋਲੇ ਜਾਂਦੇ ਹਨ + ਕੀ-ਬੋਰਡ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾਈ ਰੱਖਣ ਅਤੇ ਅੱਖਰਾਂ ਰਾਹੀਂ ਨੈਵੀਗੇਟ ਕਰਨ ਵੇਲੇ ਧੁਨੀਆਤਮਿਕ ਅੱਖਰ ਬੋਲੇ ਜਾਂਦੇ ਹਨ + ਵਿਰਾਮ ਚਿੰਨ੍ਹ + ਵਿਰਾਮ ਚਿੰਨ੍ਹ ਅਤੇ ਚਿੰਨ੍ਹ ਬੋਲੇ ਨਹੀਂ ਜਾਂਦੇ ਹਨ + ਵਿਰਾਮ ਚਿੰਨ੍ਹ ਅਤੇ ਚਿੰਨ੍ਹ ਬੋਲੇ ਜਾਂਦੇ ਹਨ ਵੱਡੇ ਅੱਖਰ ਕੁਝ ਨਾ ਕਰੋ ਕਹੋ “ਵੱਡੇ ਅੱਖਰ” ਪਿੱਚ ਬਦਲੋ ਧੁਨੀ ਵਜਾਓ ਵਰਤੋਂ ਸੰਕੇਤ ਬੋਲੋ - ਸਮੱਗਰੀ ਦਾ ਵਰਤਣ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਵਰਤਣ ਦਾ ਤਰੀਕਾ ਸੁਝਾਓ - ਸੂਚੀ ਅਤੇ ਗ੍ਰਿਡ ਜਾਣਕਾਰੀ ਬੋਲੋ + ਪਹੁੰਚਯੋਗਤਾ ਫੋਕਸ ਨੂੰ ਅੱਗੇ/ਪਿੱਛੇ ਲਿਜਾਣ ਸਮੇਂ ਉਪਯੋਗ ਦੇ ਸੰਕੇਤਾਂ ਨੂੰ ਬੋਲਿਆ ਨਹੀਂ ਜਾਂਦਾ ਹੈ + ਵਰਤੋਂ ਦੇ ਸੰਕੇਤਾਂ ਨੂੰ ਨੈਵੀਗੇਸ਼ਨ ਦੌਰਾਨ ਕੁਝ ਦੇਰੀ ਤੋਂ ਬਾਅਦ ਬੋਲਿਆ ਜਾਂਦਾ ਹੈ + ਸੂਚੀ ਅਤੇ ਗਰਿੱਡ ਜਾਣਕਾਰੀ ਬੋਲੋ + ਸੂਚੀ ਅਤੇ ਗਰਿੱਡ ਜਾਣਕਾਰੀ ਨੂੰ ਬੋਲਿਆ ਜਾਂਦਾ ਹੈ + ਸੂਚੀ ਅਤੇ ਗਰਿੱਡ ਜਾਣਕਾਰੀ ਨੂੰ ਬੋਲਿਆ ਨਹੀਂ ਜਾਂਦਾ ਹੈ ਕੀ ਇਸ਼ਾਰੇ ਰੀਸੈੱਟ ਕਰਨੇ ਹਨ? ਇਸ ਨਾਲ ਸਾਰੇ ਇਸ਼ਾਰੇ ਆਪਣੀਆਂ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਕਾਰਵਾਈਆਂ \'ਤੇ ਰੀਸੈੱਟ ਕੀਤੇ ਜਾਣਗੇ।\n\nਤੁਸੀਂ ਤੁਹਾਡੇ ਵੱਲੋਂ ਕੀਤੀ ਕਿਸੇ ਵੀ ਤਬਦੀਲੀ ਨੂੰ ਗੁਆ ਦੇਵੋਗੇ। ਰੀਸੈੱਟ ਕਰੋ ਇਸ਼ਾਰਾ ਸੈਟਿੰਗਾਂ ਨੂੰ ਰੀਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ। ਅੰਸ਼ ਦੀ ਕਿਸਮ ਬੋਲੋ - ਫੋਕਸ ਕੀਤੀਆਂ ਆਈਟਮਾਂ ਲਈ + ਜਿੰਨ੍ਹਾਂ ਆਈਟਮਾਂ \'ਤੇ ਫੋਕਸ ਹੋਵੇ, ਉਹਨਾਂ ਲਈ ਅੰਸ਼ ਦੀ ਕਿਸਮ ਨੂੰ ਬੋਲਿਆ ਜਾਂਦਾ ਹੈ + ਜਿੰਨ੍ਹਾਂ ਆਈਟਮਾਂ \'ਤੇ ਫੋਕਸ ਹੋਵੇ, ਉਹਨਾਂ ਲਈ ਅੰਸ਼ ਦੀ ਕਿਸਮ ਨੂੰ ਨਹੀਂ ਬੋਲਿਆ ਜਾਂਦਾ ਹੈ ਅੰਸ਼ ਦੀਆਂ ਆਈ.ਡੀਆਂ ਬੋਲੋ - ਗੈਰ-ਲੇਬਲਬੱਧ ਬਟਨਾਂ ਲਈ - ਸਿਸਟਮ ਵਿੰਡੋ ਦਾ ਸਿਰਲੇਖ ਬੋਲੋ - ਜਦੋਂ ਤੁਸੀਂ ਸਥਿਤੀ ਪੱਟੀ, ਸੂਚਨਾਵਾਂ ਜਾਂ ਅਵਾਜ਼ ਕੰਟਰੋਲਾਂ ਵਰਗੀ ਹੋਰ ਸਿਸਟਮ ਵਿੰਡੋ \'ਤੇ ਸਵਿੱਚ ਕਰਦੇ ਹੋ + ਗੈਰ-ਲੇਬਲਬੱਧ ਬਟਨਾਂ ਲਈ ਤੱਤ ਸੰਬੰਧੀ ਆਈ.ਡੀਆਂ ਨਹੀਂ ਬੋਲੀਆਂ ਜਾਂਦੀਆਂ ਹਨ + ਗੈਰ-ਲੇਬਲਬੱਧ ਬਟਨਾਂ ਲਈ ਤੱਤ ਸੰਬੰਧੀ ਆਈ.ਡੀਆਂ ਬੋਲੀਆਂ ਜਾਂਦੀਆਂ ਹਨ ਸਪੱਰਸ਼ ਰਾਹੀਂ ਪੜਚੋਲ ਕਰੋ ਕੰਟਰੋਲ ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਲਈ ਇੱਕ ਵਾਰ ਟੈਪ ਕਰੋ ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਲਈ ਫੋਕਸ ਕੀਤੀ ਆਈਟਮ \'ਤੇ ਇੱਕ ਵਾਰ ਟੈਪ ਕਰੋ ਸ਼ਬਦ-ਵਰਤੋਂ - ਵਿਰਾਮ ਚਿੰਨ੍ਹ ਅਤੇ ਚਿੰਨ੍ਹ ਬੋਲੋ + ਵਿਰਾਮ ਚਿੰਨ੍ਹ ਫੋਕਸ ਸੂਚਕ ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰੋ ਇਸ਼ਾਰਿਆਂ ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰੋ ਵਿਉਂਤਿਆ ਲੇਬਲ @@ -203,7 +211,8 @@ ਪਿਚ ਬਦਲਾਵ ਵਰਤੋ ਕੀ-ਬੋਰਡ ਈਕੋ ਅੰਸ਼ ਵਰਣਨ ਕ੍ਰਮ - ਮਿਟਾਏ ਗਏ ਅੱਖਰਾਂ ਨੂੰ ਉੱਚੀ ਸੁਰ ਵਾਲੀ ਅਵਾਜ਼ ਵਿੱਚ ਬੋਲੋ + ਕੀ-ਬੋਰਡ ਰਾਹੀਂ ਮਿਟਾਈ ਗਈ ਲਿਖਤ ਨੂੰ ਉੱਚੀ ਸੁਰ ਵਾਲੀ ਅਵਾਜ਼ ਵਿੱਚ ਬੋਲੋ + ਬੋਲਦੇ ਸਮੇਂ ਵੌਇਸ ਪਿਚ ਨਾ ਬਦਲੋ ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਥਰਥਰਾਹਟ ਸੰਬੰਧੀ ਵਿਚਾਰ ਧੁਨੀ ਸੰਬੰਧੀ ਵਿਚਾਰ @@ -211,6 +220,7 @@ ਬੋਲਣ ਵੇਲੇ ਹੋਰ ਆਡੀਓ ਦੀ ਅਵਾਜ਼ ਘਟਾਓ ਧੁਨੀ ਸੰਬੰਧੀ ਵਿਚਾਰ ਦੀ ਅਵਾਜ਼ TalkBack ਨੂੰ ਮੁਅੱਤਲ ਅਤੇ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰਨ ਦਾ ਸ਼ਾਰਟਕੱਟ + ਸਕ੍ਰੀਨ ਸ਼ਾਰਟਕੱਟ ਨੂੰ ਲੁਕਾਓ ਵਿਕਾਸਕਾਰ ਸੈਟਿੰਗਾਂ ਲੌਗ ਲਈ ਇਵੈਂਟ ਚੁਣੋ ਪਹੁੰਚਯੋਗਤਾ ਇਵੈਂਟ ਲੌਗਿੰਗ ਫਿਲਟਰ ਕਰੋ @@ -254,9 +264,9 @@ ਵਿਉਂਤੀਆਂ ਕਾਰਵਾਈਆਂ ਦਿਖਾਓ ਸੰਪਾਦਨ ਵਿਕਲਪ ਦਿਖਾਓ TalkBack ਮੀਨੂ ਖੋਲ੍ਹੋ - ਵਿਚਾਰ ਰੋਕੋ + ਫੀਡਬੈਕ ਰੋਕੋ ਬੋਲੀ ਨੂੰ ਰੋਕੋ ਜਾਂ ਮੁੜ-ਚਾਲੂ ਕਰੋ - ਬੋਲੀ ਨੂੰ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰੋ + TalkBack ਧੁਨੀਆਂ ਨੂੰ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰੋ ਉੱਪਰ ਤੋਂ ਪੜ੍ਹੋ ਅਗਲੀ ਆਈਟਮ ਤੋਂ ਪੜ੍ਹੋ ਨੋਡ ਟ੍ਰੀ ਪ੍ਰਿੰਟ ਕਰੋ @@ -278,7 +288,6 @@ ਪਹੁੰਚਯੋਗਤਾ ਸ਼ਾਰਟਕੱਟ ਨੂੰ ਦਬਾਈ ਰੱਖੋ ਨੈਵੀਗੇਸ਼ਨ ਫੋਕਸ ਨੂੰ ਅੱਗੇ ਭੇਜੋ ਜਾਂ ਪੜ੍ਹਨ ਸੰਬੰਧੀ ਕੰਟਰੋਲ ਨੂੰ ਹੇਠਾਂ ਵਿਵਸਥਿਤ ਕਰੋ ਨੈਵੀਗੇਸ਼ਨ ਫੋਕਸ ਨੂੰ ਪਿੱਛੇ ਲਿਜਾਓ ਜਾਂ ਪੜ੍ਹਨ ਸੰਬੰਧੀ ਕੰਟਰੋਲ ਨੂੰ ਉੱਪਰ ਵੱਲ ਵਿਵਸਥਿਤ ਕਰੋ - ਫ਼ਿਲਹਾਲ ਚੁਣੀ ਹੋਈ ਕਾਰਵਾਈ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕਰੋ ਖੋਜ ਨਤੀਜਾ ਮੀਡੀਆ ਨੂੰ ਚਲਾਓ ਜਾਂ ਰੋਕੋ ਸਾਰੀਆਂ ਐਪਾਂ @@ -323,7 +332,7 @@ ਪੜ੍ਹਨਾ ਖਾਸ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹੋਰ - ਇਹ ਮੀਨੂ ਉਦੋਂ ਦਿਸਦਾ ਹੈ ਜਦੋਂ ਮੌਜੂਦਾ ਆਈਟਮ ਲਈ ਕਾਰਵਾਈਆਂ ਉਪਲਬਧ ਹੋਣ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਕਾਪੀ ਕਰਨਾ, ਪੇਸਟ ਕਰਨਾ, ਚੁਣਨਾ ਅਤੇ ਹੋਰ ਕਾਰਵਾਈਆਂ ਸ਼ਾਮਲ ਹਨ + ਉਦੋਂ ਦਿਸਦਾ ਹੈ, ਜਦੋਂ ਮੌਜੂਦਾ ਆਈਟਮ ਵਿੱਚ ਵਿਉਂਤੀਆਂ ਕਾਰਵਾਈਆਂ ਹੁੰਦੀਆਂ ਹਨ ਕਾਪੀ ਕਰਨਾ, ਪੇਸਟ ਕਰਨਾ, ਚੁਣਨਾ ਅਤੇ ਹੋਰ ਬਹੁਤ ਕੁਝ ਕਰਦਾ ਹੈ। ਉਦੋਂ ਦਿਸਦਾ ਹੈ, ਜਦੋਂ ਤੁਸੀਂ ਕੋਈ ਲਿਖਤ ਬਾਕਸ ਚੁਣਦੇ ਹੋ। ਲਿੰਕਾਂ ਨੂੰ ਫੋਕਸ ਕੀਤੀ ਆਈਟਮ ਦੇ ਅੰਦਰ ਖੋਲ੍ਹੋ ਅਗਲੇ ਜਾਂ ਪਿਛਲੇ ਪੰਨੇ \'ਤੇ ਜਾਓ। ਉਦੋਂ ਦਿਸਦਾ ਹੈ, ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਤੋਂ ਵੱਧ ਪੰਨਿਆਂ ਤੋਂ ਸਮੱਗਰੀ ਪੜ੍ਹ ਰਹੇ ਹੁੰਦੇ ਹੋ। @@ -342,7 +351,6 @@ ਲਿਖਤ-ਤੋਂ-ਬੋਲੀ ਸੈਟਿੰਗਾਂ ਖੋਲ੍ਹੋ TalkBack ਅਵਾਜ਼ੀ ਵਿਚਾਰ ਨੂੰ ਬੰਦ ਕਰੋ ਸੰਪਾਦਨਯੋਗ ਨਹੀਂ - ਕਾਰਵਾਈਆਂ ਕਰੋ ਇੱਕ ਸਮੇਂ \'ਤੇ ਇੱਕ ਅੱਖਰ-ਚਿੰਨ੍ਹ ਪੜ੍ਹੋ ਇੱਕ ਸਮੇਂ \'ਤੇ ਇੱਕ ਸ਼ਬਦ ਪੜ੍ਹੋ ਇੱਕ ਸਮੇਂ \'ਤੇ ਇੱਕ ਲਾਈਨ ਪੜ੍ਹੋ @@ -365,7 +373,7 @@ TalkBack ਦੇ ਬੋਲਣ \'ਤੇ, ਚੱਲ ਰਹੀ ਹੋਰ ਆਡੀਓ ਦੀ ਅਵਾਜ਼ ਨੂੰ ਘੱਟ ਕਰੋ ਅੱਗੇ ਜਾਂ ਪਿੱਛੇ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ ਪਹੁੰਚਯੋਗਤਾ ਅਵਾਜ਼ ਘਟਾਓ ਜਾਂ ਵਧਾਓ - ਚੁਣੇ ਗਏ ਚਿੱਤਰ ਵਿੱਚ ਪਰੋਈ ਹੋਈ ਲਿਖਤ ਨੂੰ ਪੜ੍ਹੋ + ਇਸ ਚਿੱਤਰ ਲਈ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਵਰਣਨ ਪ੍ਰਾਪਤ ਕਰੋ ਹੇਠਾਂ ਹੇਠਾਂ ਫਿਰ ਸੱਜੇ ਪਾਸੇ ਉੱਪਰ ਸਵਾਈਪ ਕਰੋ @@ -408,9 +416,7 @@ 2 ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ-ਟੈਪ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ 3 ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ-ਟੈਪ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ 4 ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ-ਟੈਪ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ - 3 ਉਂਗਲਾਂ ਨਾਲ ਟੈਪ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ 2 ਉਂਗਲਾਂ ਨਾਲ ਟ੍ਰਿਪਲ ਟੈਪ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ - 3 ਉਂਗਲਾਂ ਨਾਲ ਟ੍ਰਿਪਲ-ਟੈਪ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ \"%1$s\" ਜਾਂ %2$s\" ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ \"%1$s\" ਅਗਿਆਤ ਇਸ਼ਾਰਾ @@ -433,9 +439,8 @@ ਜਦੋਂ ਸਕ੍ਰੀਨ ਚਾਲੂ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਲਾਕ ਸਕ੍ਰੀਨ ਦਿਖਾਈ ਜਾਂਦੀ ਹੈ ਕੇਵਲ ਸੂਚਨਾ ਤੋਂ - ਕਿਸੇ ਕੁੰਜੀ ਨੂੰ ਚੁਣਨ ਲਈ ਉਸਨੂੰ ਦਬਾਈ ਰੱਖੋ ਅਤੇ ਫਿਰ ਡਬਲ ਟੈਪ ਕਰੋ - ਅੱਖਰ ਕੁੰਜੀ ਨੂੰ ਚੁਣਨ ਲਈ ਉਸਨੂੰ ਦਬਾਈ ਰੱਖੋ ਅਤੇ ਫਿਰ ਉਂਗਲ ਚੁੱਕੋ। ਹੋਰ ਕੁੰਜੀਆਂ ਲਈ ਡਬਲ ਟੈਪ ਕਰੋ। - ਕੋਈ ਕੁੰਜੀ ਚੁਣਨ ਲਈ ਉਸਨੂੰ ਦਬਾਈ ਰੱਖੋ ਅਤੇ ਫਿਰ ਉਂਗਲ ਚੁੱਕੋ + ਕੁੰਜੀ ਨੂੰ ਚੁਣਨ ਲਈ ਉਸਨੂੰ ਦੱਬਕੇ ਰੱਖੋ ਅਤੇ ਫਿਰ ਡਬਲ ਟੈਪ ਕਰੋ + ਕੁੰਜੀ ਨੂੰ ਚੁਣਨ ਲਈ ਉਸਨੂੰ ਦੱਬਕੇ ਰੱਖੋ ਅਤੇ ਫਿਰ ਉਂਗਲ ਚੁੱਕੋ ਬੰਦ ਹੈ ਬਹੁਤ ਲਾਈਟ ਲਾਈਟ @@ -456,7 +461,7 @@ TalkBack ਮੁਅੱਤਲ ਕੀਤਾ ਗਿਆ ਹੈ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ ਕੀ TalkBack ਨੂੰ ਸਥਗਿਤ ਕਰਨਾ ਹੈ? - ਕੀ ਤੁਸੀਂ ਪੱਕਾ TalkBack ਨੂੰ ਮੁਅੱਤਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?\n\nTalkBack ਮੁਅੱਤਲ ਕੀਤੇ ਜਾਣ \'ਤੇ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਵਿਚਾਰ ਨਹੀਂ ਮੁਹੱਈਆ ਕਰਵਾਏਗਾ ਅਤੇ \'ਸਪਰਸ਼ ਰਾਹੀਂ ਪੜਚੋਲ ਕਰੋ\' ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬੰਦ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ। + ਕੀ ਤੁਸੀਂ ਯਕੀਨੀ ਤੌਰ ਤੇ TalkBack ਨੂੰ ਮੁਅੱਤਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?\n\nTalkBack ਮੁਅੱਤਲ ਕੀਤੇ ਜਾਣ \'ਤੇ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਪ੍ਰਤੀਕਰਮ ਨਹੀਂ ਮੁਹੱਈਆ ਕਰਵਾਏਗਾ ਅਤੇ \'ਸਪੱਰਸ਼ ਰਾਹੀਂ ਪੜਚੋਲ ਕਰੋ\' ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬੰਦ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਤੁਸੀਂ ਸੂਚਨਾਵਾਂ ਸ਼ੇਡ ਤੋਂ TalkBack ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰ ਸਕਦੇ ਹੋ ਤੁਸੀਂ ਸੂਚਨਾਵਾਂ ਸ਼ੇਡ ਤੋਂ ਜਾਂ ਫਿਰ ਸਕ੍ਰੀਨ ਨੂੰ ਚਾਲੂ ਕਰਕੇ TalkBack ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰ ਸਕਦੇ ਹੋ ਤੁਸੀਂ ਸੂਚਨਾਵਾਂ ਸ਼ੇਡ ਤੋਂ ਜਾਂ ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਵਾਪਸ ਜਾ ਕੇ TalkBack ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰ ਸਕਦੇ ਹੋ @@ -485,6 +490,7 @@ ਲੇਬਲਾਂ ਨੂੰ ਨਿਰਯਾਤ ਕਰਨ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਚੁਣੋ: TalkBack ਦੇ ਇਸ ਰੂਪ ਵਿੱਚ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਪਹੁੰਚਯੋਗਤਾ ਸੰਕੇਤਾਂ ਵਿੱਚ ਬਦਲਾਵ ਸ਼ਾਮਲ ਹਨ। ਇਹਨਾਂ ਸੰਕੇਤਾਂ ਨਾਲ ਜੁੜੀਆਂ ਕਾਰਵਾਈਆਂ ਨੂੰ TalkBack ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਵਿਉਂਤਬੱਧ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਜਦੋਂ ਸਪੱਰਸ਼ ਰਾਹੀਂ ਪੜਚੋਲ ਕਰੋ ਚਾਲੂ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਕੁਝ ਕਾਰਵਾਈਆਂ ਪਰਫੌਰਮ ਕਰਨ ਲਈ ਇਹਨਾਂ ਸੰਕੇਤਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।\n\n%1$s ਵਾਲਿਊਮ ਅੱਪ ਅਤੇ ਡਾਉਨ ਕੁੰਜੀਆਂ ਨੂੰ ਲੰਮੇ ਸਮੇਂ ਤੱਕ ਦਬਾਓ + ਸਕ੍ਰੀਨ ਨੂੂੰ ਲੁਕਾਉਣ ਜਾਂ ਦਿਖਾਉਣ ਲਈ ਦੋਵੇਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਜਲਦੀ ਨਾਲ ਤਿੰਨ ਵਾਰ ਦਬਾਓ ਕੀ ਸਕ੍ਰੀਨ ਨੂੰ ਲੁਕਾਉਣਾ ਹੈ? ਪਰਦੇਦਾਰੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਇਸ ਨੂੰ ਬੰਦ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਜਨਤਕ ਥਾਂਵਾਂ \'ਤੇ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਹੋਰਾਂ ਨੂੰ ਦਿਖਾਈ ਨਾ ਦੇਵੇ TalkBack ਦੇ ਇਸ ਵਰਜਨ ਵਿੱਚ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਪਹੁੰਚਯੋਗਤਾ ਇਸ਼ਾਰਿਆਂ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਸ਼ਾਮਲ ਹਨ।\n\nਉੱਪਰ-ਫਿਰ-ਹੇਠਾਂ ਇਸ਼ਾਰਾ ਤੁਹਾਨੂੰ ਸਕ੍ਰੀਨ ਤੇ ਪਹਿਲੀ ਆਈਟਮ ਤੇ ਜਾਣ ਅਤੇ ਹੇਠਾਂ-ਫਿਰ-ਉੱਪਰ ਇਸ਼ਾਰਾ ਆਖਰੀ ਆਈਟਮ ਤੇ ਜਾਣ ਦੇਵੇਗਾ।\n\nਪੜ੍ਹਨ ਸੰਬੰਧੀ ਗ੍ਰੇਨਿਊਲੈਰਿਟੀ ਹੁਣ ਇੱਕ ਆਈਟਮ ਤੇ ਫੋਕਸ ਕਰਕੇ, ਫਿਰ TalkBack ਸੰਦਰਭੀ ਮੀਨੂ ਵਿੱਚੋਂ ਇੱਕ ਗ੍ਰੈਨਿਊਲੈਰਿਟੀ ਚੁਣ ਕੇ ਬਦਲੀ ਜਾ ਸਕਦੀ ਹੈ।\n\nਤੁਸੀਂ TalkBack ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਹਨਾਂ ਇਸ਼ਾਰਿਆਂ ਰਾਹੀਂ ਕੀਤੀਆਂ ਕਾਰਵਾਈਆਂ ਬਦਲ ਸਕਦੇ ਹੋ। @@ -500,14 +506,11 @@ ਕੀ ਤੁਸੀਂ ਯਕੀਨੀ ਤੌਰ ਤੇ ਨੋਡ ਟ੍ਰੀ ਡੀਬੱਗਿੰਗ ਚਾਲੂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?\n\nਨੋਡ ਟ੍ਰੀ ਡੀਬੱਗਿੰਗ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਦੀ ਸਮੱਗਰੀ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦੇ ਲੌਗਸ ਨੂੰ ਪ੍ਰਗਟ ਕਰਦੀ ਹੈ, ਜੋ ਹੋਰਾਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵੱਲੋਂ ਪੜ੍ਹੀ ਜਾ ਸਕਦੀ ਹੈ। ਕੀ ਪ੍ਰਦਰਸ਼ਨ ਅੰਕੜਿਆਂ ਨੂੰ ਚਾਲੂ ਕਰਨਾ ਹੈ? ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਪ੍ਰਦਰਸ਼ਨ ਅੰਕੜਿਆਂ ਨੂੰ ਚਾਲੂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?\n\nਪ੍ਰਦਰਸ਼ਨ ਅੰਕੜੇ ਵਧੇਰੇ ਮੈਮਰੀ ਅਤੇ ਪਾਵਰ ਦੀ ਖਪਤ ਕਰ ਸਕਦੇ ਹਨ। - ਕੀ ਵਰਬੋਸ ਲੌਗ-ਇਨ ਨੂੰ ਚਾਲੂ ਕਰਨਾ ਹੈ? - ਵਰਬੋਸ ਲੌਗ-ਇਨ ਕਰਨ ਨਾਲ ਡੀਬੱਗਿੰਗ ਵਿੱਚ ਸਹਾਇਤਾ ਮਿਲ ਸਕਦੀ ਹੈ ਪਰ ਇਸ ਨਾਲ ਸਿਸਟਮ ਲੌਗ ਬਫ਼ਰ ਵਿੱਚ ਨਿੱਜੀ ਜਾਣਕਾਰੀ ਦਿਸ ਸਕਦੀ ਹੈ।\n\n ਕੀ ਤੁਸੀਂ ਵਰਬੋਸ ਲੌਗ-ਇਨ ਨੂੰ ਚਾਲੂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? - ਹਾਂ, ਵਰਬੋਸ ਲੌਗ-ਇਨ ਨੂੰ ਚਾਲੂ ਕਰੋ ਕੀ ਫ਼ੋਨ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ? ਤੁਹਾਡੇ ਕਾਲ \'ਤੇ ਹੋਣ ਦੌਰਾਨ, ਇਹ TalkBack ਨੂੰ ਘੋਸ਼ਣਾਵਾਂ ਘਟਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਜਾਰੀ ਰੱਖੋ TalkBack ਤੇ ਨਿਯੰਤਰਣ ਪਾਓ - TalkBack ਨੂੰ ਇਸ਼ਾਰੇ ਭੇਜਣ ਅਤੇ ਬੋਲੀ ਪ੍ਰਤੀਕਰਮ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ। + TalkBack ਨੂੰ ਸੰਕੇਤ ਭੇਜਣ ਅਤੇ ਬੋਲਿਆ ਗਿਆ ਫੀਡਬੈਕ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਅਨੁਮਤੀ। ਲਿੰਕ ਕੋਈ ਪਿਛਲੀ %1$s ਨਹੀਂ ਕੋਈ ਅਗਲੀ %1$s ਨਹੀਂ @@ -556,11 +559,9 @@ ਪਹੁੰਚਯੋਗਤਾ ਅਵਾਜ਼ ਸਲਾਈਡਰ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ ਮੁੱਲ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ - ਕਾਰਵਾਈਆਂ ਪਾਸਵਰਡ ਬੋਲੋ ਪਾਸਵਰਡ ਹਮੇਸ਼ਾਂ ਬੋਲੇ ਜਾਂਦੇ ਹਨ ਧੁਨੀ ਅਤੇ ਥਰਥਰਾਹਟ - ਧੁਨੀ ਕਾਪੀ ਕੀਤੀ ਗਈ, %1$s ਬੰਦ ਕਰੋ ਖੋਜ ਬੰਦ ਕਰੋ @@ -595,20 +596,18 @@ %2$s ਮੁਤਾਬਕ ਪੜ੍ਹਨ ਲਈ %1$s ਇਸਨੂੰ ਵਰਤਣ ਲਈ, TalkBack ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ ਅਤੇ \'%1$s\' ਲਈ ਇਸ਼ਾਰਾ ਸ਼ਾਮਲ ਕਰੋ ਬਰੇਲ ਲਿਪੀ ਵਾਲਾ ਕੀ-ਬੋਰਡ ਚਾਲੂ ਨਹੀਂ ਹੈ। TalkBack ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ, ਬਰੇਲ ਲਿਪੀ ਵਾਲੇ ਕੀ-ਬੋਰਡ ਦਾ ਸੈੱਟਅੱਪ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। - ਸੁਝਾਅ ਉਪਲਬਧ ਹਨ - ਸੁਝਾਅ ਉਪਲਬਧ ਹਨ। ਪਹੁੰਚ ਕਰਨ ਲਈ ਇਹ ਕਰੋ, %1$s %2$d ਵਿੱਚੋਂ %1$d ਪੰਨਾ ਪਿੱਛੇ ਅੱਗੇ ਬੰਦ ਕਰੋ ਸਮਾਪਤ ਕਰੋ ਉੱਪਰ ਵੱਲ ਨੈਵੀਗੇਟ ਕਰੋ - TalkBack ਵਿੱਚ ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ + TalkBack ਵਿੱਚ ਨਵੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਕੀ ਟਿਊਟੋਰੀਅਲ ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ? ਤੁਸੀਂ TalkBack ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਕਿਸੇ ਵੇਲੇ ਵੀ ਇਸ \'ਤੇ ਵਾਪਸ ਆ ਸਕਦੇ ਹੋ। ਟਿਊਟੋਰੀਅਲ ਵਿੱਚ ਰਹੋ ਅੱਪਡੇਟ ਕੀਤੇ TalkBack ਵਿੱਚ ਜੀ ਆਇਆਂ ਨੂੰ - ਤੁਸੀਂ ਜ਼ਿਆਦਾ ਆਸਾਨ ਮੀਨੂ, ਅਵਾਜ਼ੀ ਕੰਟਰੋਲ ਅਤੇ ਹੋਰ ਸੁਵਿਧਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋਗੇ।\n\nਤੁਸੀਂ ਅਗਲੀਆਂ ਕੁਝ ਸਕ੍ਰੀਨਾਂ ਵਿੱਚ ਮੁੱਖ ਅੱਪਡੇਟਾਂ ਅਤੇ ਤਬਦੀਲੀਆਂ ਬਾਰੇ ਜਾਣੋਗੇ। ਇਸ ਵਿੱਚ ਲਗਭਗ 3 ਮਿੰਟ ਲੱਗਣਗੇ। \n\nਤੁਸੀਂ ਕਿਸੇ ਵੇਲੇ ਵੀ TalkBack ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸ ਜਾਣਕਾਰੀ ਦੀ ਸਮੀਖਿਆ ਕਰ ਸਕਦੇ ਹੋ। + ਤੁਸੀਂ ਵਧੇਰੇ ਆਸਾਨ ਮੀਨੂ, ਅਵਾਜ਼ ਕੰਟਰੋਲ ਅਤੇ ਹੋਰ ਸੁਵਿਧਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋਗੇ।\n\nਤੁਸੀਂ ਅਗਲੀਆਂ ਕੁਝ ਸਕ੍ਰੀਨਾਂ ਵਿੱਚ ਮੁੱਖ ਅੱਪਡੇਟਾਂ ਅਤੇ ਤਬਦੀਲੀਆਂ ਬਾਰੇ ਜਾਣੋਗੇ। ਇਸ ਵਿੱਚ ਲਗਭਗ 3 ਮਿੰਟ ਲੱਗਣਗੇ। \n\nਤੁਸੀਂ ਕਿਸੇ ਵੇਲੇ ਵੀ TalkBack ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸ ਜਾਣਕਾਰੀ ਦੀ ਸਮੀਖਿਆ ਕਰ ਸਕਦੇ ਹੋ। ਤੁਸੀਂ ਨਵੇਂ, ਆਸਾਨ ਇਸ਼ਾਰੇ, ਵਧੇਰੇ ਆਸਾਨ ਮੀਨੂ, ਅਵਾਜ਼ ਕੰਟਰੋਲ ਅਤੇ ਹੋਰ ਸੁਵਿਧਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋਗੇ।\n\nਤੁਸੀਂ ਅਗਲੀਆਂ ਕੁਝ ਸਕ੍ਰੀਨਾਂ ਵਿੱਚ ਮੁੱਖ ਅੱਪਡੇਟਾਂ ਅਤੇ ਤਬਦੀਲੀਆਂ ਬਾਰੇ ਜਾਣੋਗੇ। ਇਸ ਵਿੱਚ ਲਗਭਗ 5 ਮਿੰਟ ਲੱਗਣਗੇ।\n\nਤੁਸੀਂ ਕਿਸੇ ਵੇਲੇ ਵੀ TalkBack ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸ ਜਾਣਕਾਰੀ ਦੀ ਸਮੀਖਿਆ ਕਰ ਸਕਦੇ ਹੋ। ਨੈਵੀਗੇਸ਼ਨ ਪੜ੍ਹਨ ਸੰਬੰਧੀ ਕੰਟਰੋਲ @@ -647,14 +646,6 @@ ਨਵੇਂ ਇਸ਼ਾਰਿਆਂ ਨਾਲ TalkBack ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਵਰਤਣ ਦਾ ਤਰੀਕਾ ਸਿੱਖਣ ਲਈ ਟੈਪ ਕਰੋ। ਨੋਡ ਟ੍ਰੀ ਨੂੰ ਲੌਗਾਂ \'ਤੇ ਪ੍ਰਿੰਟ ਕੀਤਾ ਗਿਆ। ਇਹ ਰਹੇ ਹਾਲ ਹੀ ਵਿੱਚ ਪੇਸ਼ ਕੀਤੇ ਇਸ਼ਾਰੇ, ਕਿਰਪਾ ਕਰਕੇ ਰਿਪੋਰਟ ਕਰੋ ਕਿ ਕਿਹੜਾ ਇਸ਼ਾਰਾ ਗਲਤ ਹੈ ਅਤੇ ਕੀ ਉਮੀਦ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। - ਤੁਹਾਨੂੰ ਸਰਲੀਕਿਰਤ ਅਵਾਜ਼ ਕੰਟਰੋਲ, ਤਤਕਾਲ ਕਾਰਵਾਈਆਂ ਸੰਬੰਧੀ ਕੰਟਰੋਲ ਅਤੇ ਹੋਰ ਬਹੁਤ ਕੁਝ ਪ੍ਰਾਪਤ ਹੋਵੇਗਾ।\n\nਤੁਸੀਂ ਅਗਲੀਆਂ ਕੁਝ ਸਕ੍ਰੀਨਾਂ ਵਿੱਚ ਮੁੱਖ ਅੱਪਡੇਟਾਂ ਅਤੇ ਤਬਦੀਲੀਆਂ ਬਾਰੇ ਜਾਣੋਗੇ। ਇਸ ਵਿੱਚ ਲਗਭਗ 5 ਮਿੰਟ ਲੱਗਣਗੇ।\n\nਤੁਸੀਂ ਕਿਸੇ ਵੇਲੇ ਵੀ TalkBack ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸ ਜਾਣਕਾਰੀ ਦੀ ਸਮੀਖਿਆ ਕਰ ਸਕਦੇ ਹੋ। - ਅਵਾਜ਼ ਕੰਟਰੋਲ ਵਿੱਚ ਤਬਦੀਲੀਆਂ - ਅਵਾਜ਼ ਕੰਟਰੋਲ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ, ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਹੁਣ ਲਿਖਤ ਕਰਸਰ ਜਾਂ ਸਲਾਈਡਰ ਨੂੰ ਕੰਟਰੋਲ ਨਹੀਂ ਕਰਦੀਆਂ ਹਨ।\n\nਸਲਾਈਡਰ ਦੇ ਸਥਾਨ ਨੂੰ ਬਦਲਣ ਲਈ ਉੱਪਰ ਜਾਂ ਹੇਠਾਂ ਸਵਾਈਪ ਕਰੋ।\n\nਲਿਖਤ ਕਰਸਰ ਦੇ ਸਥਾਨ ਨੂੰ ਬਦਲਣ ਲਈ, ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ ਉੱਪਰ ਜਾਂ ਹੇਠਾਂ ਸਵਾਈਪ ਕਰੋ। ਇਹ ਬਰੇਲ ਲਿਪੀ ਵਾਲੇ ਕੀ-ਬੋਰਡ ਦੇ ਪੜ੍ਹਨ ਸੰਬੰਧੀ ਕੰਟਰੋਲਾਂ \'ਤੇ ਵੀ ਕੰਮ ਕਰਦਾ ਹੈ। - ਚਿੱਤਰਾਂ ਵਿੱਚ ਲਿਖਤ - ਤੁਸੀਂ ਚਿੱਤਰਾਂ ਵਿੱਚ ਲਿਖਤ ਬਾਰੇ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਜਾਂ ਜਦੋਂ ਤੁਹਾਨੂੰ ਲੋੜ ਹੋਵੇ, ਉਦੋਂ ਹੋਰ ਵੇਰਵੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ।\n\nਉਨ੍ਹਾਂ ਚਿੱਤਰਾਂ ਲਈ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਕੋਈ ਲੇਬਲ ਨਹੀਂ ਹੁੰਦਾ: TalkBack ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਦਿਸਣ ਵਾਲੀ ਲਿਖਤ ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ।\n\nਸਾਰੇ ਚਿੱਤਰਾਂ ਲਈ: TalkBack ਮੀਨੂ ਖੋਲ੍ਹੋ ਅਤੇ \"ਚਿੱਤਰਾਂ ਵਿੱਚ ਲਿਖਤ ਦਾ ਵਰਣਨ ਕਰੋ\" ਨੂੰ ਚੁਣੋ।\n\nਚਿੱਤਰ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਰਹਿੰਦੇ ਹਨ ਅਤੇ ਕਦੇ ਵੀ Google ਨੂੰ ਨਹੀਂ ਭੇਜੇ ਜਾਂਦੇ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਤੁਸੀਂ ਇੰਟਰਨੈੱਟ ਕਨੈਕਸ਼ਨ ਤੋਂ ਬਿਨਾਂ ਇਨ੍ਹਾਂ ਦੋਵਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। - ਵਿੰਡੋ ਨੈਵੀਗੇਸ਼ਨ - ਤੁਸੀਂ ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਵੱਖ-ਵੱਖ ਸੈਕਸ਼ਨਾਂ ਵਿਚਾਲੇ ਸਵਿੱਚ ਕਰ ਸਕਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ ਸੂਚਨਾ ਬਾਰ, ਮੁੱਖ ਸਮੱਗਰੀ ਅਤੇ ਕੀ-ਬੋਰਡ।\n\nਵਿੰਡੋ ਨੈਵੀਗੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, 4 ਉਂਗਲਾਂ ਨਾਲ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। - ਤੁਸੀਂ ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਵੱਖ-ਵੱਖ ਸੈਕਸ਼ਨਾਂ ਵਿਚਾਲੇ ਸਵਿੱਚ ਕਰ ਸਕਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ ਸੂਚਨਾ ਬਾਰ, ਮੁੱਖ ਸਮੱਗਰੀ ਅਤੇ ਕੀ-ਬੋਰਡ।\n\nਵਿੰਡੋ ਨੈਵੀਗੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਫਿਰ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਉਦੋਂ ਤੱਕ ਜਾਰੀ ਰੱਖੋ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਵਿੰਡੋ ਨੈਵੀਗੇਸ਼ਨ ਨਹੀਂ ਚੁਣਦੇ। ਵਿੰਡੋ \'ਤੇ ਨੈਵੀਗੇਟ ਕਰਨ ਲਈ, ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਟਿਊਟੋਰੀਅਲ TalkBack ਵਿੱਚ ਜੀ ਆਇਆ ਨੂੰ TalkBack ਅਜਿਹੀਆਂ ਸਥਿਤੀਆਂ ਅਤੇ ਲੋਕਾਂ ਲਈ ਇੱਕ ਸਕ੍ਰੀਨ ਰੀਡਰ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਸਕ੍ਰੀਨ ਦੇਖਣ ਵਿੱਚ ਮੁਸ਼ਕਲ ਆਉਂਦੀ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਬੋਲੀ ਪ੍ਰਤੀਕਰਮ ਦਿੰਦਾ ਹੈ ਤਾਂ ਕਿ ਤੁਸੀਂ ਬਿਨਾਂ ਸਕ੍ਰੀਨ ਦੇਖੇ ਆਪਣੇ ਡੀਵਾਈਸ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕੋ।\n\nਤੁਸੀਂ ਦੋਵੇਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਕਈ ਸਕਿੰਟ ਲਈ ਦਬਾਈ ਰੱਖ ਕੇ TalkBack ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰ ਸਕਦੇ ਹੋ।\n\nਜਦੋਂ TalkBack ਚਾਲੂ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਸਕ੍ਰੀਨ \'ਤੇ ਫੋਕਸ ਕੀਤੀ ਆਈਟਮ ਨੂੰ ਉੱਚੀ ਅਵਾਜ਼ ਵਿੱਚ ਬੋਲਿਆ ਜਾਂਦਾ ਹੈ।\n\nਸੱਜੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰਨ \'ਤੇ ਅਗਲੀ ਆਈਟਮ \'ਤੇ ਜਾਵੇਗਾ ਅਤੇ ਖੱਬੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰਨ \'ਤੇ ਪਿਛਲੀ ਆਈਟਮ \'ਤੇ ਜਾਵੇਗਾ।\n\nਅਗਲੇ ਬਟਨ ਨੂੰ ਲੱਭਣ ਲਈ ਹੁਣੇ ਸੱਜੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। @@ -697,14 +688,14 @@ ਆਪਣੀ ਉਂਗਲ ਨੂੰ ਕੀ-ਬੋਰਡ \'ਤੇ ਘੁੰਮਾਓ। ਜਦੋਂ ਤੁਸੀਂ ਉਹ ਅੱਖਰ ਸੁਣ ਲਵੋ ਜਿਸਨੂੰ ਤੁਸੀਂ ਟਾਈਪ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਫਿਰ ਆਪਣੀ ਉਂਗਲ ਨੂੰ ਚੁੱਕੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕਰਕੇ ਆਪਣਾ ਨਾਮ ਟਾਈਪ ਕਰਕੇ ਦੇਖੋ। ਤੁਸੀਂ ਬਰੇਲ ਲਿਪੀ ਕੀ-ਬੋਰਡ ਨਾਲ ਵੀ ਟਾਈਪ ਕਰ ਸਕਦੇ ਹੋ। ਇਸਨੂੰ TalkBack ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਲੱਭੋ। ਕਰਸਰ ਨੂੰ ਇੱਧਰ-ਉੱਧਰ ਲਿਜਾਉਣਾ - ਜਦੋਂ ਤੁਸੀਂ ਲਿਖਤ ਬਾਕਸ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕਰ ਲੈਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਉੱਪਰ ਜਾਂ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰ ਕੇ ਅੱਖਰਾਂ ਦੇ ਵਿਚਕਾਰ ਕਰਸਰ ਨੂੰ ਇੱਧਰ-ਉੱਧਰ ਲਿਜਾ ਸਕਦੇ ਹੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ ਇਸਨੂੰ ਵਰਤ ਕੇ ਦੇਖੋ। + ਜਦੋਂ ਤੁਸੀਂ ਲਿਖਤ ਬਾਕਸ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕਰ ਲੈਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਉੱਪਰ ਜਾਂ ਹੇਠਾਂ ਵੱਲ ਦਬਾ ਕੇ ਅੱਖਰਾਂ ਦੇ ਵਿਚਕਾਰ ਕਰਸਰ ਨੂੰ ਇੱਧਰ-ਉੱਧਰ ਲਿਜਾ ਸਕਦੇ ਹੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ ਇਸਨੂੰ ਵਰਤ ਕੇ ਦੇਖੋ। TalkBack ਵਿੱਚ ਜੀ ਆਇਆਂ ਨੂੰ ਲਿਖਤ ਨੂੰ ਚੁਣਨਾ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ, ਕਰਸਰ ਨੂੰ ਉਸ ਲਿਖਤ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਲੈ ਜਾਓ, ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਚੁਣਨਾ ਚਾਹੁੰਦੇ ਹੋ।\n\nਚੋਣ ਮੋਡ ਸ਼ੁਰੂ ਕਰਨ ਲਈ 2 ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ ਟੈਪ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ। ਫਿਰ ਕਰਸਰ ਨੂੰ ਲਿਖਤ ਦੇ ਅਖੀਰ ਵਿੱਚ ਲੈ ਜਾਓ। ਚੋਣ ਮੋਡ ਬੰਦ ਕਰਨ ਲਈ ਦੁਬਾਰਾ 2 ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ ਟੈਪ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ \"ਜੀ ਆਇਆਂ ਨੂੰ\" ਸ਼ਬਦ ਨੂੰ ਚੁਣ ਕੇ ਦੇਖੋ। - ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ, ਕਰਸਰ ਨੂੰ ਉਸ ਲਿਖਤ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਲਿਜਾਓ, ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਚੁਣਨਾ ਚਾਹੁੰਦੇ ਹੋ।\n\nTalkBack ਮੀਨੂ ਖੋਲ੍ਹਣ ਲਈ, ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰ ਕੇ ਫਿਰ ਸੱਜੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਕਾਰਵਾਈਆਂ \'ਤੇ ਡਬਲ ਟੈਪ ਕਰੋ ਅਤੇ ਫਿਰ ਚੋਣ ਮੋਡ ਸ਼ੁਰੂ ਕਰੋ। ਕਰਸਰ ਨੂੰ ਲਿਖਤ ਦੇ ਅਖੀਰ ਵਿੱਚ ਲਿਜਾਓ।\n\nTalkBack ਮੀਨੂ ਨੂੰ ਦੁਬਾਰਾ ਖੋਲ੍ਹੋ, ਫਿਰ ਚੋਣ ਮੋਡ ਬੰਦ ਕਰਨ ਲਈ ਕਾਰਵਾਈਆਂ \'ਤੇ ਡਬਲ ਟੈਪ ਕਰੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ \"ਜੀ ਆਇਆਂ ਨੂੰ\" ਸ਼ਬਦ ਨੂੰ ਚੁਣ ਕੇ ਦੇਖੋ। + ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ, ਕਰਸਰ ਨੂੰ ਉਸ ਲਿਖਤ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਲੈ ਜਾਓ, ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਚੁਣਨਾ ਚਾਹੁੰਦੇ ਹੋ।\n\nTalkBack ਮੀਨੂ ਖੋਲ੍ਹਣ ਲਈ, ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਫਿਰ ਸੱਜੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਸੰਪਾਦਨ ਵਿਕਲਪਾਂ \'ਤੇ ਡਬਲ ਟੈਪ ਕਰੋ ਅਤੇ ਫਿਰ ਚੋਣ ਮੋਡ ਸ਼ੁਰੂ ਕਰੋ। ਕਰਸਰ ਨੂੰ ਲਿਖਤ ਦੇ ਅਖੀਰ ਵਿੱਚ ਲੈ ਜਾਓ।\n\nTalkBack ਮੀਨੂ ਨੂੰ ਦੁਬਾਰਾ ਖੋਲ੍ਹੋ, ਫਿਰ ਚੋਣ ਮੋਡ ਬੰਦ ਕਰਨ ਲਈ ਸੰਪਾਦਨ ਵਿਕਲਪਾਂ \'ਤੇ ਡਬਲ ਟੈਪ ਕਰੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ \"ਜੀ ਆਇਆਂ ਨੂੰ\" ਸ਼ਬਦ ਨੂੰ ਚੁਣ ਕੇ ਦੇਖੋ। ਕਾਪੀ ਕਰੋ, ਕੱਟੋ ਅਤੇ ਪੇਸਟ ਕਰੋ - ਲਿਖਤ ਨੂੰ ਚੁਣਨ ਤੋਂ ਬਾਅਦ, ਕਾਰਵਾਈਆਂ \'ਤੇ ਡਬਲ ਟੈਪ ਕਰ ਕੇ ਕਾਪੀ ਕਰੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ ਕੋਈ ਸ਼ਬਦ ਕਾਪੀ ਕਰ ਕੇ ਦੇਖੋ। - ਲਿਖਤ ਨੂੰ ਕੱਟਣ ਜਾਂ ਪੇਸਟ ਕਰਨ ਲਈ, TalkBack ਮੀਨੂ ਨੂੰ ਖੋਲ੍ਹ ਕੇ ਕਾਰਵਾਈਆਂ \'ਤੇ ਡਬਲ ਟੈਪ ਕਰੋ।\n\nਲਿਖਤ ਨੂੰ ਪੇਸਟ ਕਰਨ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਟ੍ਰਿਪਲ ਟੈਪ ਕਰੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ ਕੋਈ ਸ਼ਬਦ ਪੇਸਟ ਕਰ ਕੇ ਦੇਖੋ। + ਲਿਖਤ ਦੀ ਚੋਣ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਇਸ ਨੂੰ 3 ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ ਟੈਪ ਕਰਕੇ ਕਾਪੀ ਕਰੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ ਕੋਈ ਸ਼ਬਦ ਕਾਪੀ ਕਰਕੇ ਦੇਖੋ। + ਲਿਖਤ ਨੂੰ ਕੱਟਣ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ-ਟੈਪ ਕਰੋ ਅਤੇ ਦਬਾਈ ਰੱਖੋ।\n\nਲਿਖਤ ਨੂੰ ਪੇਸਟ ਕਰਨ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਟ੍ਰਿਪਲ-ਟੈਪ ਕਰੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ ਕੋਈ ਸ਼ਬਦ ਪੇਸਟ ਕਰਕੇ ਦੇਖੋ। ਲਿਖਤ ਦੀ ਚੋਣ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਤੁਸੀਂ ਇਸ ਨੂੰ TalkBack ਮੀਨੂ ਵਿੱਚ ਕਾਪੀ ਕਰ ਸਕਦੇ ਹੋ। TalkBack ਮੀਨੂ ਖੋਲ੍ਹਣ ਲਈ, ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਫਿਰ ਸੱਜੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਸੰਪਾਦਨ ਵਿਕਲਪਾਂ \'ਤੇ ਡਬਲ ਟੈਪ ਕਰੋ ਅਤੇ ਫਿਰ ਕਾਪੀ ਕਰੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ ਕੋਈ ਸ਼ਬਦ ਕਾਪੀ ਕਰਕੇ ਦੇਖੋ। ਲਿਖਤ ਨੂੰ ਕੱਟਣ ਜਾਂ ਪੇਸਟ ਕਰਨ ਲਈ, TalkBack ਮੀਨੂ ਨੂੰ ਖੋਲ੍ਹੋ ਅਤੇ ਸੰਪਾਦਨ ਵਿਕਲਪਾਂ \'ਤੇ ਡਬਲ ਟੈਪ ਕਰੋ।\n\nਹੇਠਾਂ ਦਿੱਤੇ ਲਿਖਤ ਬਾਕਸ ਵਿੱਚ ਕੋਈ ਸ਼ਬਦ ਪੇਸਟ ਕਰਕੇ ਦੇਖੋ। ਇੱਥੇ ਲਿਖਤ ਪੇਸਟ ਕਰੋ @@ -747,7 +738,6 @@ ਆਈਟਮਾਂ ਵਿਚਾਲੇ ਇੱਧਰ-ਉੱਧਰ ਜਾਣ ਲਈ ਸੱਜੇ ਜਾਂ ਖੱਬੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਕਿਸੇ ਆਈਟਮ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਲਈ ਡਬਲ ਟੈਪ ਕਰੋ ਸਕ੍ਰੋਲ ਕਰਨ ਲਈ 2 ਉਂਗਲਾਂ ਘਸੀਟੋ - ਕਿਰਪਾ ਕਰਕੇ ਜਾਂਚ ਕਰੋ ਕਿ ਕੀ ਫ਼ੋਨ ਕਨੈਕਟ ਹੈ। ਮੋਟੇ ਕਿਨਾਰੇ ਰੰਗ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ @@ -759,12 +749,6 @@ ਸਲੇਟੀ ਸਰਵੇਖਣ ਬੰਦ ਹੋ ਗਿਆ ਲਿਖਤ: %1$s - ਚਿੱਤਰ ਵਿੱਚ ਲਿਖਤ ਦਾ ਵਰਣਨ ਕਰੋ - ਖੋਜਿਆ ਗਿਆ ਪ੍ਰਤੀਕ: %1$s - ਕਾਰਵਾਈ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ। - ਕੋਈ ਕਾਰਵਾਈ ਨਹੀਂ ਚੁਣੀ ਗਈ। - ਕਿਰਪਾ ਕਰਕੇ ਕੋਈ ਸਮਰਥਿਤ ਕਾਰਵਾਈ ਚੁਣੋ। - ਕੋਈ ਕਾਰਵਾਈ ਨਹੀਂ। - ਕਾਰਵਾਈਆਂ ਸੰਬੰਧੀ ਸੈਟਿੰਗ ਚਾਲੂ ਨਹੀਂ ਹੈ। - ਕੋਈ ਲਿਖਤ ਨਹੀਂ ਮਿਲੀ + ਚਿੱਤਰ ਦਾ ਵਰਣਨ ਕਰੋ + ਪੂਰਵ-ਅਨੁਮਾਨਿਤ ਪ੍ਰਤੀਕ: %1$s diff --git a/talkback/src/main/res/values-pl/strings.xml b/talkback/src/main/res/values-pl/strings.xml index 43c62a558..e71be5e90 100644 --- a/talkback/src/main/res/values-pl/strings.xml +++ b/talkback/src/main/res/values-pl/strings.xml @@ -7,7 +7,6 @@ Ustawienia zamiany tekstu na mowę Języki Język wypowiedzi - Działania Działania systemu Wersja %1$s Zarządzaj etykietami niestandardowymi @@ -31,37 +30,46 @@ Urządzenie zostało odblokowane. Dźwięk Głośność mowy - Powiadomienia głosowe przy wyłączonym ekranie - Zawsze odczytuj liczbę elementów z listy - Odczytuj liczbę elementów niezależnie od metody przewijania + Mów przy wyłączonym ekranie + Powiadomienia są odczytywane na głos, kiedy ekran jest wyłączony + Powiadomienia nie są odczytywane na głos, kiedy ekran jest wyłączony + Odczytuj liczbę elementów z listy na ekranie + Odczytuj tylko przy przewijaniu gestem + Zawsze odczytywana Zakryj czujnik zbliżeniowy, by zatrzymać wypowiedź - Odczytuj litery z przykładami - Podczas wybierania klawiszy na klawiaturze lub nawigowania według znaku usłyszysz każdą literę razem z przykładem, na przykład „h – hotel”. - Odczytuj znaki interpunkcyjne i symbole + Odczytuj znaki fonetyczne + Znaki fonetyczne nie będą odczytywane + Znaki fonetyczne będą odczytywane po przytrzymaniu klawisza i przesuwaniu się po znakach + Interpunkcja + Interpunkcja i symbole nie są wymawiane na głos + Interpunkcja i symbole są wymawiane na głos Wielkie litery Nic nie rób Powiedz „wielkie” Zmień wysokość głosu Odtwórz dźwięk Odczytuj wskazówki użytkowania - Po opisaniu zawartości sugeruj, jak jej używać + Wskazówki dotyczące użytkowania nie będą odczytywane po przeniesieniu fokusu + Wskazówki dotyczące użytkowania będą odczytywane podczas nawigowania po krótkim opóźnieniu Odczytuj informacje o listach i siatkach + Informacje o listach i siatkach będą odczytywane + Informacje o listach i siatkach nie będą odczytywane Zresetować gesty? Wszystkie ustawienia gestów zostaną przywrócone do działań domyślnych.\n\nWszystkie zmiany zostaną utracone. Resetuj To ustawienie gestu zostało zresetowane. Odczytuj typ elementu - W przypadku zaznaczonych elementów + Typ aktywnego elementu będzie odczytywany + Typ aktywnego elementu nie będzie odczytywany Odczytuj identyfikatory elementów - W przypadku przycisków bez etykiet - Wypowiadaj nazwy okien systemowych - Kiedy przełączasz się na inne okna systemowe, takie jak pasek stanu, powiadomienia czy sterowanie głośnością. + Identyfikatory przycisków bez etykiet nie będą odczytywane + Identyfikatory przycisków bez etykiet będą odczytywane Czytanie dotykiem Elementy sterujące Kliknij raz, aby uaktywnić Kliknij zaznaczony element jednokrotnie, aby go uaktywnić Szczegółowość - Odczytuj znaki interpunkcyjne i symbole + Interpunkcja Dostosuj wskaźnik ostrości Dostosuj gesty Etykiety niestandardowe @@ -203,7 +211,8 @@ Zmieniaj ton Echo klawiatury Kolejność opisów elementów - Wypowiadaj wyższym głosem litery usuwane za pomocą klawiatury + Wypowiadaj wyższym głosem tekst usuwany za pomocą klawiatury + Nie zmieniaj tonu głosu podczas mówienia Klawiatura brajlowska Sygnał wibracyjny Sygnał dźwiękowy @@ -211,6 +220,7 @@ Zmniejsz głośność innych dźwięków podczas mówienia Głośność sygnału dźwiękowego Skrót zawieszenia i wznowienia funkcji TalkBack + Skrót do ukrycia ekranu Ustawienia programisty Wybierz zdarzenia do zapisania w dzienniku Filtruj rejestrowanie zdarzeń ułatwiania dostępu @@ -256,7 +266,7 @@ Otwórz menu TalkBack Wstrzymaj reagowanie Wstrzymaj lub wznów wypowiedzi - Włącz lub wyłącz usługi głosowe + Włączanie i wyłączanie TalkBack Czytaj od góry Czytaj od następnego elementu Wydrukuj drzewo węzłów @@ -273,12 +283,11 @@ Zmień język wypowiedzi Następny element sterujący Poprzedni element sterujący - Gest systemowy przepuszczenia + Gest systemowy przechodzenia Skrót ułatwień dostępu Przytrzymaj skrót ułatwień dostępu Przenieś zaznaczenie na kolejny element lub spowolnij działanie elementu sterującego czytaniem Przenieś zaznaczenie na poprzedni element lub przyspiesz działanie elementu sterującego czytaniem - Aktywuj obecnie wybrane działanie Wynik wyszukiwania Odtwórz lub wstrzymaj multimedia Wszystkie aplikacje @@ -293,7 +302,7 @@ Poprzednia sekcja Poprzednia lista Poprzedni element sterujący - Opcje edycji + Opcje edytowania Przenieś kursor na początek Przenieś kursor na koniec Włącz lub wyłącz tryb zaznaczania @@ -323,11 +332,11 @@ Czytanie Funkcje specjalne Inne - Pokazuje, że dla danego elementu wykonywane są działania, w tym kopiowanie, wklejanie, wybieranie i inne - Kopiowanie, wklejanie, zaznaczanie i inne działania. Widoczne, gdy zaznaczysz pole tekstowe. + Widoczne tylko wtedy, gdy dla bieżącego elementu są dostępne niestandardowe działania + Kopiowanie, wklejanie, zaznaczanie i inne działania. Widoczne tylko wtedy, gdy zaznaczysz pole tekstowe. Otwieranie linków w zaznaczonym elemencie Przechodzenie do poprzedniej lub następnej strony. Widoczne tylko wtedy, gdy czytasz treści obejmujące wiele stron. - Widoczne, gdy zaznaczysz element bez etykiety + Widoczne tylko wtedy, gdy zaznaczysz element bez etykiety Czytanie po znaku, słowie, wierszu i inne działania Czytanie wszystkich elementów na ekranie od góry Czytanie wszystkich elementów na ekranie od kolejnego elementu @@ -342,7 +351,6 @@ Otwieranie ustawień zamiany tekstu na mowę Wyłączanie komunikatów głosowych w TalkBack Nie można edytować - Wykonaj działania Czytanie po jednym znaku. Czytanie po jednym słowie. Czytanie po jednym wierszu. @@ -365,7 +373,7 @@ Zmniejszanie głośności innych dźwięków odtwarzanych w trakcie wypowiadania treści przez TalkBack Przewiń do przodu lub do tyłu Zwiększ lub zmniejsz głośność przy ułatwieniach dostępu - Przeczytaj na głos tekst umieszczony w wybranym obrazie + Pobierz opis obrazu wygenerowany automatycznie w dół w dół, a potem w prawo Przesuń w górę @@ -408,9 +416,7 @@ Kliknij dwukrotnie i przytrzymaj 2 palcami Kliknij dwukrotnie i przytrzymaj 3 palcami Kliknij dwukrotnie i przytrzymaj 4 palcami - Naciśnij i przytrzymaj 3 palcami Naciśnij trzykrotnie i przytrzymaj 2 palcami - Kliknij trzykrotnie i przytrzymaj 3 palcami „%1$s” lub „%2$s”, aby zmienić „%1$s”, aby zmienić Nieznany gest @@ -434,8 +440,7 @@ Gdy włącza się ekran blokady Tylko z obszaru powiadomień Przytrzymaj palec, aby wybrać klawisz, a następnie kliknij dwukrotnie - Przytrzymaj palec, aby wybrać klawisz, a następnie podnieś. Kliknij dwukrotnie, aby wybrać inne klawisze. - Przytrzymaj palec, aby wybrać klawisz, a następnie podnieś + Przytrzymaj palec, aby wybrać klawisz, a następnie podnieś Wyłączone Bardzo lekko Lekko @@ -487,6 +492,7 @@ Wybierz aplikację do wyeksportowania etykiet: Ta wersja funkcji TalkBack umożliwia zmianę domyślnych gestów ułatwień dostępu. Czynności związane z tymi gestami można dostosować w ustawieniach TalkBack. Aby wykonać określone działania, gdy włączone jest Czytanie dotykiem, możesz użyć tych gestów:\n\n%1$s Naciśnięcie i przytrzymanie przycisków zwiększania i zmniejszania głośności + Aby ukryć lub pokazać ekran, naciśnij szybko oba klawisze głośności równocześnie trzy razy Ukryć ekran? Ta opcja wyłącza wyświetlacz, by ekran nie był widoczny dla innych osób w miejscach publicznych ze względu na ochronę prywatności W tej wersji TalkBack zmieniły się domyślne gesty ułatwień dostępu.\n\nGest w górę, a potem w dół, pozwala teraz na przejście do pierwszego elementu na ekranie, natomiast gest w dół, a potem w górę – do ostatniego.\n\nPoziom szczegółowości czytania możesz zmienić, wybierając go z menu kontekstowego TalkBack po zaznaczeniu elementu.\n\nCzynności uruchamiane tymi gestami można skonfigurować w ustawieniach TalkBack. @@ -502,9 +508,6 @@ Na pewno chcesz włączyć debugowanie drzewa węzłów?\n\nUjawni to zawartość ekranu w dziennikach urządzenia, które mogą odczytać inne aplikacje. Włączyć statystyki wydajności? Czy na pewno chcesz włączyć statystyki wydajności?\n\nStatystyki wydajności mogą bardziej zajmować pamięć i zużywać energię. - Włączyć logowanie szczegółowe? - Logowanie szczegółowe może pomóc w debugowaniu, jednak może również spowodować wyświetlenie danych osobowych w buforze dziennika systemowego.\n\n Czy chcesz włączyć logowanie szczegółowe? - Tak, włącz logowanie szczegółowe Zezwolić na dostęp do telefonu? Dzięki temu TalkBack ograniczy powiadomienia podczas połączeń telefonicznych Dalej @@ -560,11 +563,9 @@ Głośność przy ułatwieniach dostępu Dostosuj suwak Dostosuj wartość - Działania Odczytywanie haseł Hasła są zawsze odczytywane Dźwięk i wibracje - Dźwięk tekst skopiowany, %1$s Zamknij Zamknij wyszukiwanie @@ -601,15 +602,13 @@ %1$s, aby czytać zawartość ekranu na następującym poziomie: %2$s Aby z tego korzystać, otwórz Ustawienia Talkback i dadaj gest „%1$s”. Nie włączono klawiatury brajlowskiej. Otwórz ustawienia TalkBack, skonfiguruj klawiaturę brajlowską i spróbuj ponownie. - Dostępne sugestie - Dostępne sugestie. Aby uzyskać dostęp, %1$s Strona %1$d z %2$d Wstecz Dalej Zamknij Zakończ Przejdź wyżej - Nowe funkcje w TalkBack + Nowe funkcje w TalkBack Zamknąć samouczek? Zawsze możesz uruchomić go znowu w ustawieniach TalkBack. Zostań w samouczku @@ -653,14 +652,6 @@ Kliknij, by dowiedzieć się, jak szybciej posługiwać się TalkBack przy użyciu nowych gestów. Zrzut drzewa węzłów został utworzony w dzienniku. Tutaj znajdują się niedawno używane gesty, zgłoś, który jest niepoprawny, a jaki powinien być poprawny. - Wprowadziliśmy uproszczone sterowanie głośnością, szybsze sterowanie działaniami i inne ulepszenia.\n\nZ kolejnych ekranów dowiesz się więcej o najważniejszych aktualizacjach i zmianach. Potrwa to około 5 minut.\n\nW dowolnej chwili możesz sprawdzić te informacje w ustawieniach TalkBack. - Zmiany w sterowaniu głośnością - Aby poprawić sterowanie głośnością, przyciski głośności nie sterują już kursorami tekstu ani suwakami.\n\nAby zmienić pozycję suwaka, przesuń w górę lub w dół.\n\nAby zmienić pozycję kursora tekstu, przesuń w górę lub w dół w polu tekstowym. Działa to również w przypadku sterowania czytaniem za pomocą klawiatury brajlowskiej. - Tekst na obrazach - Możesz automatycznie lub wtedy, kiedy zachodzi taka potrzeba, uzyskać więcej szczegółów na temat tekstów na obrazach.\n\nW przypadku obrazów, które nie są oznaczone etykietą, TalkBack automatycznie przeczyta tekst, który się pojawia.\n\nDla wszystkich obrazów: otwórz menu TalkBack i wybierz „Opisz tekst z obrazu”.\n\nObrazy pozostają na Twoim urządzeniu i nigdy nie są wysyłane do Google. To oznacza, że możesz korzystać z obu tych funkcji bez połączenia z internetem. - Nawigacja w oknie - Możesz przełączać się między różnymi sekcjami ekranu, np. paskiem powiadomień, główną treścią i klawiaturą.\n\nAby używać nawigacji w oknie, przesuń w dół 4 palcami. - Możesz przełączać się między różnymi sekcjami ekranu, np. paskiem powiadomień, główną treścią i klawiaturą.\n\nAby używać nawigacji w oknie, przesuń palcem w dół, a następnie w górę. Kontynuuj, aż wybierzesz nawigację w oknie. Aby przejść do okna, przesuń palcem w dół. Samouczek Witamy w TalkBack TalkBack to czytnik ekranu opracowany z myślą o sytuacjach, w których patrzenie na ekran jest utrudnione, a także o osobach mających tego rodzaju problemy. Komunikaty głosowe umożliwiają korzystanie z urządzenia bez patrzenia na ekran.\n\nMożesz włączyć lub wyłączyć funkcję TalkBack, przytrzymując oba klawisze głośności przez kilka sekund.\n\nKiedy funkcja TalkBack jest włączona, aktywny element na ekranie jest odczytywany na głos.\n\nPrzesunięcie palcem w prawo powoduje przejście do kolejnego elementu, a przesunięcie w lewo – do poprzedniego.\n\nPrzesuń teraz palcem w prawo do przycisku Dalej. @@ -703,14 +694,14 @@ Przesuwaj palcem po klawiaturze. Gdy usłyszysz odpowiednią literę, podnieś palec.\n\nSpróbuj aktywować pole tekstowe znajdujące się poniżej i wpisać swoje imię. Możesz też pisać przy użyciu klawiatury brajlowskiej. Znajdź ją w ustawieniach TalkBack. Przenoszenie kursora - Po aktywowaniu pola tekstowego możesz przenosić kursor między literami, przesuwając palcem w górę lub w dół.\n\nSpróbuj zrobić to teraz w polu tekstowym poniżej. + Po aktywowaniu pola tekstowego możesz przenosić kursor między literami, naciskając klawisze zwiększania i zmniejszania głośności.\n\nSpróbuj zrobić to teraz w polu tekstowym poniżej. Witamy w TalkBack Zaznaczanie tekstu W polu tekstowym przesuń kursor na początek tekstu, który chcesz zaznaczyć.\n\nKliknij dwukrotnie i przytrzymaj 2 palcami, aby uruchomić tryb zaznaczania. Następnie przenieś kursor na koniec tekstu. Ponownie kliknij dwukrotnie i przytrzymaj 2 palcami, by zamknąć tryb zaznaczania.\n\nW polu tekstowym poniżej spróbuj zaznaczyć słowo „Witamy”. - W polu tekstowym przenieś kursor na początek tekstu, który chcesz zaznaczyć.\n\nPrzesuń palcem w dół, a następnie w prawo, aby otworzyć menu TalkBack. Kliknij dwukrotnie działanie, a następnie uruchom tryb zaznaczania. Przesuń kursor na koniec tekstu.\n\nPonownie otwórz menu TalkBack i kliknij dwukrotnie działanie, aby zakończyć tryb zaznaczania.\n\nW polu tekstowym poniżej spróbuj zaznaczyć słowo „Witamy”. + W polu tekstowym przenieś kursor na początek tekstu, który chcesz zaznaczyć.\n\nPrzesuń palcem w dół, a następnie w prawo, by otworzyć menu TalkBack. Kliknij dwukrotnie opcje edytowania, a następnie uruchom tryb zaznaczania. Przesuń kursor na koniec tekstu.\n\nPonownie otwórz menu TalkBack i kliknij dwukrotnie opcje edytowania, by zakończyć tryb zaznaczania.\n\nW polu tekstowym poniżej spróbuj zaznaczyć słowo „Witamy”. Kopiowanie, wycinanie i wklejanie - Po wybraniu tekstu kliknij dwukrotnie działania, a następnie skopiuj go. \n\nSpróbuj skopiować słowo w polu tekstowym poniżej. - Aby wyciąć lub wkleić tekst, otwórz menu TalkBack i kliknij dwukrotnie działania.\n\nAby wkleić tekst, kliknij potrójnie 3 palcami.\n\nSpróbuj wkleić tekst w polu tekstowym poniżej. + Zaznaczony tekst możesz skopiować, klikając go dwukrotnie 3 palcami.\n\nSpróbuj skopiować słowo z pola tekstowego poniżej. + Aby wyciąć tekst, kliknij dwukrotnie i przytrzymaj 3 palcami.\n\nAby wkleić tekst, kliknij trzykrotnie 3 palcami.\n\nSpróbuj wkleić słowo w polu tekstowym poniżej. Zaznaczony tekst możesz skopiować, korzystając z menu TalkBack. Aby je otworzyć, przesuń palcem w dół, a potem w prawo. Kliknij dwukrotnie opcje edytowania i wybierz kopiowanie.\n\nSpróbuj skopiować słowo z pola tekstowego poniżej. Aby wyciąć lub wkleić tekst, otwórz menu TalkBack i kliknij dwukrotnie opcje edytowania.\n\nSpróbuj wkleić słowo w polu tekstowym poniżej. Tutaj wklej tekst @@ -753,7 +744,6 @@ Przesuwaj palcem w prawo lub w lewo, aby przechodzić między elementami Kliknij dwukrotnie, aby uaktywnić element Przeciągnij 2 palcami, aby przewinąć - Sprawdź, czy telefon jest połączony. Grube obramowanie Kolor Domyślny @@ -765,12 +755,6 @@ Szary Ankieta została zamknięta Tekst: %1$s - Opisz tekst z obrazu - Usunięta ikona: %1$s - Działanie nie jest obsługiwane. - Nie wybrano żadnego działania. - Wybierz obsługiwane działanie. - Brak działań. - Ustawienie działań nie jest włączone. - Nie znaleziono tekstu + Opisz obraz + Przewidywana ikona: %1$s diff --git a/talkback/src/main/res/values-pl/strings_voicecommands.xml b/talkback/src/main/res/values-pl/strings_voicecommands.xml index 632bea763..71c33091c 100644 --- a/talkback/src/main/res/values-pl/strings_voicecommands.xml +++ b/talkback/src/main/res/values-pl/strings_voicecommands.xml @@ -5,7 +5,7 @@ Opcje edycji Edytowanie tekstu Edytowanie tekstu - Opcje edycji + Opcje edytowania edytuj co powiedz diff --git a/talkback/src/main/res/values-pt-rBR/strings.xml b/talkback/src/main/res/values-pt-rBR/strings.xml index 4b76d003e..060bee380 100644 --- a/talkback/src/main/res/values-pt-rBR/strings.xml +++ b/talkback/src/main/res/values-pt-rBR/strings.xml @@ -7,7 +7,6 @@ Configurações da conversão de texto em voz Idiomas Idioma falado - Ações Ações do sistema Versão %1$s Gerenciar marcadores pers. @@ -31,37 +30,46 @@ Dispositivo desbloqueado. Áudio Volume da fala - Falar notificações com tela desligada - Sempre falar o número de itens na lista - Falar a contagem para todos os métodos de rolagem + Falar com a tela desligada + Notificações são faladas quando a tela está desligada + Sem fala quando a tela está desligada + Falar o número de itens da lista na tela + Falar apenas ao rolar com o gesto + Sempre falado Cobrir sensor de proximidade para interromper a fala - Falar letras com exemplos - Ao selecionar teclas do teclado ou navegar por caractere, você ouvirá um exemplo junto a cada letra, como \"h, hotel\" - Falar pontuações e símbolos + Falar letras fonéticas + As letras fonéticas não são faladas + As letras fonéticas são faladas quando o usuário toca nas teclas do teclado e as mantém pressionadas e quando navega por caractere. + Pontuação + Símbolos e sinais de pontuação não são falados em voz alta + Símbolos e sinais de pontuação são falados em voz alta Letras maiúsculas Não fazer nada Dizer \"letra maiúscula\" Mudar o tom de voz Tocar som Falar dicas de uso - Após descrever o conteúdo, sugerir como usá-lo - Falar informações da lista e grade + As dicas de uso não são faladas quando o foco de acessibilidade é movido + As dicas de uso são faladas durante a navegação, após um breve atraso + Falar informações de grade e lista + Informações de grade e lista são faladas + Informações de grade e lista não são faladas Redefinir gestos? Esta ação redefinirá todos os gestos para as ações padrão.\n\nVocê perderá todas as modificações feitas. Redefinir As configurações de gestos foram redefinidas. Falar o tipo do elemento - Para itens em foco + O tipo do elemento é falado para itens em foco + O tipo do elemento não é falado para itens em foco Falar os códigos do elemento - Para botões sem marcador - Falar o nome das janelas do sistema - Ao mudar para outras janelas do sistema, como a barra de status, notificações ou controles de volume + Os códigos do elemento não são falados para botões não rotulados + Os códigos do elemento são falados para botões não rotulados Explorar por toque Controles Tocar uma vez para ativar Tocar uma vez em um item em foco para ativá-lo Verbosidade - Falar pontuações e símbolos + Pontuação Personalizar o indicador de foco Personalizar gestos Rótulos personalizados @@ -203,7 +211,8 @@ Alterar tom de voz Teclado falado Ordem de descrição dos elementos - Falar letras excluídas em um tom de voz mais agudo + O texto excluído do teclado é falado em um tom de voz mais agudo + Não alterar tom de voz ao falar Teclado em braille Vibração Som @@ -211,6 +220,7 @@ Reduz o volume de outros áudios ao falar Volume do feedback falado Atalho de suspensão e retomada do Talkback + Ocultar atalho da tela Configurações do desenvolvedor Selecionar eventos a serem registrados Filtrar registro de eventos de acessibilidade @@ -256,7 +266,7 @@ Abrir o menu do TalkBack Pausar feedback Pausar ou retomar a fala - Ativar ou desativar a fala + Ativar ou desativar o som do TalkBack Ler desde o início Ler a partir do próximo item Imprimir árvore de nós @@ -278,7 +288,6 @@ Manter o atalho de acessibilidade pressionado Mover o foco da navegação para frente ou ajustar o controle de leitura para baixo Mover o foco da navegação para trás ou ajustar o controle de leitura para cima - Ativar a opção selecionada atualmente Resultado da pesquisa Iniciar ou pausar mídia Todos os apps @@ -323,12 +332,12 @@ Leitura Recursos especiais Outro - Mostra quando há ações para o item atual, incluindo copiar, colar, selecionar, entre outras + Aparece quando ações personalizadas existem para o item atual Copiar, colar, selecionar e mais. Aparece quando você seleciona uma caixa de texto. - Abre links dentro de um item em foco - Vai para a próxima página ou anterior. Aparece quando você está lendo conteúdo com várias páginas. + Abrir links dentro de um item em foco + Ir para a próxima página ou a anterior. Aparece quando você está lendo conteúdo com várias páginas. Aparece quando você seleciona um item sem etiqueta - Lê por caractere, palavra, linha, entre outros + Ler por caractere, palavra, linha e mais Ler todos os itens na tela desde o início Ler todos os itens na tela a partir do próximo item Copiar a última frase falada pelo TalkBack para a área de transferência para colar o texto @@ -342,7 +351,6 @@ Abrir configurações de conversão de texto em voz Desativar feedback de voz no TalkBack Não editável - Realizar ações Ler um caractere por vez Ler uma palavra por vez Ler uma linha por vez @@ -365,7 +373,7 @@ Diminuir o volume de outros áudios quando o TalkBack falar Rolar para frente ou para trás Aumentar ou diminuir o volume do Google Acessibilidade - Lê em voz alta o texto incorporado a uma imagem selecionada + Criar uma descrição automática para a imagem para baixo para baixo e para a direita Deslizar para cima @@ -408,9 +416,7 @@ Tocar duas vezes com dois dedos e manter pressionados Tocar duas vezes com três dedos e manter pressionados Tocar duas vezes com quatro dedos e manter pressionados - Tocar com três dedos e manter a tela pressionada Tocar três vezes com dois dedos e manter a tela pressionada - Tocar três vezes com três dedos e manter a tela pressionada \"%1$s\" ou \"%2$s\" para ajustar \"%1$s\" para ajustar Gesto desconhecido @@ -433,9 +439,8 @@ Quando a tela é ativada Quando a tela de bloqueio é exibida Somente a partir da notificação - Mantenha uma tecla pressionada para selecionar e depois toque duas vezes - Mantenha uma tecla de letra pressionada para selecionar e depois solte. Toque duas vezes para selecionar outras teclas. - Manter uma tecla pressionada para selecionar e depois levantar o dedo + Manter uma tecla pressionada para selecioná-la e depois tocar duas vezes + Manter uma tecla pressionada para selecioná-la e depois levantar o dedo Desativado Muito leve Leve @@ -485,6 +490,7 @@ Escolha um app para exportar marcadores: Esta versão do TalkBack inclui alterações nos gestos de acessibilidade padrão. As ações associadas a esses gestos podem ser personalizadas nas configurações do Talkback. Quando o recurso Explorar por toque estiver ativado, você pode usar os gestos a seguir para executar determinadas ações.\n\n%1$s Mantenha as teclas de aumentar e diminuir o volume pressionadas + Pressionar rapidamente os dois botões de volume três vezes para ocultar ou mostrar a tela Ocultar a tela? Essa ação desativa a tela, tornando-a invisível para outras pessoas em lugares públicos e aumentando a privacidade Esta versão do TalkBack inclui mudanças nos gestos de acessibilidade padrão.\n\nO gesto \"de cima para baixo\" moverá sua tela para o primeiro item, e o movimento \"de baixo para cima\" moverá sua tela para o último item.\n\nAgora, é possível mudar a granularidade de leitura, basta focar em um item e, então, selecionar uma granularidade no menu de contexto do TalkBack.\n\nVocê pode mudar as ações desses gestos nas Configurações do TalkBack. @@ -500,9 +506,6 @@ Você quer mesmo ativar a depuração da árvore de nós?\n\nA depuração da árvore de nós expõe o conteúdo de sua tela para os registros do dispositivo, que podem ser lidos por outros apps. Ativar estatísticas de desempenho? Você quer mesmo ativar as estatísticas de desempenho?\n\nElas podem consumir mais memória e energia. - Ativar o registro detalhado? - O registro detalhado pode ajudar na depuração, mas talvez ele faça com que suas informações pessoais sejam mostradas no buffer de registro do sistema.\n\n Você quer ativar o registro detalhado? - Sim, ativar o registro detalhado Permitir acesso ao telefone? Isso ajuda o TalkBack a reduzir os avisos durante uma chamada Continuar @@ -556,11 +559,9 @@ Volume do Google Acessibilidade Ajuste o controle deslizante Ajuste o valor - Ações Falar senhas Senhas sempre faladas Som e vibração - Som copiado, %1$s Fechar Fechar pesquisa @@ -595,15 +596,13 @@ %1$s para ler por %2$s Para usar essa função, acesse as configurações do TalkBack e adicione um gesto para \"%1$s\" Teclado em braille desativado. Acesse as config. do TalkBack, configure o teclado e tente novamente. - Sugestões disponíveis - Sugestões disponíveis. Para acessar, %1$s Página %1$d de %2$d Anterior Próxima Fechar Concluir Navegar para cima - Novos recursos no TalkBack + Novos recursos no TalkBack Fechar tutorial? Você pode acessar a qualquer momento nas configurações do TalkBack. Ficar no tutorial @@ -647,14 +646,6 @@ Toque para saber mais sobre como usar o TalkBack com mais velocidade usando novos gestos. A árvore de nós foi impressa nos registros. Veja os gestos realizados recentemente. Informe quais estão errados e qual é a ação esperada. - Você terá controles de volume simplificados, controles de ação mais rápidos e muito mais.\n\nVeja as principais atualizações e mudanças nas próximas telas. Isso leva cerca de cinco minutos.\n\nVocê pode revisar essas informações nas configurações do TalkBack a qualquer momento. - Mudanças no controle de volume - As teclas de volume não controlam mais os cursores de texto ou controles deslizantes.\n\nPara mudar a posição de um controle deslizante, deslize para cima ou para baixo.\n\nPara mudar a posição do cursor de texto, deslize para cima ou para baixo em uma caixa de texto. Isso também funciona em controles de leitura de teclados em braille. - Texto nas imagens - Você pode ver mais detalhes sobre o texto contido em imagens automaticamente ou sempre que precisar.\n\nPara imagens que não têm uma etiqueta: o TalkBack lê automaticamente o texto mostrado.\n\nPara todas as imagens: abra o menu do TalkBack e selecione \"Descrever texto na imagem\".\n\nAs imagens permanecem no seu dispositivo e nunca são enviadas ao Google. Isso significa que você pode usar esses recursos sem uma conexão de Internet. - Navegação por janelas - Você pode alternar entre diferentes seções na tela, como a barra de notificações, o conteúdo principal e o teclado.\n\nPara usar a navegação por janelas, deslize para baixo com quatro dedos. - Você pode alternar entre diferentes seções na tela, como a barra de notificações, o conteúdo principal e o teclado.\n\nPara usar a navegação por janelas, deslize para baixo e depois para cima. Continue até selecionar a navegação por janelas. Para navegar até a janela, deslize para baixo. Tutorial Conheça o TalkBack O TalkBack é um leitor de tela criado para situações ou pessoas com dificuldade para ver a tela. Ele oferece feedback falado para que você possa usar o dispositivo sem olhar para a tela.\n\nÉ possível ativar ou desativar o TalkBack pressionando ambas as teclas de volume por alguns segundos.\n\nQuando ele está ativado, o item em foco na tela é lido em voz alta.\n\nDeslizar para a direita passará ao item seguinte e para a esquerda ao anterior.\n\nAgora deslize para a direita para encontrar o botão \"Próxima\". @@ -697,14 +688,14 @@ Mova o dedo pelo teclado. Quando ouvir a letra que você quer digitar, levante o dedo.\n\nTente ativar a caixa de texto abaixo e digitar seu nome. Também é possível digitar com o teclado em braille. Ele pode ser encontrado nas configurações do TalkBack. Como mover o cursor - Ao ativar uma caixa de texto, você pode mover o cursor entre as letras deslizando para cima ou para baixo.\n\nFaça um teste na caixa de texto abaixo. + Quando você ativar uma caixa de texto, poderá mover o cursor entre as letras pressionando as teclas de aumentar ou diminuir o volume. \n\nTeste essa ação na caixa de texto abaixo. Conheça o TalkBack Como selecionar texto Em uma caixa de texto, mova o cursor para o começo do texto que você quer selecionar.\n\nToque duas vezes com dois dedos e mantenha a tela pressionada para entrar no modo de seleção. Depois, mova o cursor para o fim do texto. Toque duas vezes com dois dedos e mantenha a tela pressionada novamente para sair do modo de seleção.\n\nTente selecionar a palavra \"Conheça\" na caixa de texto abaixo. - Em uma caixa de texto, mova o cursor para o começo do texto que você quer selecionar.\n\nDeslize para baixo e depois para a direita de modo a abrir o menu do TalkBack. Toque duas vezes nas ações e inicie o modo de seleção. Mova o cursor para o fim da caixa de texto.\n\nAbra o menu do TalkBack novamente e toque duas vezes nas ações para encerrar o modo de seleção.\n\nTente selecionar a palavra \"Conheça\" na caixa de texto abaixo. + Em uma caixa de texto, mova o cursor para o começo do texto que você quer selecionar.\n\nDeslize para baixo e para a direita para abrir o menu do TalkBack. Toque duas vezes nas opções de edição e inicie o modo de seleção. Mova o cursor para o fim da caixa de texto.\n\nAbra o menu do TalkBack novamente e toque duas vezes nas opções de edição para encerrar o modo de seleção.\n\nTente selecionar a palavra \"Conheça\" na caixa de texto abaixo. Copiar, recortar e colar - Depois de selecionar o texto, toque duas vezes nas ações e depois em copiar.\n\nTente copiar uma palavra na caixa de texto abaixo. - Para recortar ou colar um texto, abra o menu do TalkBack e toque duas vezes nas ações.\n\nPara colar o texto, toque três vezes com três dedos.\n\nTente colar uma palavra na caixa de texto abaixo. + Após selecionar o texto, copie-o tocando duas vezes com três dedos.\n\nTente copiar uma palavra na caixa de texto abaixo. + Para recortar um texto, toque duas vezes com três dedos e mantenha a tela pressionada.\n\nPara colar o texto, toque três vezes com três dedos.\n\nTente colar uma palavra na caixa de texto abaixo. Após selecionar um texto, você pode copiá-lo no menu do TalkBack. Deslize para baixo e depois para a direita para abrir o menu do TalkBack. Toque duas vezes nas opções de edição e depois em copiar.\n\nTente copiar uma palavra na caixa de texto abaixo. Para recortar ou colar um texto, abra o menu do TalkBack e toque duas vezes nas opções de edição.\n\nTente copiar uma palavra na caixa de texto abaixo. Cole o texto aqui @@ -747,7 +738,6 @@ Deslize para a direita ou esquerda para alternar entre os itens Toque duas vezes para ativar um item Arraste dois dedos para rolar - Confira se o smartphone está conectado. Bordas espessas Cor Padrão @@ -759,12 +749,6 @@ Cinza Pesquisa encerrada Texto: %1$s - Descrever texto na imagem - Ícone detectado: %1$s - Não há suporte para a ação. - Nenhuma ação selecionada. - Selecione uma ação com suporte - Nenhuma ação. - A configuração de ações não está ativada. - Nenhum texto encontrado + Descrever a imagem + Ícone reconhecido: %1$s diff --git a/talkback/src/main/res/values-pt-rPT/strings.xml b/talkback/src/main/res/values-pt-rPT/strings.xml index 4a84da190..bd4b1c758 100644 --- a/talkback/src/main/res/values-pt-rPT/strings.xml +++ b/talkback/src/main/res/values-pt-rPT/strings.xml @@ -7,7 +7,6 @@ Definições de síntese de voz Idiomas Idioma falado - Ações Ações do sistema Versão %1$s Gerir etiquetas personalizadas @@ -31,37 +30,46 @@ Dispositivo desbloqueado. Áudio Volume da voz - Ler notificações com o ecrã desativado - Ler sempre o número de itens da lista - Ler o número de todos os métodos de deslocamento + Falar quando o ecrã está desligado + As notificações são faladas quando o ecrã está desligado + Sem voz quando o ecrã está desligado + Ler o número de itens da lista no ecrã + Ler apenas ao deslocar por gestos + Ler sempre Cobrir o sensor de proximidade para parar a voz - Ler letras com exemplos - Quando selecionar teclas do teclado ou navegar por caráter, ouvirá um exemplo juntamente com cada letra, como \"h, hotel\" - Ler pontuação e símbolos + Dizer letras fonéticas + As letras fonéticas não são pronunciadas + As letras fonéticas são pronunciadas ao manter premidas as teclas do teclado e ao navegar por caráter + Pontuação + A pontuação e os símbolos não são lidos + A pontuação e os símbolos são lidos Letras maiúsculas Não fazer nada Dizer \"maiúscula\" Alterar o tom Reproduzir som Dizer sugestões de utilização - Depois de descrever o conteúdo, sugerir como utilizá-lo - Ler informações de listas e grelhas + As sugestões de utilização não são pronunciadas ao mover o foco da acessibilidade + As sugestões de utilização são pronunciadas durante a navegação após um breve atraso + Ler informações de listas e de grelhas + As informações de listas e de grelhas são pronunciadas + As informações de listas e de grelhas não são pronunciadas Pretende repor os gestos? Esta ação irá repor todos os gestos para as respetivas ações predefinidas.\n\nVai perder todas as alterações que tenha efetuado. Repor As definições de gestos foram repostas. Ler tipo de elemento - Para itens focados + O tipo de elemento dos itens focados é pronunciado + O tipo de elemento dos itens focados não é pronunciado Ler IDs de elementos - Para botões sem etiquetas - Dizer as janelas do sistema - Quando muda para outras janelas do sistema, como a barra de estado, notificações ou controlos de volume + Os IDs de elementos dos botões sem etiquetas não são lidos. + Os IDs de elementos dos botões sem etiquetas são lidos. Explorar Através do Toque Controlos Tocar uma vez para ativar Toque uma vez num item focado para ativar Verbosidade - Ler pontuação e símbolos + Pontuação Personalizar indicador de focagem Personalizar gestos Etiquetas personalizadas @@ -203,7 +211,8 @@ Utilizar alterações de tom Eco de teclado Ordem da descrição dos elementos - Ler as letras eliminadas numa voz com tom mais agudo + Ouça o texto eliminado do teclado numa voz com tom mais agudo + Não alterar o tom de voz ao falar Teclado de braille Respostas por vibração Respostas sonoras @@ -211,6 +220,7 @@ Diminuia o volume do áudio de outras aplicações ao falar. Volume respostas sonoras Atalho para suspender e retomar o TalkBack + Atalho para ocultar o ecrã Definições do programador Selecionar eventos para registar Filtrar o registo de eventos de acessibilidade @@ -256,7 +266,7 @@ Abrir menu do TalkBack Interromper as respostas Colocar em pausa ou retomar a voz - Ativar ou desativar voz + Ativar ou desativar o som do TalkBack Ler do início Ler a partir do item seguinte Imprimir a árvore de nós @@ -265,7 +275,7 @@ Resumir esquema do ecrã Iniciar comando de voz Focar no último item no ecrã - Ocultar ecrã + Ocultar o ecrã Mostrar o ecrã Tocar Tocar sem soltar @@ -278,7 +288,6 @@ Manter premido o atalho de acessibilidade Mover o foco de navegação para a frente ou ajustar o controlo de leitura para baixo Mover o foco de navegação para trás ou ajustar o controlo de leitura para cima - Ativar a ação atualmente selecionada Resultado da pesquisa Reproduzir/colocar multimédia em pausa Todas as apps @@ -309,7 +318,7 @@ Adicionar ou editar etiquetas Navegação Ler do início - Copiar última expressão falada + Copiar a última expressão falada Soletrar a última expressão falada Repetir a última expressão falada Ações @@ -323,7 +332,7 @@ Leitura Funcionalidades especiais Outro - Mostra quando existem ações para o item atual, incluindo copiar, colar, selecionar e muito mais + É apresentado quando existem ações personalizadas para o item atual. Copie, cole, selecione e muito mais. É apresentado quando seleciona uma caixa de texto. Abra links num item focado. Avance para a página seguinte ou anterior. É apresentado quando está a ler conteúdo com várias páginas. @@ -342,7 +351,6 @@ Abra as definições de síntese de voz. Desative o feedback de voz do TalkBack. Não editável - Realizar ações Leia um caráter de cada vez. Leia uma palavra de cada vez. Leia uma linha de cada vez. @@ -365,7 +373,7 @@ Reduza o volume de outro áudio reproduzido quando o TalkBack fala. Desloque-se para a frente ou para trás. Aumentar ou diminuir o volume da Acessibilidade - Leia texto incorporado numa imagem selecionada + Obtenha uma descrição automática desta imagem para baixo p/ baixo e depois p/ a direita Deslizar para cima @@ -408,9 +416,7 @@ Tocar duas vezes sem soltar com 2 dedos Tocar duas vezes sem soltar com 3 dedos Tocar duas vezes sem soltar com 4 dedos - Tocar sem soltar com 3 dedos Tocar três vezes sem soltar com 2 dedos - Tocar três vezes sem soltar com 3 dedos \"%1$s\" ou %2$s\" para ajustar \"%1$s\" para ajustar Gesto desconhecido @@ -433,9 +439,8 @@ Ao ligar o ecrã Ao mostrar o ecrã de bloqueio Apenas a partir da notificação - Tocar com o dedo sem soltar para selecionar qualquer tecla e, em seguida, tocar duas vezes - Toque com o dedo sem soltar para selecionar a tecla da letra e, em seguida, levante-o. Toque duas vezes para outras teclas. - Toque com o dedo sem soltar para selecionar qualquer tecla e, em seguida, levante-o + Toque com o dedo sem soltar para selecionar a tecla e, em seguida, toque duas vezes + Toque com o dedo sem soltar para selecionar a tecla e, em seguida, levante o dedo Desativado Muito suave Suave @@ -485,7 +490,8 @@ Escolha a app para exportar etiquetas: Esta versão do TalkBack inclui alterações aos toques de acessibilidade predefinidos. É possível personalizar as ações associadas a estes toques nas definições do Talkback. Quando a funcionalidade Explorar Através do Toque está ativada, pode utilizar os seguintes toques para realizar determinadas ações.\n\n%1$s Premir sem soltar as teclas para aumentar e diminuir o volume - Ocultar o ecrã? + Premir rapidamente ambas as teclas de volume três vezes para ocultar ou mostrar o ecrã + Pretende ocultar o ecrã? Esta opção desativa o ecrã para melhorar a privacidade, de modo que o ecrã não esteja visível para outras pessoas em locais públicos. Esta versão do TalkBack inclui alterações aos gestos de acessibilidade predefinidos.\n\nO gesto para cima e depois para baixo permitir-lhe-á deslocar-se para o primeiro item no ecrã e o gesto para baixo e depois para cima permitir-lhe-á deslocar-se para o último item.\n\nAgora, é possível alterar o nível de detalhe de leitura ao focar um item e, em seguida, escolher um nível de detalhe a partir do menu de contexto do TalkBack.\n\nPode alterar as ações efetuadas por estes gestos nas Definições do TalkBack. Esta versão do TalkBack inclui alterações aos gestos de acessibilidade predefinidos.\n\nAgora, o gesto para cima permite-lhe deslocar-se para a definição de navegação anterior e o gesto para baixo permite-lhe deslocar-se para a definição de navegação seguinte. @@ -500,9 +506,6 @@ Tem a certeza de que pretende ativar a depuração da árvore de nós?\n\nA depuração da árvore de nós expõe o conteúdo do seu ecrã aos registos do seu dispositivo, que podem ser lidos por outras aplicações. Pretende ativar as estatísticas de desempenho? Tem a certeza de que pretende ativar as estatísticas de desempenho?\n\nAs estatísticas de desempenho podem consumir mais memória e energia. - Pretende ativar o registo verboso? - O registo verboso pode auxiliar na depuração, contudo, podem aparecer informações pessoais no buffer de registo do sistema.\n\n Pretende ativar o registo verboso? - Sim, ativar registo verboso Pretende permitir acesso ao telemóvel? Isto ajuda o TalkBack a reduzir os anúncios quando está numa chamada Continuar @@ -556,11 +559,9 @@ Volume da Acessibilidade Ajustar o controlo de deslize Ajustar o valor - Ações Ler palavras-passe As palavras-passe são sempre lidas. Som e vibração - Som copiado, %1$s Fechar Fechar pesquisa @@ -595,15 +596,13 @@ %1$s para ler por %2$s. Para utilizar esta função, aceda às definições do TalkBack e adicione um gesto para \"%1$s\". Teclado de braille desativado. Aceda às definições do TalkBack, configure este teclado e repita. - Sugestões disponíveis - Sugestões disponíveis. Como aceder, %1$s Página %1$d de %2$d Anterior Seguinte Fechar Concluir Navegar para cima - Novas funcionalidades no TalkBack + Novas funcionalidades no TalkBack Pretende fechar o tutorial? Pode regressar ao mesmo em qualquer altura nas Definições do TalkBack. Continuar no tutorial @@ -647,14 +646,6 @@ Toque para saber como utilizar o TalkBack mais rapidamente com novos gestos. A árvore de nós foi impressa em registos. Veja os gestos executados recentemente. Indique que gesto está incorreto e o que se espera. - Vai obter controlos de volume simplificados, controlos de ação mais rápidos e muito mais.\n\nVai saber mais sobre atualizações e alterações importantes nos próximos ecrãs. Vai demorar cerca de 5 minutos.\n\nPode verificar estas informações nas definições do TalkBack em qualquer altura. - Alterações aos controlos de volume - Para melhorar o controlo do volume, as teclas de volume deixam de controlar os cursores de texto ou os controlos de deslize.\n\nPara alterar a posição de um controlo de deslize, deslize rapidamente para cima ou para baixo.\n\nPara alterar a posição do cursor de texto, deslize rapidamente para cima ou para baixo numa caixa de texto. Também funciona com os controlos da leitura de teclados de braille. - Texto em imagens - Pode obter mais detalhes acerca do texto em imagens automaticamente ou quando precisar.\n\nPara as imagens que não têm uma etiqueta: o TalkBack lê automaticamente o texto apresentado.\n\nPara todas as imagens: abra o menu do TalkBack e selecione \"Descrever texto na imagem\".\n\nAs imagens permanecem no seu dispositivo e nunca são enviadas para a Google. Isto significa que pode utilizar ambas as funcionalidades sem uma ligação à Internet. - Navegação entre janelas - Pode alternar entre diferentes secções no ecrã, como a barra de notificação, o conteúdo principal e o teclado.\n\nPara utilizar a navegação entre janelas, deslize rapidamente para baixo com 4 dedos. - Pode alternar entre diferentes secções no ecrã, como a barra de notificação, o conteúdo principal e o teclado.\n\nPara utilizar a navegação entre janelas, deslize rapidamente para baixo e, de seguida, para cima. Continue até selecionar a navegação entre janelas. Para navegar para a janela, deslize rapidamente para baixo. Tutorial Damos-lhe as boas-vindas ao TalkBack O TalkBack é um leitor de ecrã destinado a situações ou pessoas com dificuldade de visualização do ecrã. Fornece-lhe feedback de voz para que possa utilizar o dispositivo sem olhar para o ecrã.\n\nPode ativar ou desativar o TalkBack ao premir sem soltar ambas as teclas de volume durante vários segundos.\n\nQuando o TalkBack está ativado, o item selecionado no ecrã é falado no ecrã.\n\nAo deslizar rapidamente para a direita, passa para o item seguinte e, ao deslizar rapidamente para a esquerda, passa para o item anterior.\n\nDeslize rapidamente para a direita agora para encontrar o botão seguinte. @@ -697,14 +688,14 @@ Mova o dedo pelo teclado. Quando ouvir a letra que pretende escrever, levante o dedo.\n\nExperimente ativar a caixa de texto abaixo e escrever o seu nome. Também pode escrever com o teclado de braille. Pode encontrá-lo nas definições do TalkBack. Mover o cursor - Quando ativar uma caixa de texto, pode mover o cursor entre as letras ao deslizar rapidamente para cima ou para baixo.\n\nExperimente na caixa de texto abaixo. + Quando ativar uma caixa de texto, pode mover o cursor entre as letras ao premir as teclas de volume para cima ou para baixo.\n\nExperimente na caixa de texto abaixo. Apresentamos-lhe o TalkBack Selecionar texto Numa caixa de texto, mova o cursor para o início do texto que pretende selecionar.\n\nToque duas vezes sem soltar com dois dedos para iniciar o modo de seleção. Em seguida, mova o cursor para o fim do texto. Toque duas vezes sem soltar com dois dedos novamente para terminar o modo de seleção.\n\nExperimente selecionar a palavra \"Welcome\" na caixa de texto abaixo. - Numa caixa de texto, mova o cursor para o início do texto que quer selecionar.\n\nDeslize rapidamente para baixo e, em seguida, para a direita para abrir o menu do TalkBack. Toque duas vezes nas ações e, em seguida, inicie o modo de seleção. Mova o cursor para o fim do texto.\n\nAbra o menu do TalkBack novamente e, em seguida, toque duas vezes nas ações para terminar o modo de seleção.\n\nExperimente selecionar a palavra \"Welcome\" na caixa de texto abaixo. + Numa caixa de texto, mova o cursor para o início do texto que pretende selecionar.\n\nDeslize rapidamente para baixo e, em seguida, para a direita para abrir o menu do TalkBack. Toque duas vezes nas opções de edição e, em seguida, inicie o modo de seleção. Mova o cursor para o fim do texto.\n\nAbra o menu do TalkBack novamente e, em seguida, toque duas vezes nas opções de edição para terminar o modo de seleção.\n\nExperimente selecionar a palavra \"Welcome\" na caixa de texto abaixo. Copie, corte e cole - Depois de selecionar o texto, toque duas vezes nas ações e, em seguida, copie.\n\nExperimente copiar uma palavra na caixa de texto abaixo. - Para cortar ou colar texto, abra o menu do TalkBack e toque duas vezes nas ações.\n\nPara colar texto, toque três vezes com três dedos.\n\nExperimente colar uma palavra na caixa de texto abaixo. + Depois de selecionar texto, copie-o ao tocar duas vezes com 3 dedos.\n\nExperimente copiar uma palavra na caixa de texto abaixo. + Para cortar texto, toque duas vezes sem soltar com 3 dedos.\n\nPara colar texto, toque três vezes com 3 dedos.\n\nExperimente colar uma palavra na caixa de texto abaixo. Após selecionar texto, pode copiá-lo no menu do TalkBack. Deslize rapidamente para baixo e, em seguida, para a direita para abrir o menu do TalkBack. Toque duas vezes nas opções de edição e, em seguida, copie.\n\nExperimente copiar uma palavra na caixa de texto abaixo. Para cortar ou colar texto, abra o menu do TalkBack e toque duas vezes nas opções de edição.\n\nExperimente colar uma palavra na caixa de texto abaixo. Cole o texto aqui @@ -747,7 +738,6 @@ Deslize rapidamente para a direita ou para a esquerda para se deslocar entre itens Toque duas vezes para ativar um item Arraste dois dedos para se deslocar - Verifique se o telemóvel está ligado. Limites espessos Cor Predefinição @@ -759,12 +749,6 @@ Cinzento Inquérito fechado Texto: %1$s - Descrever texto na imagem - Ícone detetado: %1$s - Ação não suportada. - Nenhuma ação selecionada. - Selecione uma ação suportada. - Nenhuma ação. - A definição de ações não está ativada. - Nenhum texto encontrado + Descrever imagem + Ícone previsto: %1$s diff --git a/talkback/src/main/res/values-pt/strings.xml b/talkback/src/main/res/values-pt/strings.xml index 4b76d003e..060bee380 100644 --- a/talkback/src/main/res/values-pt/strings.xml +++ b/talkback/src/main/res/values-pt/strings.xml @@ -7,7 +7,6 @@ Configurações da conversão de texto em voz Idiomas Idioma falado - Ações Ações do sistema Versão %1$s Gerenciar marcadores pers. @@ -31,37 +30,46 @@ Dispositivo desbloqueado. Áudio Volume da fala - Falar notificações com tela desligada - Sempre falar o número de itens na lista - Falar a contagem para todos os métodos de rolagem + Falar com a tela desligada + Notificações são faladas quando a tela está desligada + Sem fala quando a tela está desligada + Falar o número de itens da lista na tela + Falar apenas ao rolar com o gesto + Sempre falado Cobrir sensor de proximidade para interromper a fala - Falar letras com exemplos - Ao selecionar teclas do teclado ou navegar por caractere, você ouvirá um exemplo junto a cada letra, como \"h, hotel\" - Falar pontuações e símbolos + Falar letras fonéticas + As letras fonéticas não são faladas + As letras fonéticas são faladas quando o usuário toca nas teclas do teclado e as mantém pressionadas e quando navega por caractere. + Pontuação + Símbolos e sinais de pontuação não são falados em voz alta + Símbolos e sinais de pontuação são falados em voz alta Letras maiúsculas Não fazer nada Dizer \"letra maiúscula\" Mudar o tom de voz Tocar som Falar dicas de uso - Após descrever o conteúdo, sugerir como usá-lo - Falar informações da lista e grade + As dicas de uso não são faladas quando o foco de acessibilidade é movido + As dicas de uso são faladas durante a navegação, após um breve atraso + Falar informações de grade e lista + Informações de grade e lista são faladas + Informações de grade e lista não são faladas Redefinir gestos? Esta ação redefinirá todos os gestos para as ações padrão.\n\nVocê perderá todas as modificações feitas. Redefinir As configurações de gestos foram redefinidas. Falar o tipo do elemento - Para itens em foco + O tipo do elemento é falado para itens em foco + O tipo do elemento não é falado para itens em foco Falar os códigos do elemento - Para botões sem marcador - Falar o nome das janelas do sistema - Ao mudar para outras janelas do sistema, como a barra de status, notificações ou controles de volume + Os códigos do elemento não são falados para botões não rotulados + Os códigos do elemento são falados para botões não rotulados Explorar por toque Controles Tocar uma vez para ativar Tocar uma vez em um item em foco para ativá-lo Verbosidade - Falar pontuações e símbolos + Pontuação Personalizar o indicador de foco Personalizar gestos Rótulos personalizados @@ -203,7 +211,8 @@ Alterar tom de voz Teclado falado Ordem de descrição dos elementos - Falar letras excluídas em um tom de voz mais agudo + O texto excluído do teclado é falado em um tom de voz mais agudo + Não alterar tom de voz ao falar Teclado em braille Vibração Som @@ -211,6 +220,7 @@ Reduz o volume de outros áudios ao falar Volume do feedback falado Atalho de suspensão e retomada do Talkback + Ocultar atalho da tela Configurações do desenvolvedor Selecionar eventos a serem registrados Filtrar registro de eventos de acessibilidade @@ -256,7 +266,7 @@ Abrir o menu do TalkBack Pausar feedback Pausar ou retomar a fala - Ativar ou desativar a fala + Ativar ou desativar o som do TalkBack Ler desde o início Ler a partir do próximo item Imprimir árvore de nós @@ -278,7 +288,6 @@ Manter o atalho de acessibilidade pressionado Mover o foco da navegação para frente ou ajustar o controle de leitura para baixo Mover o foco da navegação para trás ou ajustar o controle de leitura para cima - Ativar a opção selecionada atualmente Resultado da pesquisa Iniciar ou pausar mídia Todos os apps @@ -323,12 +332,12 @@ Leitura Recursos especiais Outro - Mostra quando há ações para o item atual, incluindo copiar, colar, selecionar, entre outras + Aparece quando ações personalizadas existem para o item atual Copiar, colar, selecionar e mais. Aparece quando você seleciona uma caixa de texto. - Abre links dentro de um item em foco - Vai para a próxima página ou anterior. Aparece quando você está lendo conteúdo com várias páginas. + Abrir links dentro de um item em foco + Ir para a próxima página ou a anterior. Aparece quando você está lendo conteúdo com várias páginas. Aparece quando você seleciona um item sem etiqueta - Lê por caractere, palavra, linha, entre outros + Ler por caractere, palavra, linha e mais Ler todos os itens na tela desde o início Ler todos os itens na tela a partir do próximo item Copiar a última frase falada pelo TalkBack para a área de transferência para colar o texto @@ -342,7 +351,6 @@ Abrir configurações de conversão de texto em voz Desativar feedback de voz no TalkBack Não editável - Realizar ações Ler um caractere por vez Ler uma palavra por vez Ler uma linha por vez @@ -365,7 +373,7 @@ Diminuir o volume de outros áudios quando o TalkBack falar Rolar para frente ou para trás Aumentar ou diminuir o volume do Google Acessibilidade - Lê em voz alta o texto incorporado a uma imagem selecionada + Criar uma descrição automática para a imagem para baixo para baixo e para a direita Deslizar para cima @@ -408,9 +416,7 @@ Tocar duas vezes com dois dedos e manter pressionados Tocar duas vezes com três dedos e manter pressionados Tocar duas vezes com quatro dedos e manter pressionados - Tocar com três dedos e manter a tela pressionada Tocar três vezes com dois dedos e manter a tela pressionada - Tocar três vezes com três dedos e manter a tela pressionada \"%1$s\" ou \"%2$s\" para ajustar \"%1$s\" para ajustar Gesto desconhecido @@ -433,9 +439,8 @@ Quando a tela é ativada Quando a tela de bloqueio é exibida Somente a partir da notificação - Mantenha uma tecla pressionada para selecionar e depois toque duas vezes - Mantenha uma tecla de letra pressionada para selecionar e depois solte. Toque duas vezes para selecionar outras teclas. - Manter uma tecla pressionada para selecionar e depois levantar o dedo + Manter uma tecla pressionada para selecioná-la e depois tocar duas vezes + Manter uma tecla pressionada para selecioná-la e depois levantar o dedo Desativado Muito leve Leve @@ -485,6 +490,7 @@ Escolha um app para exportar marcadores: Esta versão do TalkBack inclui alterações nos gestos de acessibilidade padrão. As ações associadas a esses gestos podem ser personalizadas nas configurações do Talkback. Quando o recurso Explorar por toque estiver ativado, você pode usar os gestos a seguir para executar determinadas ações.\n\n%1$s Mantenha as teclas de aumentar e diminuir o volume pressionadas + Pressionar rapidamente os dois botões de volume três vezes para ocultar ou mostrar a tela Ocultar a tela? Essa ação desativa a tela, tornando-a invisível para outras pessoas em lugares públicos e aumentando a privacidade Esta versão do TalkBack inclui mudanças nos gestos de acessibilidade padrão.\n\nO gesto \"de cima para baixo\" moverá sua tela para o primeiro item, e o movimento \"de baixo para cima\" moverá sua tela para o último item.\n\nAgora, é possível mudar a granularidade de leitura, basta focar em um item e, então, selecionar uma granularidade no menu de contexto do TalkBack.\n\nVocê pode mudar as ações desses gestos nas Configurações do TalkBack. @@ -500,9 +506,6 @@ Você quer mesmo ativar a depuração da árvore de nós?\n\nA depuração da árvore de nós expõe o conteúdo de sua tela para os registros do dispositivo, que podem ser lidos por outros apps. Ativar estatísticas de desempenho? Você quer mesmo ativar as estatísticas de desempenho?\n\nElas podem consumir mais memória e energia. - Ativar o registro detalhado? - O registro detalhado pode ajudar na depuração, mas talvez ele faça com que suas informações pessoais sejam mostradas no buffer de registro do sistema.\n\n Você quer ativar o registro detalhado? - Sim, ativar o registro detalhado Permitir acesso ao telefone? Isso ajuda o TalkBack a reduzir os avisos durante uma chamada Continuar @@ -556,11 +559,9 @@ Volume do Google Acessibilidade Ajuste o controle deslizante Ajuste o valor - Ações Falar senhas Senhas sempre faladas Som e vibração - Som copiado, %1$s Fechar Fechar pesquisa @@ -595,15 +596,13 @@ %1$s para ler por %2$s Para usar essa função, acesse as configurações do TalkBack e adicione um gesto para \"%1$s\" Teclado em braille desativado. Acesse as config. do TalkBack, configure o teclado e tente novamente. - Sugestões disponíveis - Sugestões disponíveis. Para acessar, %1$s Página %1$d de %2$d Anterior Próxima Fechar Concluir Navegar para cima - Novos recursos no TalkBack + Novos recursos no TalkBack Fechar tutorial? Você pode acessar a qualquer momento nas configurações do TalkBack. Ficar no tutorial @@ -647,14 +646,6 @@ Toque para saber mais sobre como usar o TalkBack com mais velocidade usando novos gestos. A árvore de nós foi impressa nos registros. Veja os gestos realizados recentemente. Informe quais estão errados e qual é a ação esperada. - Você terá controles de volume simplificados, controles de ação mais rápidos e muito mais.\n\nVeja as principais atualizações e mudanças nas próximas telas. Isso leva cerca de cinco minutos.\n\nVocê pode revisar essas informações nas configurações do TalkBack a qualquer momento. - Mudanças no controle de volume - As teclas de volume não controlam mais os cursores de texto ou controles deslizantes.\n\nPara mudar a posição de um controle deslizante, deslize para cima ou para baixo.\n\nPara mudar a posição do cursor de texto, deslize para cima ou para baixo em uma caixa de texto. Isso também funciona em controles de leitura de teclados em braille. - Texto nas imagens - Você pode ver mais detalhes sobre o texto contido em imagens automaticamente ou sempre que precisar.\n\nPara imagens que não têm uma etiqueta: o TalkBack lê automaticamente o texto mostrado.\n\nPara todas as imagens: abra o menu do TalkBack e selecione \"Descrever texto na imagem\".\n\nAs imagens permanecem no seu dispositivo e nunca são enviadas ao Google. Isso significa que você pode usar esses recursos sem uma conexão de Internet. - Navegação por janelas - Você pode alternar entre diferentes seções na tela, como a barra de notificações, o conteúdo principal e o teclado.\n\nPara usar a navegação por janelas, deslize para baixo com quatro dedos. - Você pode alternar entre diferentes seções na tela, como a barra de notificações, o conteúdo principal e o teclado.\n\nPara usar a navegação por janelas, deslize para baixo e depois para cima. Continue até selecionar a navegação por janelas. Para navegar até a janela, deslize para baixo. Tutorial Conheça o TalkBack O TalkBack é um leitor de tela criado para situações ou pessoas com dificuldade para ver a tela. Ele oferece feedback falado para que você possa usar o dispositivo sem olhar para a tela.\n\nÉ possível ativar ou desativar o TalkBack pressionando ambas as teclas de volume por alguns segundos.\n\nQuando ele está ativado, o item em foco na tela é lido em voz alta.\n\nDeslizar para a direita passará ao item seguinte e para a esquerda ao anterior.\n\nAgora deslize para a direita para encontrar o botão \"Próxima\". @@ -697,14 +688,14 @@ Mova o dedo pelo teclado. Quando ouvir a letra que você quer digitar, levante o dedo.\n\nTente ativar a caixa de texto abaixo e digitar seu nome. Também é possível digitar com o teclado em braille. Ele pode ser encontrado nas configurações do TalkBack. Como mover o cursor - Ao ativar uma caixa de texto, você pode mover o cursor entre as letras deslizando para cima ou para baixo.\n\nFaça um teste na caixa de texto abaixo. + Quando você ativar uma caixa de texto, poderá mover o cursor entre as letras pressionando as teclas de aumentar ou diminuir o volume. \n\nTeste essa ação na caixa de texto abaixo. Conheça o TalkBack Como selecionar texto Em uma caixa de texto, mova o cursor para o começo do texto que você quer selecionar.\n\nToque duas vezes com dois dedos e mantenha a tela pressionada para entrar no modo de seleção. Depois, mova o cursor para o fim do texto. Toque duas vezes com dois dedos e mantenha a tela pressionada novamente para sair do modo de seleção.\n\nTente selecionar a palavra \"Conheça\" na caixa de texto abaixo. - Em uma caixa de texto, mova o cursor para o começo do texto que você quer selecionar.\n\nDeslize para baixo e depois para a direita de modo a abrir o menu do TalkBack. Toque duas vezes nas ações e inicie o modo de seleção. Mova o cursor para o fim da caixa de texto.\n\nAbra o menu do TalkBack novamente e toque duas vezes nas ações para encerrar o modo de seleção.\n\nTente selecionar a palavra \"Conheça\" na caixa de texto abaixo. + Em uma caixa de texto, mova o cursor para o começo do texto que você quer selecionar.\n\nDeslize para baixo e para a direita para abrir o menu do TalkBack. Toque duas vezes nas opções de edição e inicie o modo de seleção. Mova o cursor para o fim da caixa de texto.\n\nAbra o menu do TalkBack novamente e toque duas vezes nas opções de edição para encerrar o modo de seleção.\n\nTente selecionar a palavra \"Conheça\" na caixa de texto abaixo. Copiar, recortar e colar - Depois de selecionar o texto, toque duas vezes nas ações e depois em copiar.\n\nTente copiar uma palavra na caixa de texto abaixo. - Para recortar ou colar um texto, abra o menu do TalkBack e toque duas vezes nas ações.\n\nPara colar o texto, toque três vezes com três dedos.\n\nTente colar uma palavra na caixa de texto abaixo. + Após selecionar o texto, copie-o tocando duas vezes com três dedos.\n\nTente copiar uma palavra na caixa de texto abaixo. + Para recortar um texto, toque duas vezes com três dedos e mantenha a tela pressionada.\n\nPara colar o texto, toque três vezes com três dedos.\n\nTente colar uma palavra na caixa de texto abaixo. Após selecionar um texto, você pode copiá-lo no menu do TalkBack. Deslize para baixo e depois para a direita para abrir o menu do TalkBack. Toque duas vezes nas opções de edição e depois em copiar.\n\nTente copiar uma palavra na caixa de texto abaixo. Para recortar ou colar um texto, abra o menu do TalkBack e toque duas vezes nas opções de edição.\n\nTente copiar uma palavra na caixa de texto abaixo. Cole o texto aqui @@ -747,7 +738,6 @@ Deslize para a direita ou esquerda para alternar entre os itens Toque duas vezes para ativar um item Arraste dois dedos para rolar - Confira se o smartphone está conectado. Bordas espessas Cor Padrão @@ -759,12 +749,6 @@ Cinza Pesquisa encerrada Texto: %1$s - Descrever texto na imagem - Ícone detectado: %1$s - Não há suporte para a ação. - Nenhuma ação selecionada. - Selecione uma ação com suporte - Nenhuma ação. - A configuração de ações não está ativada. - Nenhum texto encontrado + Descrever a imagem + Ícone reconhecido: %1$s diff --git a/talkback/src/main/res/values-ro/strings.xml b/talkback/src/main/res/values-ro/strings.xml index 5b375b541..b80f2e02b 100644 --- a/talkback/src/main/res/values-ro/strings.xml +++ b/talkback/src/main/res/values-ro/strings.xml @@ -7,7 +7,6 @@ Setări pentru redarea vocală a textului Limbi Limba vorbită - Acțiuni Acțiuni asupra sistemului Versiunea %1$s Gestionați etichete personalizate @@ -31,37 +30,46 @@ Dispozitiv deblocat. Audio Volumul vorbirii - Se rostesc notificările cu ecran inactiv - Se rostește întotdeauna numărul de elemente din listă - Se rostește numărul tuturor metodelor de derulare + Vorbește când ecranul e inactiv + Notificările sunt rostite când ecranul este inactiv + Fără rostire când ecranul este dezactivat + Rostește numărul de elemente din listă afișate pe ecran + Rostește numai atunci când se derulează prin gesturi + Se rostește întotdeauna Acoperiți senzorul de proximitate pentru a opri mesajul vocal - Se rostesc literele cu exemple - Când selectați tastele de pe tastatură sau navigați pe caractere, veți auzi un exemplu cu fiecare literă, de exemplu, „h, hotel” - Se rostesc punctuația și simbolurile + Rostește fonetic literele + Literele nu se rostesc fonetic + Literele sunt rostite fonetic la apăsarea lungă pe tastele de pe tastatură și la navigarea după caracter + Punctuație + Punctuația și simbolurile nu sunt rostite + Punctuația și simbolurile sunt rostite Majuscule Nicio acțiune Rostiți „Majusculă” Modificați tonalitatea Redați sunetul Rostește sfaturi privind utilizarea - După ce descrieți conținutul, sugerați cum se folosește - Se rostesc informațiile din listă și grilă + Nu se rostesc sfaturi privind utilizarea la deplasarea focalizării pentru accesibilitate + După o scurtă întârziere, se rostesc sfaturi privind utilizarea în timpul navigării + Rostește informațiile din listă și grilă + Informațiile din liste și grile se rostesc + Informațiile din liste și grile nu se rostesc Resetați gesturile? Astfel, vor fi restabilite toate gesturile la acțiunile lor prestabilite.\n\nVeți pierde toate modificările aduse. Resetați Setările pentru gesturi au fost resetate. Rostește tipul de element - Pentru elementele focalizate + Tipul de element este rostit pentru articolele focalizate + Tipul de element nu este rostit pentru articolele focalizate Rostește codurile elementelor - Pentru butoanele neetichetate - Rostește ferestrele sistemului - Când treceți la alte ferestre de sistem, cum ar fi bara de stare, notificările sau comenzile de volum + ID-urile elementelor nu sunt rostite pentru butoanele neetichetate + ID-urile elementelor sunt rostite pentru butoanele neetichetate Explorați prin atingere Comenzi Atingeți o singură dată pentru a activa Atingeți o dată elementul focalizat pentru a-l activa Informații rostite - Se rostesc punctuația și simbolurile + Punctuație Personalizați indicatorul de focalizare Personalizați gesturile Etichete personalizate @@ -203,7 +211,8 @@ Folosește modificări de frecvență Rostirea tastelor Ordinea de descriere a elementelor - Rostește literele șterse pe un ton mai înalt + Textul șters de la tastatură se va rosti pe un ton mai înalt + Nu schimba înălțimea sunetului în rostire Tastatura Braille Feedback prin vibrații Feedback prin sunet @@ -211,6 +220,7 @@ Redu volumul audio al altor aplicații în timpul rostirii Volum feedback prin sunet Comanda rapidă pentru a suspenda sau a relua serviciul Talkback + Ascundeți comanda rapidă de pe ecran Setări pentru dezvoltatori Selectați evenimentele de înregistrat în jurnal Filtrați înregistrarea în jurnal a evenimentelor de accesibilitate @@ -256,7 +266,7 @@ Deschideți meniul TalkBack Întrerupeți feedbackul Întrerupeți sau reluați vorbirea - Activați sau dezactivați vorbirea + Activați sau dezactivați sunetul în TalkBack Citește de sus Citește de la elementul următor Printați arborele @@ -278,7 +288,6 @@ Comanda rapidă pentru ținerea apăsată a butonului de accesibilitate Mutați focalizarea de navigare înainte sau ajustați în jos comanda de lectură Mutați focalizarea de navigare înapoi sau ajustați în sus comanda de lectură - Activați acțiunea selectată Rezultatul căutării Redați sau întrerupeți conținutul media Toate aplicațiile @@ -323,7 +332,7 @@ Lectură Funcții speciale Altul - Arată când există acțiuni pentru elementul actual, inclusiv copierea, inserarea, selectarea și altele + Arată când există acțiuni personalizate pentru elementul actual Copiați, inserați, selectați și altele. Arată când selectați o casetă text. Deschideți linkurile dintr-un element focalizat Accesați pagina următoare sau anterioară. Arată când citiți conținut cu mai multe pagini. @@ -342,7 +351,6 @@ Deschideți setările redării vocale a textului Dezactivați feedbackul vocal TalkBack Nu se poate edita - Realizați acțiuni Citește câte un caracter Citește câte un cuvânt Citește câte un rând @@ -365,7 +373,7 @@ Reduceți volumul altor sunete redate în timp ce TalkBack vorbește Derulați înainte și înapoi Măriți sau micșorați volumul pentru Accesibilitate - Citiți cu voce tare textul încorporat într-o imagine selectată + Primiți o descriere automată a acestei imagini în jos jos-apoi-dreapta Glisați în sus @@ -408,9 +416,7 @@ Atingeți de două ori și țineți apăsat cu două degete Atingeți de două ori și țineți apăsat cu trei degete Atingeți de două ori și țineți apăsat cu patru degete - Atingeți lung cu trei degete Atingeți de trei ori și țineți apăsat cu două degete - Atingeți de trei ori și țineți apăsat cu trei degete „%1$s” sau „%2$s” pentru a ajusta „%1$s” pentru a ajusta Gest necunoscut @@ -433,9 +439,8 @@ La activarea ecranului Când este afișat ecranul de blocare Numai din notificări - Țineți apăsat pentru a selecta orice tastă, apoi atingeți de două ori - Țineți apăsat pentru a selecta o tastă cu literă, apoi ridicați degetul. Atingeți de două ori pentru alte taste. - Țineți apăsat pentru a selecta orice tastă, apoi ridicați degetul + Țineți apăsat pentru a selecta tasta, apoi atingeți de două ori + Țineți apăsat pentru a selecta tasta, apoi ridicați degetul Dezactivat Foarte ușor Ușor @@ -486,6 +491,7 @@ Alegeți aplicația pentru exportul etichetelor: Această versiune de TalkBack include modificări ale gesturilor de accesibilitate prestabilite. Acțiunile asociate acestor gesturi pot fi personalizate din setările TalkBack. Când funcția Explorați prin atingere este activată, puteți să utilizați următoarele gesturi pentru a efectua anumite acțiuni.\n\n%1$s Apăsați lung pe butoanele de creștere și de reducere a volumului + Apăsați ambele butoane de volum de trei ori rapid pentru a ascunde sau a afișa ecranul. Ascundeți ecranul? Astfel, ecranul se dezactivează ca să nu fie vizibil pentru ceilalți în locuri publice, pentru a vă spori confidențialitatea Această versiune a serviciului TalkBack include modificări ale gesturilor de accesibilitate prestabilite.\n\nCu gestul sus-apoi-jos ajungeți la primul element afișat pe ecran, iar cu gestul jos-apoi-sus ajungeți la ultimul element.\n\nPentru a schimba nivelul de detaliere a lecturii, acum puteți să selectați un element, apoi să alegeți un nivel de detaliere din meniul contextual TalkBack.\n\nPuteți modifica acțiunile realizate de aceste gesturi din Setările TalkBack. @@ -501,9 +507,6 @@ Sigur doriți să activați depanarea arborelui? \n\nDepanarea arborelui expune conținutul ecranului în jurnalele dispozitivului, care pot fi citite de alte aplicații. Activați Statisticile de performanță? Sigur doriți să activați statisticile de performanță?\n\nStatisticile de performanță pot consuma mai multă memorie și energie. - Permiteți înregistrarea detaliată? - Înregistrarea detaliată poate ajuta la remedierea erorilor, dar poate cauza afișarea informațiilor cu caracter personal în memoria temporară pentru înregistrări a sistemului.\n\n Doriți să activați înregistrarea detaliată? - Da, activează înregistrarea detaliată Permiteți accesul la telefon? Cu ajutorul acestei setări, TalkBack poate să reducă anunțurile când participați la un apel Continuați @@ -558,11 +561,9 @@ Volumul pentru Accesibilitate Ajustați glisorul Ajustați valoarea - Acțiuni Rostește parolele Parole rostite întotdeauna Sunet și vibrații - Sunet copiat, %1$s Închideți Închideți căutarea @@ -598,15 +599,13 @@ %1$s pentru a citi cu %2$s Pentru a folosi opțiunea, accesați setările TalkBack și adăugați un gest pentru „%1$s” Tastatura Braille nu e activată. Configurați tastatura Braille în setările TalkBack și reîncercați. - Sunt disponibile sugestii - Sunt disponibile sugestii. Pentru a le accesa, %1$s Pagina %1$d din %2$d Înapoi Înainte Închideți Finalizați Navigați în sus - Funcții noi în TalkBack + Funcții noi în TalkBack Închideți tutorialul? Puteți reveni aici oricând din setările TalkBack. Rămâneți în tutorial @@ -650,14 +649,6 @@ Atingeți ca să aflați cum să folosiți TalkBack mai repede cu noile gesturi. Arborele a fost înregistrat în jurnale. Acestea sunt gesturile făcute recent. Raportați gesturile incorecte și ce se așteaptă. - Veți beneficia de comenzi de volum simplificate, comenzi pentru acțiuni mai rapide și altele.\n\nDin următoarele câteva ecrane veți afla despre principalele actualizări și modificări. Procesul va dura aproximativ 5 minute.\n\nPuteți consulta informațiile oricând în setările TalkBack. - Modificări ale comenzilor de volum - Pentru a îmbunătăți controlul volumului, butoanele de volum nu mai controlează cursoarele de text sau glisoarele.\n\nPentru a schimba poziția unui glisor, glisați în sus sau în jos.\n\nPentru a schimba poziția cursorului de text, glisați în sus sau în jos într-o casetă de text. Acțiunile sunt valabile și în cazul comenzilor pentru citirea tastaturii Braille. - Textul din imagini - Puteți afișa mai multe detalii despre textul din imagini automat sau când este nevoie.\n\nPentru imaginile fără etichetă: TalkBack va citi automat textul care apare.\n\nPentru toate imaginile: deschideți meniul TalkBack și selectați Descrie textul din imagine.\n\nImaginile rămân pe dispozitiv și nu sunt trimise niciodată la Google. Astfel, puteți folosi ambele funcții fără conexiune la internet. - Navigarea între ferestre - Puteți să comutați între diferite secțiuni ale ecranului, cum ar fi bara de notificare, conținutul principal și tastatura.\n\nPentru a folosi navigarea între ferestre, glisați în jos cu patru degete. - Puteți să comutați între diferite secțiuni ale ecranului, cum ar fi bara de notificare, conținutul principal și tastatura.\n\nPentru a folosi navigarea între ferestre, glisați în jos, apoi în sus. Continuați până când ați selectat navigarea între ferestre. Pentru a naviga la fereastra dorită, glisați în jos. Tutorial Bun venit la TalkBack TalkBack este un cititor de ecran destinat situațiilor sau utilizatorilor cu dificultăți în a vedea ecranul. Acesta oferă feedback rostit, astfel încât să puteți folosi dispozitivul fără să priviți ecranul.\n\nPuteți activa sau dezactiva TalkBack apăsând ambele butoane de volum timp de câteva secunde.\n\nCând TalkBack este activat, elementul focalizat de pe ecran este rostit cu voce tare.\n\nDacă glisați spre dreapta veți trece la următorul element, iar dacă glisați spre stânga veți trece la elementul anterior.\n\nGlisați acum spre dreapta pentru a găsi butonul Înainte. @@ -700,14 +691,14 @@ Deplasați degetul pe tastatură. Când auziți litera pe care vreți să o introduceți, ridicați degetul.\n\nÎncercați să activați caseta text de mai jos și să vă scrieți numele. Puteți introduce text și de la tastatura Braille. O găsiți în setările TalkBack. Deplasarea cursorului - După ce activați o casetă text, puteți deplasa cursorul între litere glisând în sus sau în jos.\n\nÎncercați în caseta de text de mai jos. + După ce activați o casetă text, puteți deplasa cursorul între litere apăsând tastele de creștere sau reducere a volumului.\n\nÎncercați în caseta de text de mai jos. Bun venit la TalkBack Selectarea textului Într-o casetă de text, mutați cursorul la începutul textului pe care vreți să îl selectați.\n\nAtingeți de două ori și țineți apăsat cu două degete pentru a intra în modul de selectare. Apoi mutați cursorul la sfârșitul textului. Atingeți de două ori și țineți apăsat cu două degete din nou pentru a ieși din modul de selectare.\n\nÎncercați să selectați cuvintele „Bun venit” în caseta de text de mai jos. - Într-o casetă text, mutați cursorul la începutul textului pe care vreți să îl selectați.\n\nGlisați în jos, apoi la dreapta pentru a deschide meniul TalkBack. Atingeți de două ori acțiunile și intrați în modul de selectare. Mutați cursorul la sfârșitul textului.\n\nDeschideți din nou meniul TalkBack, apoi atingeți de două ori acțiunile pentru a ieși din modul de selectare.\n\nÎncercați să selectați cuvintele Bun venit în caseta text de mai jos. + Într-o casetă de text, mutați cursorul la începutul textului pe care vreți să îl selectați.\n\nGlisați în jos, apoi la dreapta pentru a deschide meniul TalkBack. Atingeți de două ori opțiunile de editare și intrați în modul de selectare. Mutați cursorul la sfârșitul textului.\n\nDeschideți din nou meniul TalkBack, apoi atingeți de două ori opțiunile de editare pentru a ieși din modul de selectare.\n\nÎncercați să selectați cuvintele „Bun venit” în caseta de text de mai jos. Copierea, decuparea și inserarea - După ce selectați textul, atingeți de două ori acțiunile și copiați.\n\nÎncercați să copiați un cuvânt în caseta text de mai jos. - Ca să decupați sau să inserați un text, deschideți meniul TalkBack și atingeți de două ori acțiunile.\n\nPentru a insera textul, atingeți de trei ori cu trei degete.\n\nÎncercați să inserați un cuvânt în caseta text de mai jos. + După ce selectați un text, copiați-l atingând de două ori cu 3 degete.\n\nÎncercați să copiați un cuvânt din caseta de text de mai jos. + Pentru a decupa un text, atingeți-l de două ori și țineți apăsat cu 3 degete.\n\nPentru a insera un text, atingeți de trei ori cu 3 degete.\n\nÎncercați să inserați un cuvânt în caseta text de mai jos. După ce selectați un text, îl puteți copia în meniul TalkBack. Glisați în jos și la dreapta pentru a deschide meniul TalkBack. Atingeți de două ori opțiunile de editare și copiați.\n\nÎncercați să copiați un cuvânt în caseta text de mai jos. Ca să decupați sau să inserați un text, deschideți meniul TalkBack și atingeți de două ori opțiunile de editare.\n\nÎncercați să inserați un cuvânt în caseta text de mai jos. Inserați text aici @@ -750,7 +741,6 @@ Glisați spre dreapta sau spre stânga pentru a trece de la un element la altul Atingeți de două ori pentru a activa un element Trageți cu două degete pentru a derula - Verificați dacă telefonul este conectat. Chenare groase Culoare Standard @@ -762,12 +752,6 @@ Gri Sondaj încheiat Text: %1$s - Descrieți textul din imagine - Pictogramă detectată: %1$s - Acțiunea nu este acceptată. - Nicio acțiune selectată. - Selectați o acțiune acceptată. - Nicio acțiune. - Setarea pentru acțiuni nu este activată. - Nu s-a găsit text + Descrie imaginea + Pictogramă estimată: %1$s diff --git a/talkback/src/main/res/values-ru/strings.xml b/talkback/src/main/res/values-ru/strings.xml index 9459aa260..55559005b 100644 --- a/talkback/src/main/res/values-ru/strings.xml +++ b/talkback/src/main/res/values-ru/strings.xml @@ -7,7 +7,6 @@ Настройки озвучивания текста Языки Язык озвучивания - Действия Действия в системе Версия %1$s Управление персональными ярлыками @@ -31,37 +30,46 @@ Устройство разблокировано. Аудио Громкость речи - Озвучивать уведомления при отключенном экране - Озвучивать количество элементов списка - Озвучивать число для всех методов прокрутки + При отключенном экране + Озвучивать уведомления даже при отключенном экране + Не озвучивать при отключенном экране + Озвучивать количество элементов списка на экране + Озвучивать только при прокрутке экрана с помощью жестов + Озвучивать всегда Останавливать озвучивание, когда прикрыт датчик расстояния - Озвучивать буквы с примерами - При выборе клавиши на клавиатуре или переходе к символу приводится пример для каждой буквы (\"А, Анна\") - Озвучивать знаки пунктуации и символы + Озвучивать фонетические символы + Фонетические символы не озвучиваются + Фонетические символы озвучиваются при долгом нажатии клавиши и перемещении курсора по символам + Знаки пунктуации + Знаки пунктуации и символы не будут озвучены + Знаки пунктуации и символы будут озвучены Заглавные буквы Ничего не делать Называть заглавную букву Изменять тон Воспроизводить звуковой сигнал Озвучивать текст - После описания контента появляются рекомендации по его использованию - Озвучивать информацию о списках и сетках + Подсказки не озвучиваются при смене выбранного элемента + Подсказки озвучиваются при навигации после небольшой задержки + Озвучивать инф. о списках и сетках + Информация о позиции в списках и сетках озвучивается + Информация о позиции в списках и сетках не озвучивается Сбросить жесты? Для всех жестов будут установлены действия по умолчанию.\n\nВнесенные вами изменения будут отменены. Сбросить Настройки жестов сброшены. Озвучивать тип элемента - Для выбранных элементов + Тип выбранных элементов озвучивается + Тип выбранных элементов не озвучивается Озвучивать идентификаторы элементов - Для кнопок без названия - Озвучивать названия системных окон - При переключении на другие системные окна, например строку состояния, панель уведомлений или кнопки регулировки громкости + Идентификаторы кнопок без надписей не озвучиваются + Идентификаторы кнопок без надписей озвучиваются Изучение касанием Управление Активировать одним нажатием Активировать выбранные элементы одним нажатием Детализация - Озвучивать знаки пунктуации и символы + Знаки пунктуации Настроить индикатор перехода Настроить жесты Персональные ярлыки @@ -84,7 +92,7 @@ Политика конфиденциальности Жесты для сканера отпечатков пальцев Справочные и обучающие материалы - Клавиатура и ввод + Ввод текста и клавиатура Расширенные настройки Сбросить настройки жестов Один палец @@ -203,7 +211,8 @@ Изменять тон при озвучивании Озвучивать нажимаемые клавиши Порядок описания элементов - Повышать тон, когда озвучивается удаление букв + Повышать тон, когда озвучивается удаление текста с помощью клавиатуры + Не изменять тон голоса Клавиатура Брайля Виброотклик Звуковой отклик @@ -211,6 +220,7 @@ Уменьшать громкость звука других приложений во время работы TalkBack Громкость звук. отклика Вкл. и откл. TalkBack одним нажатием + Выключать подсветку экрана сочетанием клавиш Для разработчиков Выбор событий для журнала Фильтрация событий для журнала @@ -223,7 +233,7 @@ Передавать статистику производ-ти Показывать журнал отладки поверх других окон Возобновить работу - Подтверждение ввода + Предпочтительный способ подтверждения ввода Подсветка экрана отключена Подсветка экрана включена Сервис специальных возможностей TalkBack отключил подсветку экрана. @@ -256,7 +266,7 @@ Открыть меню TalkBack Приостановить озвучивание Приостановить или возобновить озвучивание - Включить или отключить озвучивание + Включить или отключить звук в TalkBack Читать с начала Читать со следующего элемента Записать дерево узлов @@ -278,7 +288,6 @@ Удерживать кнопку быстрого включения Переход к следующему объекту или значению параметра чтения Переход к предыдущему объекту или значению параметра чтения - Активировать выбранное действие Результаты поиска Начать или приостановить воспроизведение Все приложения @@ -323,8 +332,8 @@ Чтение Особые функции Другое - Показывает, что можно сделать с элементом (например, копировать, вставить или выбрать) - Копирование, вставка, выделение и другие действия. Доступно при выборе текстового поля. + Доступно, если текущий объект поддерживает специальные действия + Копирование, вставка, выбор и другие действия. Доступно при выборе текстового поля. Открытие ссылок, содержащихся в выбранном объекте Переход на следующую или предыдущую страницу. Доступно при наличии нескольких страниц. Доступно при выборе объекта без ярлыка @@ -342,7 +351,6 @@ Переход к настройкам озвучивания текста Отключение озвучивания в TalkBack Недоступно для редактирования - Выполнение действий Озвучивание по символу Озвучивание по слову Озвучивание по строке @@ -365,7 +373,7 @@ Уменьшение громкости других звуков при озвучивании с помощью TalkBack Прокрутка вперед или назад Регулировка громкости подсказок - Прочитать вслух текст на выбранном изображении + Получить автоматическое описание для этого изображения вниз вниз, затем вправо Вверх @@ -408,9 +416,7 @@ Двойное нажатие и удерживание двумя пальцами Двойное нажатие и удерживание тремя пальцами Двойное нажатие и удерживание четырьмя пальцами - Нажать и удерживать тремя пальцами Тройное нажатие и удерживание двумя пальцами - Тройное нажатие и удерживание тремя пальцами Чтобы пролистнуть страницу, нажмите \"%1$s\" или \"%2$s\" Чтобы пролистнуть страницу, нажмите \"%1$s\" Неизвестный жест @@ -433,9 +439,8 @@ При включении экрана На заблокированном экране Только из панели уведомлений - Удерживать любую клавишу и нажать ее дважды - Удерживать клавишу с буквой и отпустить ее. Использовать двойное нажатие для других клавиш. - Удерживать любую клавишу и отпустить ее + Удерживать клавишу и нажать ее дважды + Удерживать клавишу и отпустить ее Отключено Слегка Слабо @@ -487,6 +492,7 @@ Выберите приложение для экспорта ярлыков: В этой версии TalkBack изменены жесты по умолчанию. Назначить действия для них можно в настройках. Ниже перечислены жесты, которые вы можете использовать, если включено Изучение касанием.\n\n%1$s Нажмите и не отпускайте обе кнопки регулировки громкости + Чтобы включить или отключить экран, три раза быстро нажмите обе кнопки регулировки громкости Отключить экран? Экран будет отключен. Окружающим не будет видно, что на нем изображено. В этой версии TalkBack мы изменили жесты по умолчанию.\n\nЧтобы перейти к первому объекту на экране, проведите пальцем вверх, а затем вниз. Для перехода к последнему объекту проведите вниз, а затем вверх.\n\nЧтобы изменить уровень детализации чтения, выберите объект, а затем в контекстном меню – степень детализации.\n\nВы можете назначить жестам другие действия в настройках TalkBack. @@ -502,9 +508,6 @@ Вы действительно хотите включить отладку дерева узлов?\n\nВ этом случае содержимое экрана может сохраняться в журналах устройства, доступных другим приложениям. Передавать статистику производительности в LogCat? Эта функция может расходовать\n\nпамять устройства и заряд батареи. - Включить ведение подробных журналов? - Ведение подробных журналов может помочь в отладке, однако есть вероятность, что личные данные появятся в буфере системного журнала.\n\nВключить ведение подробных журналов? - Да, включить Разрешить доступ к телефону? Это позволит TalkBack отключать некоторые подсказки во время звонка. Продолжить @@ -560,11 +563,9 @@ Громкость подсказок Отрегулировать ползунок Изменить значение - Действия Озвучивание паролей Пароли озвучиваются всегда Звуки и вибрация - Звук Скопирован текст \"%1$s\" Закрыть Скрыть окно поиска @@ -601,15 +602,13 @@ %1$s для чтения по %2$s Откройте настройки TalkBack и выберите жест для следующего действия: %1$s Клавиатура Брайля не включена. Настройте ее в настройках TalkBack и повторите попытку. - Доступны подсказки - Доступны подсказки. Чтобы открыть их, %1$s. Страница %1$d из %2$d Назад Далее Закрыть Закрыть Наверх - Новые функции в TalkBack + Новые функции в TalkBack Закрыть руководство? Вы можете в любое время посмотреть эту информацию в настройках TalkBack. Не выходить @@ -653,14 +652,6 @@ Коснитесь экрана, чтобы узнать о новых жестах в TalkBack. Дерево узлов записано в журналы. Вот жесты, которые использовались недавно. Сообщите нам, с каким из них возникла проблема и какую команду он должен обозначать. - Регулировка громкости стала проще, а навигация по интерфейсу быстрее, и это ещё не всё.\n\nНа следующих страницах приведена более подробная информация об основных обновлениях. Ее изучение займет у вас около пяти минут.\n\nКроме того, вы всегда сможете найти эти сведения в настройках TalkBack. - Изменения в регулировке громкости - Управлять громкостью станет удобнее: кнопки регулировки громкости больше не используются, чтобы перемещать курсор по тексту или ползунки (теперь это делается с помощью жестов).\n\nЧтобы переместить ползунок, проведите вверх или вниз по экрану.\n\nЧтобы переместить курсор, проведите вверх или вниз в текстовом поле. Вы можете использовать эти новые жесты и для клавиатуры Брайля. - Текст на изображениях - Теперь TalkBack может озвучивать текст на изображениях.\n\nЭто происходит автоматически для изображений, у которых нет метки.\n\nДля всех изображений: откройте меню TalkBack и выберите \"Озвучить текст с изображения\".\n\nФункция работает без подключения к интернету, так как изображения не отправляются в Google. - Навигация по окнам - Вы можете переключаться между различными частями экрана, например панелью уведомлений, основным окном и клавиатурой.\n\nЧтобы включить режим навигации по окнам, проведите вниз по экрану четырьмя пальцами. - Вы можете переключаться между различными частями экрана, например панелью уведомлений, основным окном и клавиатурой.\n\nЧтобы включить новый режим, проведите вниз, а затем вверх, не отрывая палец от экрана. Повторяйте жест, пока не будет выбран режим навигации по окнам. Чтобы перейти к нужному окну, проведите вниз. Руководство Представляем TalkBack TalkBack – это программа чтения с экрана, которая предназначена для людей с нарушениями зрения. Она может пригодиться и всем остальным, поскольку дает возможность пользоваться устройством, когда информацию на экране трудно рассмотреть.\n\nЧтобы включить или отключить TalkBack, удерживайте обе кнопки громкости в течение нескольких секунд.\n\nКогда программа включена, она озвучивает элементы интерфейса, которые вы выбираете.\n\nЧтобы перейти к следующему элементу, проведите по экрану вправо, а чтобы вернуться к предыдущему – влево.\n\nЧтобы выбрать кнопку \"Далее\", проведите по экрану вправо. @@ -703,14 +694,14 @@ Двигайте пальцем по клавиатуре, пока не услышите нужную букву. Чтобы ввести ее, отпустите палец.\n\nПопробуйте активировать текстовое поле внизу и напечатать свое имя. Вы также можете вводить текст с помощью клавиатуры Брайля. Чтобы включить ее, перейдите в настройки TalkBack. Перемещение курсора - Чтобы перемещать курсор между буквами в активном текстовом поле, проводите вверх и вниз по экрану.\n\nПотренируйтесь в поле внизу. + Для перемещения курсора между буквами в активном текстовом поле используйте кнопки увеличения и уменьшения громкости.\n\nПотренируйтесь в поле внизу. Представляем TalkBack Выделение текста Чтобы выделить текст в текстовом поле, переместите курсор в начало нужного слова или фразы.\n\nДважды нажмите двумя пальцами и удерживайте, а затем переместите курсор в конец нужного текста. Чтобы завершить выделение, снова дважды нажмите двумя пальцами и удерживайте.\n\nПопробуйте выделить слово \"Представляем\" в текстовом поле ниже. - Чтобы выделить текст в поле, переместите курсор в начало нужного слова или фразы.\n\nПроведите по экрану вниз, а затем вправо, чтобы открыть меню TalkBack. Дважды нажмите \"Действия\" и включите режим выделения. Переместите курсор в конец нужного текста.\n\nСнова откройте меню TalkBack и дважды нажмите \"Действия\", чтобы выйти из режима выделения.\n\nПопробуйте выделить слово \"Представляем\" в текстовом поле ниже. + Чтобы выделить текст в текстовом поле, переместите курсор в начало нужного слова или фразы.\n\nПроведите по экрану вниз, а затем вправо, чтобы открыть меню TalkBack. Дважды нажмите \"Средства редактирования\" и включите режим выделения. Переместите курсор в конец нужного текста.\n\nСнова откройте меню TalkBack и дважды нажмите \"Средства редактирования\", чтобы выйти из режима выделения.\n\nПопробуйте выделить слово \"Представляем\" в текстовом поле ниже. Как копировать, вырезать и вставлять текст - Выделив текст, дважды нажмите \"Действия\" и выберите \"Копировать\".\n\nПопробуйте скопировать слово в текстовом поле внизу. - Чтобы вырезать или вставить текст, откройте меню TalkBack и дважды нажмите \"Действия\".\n\nЧтобы вставить текст, трижды коснитесь экрана тремя пальцами.\n\nПопробуйте вставить слово в текстовое поле внизу. + Чтобы скопировать выделенный текст, дважды нажмите тремя пальцами.\n\nПопробуйте скопировать слово в текстовом поле внизу. + Чтобы вырезать текст, дважды нажмите тремя пальцами и удерживайте.\n\nЧтобы вставить текст, трижды нажмите тремя пальцами.\n\nПопробуйте вставить слово в текстовое поле внизу. Выделенный текст можно скопировать с помощью меню TalkBack. Чтобы его открыть, проведите по экрану вниз, затем вправо. Дважды нажмите \"Средства редактирования\", а затем \"Копировать\".\n\nПопробуйте скопировать слово в текстовом поле внизу. Чтобы вырезать или вставить текст, откройте меню TalkBack и дважды нажмите \"Средства редактирования\".\n\nПопробуйте вставить слово в текстовое поле внизу. Вставьте текст @@ -753,7 +744,6 @@ Чтобы перейти от одного объекта к другому, проведите по экрану вправо или влево. Чтобы активировать объект, нажмите на него дважды. Чтобы прокрутить экран, проведите по нему двумя пальцами. - Убедитесь, что телефон подключен. Толстые границы Цвет По умолчанию @@ -765,12 +755,6 @@ Серый Опрос закрыт Текст: %1$s - Озвучить текст с изображения - Обнаружен значок: %1$s - Действие не поддерживается. - Действия не выбраны. - Выберите поддерживаемое действие. - Нет действий. - Настройки действий не включены. - Текст не найден + Описать изображение + Предполагаемый значок: %1$s diff --git a/talkback/src/main/res/values-si/strings.xml b/talkback/src/main/res/values-si/strings.xml index 526d68dd6..876998500 100644 --- a/talkback/src/main/res/values-si/strings.xml +++ b/talkback/src/main/res/values-si/strings.xml @@ -7,7 +7,6 @@ පෙළ-සිට-කථනයට සැකසීම් භාෂා කථන භාෂාව - ක්‍රියා පද්ධති ක්‍රියා අනුවාදය %1$s අභිරුචි ලේබල් කළමනාකරණය කරන්න @@ -31,37 +30,46 @@ උපාංගය අගුළු හරින ලදී. ඕඩියෝ කථන ශබ්ද තීව්‍රතාවය - තිරය අක්‍රිය විට දැනුම්දීම් කියන්න - සැම විට ලැයිස්තු අයිතම ගණන කියන්න - සියලු අනුචලනය කිරීමේ ක්‍රම සඳහා ගණන කියන්න + තිරය අක්‍රිය විට කථා කරන්න + තිරය අක්‍රිය විට දැනුම්දීම් කථනය වේ + තිරය අක්‍රිය විට කථනය සිදු නොවේ + තිරය මත ඇති ලැයිස්තුවේ අයිතම ගණන කියන්න + ඉංගිතය සමඟ අනුචලනය කරන විට පමණක් කතා කරන්න + සැමවිට කතා කරයි කථනය නැවැත්වීමට ආසන්නතා සංවේදකය ආවරණය කරන්න - උදාහරණ සහිතව අකුරු කියන්න - ඔබ යතුරු පුවරු යතුරු තෝරන විට හෝ අනුලකුණ අනුව සංචාලනය කරන විට, ඔබට \"හ, හෝටලය\" වැනි එක් එක් අකුර සමඟ උදාහරණයක් ඇසෙනු ඇත. - විරාම ලකුණු සහ සංකේත කියන්න + ශබ්දිම අකුරු කථා කරන්න + ශබ්දිම අකුරු කථනය නොකරයි + යතුරු පුවරුවෙහි යතුරු දිගු එබීම සහ අනුලකුණ අනුව සංචාලනය කරන විට ශබ්දිම අකුරු කථනය කරයි + විරාම ලකුණු + විරාම ලකුණු සහ සංකේත කථනය නොකෙරේ + විරාම ලකුණු සහ සංකේත කථනය කෙරේ කැපිටල් අකුරු කිසිවක් නොකරන්න “කැපිටල්” යැයි කියන්න තාරතාව වෙනස් කරන්න ශබ්දය වාදනය කරන්න භාවිත ඉඟි කථා කරන්න - අන්තර්ගතය විස්තර කිරීමෙන් පසු, භාවිත කරන ආකාරය යෝජනා කරන්න - ලැයිස්තුව සහ ජාලක තොරතුරු කියන්න + ප්‍රවේශ්‍යතා නාභිගත කිරීම අතරතුර භාවිත ඉඟි කථනය කරයි + කෙටි පමාවකින් පසුව සංචාලනය අතරතුර භාවිත ඉඟි කථනය කරයි + කථන ලැයිස්තුව සහ ජාලක තොරතුරු + ලැයිස්තු සහ ජාලක තොරතුරු කථනය කරයි + ලැයිස්තු සහ ජාලක තොරතුරු කථනය නොකරයි ඉංගිත යළි සකසන්නද? මෙය සියලු ඉංගිත ඒවායෙහි පෙරනිමි ක්‍රියා වෙත යළි සකසනු ඇත.\n\nඔබට ඔබ සිදු කළ කිනම් හෝ වෙනස් කිරීම් අහිමි වනු ඇත. යළි සකසන්න ඉංගිත සැකසීම් යළි සකසා ඇත. කථන මූලාංග වර්ගය - නාභිගත කළ අයිතම සඳහා + නාභිගත අයිතම සඳහා මූලාංග වර්ගය කථනය කරයි + නාභිගත අයිතම සඳහා මූලාංග වර්ගය කථනය නොකරයි කථන මූලාංග ID - ලේබල් නොකළ බොත්තම් සඳහා - කථන පද්ධති කවුළු - ඔබ තත්ත්ව තීරුව, දැනුම්දීම්, හෝ හඬ පාලන වැනි වෙනත් පද්ධති කවුළු වෙත මාරු වන විට + ලේබල් නොකළ බොත්තම් සඳහා මූලාංග ID කථනය නොකෙරේ + ලේබල් නොකළ බොත්තම් සඳහා මූලාංග ID කථනය කෙරේ ස්පර්ශය මගින් ගවේෂණය කරන්න පාලන සක්‍රිය කිරීමට එක් වරක් තට්ටු කරන්න සක්‍රිය කිරීමට නාභිගත අයිතමයක් මත එක් වරක් තට්ටු කරන්න වාචිකතාව - විරාම ලකුණු සහ සංකේත කියන්න + විරාම ලකුණු නාභිගත කිරීමේ දර්ශකය අභිරුචිකරණය කරන්න ඉංගිත අභිරුචි කරන්න අභිරුචි ලේබල @@ -203,7 +211,8 @@ තාරතා වෙනස්වීම් භාවිතා කරන්න යතුරුපුවරු දෝංකාරය මූලාංග විස්තර අනුපිළිවෙළ - මකන ලද අකුරු ඉහළ තාරතාවක කටහඬකින් කියන්න + ඉහළ තාරතාවක කටහඬකින් ඇති පෙළ කථන යතුරු පුවරුව විසින් මකන ලදි + කථා කරන විට හඬ තාරතාව වෙනස් නොකරන්න බ්රේල් යතුරු පුවරුව කම්පන ප්‍රතිපෝෂණ හඬ ප්‍රතිපෝෂණ @@ -211,6 +220,7 @@ කථා කරන අතරතුර වෙනත් ශ්‍රව්‍ය හඬ තීව්‍රතා අඩු කරන්න හඬ ප්‍රතිපෝෂණ පරිමාව Talkback අත්හිටුවීමේ සහ නැවත පටන් ගැනීමේ කෙටි මඟ + තිර කෙටි මග සඟවන්න වර්ධක සැකසීම් ඇතුළු කිරීමට සිදුවීම් තේරීම ප්‍රවේශ්‍යතා සිදුවීම් ඇතුළු කිරීම පෙරහන් කිරීම @@ -256,7 +266,7 @@ TalkBack මෙනුව විවෘත කරන්න ප්‍රතිපෝෂණ විරාම කරන්න කථනය විරාම කරන්න හෝ නැවත පටන් ගන්න - කථනය ක්‍රියාත්මක හෝ ක්‍රියාවිරහිත කරන්න + TalkBack ශබ්ද ක්‍රියාත්මක හෝ ක්‍රියාවිරහිත කරන්න මුදුනෙහි සිට කියවන්න ඊළග අයිතමයෙහි සිට කියවන්න නෝඩු රුක මුද්‍රණය කරන්න @@ -278,7 +288,6 @@ ප්‍රවේශ්‍යතා කෙටි මඟ අල්ලාගෙන සිටින්න සංචාලන නාභිගත කිරීම ඉදිරියට ගෙන යන්න හෝ කියවීමේ පාලනය පහළට සීරුමාරු කරන්න සංචාලන අවධානය පසුපසට ගෙන යන්න හෝ කියවීම් පාලනය ඉහළට සීරුමාරු කරන්න - දැනට තෝරා ගත් ක්‍රියාව සක්‍රිය කරන්න සෙවුම් ප්‍රතිඵලය මාධ්‍ය වාදනය කරන්න නැතහොත් විරාම කරන්න සියලු යෙදුම් @@ -323,7 +332,7 @@ කියවීම විශේෂ විශේෂාංග වෙනත් - පිටපත් කිරීම, ඇලවීම, තේරීම සහ තවත් දේ ඇතුළුව වත්මන් අයිතමය සඳහා ක්‍රියා පවතින විට පෙන්වයි + වත්මන් අයිතමය සඳහා අභිරුචි ක්‍රියා පවතින විට පෙන්වයි පිටපත් කරන්න, අලවන්න, තෝරන්න සහ තවත් දේ. ඔබ පෙළ කොටුවක් තෝරා ගත් විට පෙන්වයි. නාභිගත කළ අයිතමයක් තුළ සබැඳි විවෘත කරයි ඊළඟ හෝ පෙර පිටුවට යන්න. ඔබ පිටු කිහිපයකින් යුතු අන්තර්ගතය කියවන විට පෙන්වයි. @@ -342,7 +351,6 @@ පෙළ-සිට-කථනයට සැකසීම් විවෘත කරන්න TalkBack හඬ ප්‍රතිපෝෂණය ක්‍රියාවිරහිත කරන්න සංස්කරණය කළ නොහැකිය - ක්‍රියා සිදු කරන්න වරකට එක් අනුලකුණක් කියවන්න වරකට එක් වචනයක් කියවන්න වරකට එක් පේළියක් කියවන්න @@ -365,7 +373,7 @@ TalkBack කථා කරන විට වාදනය වන වෙනත් ඕඩියෝවල හඬ පරිමාව අඩු කරන්න ඉදිරියට හෝ ආපස්සට අනුචලනය කරන්න ප්‍රවේශ්‍යතා හඬ පරිමාව වැඩි හෝ අඩු කරන්න - තෝරා ගත් රූපයක කාවැද්දූ පෙළ කියවන්න + මෙම රූපය සඳහා ස්වයංක්‍රිය විස්තරයක් ලබා ගන්න පහළ පහලට ගොස් දකුණට ඉහළට ස්වයිප් කරන්න @@ -408,9 +416,7 @@ ඇඟිලි 2කින් දෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න ඇඟිලි 3කින් දෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න ඇඟිලි 4කින් දෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න - ඇඟිලි 3කින් දෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න ඇඟිලි 2කින් තෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න - ඇඟිලි 3කින් තෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න සීරුමාරු කිරීමට \"%1$s\" හෝ %2$s\" සීරුමාරු කිරීමට \"%1$s\" නොදන්නා ඉංගිතයකි @@ -433,9 +439,8 @@ තිරය ක්‍රියාත්මක කළ විටදී අගුළු තිරය දැක්වුණ විටදී දැනුම්දීම් වෙතින් පමණි - ඕනෑම යතුරක් තේරීමට ඇඟිල්ල අල්ලාගෙන, අනතුරුව දෙවරක් තට්ටු කරන්න - ඕනෑම අකුරක් තේරීමට ඇඟිල්ල අල්ලාගෙන, අනතුරුව ඔසවන්න. අනෙක් යතුරු සඳහා දෙවරක් තට්ටු කරන්න. - ඕනෑම යතුරක් තේරීමට ඇඟිල්ල අල්ලාගෙන, පසුව ඔසවන්න + යතුර තේරීමට ඇඟිල්ල අල්ලාගෙන, අනතුරුව දෙවරක් තට්ටු කරන්න + යතුර තේරීමට ඇඟිල්ල අල්ලාගෙන, පසුව ඔසවන්න අබලයි ඉතා සැහැල්ලු එළිය @@ -485,6 +490,7 @@ ලේබල නිර්යාත කිරීමට යෙදුම තෝරන්න: මෙම අනුවාදයේ TalkBack පෙරනිමි ප්‍රවේශ්‍යතා ඉංගිතයන් වෙත කළ වෙනස්කම් අඩංගුවේ. මෙම ඉංගිතයන් හා ආශ්‍රිත ක්‍රියා TalkBack සැකසීම් තුළ අභිමතකරණය කළ හැක. ස්පර්ශය මගින් ගවේෂණය කරන්න සබල විට, ඔබට නිශ්චිත ක්‍රියා සිදු කිරීමට පහත ඉංගිතයන් භාවිතා කළ හැක.\n\n%1$s හඬ වැඩි කිරීමේ සහ අඩු කිරීමේ යතුරු දිගටම එබීම + තිරය සැඟවීමට හෝ පෙන්වීමට හඬ පරිමා යතුරු දෙකම ඉක්මනින් තුන්වරක් ඔබන්න තිරය සඟවන්නද? මෙය රහස්‍යතාව වැඩිදියුණු කිරීමට සංදර්ශකය ක්‍රියාවිරහිත කරන නිසා පොදු ස්ථානවල සිටින විට ඔබේ තිරය වෙනත් අයට දෘශ්‍යමාන නොවේ TalkBack හි මෙම අනුවාදයේ පෙරනිමි ප්‍රවේශ්‍යතා ඉංගිතවලට කළ වෙනස් කිරීම් අඩංගුය.\n\nඔබට තිරයේ පළමු අයිතමය වෙත යාමට ඉහළ-අනතුරුව-පහළ ඉංගිතය ඉඩ දෙන අතර පහළ-අනතුරුව-ඉහළ ඉංගිතය අවසාන අයිතමය වෙත යාමට ඉඩ දෙනු ඇත.\n\nඅයිතමය වෙතට අවධානය යොමු කර, අනතුරුව TalkBack ප්‍රකරණ මෙනුවෙන් කොටසක් තේරීමෙන් කියවීම් කොටස දැන් වෙනස් කළ හැකිය.\n\nTalkBack සැකසීම් තුළ මෙම ඉංගිතවලින් සිදුවන ක්‍රියාකාරකම් ඔබට වෙනස් කළ හැකිය. @@ -500,9 +506,6 @@ ඔබට විශ්වාසද ඔබට නෝඩු රුක නිදොස් කිරීම සක්‍රිය කිරීමට අවශ්‍යද?\n\nනෝඩු රුක නිදොස් කිරීම ඔබගේ තීරයේ අන්තර්ගත වල සිට ඔබගේ උපංගයේ ලොග් දක්වා අනාවරණය කරයි, එය ඇතැම් විට වෙනත් යෙදුමකින් කියවනු ලැබේ. කාර්ය සාධන සංඛ්‍යාලේඛන සබල කරන්නද? ඔබට කාර්ය සාධන සංඛ්‍යාලේඛන ක්‍රියාත්මක කිරීමට අවශ්‍ය බව සහතිකද?\n\nකාර්ය සාධන සංඛ්‍යාලේඛන වැඩිපුර මතකය සහ බලය පාරිභෝජනය කළ හැකිය. - වචන බහුල ඇතුළු වීම සබල කරන්නද? - වචන බහුල ඇතුළු වීම නිදොස්කරණයට උපකාර කළ හැකි නමුත් පද්ධති ලොග අන්තරාචයේ පුද්ගලික තොරතුරු දිස් වීමට හේතු විය හැකිය.\n\n ඔබට වචන බහුල ඇතුළු වීම සබල කිරීමට අවශ්‍යද? - ඔව්, වචන බහුල ඇතුළු වීම සබල කරන්න දුරකථන ප්‍රවේශය ඉඩ දෙන්නද? ඔබ ඇමතුමක සිටින විට නිවේදන අඩු කිරීමට මෙය TalkBack හට උදවු වේ ඉදිරියට යන්න @@ -556,11 +559,9 @@ ප්‍රවේශ්‍යතා හඬ පරිමාව ස්ලයිඩරය සීරුමාරු කරන්න අගය සීරුමාරු කරන්න - ක්‍රියා මුරපද කියවන්න මුරපද සැම විටම කථනය කෙරේ හඬ සහ කම්පනය - ශබ්දය පිටපත් කරන ලදී, %1$s වසන්න සෙවීම වසන්න @@ -595,15 +596,13 @@ %2$s විසින් කියවීමට %1$s මෙය භාවිත කිරීමට, TalkBack සැකසීම් වෙත ගොස් \'%1$s\' සඳහා ඉංගිතයක් එක් කරන්න බ්රේල් යතුරුපුවරුව සක්‍රිය කර නැත. TalkBack සැකසීම් වෙත ගොස්, බ්රේල් යතුරුපුවරුව සකසා යළි උත්සාහ කර. - යෝජනා ලබා ගත හැකිය - යෝජනා ලබා ගත හැකිය. ප්‍රවේශ වීමට, %1$s %2$d න් %1$d පිටුව පෙර ඊළඟ වසන්න අවසන් කරන්න ඉහළට සංචාලනය කරන්න - TalkBack හි නව විශේෂාංග + TalkBack හි නව විශේෂාංග නිබන්ධනය වසන්නද? ඔබට TalkBack සැකසීම් තුළ ඕනෑම වේලාවක ආපසු එයට පැමිණිය හැකිය. නිබන්ධනය තුළ සිටින්න @@ -647,14 +646,6 @@ නව ඉංගිත සමඟ TalkBack වඩා වේගයෙන් භාවිතා කරන්නේ කෙසේදැයි දැන ගැනීමට තට්ටු කරන්න. නෝඩ රුක ලොග සඳහා මුද්‍රණය කර ඇත. මේ මෑතකදී සිදු කරන ලද ඉංගිත වේ, කරුණාකර කුමන ඉංගිතය වැරදිද යන්න සහ අපේක්ෂා කරන්නේ කුමක්ද යන්න වාර්තා කරන්න. - ඔබට සරල කළ හඬ පරිමා පාලන, ඉක්මන් ක්‍රියා පාලන සහ තවත් දේ ලැබෙනු ඇත.\n\nඔබ ඉදිරි තිර කිහිපය තුළ ප්‍රධාන යාවත්කාලීන සහ වෙනස්කම් ගැන දැන ගනු ඇත. මෙයට මිනිත්තු 5ක් පමණ ගත වනු ඇත.\n\nඔබට ඕනෑම වේලාවක මෙම තොරතුරු TalkBack සැකසීම් තුළ සමාලෝචනය කළ හැකිය. - හඬ පරිමා පාලන වෙනස් වීම් - හඬ පරිමා පාලනය වැඩි දියුණු කිරීමට, හඬ පරිමා යතුරු තවදුරටත් පෙළ කර්සර හෝ ස්ලයිඩර පාලනය නොකරයි.\n\nස්ලයිඩරයක පිහිටීම වෙනස් කිරීමට, ඉහළට හෝ පහළට ස්වයිප් කරන්න.\n\nපෙළ කර්සරයේ පිහිටීම වෙනස් කිරීමට, පෙළ කොටුවක ඉහළට හෝ පහළට ස්වයිප් කරන්න. මෙය බ්‍රේල් යතුරුපුවරු කියවීම් පාලනවලද ක්‍රියා කරයි. - රූපවල පෙළ - ඔබට ස්වයංක්‍රියව හෝ එය අවශ්‍ය වූ විට රූපවල පෙළ පිළිබඳ වැඩි විස්තර ලබා ගත හැකිය.\n\nලේබලයක් නොමැති රූප සඳහා: TalkBack දිස් වන පෙළ ස්වයංක්‍රීයව කියවනු ඇත.\n\nසියලු රූප සඳහා: TalkBack මෙනුව විවෘත කර \"රූපයේ පෙළ විස්තර කරන්න\" තෝරන්න.\n\nරූප ඔබගේ උපාංගයේ පවතින අතර කිසි විටෙක Google වෙත යවනු නොලැබේ. මෙයින් අදහස් කරන්නේ ඔබට අන්තර්ජාල සම්බන්ධතාවක් නොමැතිව මෙම විශේෂාංග දෙකම භාවිත කළ හැකි බවයි. - කවුළු සංචාලනය - ඔබට දැනුම්දීම් තීරුව, ප්‍රධාන අන්තර්ගතය සහ යතුරුපුවරුව වැනි ඔබගේ තිරයේ විවිධ කොටස් අතර මාරු විය හැකිය.\n\nකවුළු සංචාලනය භාවිත කිරීමට, ඇඟිලි 4කින් පහළට ස්වයිප් කරන්න. - ඔබට දැනුම්දීම් තීරුව, ප්‍රධාන අන්තර්ගතය සහ යතුරුපුවරුව වැනි ඔබගේ තිරයේ විවිධ කොටස් අතර මාරු විය හැකිය.\n\nකවුළු සංචාලනය භාවිත කිරීමට, පහළට සහ පසුව ඉහළට ස්වයිප් කරන්න. ඔබ කවුළු සංචාලනය තෝරා ගන්නා තෙක් ඉදිරියට යන්න. කවුළුව වෙත සංචාලනය කිරීමට, පහළට ස්වයිප් කරන්න. නිබන්ධනය TalkBack වෙත සාදරයෙන් පිළිගනිමු TalkBack යනු තිරය බැලීමට දුෂ්කර අවස්ථා සහ පුද්ගලයන් සඳහා අදහස් කරන තිර කියවනයකි. එය ඔබට තිරය දෙස නොබලා ඔබගේ උපාංගය භාවිතා කළ හැකි වන පරිදි කථන ප්‍රතිපෝෂණයක් ලබා දෙයි.\n\nහඬ පරිමා යතුරු දෙකම තත්පර කිහිපයක් අල්ලාගෙන සිටීමෙන් ඔබට TalkBack ක්‍රියාත්මක හෝ ක්‍රියාවිරහිත කළ හැකිය.\n\nTalkBack ක්‍රියාත්මක විට, තිරයේ නාභිගත කළ අයිතමය ශබ්ද නගා කථනය කරයි.\n\nදකුණට ස්වයිප් කිරීම ඊළඟ අයිතමයටද, වමට ස්වයිප් කිරීම පෙර අයිතමයටද ගමන් කරනු ඇත.\n\nඊළඟ බොත්තම සොයා ගැනීමට දැන්ම ස්වයිප් කරන්න. @@ -697,14 +688,14 @@ යතුරු පුවරුව හරහා ඔබගේ ඇඟිල්ල ගෙන යන්න ඔබට ටයිප් කිරීමට අවශ්‍ය අකුර ඇසෙන විට ඔබගේ ඇඟිල්ල ඔසවන්න.\n\nපහත පෙළ කොටුව සක්‍රිය කිරීමට උත්සාහ කර ඔබගේ නම ටයිප් කරන්න. ඔබට බ්‍රේල් යතුරු පුවරුව සමඟද ටයිප් කළ හැකිය. TalkBack සැකසීම් තුළ එය සොයා ගන්න කර්සරය ගෙන යාම - ඔබ පෙළ කොටුවක් සක්‍රිය කර ඇති විට, ඔබට ඉහළට හෝ පහළට ස්වයිප් කිරීමෙන් අකුරු අතර කර්සරය ගෙන යා හැකිය.\n\nපහත පෙළ කොටුව තුළ එය උත්සාහ කරන්න. + ඔබ පෙළ කොටුවක් සක්‍රිය කර ඇති විට, ඔබට හඬ පරිමා යතුරු ඉහළට හෝ පහළට එබීමෙන් කර්සරය අකුරු අතර ගෙන යා හැකිය.\n\nපහත පෙළ කොටුව තුළ එය උත්සාහ කරන්න. TalkBack වෙත සාදරයෙන් පිළිගනිමු පෙළ තේරීම පෙළ කොටුවක, ඔබට තෝරා ගැනීමට අවශ්‍ය පෙළෙහි ආරම්භයට කර්සරය ගෙන යන්න.\n\nතේරීම් ප්‍රකාරය ආරම්භ කිරීම සඳහා ඇඟිලි 2කින් දෙවරක් තට්ටු කර අල්ලාගෙන සිටින්න. ඉන්පසු කර්සරය පෙළෙහි අවසානයට ගෙන යන්න. තේරීම් ප්‍රකාරය අවසන් කිරීම සඳහා නැවත වරක් ඇඟිලි 2කින් තට්ටු කර අල්ලාගෙන සිටින්න.\n\nපහත පෙළ කොටුව තුළ \"සාදරයෙන් පිළිගනිමු\" යන වචනය තෝරා ගැනීමට උත්සාහ කරන්න. - පෙළ කොටුවක, කර්සරය ඔබට තේරීමට අවශ්‍ය පෙළෙහි ආරම්භයට ගෙන යන්න.\n\nTalkBack මෙනුව විවෘත කිරීමට පහළට අනතුරුව දකුණට ස්වයිප් කරන්න. ක්‍රියා දෙවරක් තට්ටු කර අනතුරුව තේරීම් ප්‍රකාරය ආරම්භ කරන්න. කර්සරය පෙළෙහි අවසානයට ගෙන යන්න.\n\nTalkBack මෙනුව නැවත විවෘත කරන්න, ඉන්පසු තේරීම් ප්‍රකාරය අවසන් කිරීමට ක්‍රියා දෙවරක් තට්ටු කරන්න.\n\nපහත පෙළ කොටුව තුළ \"සාදරයෙන් පිළිගනිමු\" යන වචනය තෝරා ගැනීමට උත්සාහ කරන්න. + පෙළ කොටුවක, කර්සරය ඔබට තේරීමට අවශ්‍ය පෙළෙහි ආරම්භයට ගෙන යන්න.\n\nTalkBack මෙනුව විවෘත කිරීමට පහළට අනතුරුව දකුණට ස්වයිප් කරන්න. සංස්කරණ විකල්ප දෙවරක් තට්ටු කර අනතුරුව තේරීම් ප්‍රකාරය ආරම්භ කරන්න. කර්සරය පෙළෙහි අවසානයට ගෙන යන්න.\n\nTalkBack මෙනුව නැවත විවෘත කරන්න, ඉන්පසු තේරීම් ප්‍රකාරය අවසන් කිරීමට සංස්කරණ විකල්ප දෙවරක් තට්ටු කරන්න.\n\nපහත පෙළ කොටුව තුළ \"සාදරයෙන් පිළිගනිමු\" යන වචනය තෝරා ගැනීමට උත්සාහ කරන්න. පිටපත් කරන්න, කපන්න සහ අලවන්න - පෙළ තේරීමෙන් පසු, ක්‍රියා දෙවරක් තට්ටු කර පිටපත් කරන්න.\n\nපහත පෙළ කොටුවේ වචනයක් පිටපත් කිරීමට උත්සාහ කරන්න. - පෙළ කැපීමට හෝ ඇලවීමට, TalkBack මෙනුව විවෘත කර ක්‍රියා දෙවරක් තට්ටු කරන්න.\n\nපෙළ ඇලවීමට, ඇඟිලි 3කින් තෙවරක් තට්ටු කරන්න.\n\nපහත පෙළ කොටුව තුළ වචනයක් ඇලවීමට උත්සාහ කරන්න. + පෙළ තේරීමෙන් පසු, ඇඟිලි 3කින් දෙවරක් තට්ටු කිරීමෙන් එය පිටපත් කරන්න.\n\nපහත පෙළ කොටුවේ වචනයක් පිටපත් කිරීමට උත්සාහ කරන්න. + පෙළ කැපීමට, ඇඟිලි 3කින් දෙවරක් තට්ටු කර අල්ලාගෙන සිටින්න.\n\nපෙළ ඇලවීම සඳහා, ඇඟිලි 3කින් තුන් වරක් තට්ටු කරන්න.\n\nපහත පෙළ කොටුව තුළ වචනයක් ඇලවීමට උත්සාහ කරන්න. පෙළ තේරීමෙන් පසු, ඔබට එය TalkBack මෙනුවේ පිටපත් කළ හැකිය. TalkBack මෙනුව විවෘත කිරීමට පහළට අනතුරුව දකුණට ස්වයිප් කරන්න. සංස්කරණ විකල්ප දෙවරක් තට්ටු කර අනතුරුව පිටපත් කරන්න.\n\nපහත පෙළ කොටුවේ වචනයක් පිටපත් කිරීමට උත්සාහ කරන්න. පෙළ කැපීමට හෝ ඇලවීමට, TalkBack මෙනුව විවෘත කර සංස්කරණ විකල්ප දෙවරක් තට්ටු කරන්න.\n\nපහත පෙළ කොටුව තුළ වචනයක් ඇලවීමට උත්සාහ කරන්න. මෙහි පෙළ අලවන්න @@ -747,7 +738,6 @@ අයිතම අතර ගෙන යාමට දකුණට හෝ වමට ස්වයිප් කරන්න අයිතමයක් සක්‍රිය කිරීමට දෙවරක් තට්ටු කරන්න අනුචලනය කිරීමට ඇඟිලි 2ක් අදින්න - කරුණාකර දුරකථනය සම්බන්ධ කර ඇත්දැයි පරීක්ෂා කරන්න. ඝන බෝඩර වර්ණය පෙරනිමි @@ -759,12 +749,6 @@ අළු සමීක්ෂණය වසා ඇත පෙළ: %1$s - රූපයේ පෙළ විස්තර කරන්න - අනාවරණය කර ගත් නිරූපකය: %1$s - ක්‍රියාවට සහාය නොදේ. - ක්‍රියාවක් තෝරා නැත. - කරුණාකර සහාය දක්වන ක්‍රියාවක් තෝරන්න. - ක්‍රියා නැත - ක්‍රියා සැකසීම සබල කර නැත. - පෙළ හමු නොවිණි + රූපය විස්තර කරන්න + පුරෝකථනය කළ නිරූපකය: %1$s diff --git a/talkback/src/main/res/values-sk/strings.xml b/talkback/src/main/res/values-sk/strings.xml index 59eefae47..8c0afb73e 100644 --- a/talkback/src/main/res/values-sk/strings.xml +++ b/talkback/src/main/res/values-sk/strings.xml @@ -7,7 +7,6 @@ Nastavenia prevodu textu na reč Jazyky Hovorený jazyk - Akcie Systémové akcie Verzia %1$s Správa vlastných štítkov @@ -31,37 +30,46 @@ Zariadenie bolo odomknuté Zvuk Hlasitosť reči - Vyslovovať upozor. pri vypn. obrazovke - Vždy vyslovovať počet položiek zoznamu - Vyslovovať počet v prípade všetkých spôsobov posúvania + Reč pri vypnutej obrazovke + Hovorené upozornenia sú zapnuté aj pri vypnutej obrazovke + Keď je vypnutá obrazovka, je vypnutá aj reč + Vyslovovať počet položiek v zozname na obrazovke + Vyslovovať iba pri posúvaní zobrazenia gestom + Vždy vyslovovať Reč zastavíte zakrytím senzora blízkosti - Vyslovovať písmená s príkladmi - Keď vyberiete klávesy alebo navigáciu podľa znakov, s každým písmenom zaznie aj príklad. Ak napríklad vyberiete h, začujete „hotel“. - Vyslovovať interpunkciu a symboly + Fonetické hláskovanie + Fonetické písmená sa nevyslovujú + Fonetické písmená sa vyslovujú pri dlhom stlačení klávesov na klávesnici a prechádzaní po znakoch + Interpunkcia + Interpunkcia a symboly sa nevyslovujú + Interpunkcia a symboly sa vyslovujú Veľké písmená Nerobiť nič Povedzte „capital“ (veľké písmeno) Zmeniť výšku hlasu Prehrať zvuk Vyslovovať tipy na používanie - Po opísaní obsahu navrhovať spôsob používania - Vyslovovať inform. o zozname a mriežke + Počas posúvania zamerania dostupnosti sa nevyslovujú tipy na používanie + Počas navigácie sa vyslovujú tipy na používanie s krátkym oneskorením + Vyslovovať informácie v zozname a mriežke + Informácie v zozname a mriežke sa vyslovujú + Informácie v zozname a mriežke sa nevyslovujú Chcete gestá resetovať? Všetky gestá budú resetované a budú im pridelené predvolené akcie.\n\nPrídete o všetky zmeny, ktoré ste urobili. Resetovať Nastavenia gest boli resetované. Vyslovovať typ prvku - V prípade označených položiek + U označených položiek bude vyslovený typ prvku + U označených položiek nebude vyslovený typ prvku Vyslovovať identifikátory prvkov - V prípade neoznačených tlačidiel - Vyslovovať systémové okná - Keď prepnete na iné systémové okná, ako je stavový riadok, upozornenia alebo ovládanie hlasitosti + Pri tlačidlách bez štítku sa nebudú vyslovovať identifikátory prvkov + Pri tlačidlách bez štítku sa budú vyslovovať identifikátory prvkov Preskúmanie dotykom Ovládacie prvky Aktivácia jedným klepnutím Označenú položku aktivujete jedným klepnutím Podrobnosť - Vyslovovať interpunkciu a symboly + Interpunkcia Prispôsobiť indikátor označenia Prispôsobiť gestá Vlastné štítky @@ -203,7 +211,8 @@ Meniť výšku hlasu Zvuky klávesnice Poradie popisu prvkov - Vyslovovanie odstránených písmen vyšším hlasom + Vyslovovanie textu odstráneného klávesnicou vyšším hlasom + Pri reči nemeniť výšku hlasu Braillova klávesnica Vibračná odozva Zvuková odozva @@ -211,6 +220,7 @@ Zníži hlasitosť ostatných zvukov počas rozprávania Hlasitosť zvukovej odozvy Pozastavenie aplikácie Talkback a skratka na jej opätovné spustenie + Skryť skratku obrazovky Nastavenia pre vývojárov Vybrať zaznamenávané udalosti Filtrovať záznamy udalostí dostupnosti v denníku @@ -256,7 +266,7 @@ Otvoriť ponuku aplikácie TalkBack Pozastaviť spätnú väzbu Pozastaviť alebo obnoviť reč - Zapnite alebo vypnite reč + Zapnúť alebo vypnúť zvuk aplikácie TalkBack Čítať zhora Čítať od ďalšej položky Vytlačiť nodulárny strom @@ -278,7 +288,6 @@ Pridržať skratku dostupnosti Presunúť označenie navigácie vpred / upraviť ovládací prvok čítania nadol Presunúť označenie navigácie späť / upraviť ovládací prvok čítania nahor - Aktivovať aktuálne vybranú akciu Výsledok vyhľadávania Prehrať alebo pozastaviť médiá Všetky aplikácie @@ -323,7 +332,7 @@ Čítanie Špeciálne funkcie Iné - Zobrazí sa, keď budú pre aktuálnu položku k dispozícii určité akcie vrátane kopírovania, prilepenia, výberu a ďalších + Zobrazí sa, keď sú pre aktuálnu položku k dispozícii vlastné akcie Kopírovanie, prilepenie, výber a ďalšie akcie. Zobrazí sa pri výbere textového poľa. Otváranie odkazov v rámci označenej položky Prechod na ďalšiu alebo predchádzajúcu stránku. Zobrazí sa pri čítaní obsahu na viacerých stránkach. @@ -342,7 +351,6 @@ Otvorenie nastavení prevodu textu na reč Vypnutie hlasovej spätnej väzby aplikácie TalkBack Nedá sa upraviť - Vykonávanie akcií Čítanie po jednom znaku Čítanie po jednom slove Čítanie po jednom riadku @@ -365,7 +373,7 @@ Znižovanie hlasitosti ostatných zvukov, keď hovorí TalkBack Posúvajte dopredu alebo dozadu Zníženie alebo zvýšenie hlasitosti dostupnosti - Čítať text vložený vo vybranom obrázku + Získate automatický popis tohto obrázka nadol Dole a doprava Potiahnuť nahor @@ -408,9 +416,7 @@ Dvojité klepnutie a pridržanie 2 prstami Dvojité klepnutie a pridržanie 3 prstami Dvojité klepnutie a pridržanie 4 prstami - Pridržanie troma prstami Trojité klepnutie a pridržanie dvoma prstami - Trojité klepnutie a pridržanie troma prstami Upravte gestom %1$s alebo %2$s Upravte gestom %1$s Neznáme gesto @@ -434,8 +440,7 @@ Pri zobrazení uzamknutej obrazovky Len z upozornení Pridržaním prsta vyberte kláves, potom dvakrát klepnite - Pridržaním prsta vyberte kláves písmena, potom ho zdvihnite. Na iné klávesy je potrebné dvakrát klepnúť. - Pridržaním prsta vyberte kláves, potom ho zdvihnite + Pridržaním prsta vyberte kláves, potom ho zdvihnite Vypnuté Veľmi slabé Slabé @@ -487,6 +492,7 @@ Vyberte aplikáciu, do ktorej budú exportované štítky: Táto verzia funkcie TalkBack zahrnuje zmeny predvolených gest dostupnosti. Akcie združené s týmito gestami je možné prispôsobiť v nastaveniach funkcie TalkBack. Keď je funkcia Preskúmanie dotykom zapnutá, určité akcie môžete vykonať pomocou nasledovných gest.\n\n%1$s Dlhé stlačenie klávesa na zvýšenie a klávesa na zníženie hlasitosti + Obrazovku rýchlo skryjete alebo zobrazíte trojitým stlačením oboch tlačidiel hlasitosti Chcete skryť obrazovku? Vypnete obrazovku na zvýšenie súkromia, aby ju ostatní na verejných miestach nevideli Táto verzia aplikácie TalkBack obsahuje zmenené predvolené gestá dostupnosti.\n\nGesto pohybu nahor a nadol vám umožní prejsť na prvú položku na obrazovke. Gesto pohybu nadol a nahor vám umožní prejsť na poslednú položku.\n\nNastavenie podrobnosti čítania je možné zmeniť zameraním na položku a výberom stupňa podrobnosti z kontextovej ponuky aplikácie TalkBack.\n\nAkcie vykonávané na základe týchto gest môžete zmeniť v nastaveniach aplikácie TalkBack. @@ -502,9 +508,6 @@ Naozaj chcete zapnúť ladenie stromu uzlov?\n\nLadenie stromu uzlov vystaví obsah vašej obrazovky denníkom zariadenia, ktoré môžu čítať iné aplikácie. Zapnúť štatistiky výkonnosti? Naozaj chcete zapnúť štatistiky výkonnosti?\n\nMôžu zabrať viac miesta v pamäti a spotrebovať viac energie. - Chcete aktivovať podrobné zapisovanie do denníka? - Podrobné zapisovanie do denníka pomôže pri ladení, ale môže spôsobiť, že vo vyrovnávacej pamäti systémového denníka sa budú zobrazovať osobné údaje.\n\n Chcete povoliť podrobné zapisovanie do denníka? - Áno, povoliť podrobné zapisovanie do denníka Chcete povoliť prístup telefónu? Funkcii TalkBack to pomôže zredukovať oznamy počas hovoru Pokračovať @@ -560,11 +563,9 @@ Hlasitosť dostupnosti Upraviť posúvač Upraviť hodnotu - Akcie Vyslovovať heslá Heslá sa vždy vyslovujú Zvuk a vibrácie - Zvuk skopírované, %1$s Zavrieť Zavrieť vyhľadávanie @@ -601,15 +602,13 @@ %1$s a čítajte jednotlivé %2$s Ak to chcete použiť, prejdite do nastavení aplikácie TalkBack a pridajte gesto pre akciu %1$s Braillova klávesnica nie je zapnutá. Nakonfigurujte ju v nastaveniach TalkBack a skúste to znova. - K dispozícii sú návrhy - K dispozícii sú návrhy. Ak ich chcete zobraziť, %1$s %1$d. stránka z %2$d Naspäť Ďalej Zavrieť Dokončiť Prejsť hore - Nové funkcie v aplikácii TalkBack + Nové funkcie v aplikácii TalkBack Chcete zavrieť návod? Môžete sa k nemu kedykoľvek vrátiť v nastaveniach aplikácie TalkBack. Zostať v návode @@ -653,14 +652,6 @@ Klepnutím zistíte, ako vám nové gestá urýchlia používanie aplikácie TalkBack. Strom uzlov bol vytlačený do denníkov. Tu sú nedávno vykonané gestá. Nahláste, ktoré je nesprávne, a čo ste očakávali. - Získate zjednodušené ovládanie hlasitosti, rýchlejšie ovládanie akcií a ďalšie funkcie.\n\nNa nasledujúcich obrazovkách nájdete informácie o najdôležitejších novinkách a zmenách. Potrvá to asi päť minút.\n\nTieto informácie si môžete kedykoľvek pozrieť v nastaveniach aplikácie TalkBack. - Zmeny ovládania hlasitosti - Tlačidlá hlasitosti už neovládajú textové kurzory ani posúvače, aby sa zlepšilo ovládanie hlasitosti.\n\nAk chcete zmeniť pozíciu posúvača, potiahnite nahor alebo nadol.\n\nAk chcete zmeniť pozíciu textového kurzora, potiahnite nadol alebo nadol v textovom poli. Funguje to aj v prípade ovládania čítania na Brailovej klávesnici. - Text v obrázkoch - Môžete získať ďalšie podrobnosti o texte v obrázkoch buď automaticky, alebo keď to budete potrebovať.\n\nV prípade obrázkov bez štítka: TalkBack automaticky prečíta zobrazný text.\n\nV prípade všetkých obrázkov: otvorte ponuku aplikácie TalkBack a vyberte Opísať text v obrázku.\n\nObrázky zostávajú vo vašom zariadení a nikdy sa neodosielajú Googlu. Znamená to, že obe tieto funkcie môžete používať bez internetového pripojenia. - Navigácia v okne - Môžete prepínať medzi rôznymi sekciami na obrazovke, ako je pruh s upozorneniami, hlavný obsah a klávesnica.\n\nAk chcete použiť navigáciu v okne, potiahnite nadol štyrmi prstami. - Môžete prepínať medzi rôznymi sekciami na obrazovke, ako je pruh s upozornením, hlavný obsah a klávesnica.\n\nAk chcete použiť navigáciu v okne, potiahnite nadol a potom nahor. Pokračujte, kým nevyberiete vybranú navigáciu v okne. Ak chcete prejsť na okno, potiahnite nadol. Návod Vitajte v aplikácii TalkBack TalkBack je čítačka obrazovky určená pre situácie alebo ľudí, ktorí nevidia dobre obrazovku. Poskytuje hovorenú spätnú väzbu, vďaka ktorej môžete svoje zariadenie používať bez pozerania sa na obrazovku.\n\nTalkBack môžete zapnúť alebo vypnúť pridržaním oboch tlačidiel hlasitosti na niekoľko sekúnd.\n\nKeď je aplikácia TalkBack zapnutá, označená položka na obrazovke je vyslovená nahlas.\n\nPotiahnutím doprava prejdete na ďalšiu položku a potiahnutím doľava na predchádzajúcu.\n\nPotiahnite teraz doprava a nájdite ďalšie tlačidlo. @@ -703,14 +694,14 @@ Presúvajte prst po klávesnici. Keď začujete písmeno, ktoré chcete zadať, zdvihnite prst.\n\nSkúste aktivovať textové pole nižšie a zadať svoje meno. Písať môžete aj pomocou Braillovej klávesnice. Nájdete ju v nastaveniach aplikácie TalkBack. Presúvanie kurzora - Po aktivácii textového poľa môžete pohybovať kurzorom medzi písmenami potiahnutím nahor alebo nadol.\n\nVyskúšajte si to v textovom poli nižšie. + Po aktivácii textového poľa môžete pohybovať kurzorom medzi písmenami stláčaním tlačidiel hlasitosti nahor alebo nadol.\n\nVyskúšajte si to v textovom poli nižšie. Vitajte v aplikácii TalkBack Výber textu Presuňte v textovom poli kurzor na začiatok textu, ktorý chcete vybrať.\n\nDvojitým klepnutím a pridržaním dvoma prstami spustite režim výberu. Potom kurzor presuňte na koniec textu. Ukončite režim výberu opätovným dvojitým klepnutím a pridržaním dvoma prstami.\n\nSkúste v textovom poli nižšie vybrať slovo Vitajte. - Presuňte v textovom poli kurzor na začiatok textu, ktorý chcete vybrať.\n\nPotiahnutím nadol a potom doprava otvorte ponuku aplikácie TalkBack. Dvakrát klepnite na akcie a potom spustite režim výberu. Presuňte kurzor na koniec textu.\n\nOtvorte znova ponuku aplikácie TalkBack, potom ukončite režim výberu dvojitým klepnutím na akcie.\n\nSkúste v textovom poli nižšie vybrať slovo Vitajte. + Presuňte v textovom poli kurzor na začiatok textu, ktorý chcete vybrať.\n\nPotiahnutím nadol a potom doprava otvorte ponuku aplikácie TalkBack. Dvakrát klepnite na možnosti úprav a potom spustite režim výberu. Presuňte kurzor na koniec textu.\n\nOtvorte znova ponuku aplikácie TalkBack, potom ukončite režim výberu dvojitým klepnutím na možnosti úprav.\n\nSkúste v textovom poli nižšie vybrať slovo Vitajte. Kopírovanie, vystrihnutie a prilepenie - Po vybratí textu dvakrát klepnite na akcie a potom text skopírujte.\n\nSkúste skopírovať slovo v textovom poli nižšie. - Ak chcete text vystrihnúť alebo prilepiť, otvorte ponuku aplikácie TalkBack a dvakrát klepnite na akcie.\n\nAk chcete text prilepiť, trikrát klepnite troma prstami.\n\nSkúste slovo prilepiť v textovom poli nižšie. + Po výbere textu ho skopírujte dvojitým klepnutím troma prstami.\n\nSkúste v textom poli nižšie skopírovať slovo. + Text vystrihnete dvojitým klepnutím a pridržaním troma prstami.\n\nPrilepíte ho trojitým klepnutím troma prstami.\n\nSkúste v textovom poli nižšie prilepiť slovo. Po výbere textu ho môžete skopírovať v ponuke aplikácie TalkBack. Otvorte ju potiahnutím nadol a potom doprava. Dvakrát klepnite na možnosti úprav a potom text skopírujte.\n\nSkúste v textovom poli nižšie skopírovať slovo. Ak chcete vystrihnúť alebo prilepiť text, otvorte ponuku aplikácie TalkBack a dvakrát klepnite na možnosti úprav.\n\nSkúste v textovom poli nižšie prilepiť slovo. Sem prilepte text @@ -753,7 +744,6 @@ Potiahnutím doprava alebo doľava môžete prechádzať medzi položkami Dvojitým klepnutím aktivujete položku Presunutím dvoma prstami posuniete zobrazenie - Skontrolujte, či je telefón pripojený. Hrubé okraje Farba Predvolené @@ -765,12 +755,6 @@ Sivá Prieskum je uzavretý Text: %1$s - Opísať text v obrázku - Zistená ikona: %1$s - Akcia nie je podporovaná. - Nebola vybraná žiadna akcia. - Vyberte podporovanú akciu. - Žiadne akcie. - Nastavenie akcií nie je povolené. - Nebol nájdený žiadny text + Opísať obrázok + Predpokladaná ikona: %1$s diff --git a/talkback/src/main/res/values-sk/strings_voicecommands.xml b/talkback/src/main/res/values-sk/strings_voicecommands.xml index cde1af5e3..0090b9bd6 100644 --- a/talkback/src/main/res/values-sk/strings_voicecommands.xml +++ b/talkback/src/main/res/values-sk/strings_voicecommands.xml @@ -51,7 +51,7 @@ Hore Posledná Dole - Písať + Typ Vstup Diktovať Zapísať diff --git a/talkback/src/main/res/values-sl/strings.xml b/talkback/src/main/res/values-sl/strings.xml index 32ac29e26..0e2c21e59 100644 --- a/talkback/src/main/res/values-sl/strings.xml +++ b/talkback/src/main/res/values-sl/strings.xml @@ -7,7 +7,6 @@ Nastavitve pretvorbe besedila v govor Jeziki Govorjeni jezik - Dejanja Dejanja sistema Različica %1$s Upravljanje oznak po meri @@ -31,37 +30,46 @@ Naprava je odklenjena. Zvok Glasnost govora - Izgovarjanje obvestil pri izkl. zaslonu - Vedno izgovarjanje števila elementov seznama - Izgovarjanje števila vseh načinov pomikanja + Govori, ko je zaslon izklopljen + Ko je zaslon izklopljen, se obvestila izgovarjajo + Brez govora, ko je zaslon izklopljen + Izgovarjanje števila elementov seznama na zaslonu + Izgovarjanje med pomikanjem s potezo + Vedno izgovorjeno Ustavitev govora s pokrivanjem tipala bližine - Izgovarjanje črk s primeri - Pri izbiri tipk na tipkovnici ali pomikanju po znakih bo ob vsaki izgovorjeni črki podan tudi primer, denimo »h, hotel«. - Izgovarjanje ločil in simbolov + Izgovorjava fonetičnih črk + Fonetične črke niso izgovorjene + Fonetične črke so izgovorjene po dolgem pritisku tipk na tipkovnici in premikanju po znakih + Ločila + Ločila in simboli ne bodo izgovorjeni + Ločila in simboli bodo izgovorjeni Velike črke Ne naredi ničesar Izgovori »Velika črka« Spremeni višino tona Predvajaj zvok Izgovorjava nasvetov za uporabo - Predlaganje uporabe po opisu vsebine - Izgovarjanje podatkov s seznama in mreže + Nasveti za uporabo niso izgovorjeni, ko premaknete fokus funkcij za ljudi s posebnimi potrebami + Nasveti za uporabo so izgovorjeni med navigacijo po kratkem časovnem zamiku + Izgovori podatke iz seznama in mreže + Podatki iz seznama in mreže so izgovorjeni + Podatki iz seznama in mreže niso izgovorjeni Želite ponastaviti poteze? S tem boste vse poteze ponastavili na privzeta dejanja.\n\nIzgubili boste vse opravljene spremembe. Ponastavi Nastavitve potez so bile ponastavljene. Izgovori vrsto elementa - Za elemente v fokusu + Vrste elementov, na katerih je fokus, so izgovorjene + Vrste elementov, na katerih je fokus, niso izgovorjene Izgovarjanje ID-jev elementov - Za gumbe brez oznake - Izgovori okna sistema - Ko preklopite na druga okna sistema, na primer na vrstico stanja, obvestila ali kontrolnike za glasnost. + ID-ji elementov niso izgovorjeni za neoznačene gumbe + ID-ji elementov so izgovorjeni za neoznačene gumbe Raziskovanje z dotikom Kontrolniki Enkratni dotik za aktiviranje Za aktiviranje se enkrat dotaknite elementa v fokusu. Izgovarjanje - Izgovarjanje ločil in simbolov + Ločila Prilagajanje indikatorja fokusa Prilagajanje potez Oznake po meri @@ -203,7 +211,8 @@ Uporabi spremembe višine glasu Odmev tipkovnice Vrstni red opisov elementov - Izgovarjanje izbrisanih črk z višjim glasom + Izgovarjanje s tipkovnico izbrisanega besedila z višjim glasom + Pri izgovorjavi ne spreminjaj višine glasu Braillova tipkovnica Odziv z vibriranjem Zvočni odziv @@ -211,6 +220,7 @@ Zmanjšanje glasnosti drugega zvoka med govorjenjem Glasnost zvočnih odzivov Bližnjica za onemogočanje ali omogočanje aplikacije TalkBack + Bližnjica za zatemnitev zaslona Nastavitve za razvijalce Izbira dogodkov za beleženje Filtriranje beleženja dogodkov funkcij za ljudi s posebnimi potrebami @@ -256,7 +266,7 @@ Odpri meni TalkBack Zaustavi povratne informacije Začasno zaustavi ali nadaljuj govor - Vklop ali izklop govora + Vklop ali izklop zvoka za TalkBack Branje od vrha Branje od naslednjega elementa Natisni drevo vozlišč @@ -278,7 +288,6 @@ Pridrži bližnjico funkcij za ljudi s posebnimi potrebami Premik fokusa pomikanja naprej ali sprememba kontrolnika za branje navzdol Premik fokusa pomikanja nazaj ali sprememba kontrolnika za branje navzgor - Aktiviraj trenutno izbrano dejanje Rezultat iskanja Predvajaj ali zaustavi predvajanje predstavnosti Vse aplikacije @@ -323,7 +332,7 @@ Branje Posebne funkcije Drugo - Prikaže se, ko obstajajo dejanja za trenutni element (vključno s kopiranjem, lepljenjem, izbiro in drugimi dejanji). + Prikazano, kadar so dejanja po meri na voljo za trenutni element Kopiranje, lepljenje, izbiranje in drugo. Prikazano, ko izberete besedilno polje. Odpiranje povezav znotraj elementa v fokusu Pomik na naslednjo ali prejšnjo stran. Prikazano pri branju vsebine z več stranmi. @@ -342,7 +351,6 @@ Odpiranje nastavitev pretvorbe besedila v govor Izklop glasovnega odziva funkcije TalkBack Ni mogoče urejati - Izvajanje dejanj Branje po posameznih znakih Branje po posameznih besedah Branje po posameznih vrsticah @@ -365,7 +373,7 @@ Zmanjšanje glasnosti drugega zvoka, ki se predvaja med govorom funkcije TalkBack Pomikanje naprej ali nazaj Povečanje ali zmanjšanje glasnosti funkcij za ljudi s posebnimi potrebami - Branje besedila, vdelanega v izbrano sliko + Priprava samodejnega opisa za to sliko. navzdol navzdol in nato desno Vlečenje navzgor @@ -408,9 +416,7 @@ Dvakratni dotik in pridržanje z 2 prstoma Dvakratni dotik in pridržanje s 3 prsti Dvakratni dotik in pridržanje s 4 prsti - Dotik in pridržanje s 3 prsti Trikratni dotik in pridržanje z 2 prstoma - Trikratni dotik in pridržanje s 3 prsti »%1$s« ali »%2$s«, če želite prilagoditi. »%1$s«, če želite prilagoditi. Neznana poteza @@ -433,9 +439,8 @@ Ko se vklopi zaslon Ko je prikazan zaklenjen zaslon Samo iz obvestila - Pridržanje prsta za izbiro poljubne tipke in nato dvakratni dotik - Pridržanje prsta za izbiro črkovne tipke in nato dvig prsta. Dvakratni dotik za druge tipke. - Pridržanje prsta za izbiro poljubne tipke in nato dvig prsta + Pridržanje prsta za izbiro tipke in nato dvakratni dotik + Pridržanje prsta za izbiro tipke in nato dvig prsta Onemogočeno Zelo rahlo Rahlo @@ -487,6 +492,7 @@ Izberite aplikacijo za izvoz oznak: Ta različica aplikacije TalkBack vključuje spremembe privzetih potez za ljudi s posebnimi potrebami. Dejanja, povezana s temi potezami, je mogoče prilagoditi v nastavitvah za TalkBack. Ko je omogočeno Raziskovanje z dotikom, lahko te poteze uporabite za izvajanje nekaterih dejanj.\n\n%1$s Daljši pritisk tipk za povečanje in zmanjšanje glasnosti + Trikratni hitri pritisk obeh gumbov za glasnost za zatemnitev ali vnovično osvetlitev zaslona Želite zatemniti zaslon? S tem izklopite prikaz, da drugi ne vidijo vašega zaslona, ko ste na javnih mestih, in si tako zagotovite več zasebnosti Ta različica funkcije TalkBack vsebuje spremembe privzetih potez za funkcije za ljudi s posebnimi potrebami.\n\nS potezo »navzgor in nato navzdol« se boste pomaknili na prvi element na zaslonu, s potezo »navzdol in nato navzgor« pa na zadnjega.\n\nRaven podrobnosti branja lahko zdaj spremenite tako, da najprej izberete element in nato raven podrobnosti v kontekstnem meniju funkcije TalkBack.\n\nDejanja, ki jih opravite s temi potezami, lahko spremenite v nastavitvah za TalkBack. @@ -502,9 +508,6 @@ Ali ste prepričani, da želite vklopiti odpravljanje napak drevesa vozlišč?\n\nOdpravljanje napak drevesa vozlišč razkrije vsebino zaslona dnevnikom naprave, ki jih morda berejo druge aplikacije. Ali želite omogočiti zbiranje statističnih podatkov o uspešnosti? Ali ste prepričani, da želite vklopiti zbiranje statističnih podatkov o uspešnosti?\n\nZbiranje statističnih podatkov o uspešnosti lahko poveča porabo pomnilnika in energije baterije. - Želite omogočiti podrobno zapisovanje dnevnika? - Podrobno zapisovanje dnevnika lahko pomaga pri odpravljanju napak, vendar lahko hkrati povzroči, da so v medpomnilniku sistemskih dnevnikov prikazani osebni podatki.\n\n Ali želite omogočiti podrobno zapisovanje dnevnika? - Da, omogoči podrobno zapisovanje dnevnika Ali dovolite dostop do telefona? S tem boste zmanjšali število obvestil funkcije TalkBack med opravljanjem telefonskega klica. Naprej @@ -560,11 +563,9 @@ Glasnost funkcij za ljudi s posebnimi potrebami Prilagajanje drsnika Prilagajanje vrednosti - Dejanja Izgovarjanje gesel Gesla so vedno izgovorjena Zvok in vibriranje - Zvok kopirano, %1$s Zapri Zapri iskanje @@ -601,15 +602,13 @@ Za branje po »%2$s« uporabite potezo »%1$s« Če želite to uporabljati, pojdite v nastavitve za Talkback in dodajte potezo za »%1$s« Braillova tipkovnica ni vklopljena. Pojdite v nastavitve za TalkBack, nastavite braillovo tipkovnico in poskusite znova. - Na voljo so predlogi. - Na voljo so predlogi. Do tega dostopate tako: %1$s Stran %1$d od %2$d Nazaj Naprej Zapri Dokončaj Pomik navzgor - Novosti funkcije TalkBack + Novosti funkcije TalkBack Želite zapreti vadnico? Vadnico lahko kadar koli znova zaženete v nastavitvah za TalkBack. Ostani v vadnici @@ -653,14 +652,6 @@ Če želite izvedeti, kako z novimi potezami hitreje uporabljati funkcijo TalkBack, se dotaknite. Drevo vozlišč je bilo zabeleženo v dnevnike. Tukaj so navedene nedavno izvedene poteze. Sporočite, katera poteza je napačna in kaj je bilo pričakovano. - Na voljo boste imeli poenostavljene kontrolnike za glasnost, hitrejše kontrolnike za dejanja in drugo.\n\nNa naslednjih nekaj zaslonih so predstavljene glavne posodobitve in spremembe. To vam bo vzelo približno pet minut.\n\nTe informacije si lahko kadar koli ogledate v nastavitvah za TalkBack. - Spremembe kontrolnika za glasnost - Kontrolnik za glasnost želimo izboljšati, zato kazalcev za besedilo in drsnikov ne boste več upravljali z gumboma za glasnost.\n\nČe želite spremeniti položaj drsnika, povlecite navzgor ali navzdol.\n\nČe želite spremeniti položaj kazalca za besedilo, povlecite navzgor ali navzdol v besedilnem polju. To deluje tudi v kontrolnikih za branje za braillovo tipkovnico. - Besedilo v slikah - Dodatne podrobnosti o besedilu na slikah so lahko prikazane samodejno ali takrat, ko jih potrebujete.\n\nZa slike, ki nimajo oznake: Funkcija TalkBack bo samodejno prebrala besedilo, ki se prikaže.\n\nZa vse slike: Odprite meni funkcije TalkBack in izberite »Opis besedila na sliki«.\n\nSlike ostanejo v napravi in niso nikoli poslane Googlu. To pomeni, da lahko obe funkciji uporabljate brez internetne povezave. - Pomikanje po oknih - Preklapljate lahko med različnimi razdelki na zaslonu, kot so vrstica z obvestili, glavna vsebina in tipkovnica.\n\nČe želite uporabiti pomikanje po oknih, povlecite navzdol s 4 prsti. - Preklapljate lahko med različnimi razdelki na zaslonu, kot so vrstica z obvestili, glavna vsebina in tipkovnica.\n\nČe želite uporabiti pomikanje po oknih, povlecite navzdol in nato navzgor. Nadaljujte, dokler ni izbrano pomikanje po oknih. Če se želite pomakniti v okno, povlecite navzdol. Vadnica Dobrodošli v funkciji TalkBack TalkBack je bralnik zaslona za primere ali osebe, pri katerih prihaja do težav pri razločevanju vsebine zaslona. Omogoča glasovni odziv, tako da lahko uporabljate napravo, ne da bi vam bilo treba gledati v zaslon.\n\nTalkBack lahko vklopite ali izklopite tako, da več sekund pridržite oba gumba za glasnost.\n\nKo je funkcija TalkBack vklopljena, je izgovorjen element na zaslonu, ki je v fokusu.\n\nČe povlečete v desno, bo fokus premaknjen na naslednji element, če povlečete v levo, pa na prejšnji element.\n\nPovlecite v desno zdaj, da boste našli gumb za naprej. @@ -703,14 +694,14 @@ Prst premaknite po tipkovnici. Ko zaslišite črko, ki jo želite vnesti, dvignite prst.\n\nPoskusite aktivirati spodnje besedilno polje in vnesti svoje ime. Besedilo lahko vnašate tudi z braillovo tipkovnico. Najdete jo v nastavitvah funkcije TalkBack. Premikanje kazalca - Ko aktivirate besedilno polje, lahko kazalec med črkami premikate tako, da povlečete navzgor ali navzdol.\n\nPreizkusite v spodnjem besedilnem polju. + Ko aktivirate besedilno polje, lahko kazalec med črkami premikate tako, da pritisnete gumb za povečanje ali zmanjšanje glasnosti.\n\nPreizkusite v spodnjem besedilnem polju. Dobrodošli v funkciji TalkBack Izbira besedila V besedilnem polju premaknite kazalec na začetek besedila, ki ga želite izbrati.\n\nZ dvema prstoma se dvakrat dotaknite in pridržite, da začnete način za izbiro. Nato kazalec premaknite na konec besedila. Znova se z dvema prstoma dvakrat dotaknite in pridržite, da končate način za izbiro.\n\nPoskusite izbrati besedo »Dobrodošli« v spodnjem besedilnem polju. - V besedilnem polju premaknite kazalec na začetek besedila, ki ga želite izbrati.\n\nPovlecite navzdol in nato v desno, da odprete meni funkcije TalkBack. Dvakrat se dotaknite dejanj in nato začnite način za izbiro. Kazalec premaknite na konec besedila.\n\nZnova odprite meni funkcije TalkBack, nato pa se dvakrat dotaknite dejanj, da končate način za izbiro.\n\nPoskusite izbrati besedo »Dobrodošli« v spodnjem besedilnem polju. + V besedilnem polju premaknite kazalec na začetek besedila, ki ga želite izbrati.\n\nPovlecite navzdol in nato v desno, da odprete meni funkcije TalkBack. Dvakrat se dotaknite možnosti urejanja in nato začnite način za izbiro. Kazalec premaknite na konec besedila.\n\nZnova odprite meni funkcije TalkBack, nato pa se dvakrat dotaknite možnosti urejanja, da končate način za izbiro.\n\nPoskusite izbrati besedo »Dobrodošli« v spodnjem besedilnem polju. Kopiranje, izrezovanje in lepljenje - Po izbiri besedila se dvakrat dotaknite »Dejanja« in nato »Kopiraj«.\n\nPoskusite kopirati besedo v spodnjem besedilnem polju. - Če želite izrezati ali prilepiti besedilo, odprite meni funkcije TalkBack in se dvakrat dotaknite »Dejanja«.\n\nBesedilo prilepite tako, da se trikrat dotaknete s tremi prsti.\n\nPoskusite prilepiti besedo v spodnje besedilno polje. + Ko besedilo izberete, ga kopirate tako, da se dvakrat dotaknete s tremi prsti.\n\nPoskusite kopirati besedo v spodnjem besedilnem polju. + Če želite izrezati besedilo, se dvakrat dotaknite in pridržite s tremi prsti.\n\nČe želite prilepiti besedilo, se trikrat dotaknite s tremi prsti.\n\nPoskusite prilepiti besedo v spodnje besedilno polje. Ko besedilo izberete, ga lahko kopirate v meniju funkcije TalkBack. Povlecite navzdol in nato v desno, da odprete meni funkcije TalkBack. Dvakrat se dotaknite možnosti urejanja in nato možnosti za kopiranje.\n\nPoskusite kopirati besedo v spodnjem besedilnem polju. Če želite izrezati ali prilepiti besedilo, odprite meni funkcije TalkBack in se dvakrat dotaknite možnosti urejanja.\n\nPoskusite prilepiti besedo v spodnje besedilno polje. Tukaj prilepite besedilo. @@ -753,7 +744,6 @@ S prstom povlecite v desno ali levo za pomikanje med elementi. Za aktiviranje elementa se ga dvakrat dotaknite. Vlecite dva prsta za pomikanje. - Preverite, ali je telefon povezan. Debele obrobe Barva Privzeto @@ -765,12 +755,6 @@ Siva Anketa ni več na voljo Besedilo: %1$s - Opis besedila na sliki - Zaznana ikona: %1$s - Dejanje ni podprto. - Nobeno dejanje ni izbrano. - Izberite podprto dejanje. - Ni dejanj. - Nastavitev »Dejanja« ni omogočena. - Besedila ni bilo mogoče najti. + Opis slike + Predvidena ikona: %1$s diff --git a/talkback/src/main/res/values-sq/strings.xml b/talkback/src/main/res/values-sq/strings.xml index 923f77e42..b24e2f8a6 100644 --- a/talkback/src/main/res/values-sq/strings.xml +++ b/talkback/src/main/res/values-sq/strings.xml @@ -7,7 +7,6 @@ Cilësimet e \"tekstit-në-ligjërim\" Gjuhët Gjuha e folur - Veprimet Veprimet e sistemit Versioni %1$s Etiketat e personalizuara @@ -31,37 +30,46 @@ Pajisja u shkyç. Audio Volumi i ligjërimit - Lexo me zë njoftimet me ekranin të fikur - Lexo gjithmonë me zë numrat e artikujve në listë - Lexo me zë numrin për të gjitha mënyrat e lëvizjes + Fol kur ekrani të jetë i fikur + Njoftimet lexohen me zë kur ekrani është i fikur + Ligjërimi nuk punon kur ekrani është i fikur + Shqipto numrin e artikujve të listës në ekran + Shqipto vetëm kur lëviz me gjest + Shqipto gjithmonë Mbulo sensorin e afërsisë për të ndaluar të folurën - Lexo me zë germat me shembuj - Kur zgjedh tastet e tastierës ose navigon sipas karakterit, do të dëgjosh një shembull së bashku me çdo shkronjë, p.sh. \"h, hotel\" - Lexo me zë pikësimin dhe simbolet + Shqipto shkronjat fonetike + Shkronjat fonetike nuk lexohen me zë. + Shkronjat fonetike lexohen me zë kur kryen një shtypje të gjatë te tastet e tastierës dhe lëviz sipas karaktereve. + Shenjat e pikësimit + Shenjat e pikësimit dhe simbolet nuk lexohen me zë + Shenjat e pikësimit dhe simbolet lexohen me zë Shkronja kapitale Mos bëj asgjë Thuaj “kapitale” Ndrysho tonalitetin Luaj tingullin Lexo me zë këshillat e përdorimit - Pas përshkrimit të përmbajtjes, sugjero se si ta përdorësh - Lexo me zë të dhënat e listës e rrjetës + Këshillat për përdorimin nuk lexohen me zë kur zhvendoset fokusi i qasshmërisë. + Këshillat për përdorimin lexohen me zë gjatë navigimit pas një vonese të shkurtër + Lexo me zë informacionin e listës dhe të rrjetës + Informacionet e listës dhe të rrjetës lexohen me zë + Informacionet e listës dhe të rrjetës nuk lexohen me zë Të rivendosen gjestet? Kjo do t\'i rivendosë të gjitha gjestet te veprimet e tyre të parazgjedhura.\n\nDo të humbësh çdo ndryshim që ke bërë. Rivendos Cilësimet e gjesteve janë rivendosur. Thuaj llojin e elementit - Për artikujt në fokus + Lloji i elementit lexohet me zë për artikujt e fokusuar + Lloji i elementit nuk lexohet me zë për artikujt e fokusuar Shqipto ID-të e elementeve - Për butonat pa etiketa - Lexo me zë dritaret e sistemit - Kur kalon në dritare të tjera të sistemit, si p.sh. shiriti i statusit, njoftimet ose kontrollet e volumit + ID-të e elementeve nuk lexohen me zë për butonat pa etiketa + ID-të e elementeve lexohen me zë për butonat pa etiketa Eksploro me prekje Kontrollet Trokit një herë për ta aktivizuar Trokit një herë në një artikull të fokusuar për ta aktivizuar Detajimi - Lexo me zë pikësimin dhe simbolet + Shenjat e pikësimit Personalizo treguesin e fokusit Personalizo gjestet Etiketat e personalizuara @@ -203,7 +211,8 @@ Përdor ndryshimet e tonit Jehona e tastierës Rendi i përshkrimit të elementit - Lexo shkronjat e fshira me zë me ton më të lartë + Flit tekstin e fshirë me tastierë me zë më të lartë + Mos e ndrysho tonin e zërit kur flet Tastiera breil Reagimi me dridhje Reagimi me zë @@ -211,6 +220,7 @@ Ule volumin e audiove të tjera kur flet Volumi i reagimit me zë Shkurtorja e pezullimit dhe rifillimit të Talkback + Fshih shkurtoren e ekranit Cilësimet e zhvilluesit Zgjidh ngjarjet për regjistrimin Filtro regjistrimin e ngjarjeve të qasshmërisë @@ -256,7 +266,7 @@ Hap menynë e TalkBack Ndërprit reagimet Vendos në pauzë ose vazhdo të folurën - Aktivizo ose çaktivizo ligjërimin + Aktivizo ose çaktivizo tingullin e TalkBack Lexo nga kreu Lexo nga artikulli tjetër Printo pemën e nyjës @@ -278,7 +288,6 @@ Mbaj shkurtoren e qasshmërisë Zhvendose fokusin e navigimit përpara ose ul vlerën e kontrollit të leximit Zhvendose fokusin e navigimit prapa ose rrit vlerën e kontrollit të leximit - Aktivizo veprimin e zgjedhur aktualisht Rezultati i kërkimit Luaj ose vendos në pauzë median Të gjitha aplikacionet @@ -323,7 +332,7 @@ Leximi Veçoritë e veçanta Tjetër - Shfaqet kur ekzistojnë veprime për artikullin aktual, duke përfshirë kopjimin, ngjitjen, zgjedhjen dhe të tjera + Shfaqet kur ekzistojnë veprimet e personalizuara për artikullin aktual Kopjo, ngjit, zgjidh etj. Shfaqet kur zgjedh një kuti teksti. Hap lidhjet brenda një artikulli të fokusuar Shko te faqja tjetër ose e mëparshme. Shfaqet kur je duke lexuar përmbajtje me shumë faqe. @@ -342,7 +351,6 @@ Hap cilësimet e \"tekstit-në-ligjërim\" Çaktivizo reagimin me zë të TalkBack Nuk mund të modifikohet - Kryej veprime Lexo karakter pas karakteri Lexo fjalë pas fjale Lexo rresht pas rreshti @@ -365,7 +373,7 @@ Ul volumin e audiove të tjera që luhen kur flet TalkBack Lëviz përpara ose prapa Rrit ose ul \"Volumin e qasshmërisë\" - Lexo me zë tekstin e integruar në një imazh të zgjedhur + Merr një përshkrim automatik për këtë imazh poshtë poshtë dhe më pas djathtas Rrëshqitja lart @@ -408,9 +416,7 @@ Trokit dy herë dhe mbaje me 2 gishta Trokit dy herë dhe mbaje me 3 gishta Trokit dy herë dhe mbaje me 4 gishta - Trokit dhe mbaj shtypur me 3 gishta Trokit tri herë dhe mbaj shtypur me 2 gishta - Trokit tri herë dhe mbaj shtypur me 3 gishta \"%1$s\" ose %2$s\" për të rregulluar \"%1$s\" për të rregulluar Gjest i panjohur @@ -433,9 +439,8 @@ Kur ekrani ndizet Kur shfaqet ekrani i kyçjes Vetëm nga njoftimi - Mbaj gishtin për zgjedhur një tast çfarëdo, pastaj trokit dy herë - Mbaj gishtin për zgjedhur tastin e shkronjës, pastaj ngrije. Trokit dy herë për tastet e tjera. - Mbaj gishtin për zgjedhur një tast çfarëdo, pastaj ngrije + Mbaj gishtin për zgjedhur tastin, pastaj trokit dy herë + Mbaj gishtin për zgjedhur tastin, pastaj ngrije Çaktivizuar Shumë e lehtë E lehtë @@ -485,6 +490,7 @@ Zgjidh një aplikacion për të eksportuar etiketat: Ky version i TalkBack përfshin ndryshime te gjestet e parazgjedhura të qasshmërisë. Veprimet e lidhura me këto gjeste mund të personalizohen brenda cilësimeve të TalkBack. Kur aktivizohet veçoria \"Eksploro me prekje\", mund të kryesh gjestet e mëposhtme për të kryer veprime të caktuara.\n\n%1$s Shtyp gjatë tastet e ngritjes dhe uljes së volumit + Shtyp të dy tastet e volumit tre herë me shpejtësi për të fshehur ose shfaqur ekranin Do ta fshehësh ekranin? Kjo çaktivizon ekranin për të përmirësuar privatësinë, në mënyrë që ekrani yt të mos jetë i dukshëm për të tjerët kur je në vende publike Ky version i TalkBack përfshin ndryshime në gjestet e parazgjedhura të qasshmërisë.\n\nGjesti \"lart e më pas poshtë\" do të të lejojë të lëvizësh tek artikulli i parë në ekran, ndërsa me gjestin \"poshtë e më pas lart\" do të lëvizësh tek artikulli i fundit.\n\nShkalla e detajeve të leximit tani mund të ndryshohet duke e fokusuar një artikull dhe duke zgjedhur më pas një shkallë të detajeve nga menyja kontekstuale e TalkBack.\n\nVeprimet e kryera nga këto gjeste mund t\'i ndryshosh te \"Cilësimet e TalkBack\". @@ -500,9 +506,6 @@ Je i sigurt që dëshiron ta aktivizosh korrigjimin e pemës së nyjave?\n\nKorrigjimi i pemës së nyjave e ekspozon përmbajtjen e ekranit tënd te regjistrat e pajisjes, të cilat mund të lexohen nga aplikacione të tjera. Të aktivizohen statistikat e performancës? Je i sigurt që dëshiron të aktivizosh statistikat e performancës?\n\nStatistikat e performancës mund të konsumojnë më shumë memorie dhe energji. - Të aktivizohet regjistrimi i detajuar? - Regjistrimi i detajuar mund të ndihmojë me korrigjimin, por mund të bëjë që informacionet personale të shfaqen në ndërmemorien e regjistrit të sistemit.\n\n Dëshiron ta aktivizosh regjistrimin e detajuar? - Po, aktivizo regjistrimin e detajuar Të lejohet qasja në telefon? Kjo ndihmon TalkBack të reduktojë njoftimet kur je në telefonatë Vazhdo @@ -556,11 +559,9 @@ Volumi i qasshmërisë Rregullo rrëshqitësin Rregullo vlerën - Veprimet Lexo me zë fjalëkalimet Fjalëkalimet lexohen gjithmonë me zë Tingulli dhe dridhjet - Tingulli u kopjua, %1$s Mbyll Mbyll kërkimin @@ -595,15 +596,13 @@ %1$s për t\'u lexuar sipas %2$s Për ta përdorur këtë, shko te cilësimet e TalkBack dhe shto një gjest për \"%1$s\" Tastiera breil nuk është e aktivizuar. Shko te cilësimet e TalkBack, konfiguro tastierën breil dhe provo përsëri. - Ofrohen sugjerime - Ofrohen sugjerime. Për të pasur qasje te to, %1$s Faqja %1$d nga %2$d Prapa Para Mbyll Përfundo Ngjitu lart - Veçoritë e reja në TalkBack + Veçoritë e reja në TalkBack Të mbyllet udhëzuesi? Mund të kthehesh në çdo kohë tek ai në cilësimet e TalkBack. Qëndro brenda udhëzuesit @@ -647,14 +646,6 @@ Trokit për të mësuar se si ta përdorësh TalkBack më shpejt me gjestet e reja. Pema e nyjave është printuar tek evidencat. Këtu janë gjestet e kryera së fundi. Raporto se cili gjest është gabim dhe çfarë pritet. - Do të marrësh kontrolle të thjeshtësuara të volumit, kontrolle më të shpejta veprimesh dhe të tjera.\n\nDo të mësosh rreth përditësimeve dhe ndryshimeve kryesore në ekranet vijuese. Kjo do të zgjasë rreth 5 minuta.\n\nMund t\'i rishikosh këto informacione te cilësimet e TalkBack në çdo moment. - Ndryshimet e kontrollit të volumit - Për të përmirësuar kontrollin e volumit, tastet e volumit nuk kontrollojnë më kursorët e tekstit apo rrëshqitësit.\n\nPër të ndryshuar pozicionin e një rrëshqitësi, rrëshqit shpejt lart ose poshtë.\n\nPër të ndryshuar pozicionin e kursorit të tekstit, rrëshqit shpejt lart ose poshtë në një kuti teksti. Kjo funksionon gjithashtu në kontrollet e leximit të tastierave breil. - Teksti në imazhe - Mund të marrësh më shumë detaje rreth tekstit në imazhe automatikisht ose kur të nevojitet.\n\nPër imazhet që nuk kanë etiketë: TalkBack do të lexojë automatikisht tekstin që shfaqet.\n\nPër të gjitha imazhet: Hap menynë e TalkBack dhe zgjidh \"Përshkruaj tekstin në imazh\".\n\nImazhet qëndrojnë në pajisjen tënde dhe nuk dërgohen asnjëherë te Google. Kjo do të thotë se mund t\'i përdorësh të dyja këto veçori pa lidhje me internetin. - Navigimi në dritare - Mund të kalosh ndërmjet seksioneve të ndryshme të ekranit, si p.sh. shiriti i njoftimeve, përmbajtja kryesore dhe tastiera.\n\nPër të përdorur navigimin në dritare, rrëshqit shpejt poshtë me 4 gishta. - Mund të kalosh ndërmjet seksioneve të ndryshme të ekranit, si p.sh. shiriti i njoftimeve, përmbajtja kryesore dhe tastiera.\n\nPër të përdorur navigimin në dritare, rrëshqit shpejt poshtë dhe më pas lart. Vazhdo derisa të kesh zgjedhur navigimin në dritare. Për të naviguar te dritarja, rrëshqit shpejt poshtë. Udhëzuesi Mirë se vjen në TalkBack TalkBack është një lexues ekrani i synuar për situata ku njerëzit kanë vështirësi në shikimin e ekranit. Ai jep komente me zë që të mund ta përdorësh pajisjen pa e parë ekranin.\n\n\Mund ta aktivizosh ose çaktivizosh TalkBack duke mbajtur të dyja tastet e volumit për disa sekonda.\n\nKur TalkBack është aktiv, artikulli i fokusuar në ekran shqiptohet me zë.\n\nRrëshqitja shpejt djathtas kalon tek artikulli vijues dhe rrëshqitja majtas kalon tek artikulli pararendës.\n\nRrëshqit shpejt djathtas tani për të gjetur butonin \"Para\". @@ -697,14 +688,14 @@ Lëvize gishtin tënd nëpër tastierë. Kur të dëgjosh shkronjën që dëshiron të shkruash, ngrije gishtin.\n\nProvo ta aktivizosh kutinë e tekstit më poshtë dhe shkruaj emrin tënd. Mund të shkruash edhe me tastierën breil. Gjeje te cilësimet e TalkBack. Lëvizja e kursorit - Kur ke aktivizuar një kuti teksti, mund ta lëvizësh kursorin mes shkronjave duke rrëshqitur shpejt lart ose poshtë.\n\nProvoje në kutinë e tekstit më poshtë. + Kur ke aktivizuar një kuti teksti, mund ta lëvizësh kursorin mes shkronjave duke shtypur tastet e volumit lart ose poshtë.\n\nProvoje në kutinë e tekstit më poshtë. Mirë se vjen në TalkBack Zgjedhja e tekstit Në një kuti teksti, lëvize kursorin në fillim të tekstit që dëshiron të zgjedhësh.\n\nTrokit dy herë dhe mbaje me dy gishta për të filluar modalitetin e zgjedhjes. Më pas lëvize kursorin në fund të tekstit. Trokit dy herë dhe mbaje me dy gishta përsëri për të përfunduar modalitetin e zgjedhjes.\n\nProvo të zgjedhësh fjalën \"Mirë se vjen\" në kutinë e tekstit më poshtë. - Në një kuti teksti, lëvize kursorin në fillim të tekstit që dëshiron të zgjedhësh.\n\nRrëshqit më poshtë dhe më pas djathtas për të hapur menynë e TalkBack. Trokit dy herë veprimet dhe më pas nis modalitetin e zgjedhjes. Zhvendos kursorin në fund të tekstit.\n\nHap përsëri menynë e TalkBack, më pas trokit dy herë opsionet e redaktimit për të përfunduar modalitetin e zgjedhjes.\n\nProvo të zgjedhësh fjalën \"Mirë se vjen\" në kutinë e tekstit më poshtë. + Në një kuti teksti, lëvize kursorin në fillim të tekstit që dëshiron të zgjedhësh.\n\nRrëshqit më poshtë dhe më pas djathtas për të hapur menynë e TalkBack. Trokit dy herë opsionet e redaktimit dhe më pas fillo modalitetin e zgjedhjes. Zhvendose kursorin në fund të tekstit.\n\nHap përsëri menynë e TalkBack, më pas trokit dy herë opsionet e redaktimit për të përfunduar modalitetin e zgjedhjes.\n\nProvo të zgjedhësh fjalën \"Mirë se vjen\" në kutinë e tekstit më poshtë. Kopjo, prit dhe ngjit - Pas zgjedhjes së tekstit, trokit dy herë veprimet dhe më pas kopjo.\n\nProvo të kopjosh një fjalë në kutinë e tekstit më poshtë. - Për të prerë ose ngjitur tekst, hap menynë e TalkBack dhe trokit dy herë veprimet.\n\nPër të ngjitur tekstin, trokit tre herë me 3 gishta.\n\nProvo të ngjitësh një fjalë në kutinë e tekstit më poshtë. + Pas zgjedhjes së tekstit, kopjoje atë duke trokitur dy herë me 3 gishta.\n\nProvo ta kopjosh një fjalë në kutinë e tekstit më poshtë. + Për ta prerë tekstin, trokit dy herë dhe mbaj shtypur me 3 gishta.\n\nPër ta ngjitur tekstin, trokit tri herë me 3 gishta.\n\nProvo ta ngjitësh një fjalë në kutinë e tekstit më poshtë. Pas përzgjedhjes së tekstit, mund ta kopjosh në menynë e TalkBack. Rrëshqit poshtë dhe më pas djathtas për të hapur menynë e TalkBack. Trokit dy herë opsionet e redaktimit dhe më pas kopjoje.\n\nProvo ta kopjosh një fjalë në kutinë e tekstit më poshtë. Për të prerë ose ngjitur tekst, hap menynë e TalkBack dhe trokit dy herë tek opsione e redaktimit.\n\nProvo të ngjitësh një fjalë në kutinë e tekstit më poshtë. Ngjit tekstin këtu @@ -747,7 +738,6 @@ Rrëshqit shpejt djathtas ose majtas për të lëvizur mes artikujve Trokit dy herë për të aktivizuar një artikull Zvarrit 2 gishta për të lëvizur në ekran - Kontrollo nëse telefoni është i lidhur. Bordura të trasha Ngjyra Parazgjedhja @@ -759,12 +749,6 @@ Gri Anketa është mbyllur Teksti: %1$s - Përshkruaj tekstin në imazh - Ikona e zbuluar: %1$s - Veprimi nuk mbështetet. - Nuk është zgjedhur asnjë veprim. - Zgjidh një veprim të mbështetur. - Nuk ka asnjë veprim. - Cilësimi i veprimeve nuk është aktivizuar. - Nuk u gjet asnjë tekst + Përshkruaj imazhin + Ikona e parashikuar: %1$s diff --git a/talkback/src/main/res/values-sr/strings.xml b/talkback/src/main/res/values-sr/strings.xml index bcf3194a4..d7fe68a44 100644 --- a/talkback/src/main/res/values-sr/strings.xml +++ b/talkback/src/main/res/values-sr/strings.xml @@ -7,7 +7,6 @@ Подешавања претварања текста у говор Језици Говорни језик - Радње Системске радње Верзија %1$s Управљање прилагођеним ознакама @@ -20,7 +19,7 @@ Започето Заустављено Никакав текст није изабран - Пуни се %1$s Ниво батерије %2$s посто. + Пуни се %1$s Ниво батерије %2$s одсто. Пуњење %1$s %1$s (%2$s) избрисано је @@ -31,37 +30,46 @@ Уређај је откључан. Звук Јачина звука говора - Говори обавештења када је екран искључен - Увек изговарај број ставки листе - Изговара број за све начине скроловања + Говори када је екран искључен + Обавештења се изговарају када је екран искључен + Нема говора када је екран искључен + Изговори број ставки у листи на екрану + Изговарај само приликом померања помоћу покрета + Увек се изговара Прекријте сензор за близину да бисте зауставили говор - Изговарај слова са примерима - Када изаберете тастере на тастатури или се крећете према знаку, чућете пример са сваким словом, попут „х, хотел“ - Изговарај интерпункцију и симболе + Изговарај фонетска слова + Фонетска слова се не изговарају + Фонетска слова се изговарају када притиснете и задржите тастере на тастатури и крећете се по знаковима + Знаци интерпункције + Знаци интерпункције и симболи се не изговарају + Знаци интерпункције и симболи се изговарају Велика слова Не ради ништа Реци „велико слово“ Промените висину гласа Пусти звук Изговарај савете о коришћењу - После описивања садржаја предлажу како да га користите - Изговарај податке о листама и мрежама + Савети о коришћењу се не изговарају током премештања фокуса функције приступачности + Савети о коришћењу се изговарају током навигације после кратке паузе + Инфор. о листама и мрежама за говор + Информације о листама и мрежама се изговарају + Информације о листама и мрежама се не изговарају Желите да ресетујете покрете? Овим ћете ресетовати све покрете на подразумеване радње.\n\nИзгубићете све промене које сте унели. Ресетуј Подешавања покрета су ресетована. Изговори тип елемента - За фокусиране ставке + Тип елемента се изговора за ставке у фокусу + Тип елемента се не изговара за ставке у фокусу. Изговарај ИД-ове елемената - За неозначену дугмад - Изговарај називе системских прозора - Када прелазите на друге системске прозоре, попут статусне траке, обавештења или контрола јачине звука + ИД-ови елемената се не изговарају за неозначену дугмад + ИД-ови елемената се изговарају за неозначену дугмад Истраживање додиром Контроле Активирање једним додиром Додирните фокусирану ставку да бисте је активирали Обим говора - Изговарај интерпункцију и симболе + Знаци интерпункције Прилагодите индикатор фокуса Прилагодите покрете Прилагођене ознаке @@ -203,7 +211,8 @@ Користи промене фреквенције Ехо тастатуре Распоред описа елемената - Избрисана слова ће се изговарати вишим гласом + Повратне информације тастатуре о избрисаном тексту ће се изговарати вишим гласом + Не мењај фреквенцију гласа при говору Тастатура са Брајевом азбуком Обавештење вибрацијом Обавештење звуком @@ -211,6 +220,7 @@ Смањите јачину другог звука током говора Јачина обавештења звуком Пречица за паузирање/наставак Talkback-а + Пречица за скривање екрана Програмерска подешавања Изаберите догађаје које ћете евидентирати Филтрирај евидентирање догађаја приступачности @@ -256,7 +266,7 @@ Отвара TalkBack мени Паузира повратне информације Паузира или наставља говор - Укључите или искључите говор + Укључује или искључује звук за TalkBack Читај од врха Читај од следеће ставке Штампа стабло са чворовима @@ -278,7 +288,6 @@ Пречица за задржавање дугмета за приступачност Померите фокус кретања напред или прилагодите контролу за читање надоле Померите фокус кретања назад или прилагодите контролу за читање нагоре - Активирање тренутно изабране радње Резултат претраге Пушта или паузира медијски садржај Све апликације @@ -323,7 +332,7 @@ Читање Специјалне функције Друго - Приказује када радње постоје за актуелну ставку, укључујући копирање, лепљење, бирање и друго + Приказује се када за актуелну ставку постоје прилагођене радње Копира, налепљује, бира и друго. Приказује се када изаберете оквир за текст. Отвара линкове у оквиру фокусиране ставке Иде на следећу или претходну страницу. Приказује се када читате садржај са више страница. @@ -342,7 +351,6 @@ Отвара подешавања претварања текста у говор Искључује TalkBack говорне повратне информације Не може да се измени - Обавите радње Чита један по један знак Чита једну по једну реч Чита један по један ред @@ -365,7 +373,7 @@ Смањује јачину других звукова док TalkBack говори Померајте унапред или уназад Повећајте или смањите јачину звука за приступачност - Прочитајте текст са изабране слике + Преузима се аутоматски опис слике надоле надоле, па надесно Превлачење нагоре @@ -408,9 +416,7 @@ Двоструки додир и задржавање са 2 прста Двоструки додир и задржавање са 3 прста Двоструки додир и задржавање са 4 прста - Додир и задржавање са 3 прста Троструки додир и задржавање са 2 прста - Троструки додир и задржавање са 3 прста %1$s или %2$s да бисте прилагодили %1$s да бисте прилагодили Непознат покрет @@ -433,9 +439,8 @@ Када се екран укључи Када се прикаже закључани екран Само из обавештења - Задржите прст да бисте изабрали било који тастер, па двапут додирните - Задржите прст да бисте изабрали тастер са словом, па га подигните. Двапут додирните за друге тастере. - Задржите прст да бисте изабрали било који тастер, па га подигните + Задржите прст да бисте изабрали тастер, па двапут додирните + Задржите прст да бисте изабрали тастер, па га подигните Онемогућено је Веома лагано Лагано @@ -486,6 +491,7 @@ Изаберите апликацију да бисте извели ознаке: Ова верзија TalkBack-а обухвата промене подразумеваних покрета приступачности. Можете да прилагодите радње повезане са овим покретима у оквиру подешавања TalkBack-а. Када је Истраживање додиром омогућено, можете да користите следеће покрете за обављање одређених радњи.\n\n%1$s Притисните и задржите тастере за појачавање и стишавање звука + Брзо притисните оба тастера за јачину звука три пута да бисте сакрили или приказали екран Желите да сакријете екран? Овим искључујете екран да бисте побољшали приватност тако да екран неће бити видљив за друге када сте на јавним местима Ова верзија TalkBack-а обухвата промене подразумеваних покрета приступачности.\n\nПокрет нагоре па надоле вам омогућава да се померите до прве ставке на екрану, док вас покрет надоле па нагоре помера до последње ставке.\n\nСада можете да промените грануларност читања тако што ћете се фокусирати на ставку, а затим изабрати грануларност из TalkBack контекстуалног менија.\n\nМожете да промените радње које се обављају помоћу ових покрета у Подешавањима TalkBack-а. @@ -501,9 +507,6 @@ Желите ли стварно да укључите отклањање грешака у стаблу са чворовима?\n\nОтклањање грешака у стаблу са чворовима открива садржај екрана евиденцијама на уређају, које могу да читају друге апликације. Желите ли да омогућите статистику учинка? Желите ли стварно да укључите статистику учинка?\n\nСтатистика учинка троши више меморије и батерије. - Желите да омогућите детаљнију евиденцију? - Детаљнија евиденција може да помогне у отклањању грешака, али лични подаци могу да се приказују у међумеморији системске евиденције.\n\n Да ли желите да омогућите детаљнију евиденцију? - Да, омогући детаљнију евиденцију Желите да дозволите приступ телефону? Ово помаже да TalkBack смањи број обавештења када имате позив Настави @@ -558,11 +561,9 @@ Јачина звука за приступачност Прилагоди клизач Подеси вредност - Радње Изговарај лозинке Лозинке се увек изговарају Звук и вибрација - Звук копирано, %1$s Затвори Затвори претрагу @@ -598,15 +599,13 @@ %1$s да бисте прочитали до: %2$s Да бисте користили ово, идите у TalkBack подешавања и додајте покрет за „%1$s“ Тастатура са Брајевом азбуком није укључ. Идите у TalkBack подешавања, подесите је и пробајте опет. - Доступни су предлози - Доступни су предлози. Да бисте приступили, %1$s %1$d. страница од %2$d Претходна Следећа Затвори Заврши Идите нагоре - Нове функције у TalkBack-у + Нове функције у TalkBack-у Желите ли да затворите водич? Можете да се вратите на ово у било ком тренутку у подешавањима TalkBack-а. Остани у водичу @@ -650,14 +649,6 @@ Додирните да бисте сазнали како да брже користите TalkBack помоћу нових покрета. Стабло са чворовима је одштампано у евиденцију. Ево неких покрета које сте недавно обавили. Пријавите покрет који је нетачан и шта се очекује. - Добићете поједностављене контроле за јачину звука, брже контроле за радње и друго.\n\nСазнаћете више о важним ажурирањима и променама на неколико следећих екрана. То ће трајати око 5 минута.\n\nОве информације увек можете да прегледате у подешавањима за TalkBack. - Промене контрола за јачину звука - Да би се побољшала контрола јачине звука, тастери за јачину звука више не контролишу курсоре за текст ни клизаче.\n\nДа бисте променили позицију клизача, превуците нагоре или надоле.\n\nДа бисте променили позицију курсора за текст, превуците нагоре или надоле у оквиру за текст. Ово ради и за контроле читања на тастатури са Брајевом азбуком. - Текст на сликама - Више детаља о тексту на сликама можете да добијете аутоматски или када вам требају.\n\nЗа слике које немају ознаку: TalkBack ће аутоматски читати текст који се прикаже.\n\nЗа све слике: Отворите TalkBack мени и изаберите „Опиши текст на слици“.\n\nСлике остају на уређају и никада се не шаљу Google-у. То значи да можете да користите обе функције без интернет везе. - Кретање по прозорима - Можете да прелазите са једног одељка на други на екрану, на пример на траку са обавештењима, главни садржај и тастатуру.\n\nДа бисте користили кретање по прозорима, превуците надоле помоћу 4 прста. - Можете да прелазите са једног одељка на други на екрану, на пример на траку са обавештењима, главни садржај и тастатуру.\n\nДа бисте користили кретање по прозорима, превуците надоле, па нагоре. Наставите док не изаберете кретање по прозорима. Да бисте се кретали до прозора, превуците надоле. Водич Добро дошли у TalkBack TalkBack је читач екрана предвиђен за ситуације или особе са проблемима при прегледу садржаја екрана. Пружа вам говорне повратне информације да бисте могли да користите уређај без гледања у екран.\n\nМожете да укључите или искључите TalkBack тако што ћете задржати оба тастера за јачину звука неколико секунди.\n\nКада је TalkBack укључен, фокусирана ставка на екрану се изговара наглас.\n\nПревлачењем удесно прелазите на следећу ставку, а превлачењем улево на претходну.\n\nПревуците удесно одмах да бисте пронашли следеће дугме. @@ -700,14 +691,14 @@ Померајте прст по тастатури. Када чујете слово које желите да унесете, подигните прст.\n\nПробајте да активирате оквир за текст у наставку и унесите име. Можете да уносите текст и помоћу тастатуре са Брајевом азбуком. Пронађите то у TalkBack подешавањима. Померање курсора - Када активирате оквир за текст, можете да померате курсор између слова превлачењем нагоре или надоле.\n\nПробајте то у оквиру за текст у наставку. + Када активирате оквир за текст, можете да померате курсор између слова притиском тастера за јачину звука нагоре или надоле.\n\nПробајте то у оквиру за текст у наставку. Добро дошли у TalkBack Бирање текста У оквиру за текст померите курсор на почетак текста који желите да изаберете.\n\nДвапут додирните и задржите помоћу 2 прста да бисте покренули режим избора. Затим померите курсор на крај текста. Поново двапут додирните и задржите помоћу 2 прста да бисте зауставили режим избора.\n\nПробајте да изаберете реч Добро дошли у оквиру за текст у наставку. - У оквиру за текст померите курсор на почетак текста који желите да изаберете.\n\nПревуците надоле, па удесно, да бисте отворили TalkBack мени. Двапут додирните радње, па покрените режим избора. Померите курсор на крај текста.\n\nПоново отворите TalkBack мени, па двапут додирните радње да бисте зауставили режим избора.\n\nПробајте да изаберете реч Добро дошли у оквиру за текст у наставку. + У оквиру за текст померите курсор на почетак текста који желите да изаберете.\n\nПревуците надоле, па удесно, да бисте отворили TalkBack мени. Двапут додирните опције за измене, па покрените режим избора. Померите курсор на крај текста.\n\nПоново отворите TalkBack мени, па двапут додирните опције за измене да бисте зауставили режим избора.\n\nПробајте да изаберете реч Добро дошли у оквиру за текст у наставку. Копирање, исецање и налепљивање - Када изаберете текст, двапут додирните радње, па копирајте.\n\nПробајте да копирате реч у оквиру за текст у наставку. - Да бисте исекли или налепили текст, отворите TalkBack мени и двапут додирните радње.\n\nДа бисте налепили текст, трипут додирните са 3 прста.\n\nПробајте да налепите реч у оквиру за текст у наставку. + Када изаберете текст, копирајте га тако што ћете двапут додирнути помоћу 3 прста.\n\nПробајте да копирате реч у оквиру за текст у наставку. + Да бисте исекли текст, двапут додирните и задржите помоћу 3 прста.\n\nДа бисте налепили текст, трипут додирните помоћу 3 прста.\n\nПробајте да налепите реч у оквиру за текст у наставку. Када изаберете текст, можете да га копирате у TalkBack мени. Превуците надоле, па удесно, да бисте отворили TalkBack мени. Двапут додирните опције за измене и затим копирајте.\n\nПробајте да копирате реч у оквиру за текст у наставку. Да бисте исекли или налепили текст, отворите TalkBack мени и двапут додирните опције за измене.\n\nПробајте да налепите реч коју сте копирали у оквиру за текст у наставку. Налепите текст овде @@ -750,7 +741,6 @@ Превлачите удесно или улево да бисте се кретали између ставки Двапут додирните да бисте активирали ставку Превуците два прста да бисте скроловали - Проверите да ли је телефон повезан. Дебеле ивице Боја Подразумевано @@ -762,12 +752,6 @@ Сива Анкета је затворена Текст: %1$s - Опишите текст на слици - Откривена икона: %1$s - Радња није подржана. - Ниједна радња није изабрана. - Изаберите подржану радњу. - Нема радњи. - Подешавање радњи није омогућено. - Текст није пронађен + Опиши слику + Предвиђена икона: %1$s diff --git a/talkback/src/main/res/values-sv/strings.xml b/talkback/src/main/res/values-sv/strings.xml index 0faf91732..d3e9cbe44 100644 --- a/talkback/src/main/res/values-sv/strings.xml +++ b/talkback/src/main/res/values-sv/strings.xml @@ -1,13 +1,12 @@ - När TalkBack är aktiverat får du talad feedback så att du kan använda enheten utan att behöva se på skärmen. Det kan vara ett bra hjälpmedel för blinda och personer med nedsatt syn.\n\nSå här navigerar du med TalkBack:\n• Flytta mellan objekt genom att svepa åt vänster eller höger\n• Aktivera ett objekt genom att trycka snabbt två gånger\n• Scrolla genom att dra med två fingrar\n\nSå här inaktiverar du TalkBack:\n• Tryck på brytaren. Den får gröna konturer. Tryck snabbt två gånger på brytaren.\n• Tryck på OK i bekräftelserutan. Tryck sedan snabbt två gånger på OK. + När TalkBack är aktiverat får du talad feedback så att du kan använda enheten utan att behöva se på skärmen. Det kan vara ett bra hjälpmedel för blinda och personer med nedsatt syn.\n\nSå här navigerar du med TalkBack:\n• Flytta mellan objekt genom att svepa åt vänster eller höger\n• Aktivera ett objekt genom att trycka snabbt två gånger\n• Rulla genom att dra med två fingrar\n\nSå här inaktiverar du TalkBack:\n• Tryck på brytaren. Den får gröna konturer. Tryck snabbt två gånger på brytaren.\n• Tryck på OK i bekräftelserutan. Tryck sedan snabbt två gånger på OK. När TalkBack är aktiverat får du talad feedback så att du kan använda enheten utan att titta på skärmen. TalkBack är till för personer med nedsatt syn eller situationer när det är svårt att se skärmen.<br><br><b>Så här använder du Talkback</b><br>• Så här använder du Talkback<br>• Aktivera ett objekt genom att trycka snabbt två gånger<br>• Scrolla genom att dra med två fingrar<br><br><b>Så här inaktiverar du Talkback</b><br><br><b>Volymknapparna:</b> Håll båda volymknapparna nedtryckta i några sekunder.<br><br><b>Inställningar</b><br>• Tryck på reglaget <b>Använd Talkback</b>. Det får gröna konturer. Tryck snabbt två gånger på reglaget.<br>• Tryck på Avbryt i bekräftelserutan. Tryck sedan snabbt två gånger på Avbryt. Läs upp objekt på skärmen Inställningar för TalkBack Inställningar för text till tal Språk Talat språk - Åtgärder Systemåtgärder Version %1$s Hantera anpassade etiketter @@ -31,37 +30,46 @@ Enheten är upplåst. Ljud Talvolym - Läs upp aviseringar när skärmen är avstängd - Läs alltid upp antalet listposter - Läs upp antalet scrollningsmetoder + Tala med skärmen avstängd + Meddelanden hörs när skärmen är avstängd + Inget tal hörs när skärmen är avstängd + Läs upp antalet listobjekt på skärmen + Läs endast upp vid rullning med rörelse + Läs alltid upp Täck närhetssensorn för att stänga av talet - Läs upp bokstäver med exempel - När du väljer tangenter eller navigerar med tecken får du ett exempel uppläst med varje bokstav, till exempel ”h, hotell” - Läs upp skiljetecken och symboler + Läs upp fonetiska tecken + Fonetiska tecken läses inte upp + Fonetiska tecken läses upp när användaren trycker länge på tangentbordet och navigerar efter tecken + Skiljetecken + Skiljetecken och symboler läses inte upp + Skiljetecken och symboler läses upp Versaler Gör ingenting Säg ”versalt” Ändra röstläge Spela upp ljud Läs upp användningstips - Föreslå användning efter innehållsbeskrivning + Användningstips läses inte upp när tillgänglighetsfokus flyttas + Användningstips läses upp efter en kort fördröjning under navigeringen Läs upp information om listor och rutnät + Information om listor och rutnät läses upp + Information om listor och rutnät läses inte upp Vill du återställa rörelserna? Standardinställningen återställs för alla rörelser.\n\nAlla ändringar som du har gjort försvinner. Återställ Rörelseinställningarna har återställts. Läs upp elementtyp - För objekt i fokus + Elementtyp läses upp för markerade objekt + Elementtyp läses inte upp för markerade objekt Läs upp element-id:n - För knappar utan etikett - Läs upp systemfönster - När du byter till andra systemfönster som statusfältet, aviseringar eller volymkontroller + Element-id:n läses inte upp för knappar utan etiketter + Element-id:n läses upp för knappar utan etiketter Upptäck genom beröring Kontroller Aktivera genom att trycka en gång Aktivera ett objekt som är i fokus genom att trycka på det Detaljnivå - Läs upp skiljetecken och symboler + Skiljetecken Anpassa fokusindikatorn Anpassa rörelser Anpassade etiketter @@ -203,7 +211,8 @@ Använd ändringar i tonhöjd Tangentbordseko Elementsbeskrivningens ordning - Läs upp texten som raderats med en röst med högre tonhöjd + Läs upp texten som raderats med tangentbordet med en röst med högre tonhöjd + Ändra inte tonhöjd vid tal Punktskriftstangentbord Vibrationssignal Ljudsignal @@ -211,6 +220,7 @@ Sänk volymen på annat ljud när tal förekommer Volym för feedback Genväg för att aktivera och inaktivera TalkBack + Genvägen Dölj skärm Inställningar för utvecklare Välj händelser som du vill logga Filtrera händelseloggning efter tillgänglighet @@ -256,7 +266,7 @@ Öppna TalkBack-menyn Pausa feedback Pausa eller återuppta tal - Aktivera eller inaktivera tal + Aktivera eller inaktivera ljudet för TalkBack Läs uppifrån Läs från nästa objekt Skriv ut nodträd @@ -278,7 +288,6 @@ Håll kvar genvägen till tillgänglighetsfunktioner Flytta navigeringsfokus framåt eller minska en läsinställning Flytta navigeringsfokus bakåt eller öka en läsinställning - Aktivera den valda åtgärden Sökresultat Spela upp eller pausa media Alla appar @@ -323,7 +332,7 @@ Läsning Särskilda funktioner Annat - Visas när det finns åtgärder för det aktuella objektet, till exempel kopiera, klistra in eller välj + Visas när det finns anpassade åtgärder för det aktuella objektet Kopiera, klistra in, markera med mera. Visas när en textruta är markerad. Öppna länkar i ett objekt som har fokus Bläddra till nästa eller föregående sida. Visas när du läser något med flera sidor. @@ -342,7 +351,6 @@ Öppna inställningarna för text till tal Inaktivera uppläst feedback med TalkBack Kan inte redigeras - Utför åtgärder Läs upp ett tecken i taget Läs upp ett ord i taget Läs upp en rad i taget @@ -365,7 +373,7 @@ Sänk volymen för andra ljud medan TalkBack pratar Scrolla framåt eller bakåt Höja eller sänka volym för tillgänglighetsfunktionerna - Läs upp inbäddad text i den valda bilden + Få en automatiskt beskrivningar av den här bilden nedåt nedåt, sedan åt höger Svep uppåt @@ -408,9 +416,7 @@ Tryck snabbt två gånger med två fingrar och håll kvar Tryck snabbt två gånger med tre fingrar och håll kvar Tryck snabbt två gånger med fyra fingrar och håll kvar - Tryck länge med tre fingrar Tryck snabbt tre gånger med två fingrar och håll kvar - Tryck snabbt tre gånger med tre fingrar och håll kvar %1$s eller %2$s för att justera %1$s för att justera Okänd rörelse @@ -433,9 +439,8 @@ När skärmen aktiveras När låsskärmen visas Endast när användaren aktivt väljer det - Håll ned fingret för att välja en tangent och tryck sedan snabbt två gånger - Håll ned fingret för att välja bokstavstangent och lyft sedan fingret Tryck snabbt två gånger om du vill använda andra tangenter. - Håll ned fingret för att välja tangent och lyft sedan fingret + Håll ned fingret för att välja tangent och tryck sedan snabbt två gånger + Håll ned fingret för att välja tangent och lyft sedan fingret Inaktiverad Mycket lätt Lätt @@ -485,6 +490,7 @@ Välj en app om du vill exportera etiketter: Denna version av TalkBack innehåller ändringar i standardrörelserna för tillgänglighetstjänster. De kommandon som är kopplade till rörelserna kan anpassas i inställningarna i TalkBack. När Explore by touch är aktiverat kan du använda följande rörelser för att utföra vissa saker.\n\n%1$s Tryck länge på knapparna Volym upp och Volym ned + Tryck på båda volymknapparna tre gånger i snabb följd om du vill dölja eller visa skärmen Vill du dölja skärmen? Då stängs skärmen av för ökad integritet så att din skärm inte är synlig för andra när enheten används på offentlig plats. I den här versionen av TalkBack har standardalternativen för tillgänglighetsrörelser ändrats.\n\nMed en uppåtrörelse följd av en nedåtrörelse flyttar du det första objektet på skärmen och om du gör tvärtom – först nedåt, sedan uppåt – flyttar du det sista objektet.\n\nDetaljnivån för läsning ändras nu genom att först fokusera på ett objekt och sedan välja en detaljnivå i TalkBacks snabbmeny.\n\nDu kan ändra vilka åtgärder som utförs med hjälp av dessa rörelser i inställningarna för TalkBack. @@ -500,9 +506,6 @@ Vill du aktivera felsökning av nodträd?\n\nMed felsökning av nodträd blir innehåll på din skärm tillgängligt i enhetens loggar som kan läsas av andra appar. Vill du aktivera resultatstatistik? Vill du aktivera resultatstatistik?\n\nResultatstatistik kan kräva mer minne och dra mer batteri. - Vill du aktivera verbose-loggning? - Verbose-loggning kan vara till hjälp vid felsökning, men det kan leda till att personliga uppgifter visas i systemets loggbuffert.\n\n Vill du aktivera verbose-loggning? - Ja, aktivera verbose-loggning Vill du tillåta telefonåtkomst? Detta gör att TalkBack kan minska antalet meddelanden när samtal pågår. Fortsätt @@ -556,11 +559,9 @@ Volym för tillgänglighetsfunktionerna Justera skjutreglaget Justera värdet - Åtgärder Läs upp lösenord Lösenord läses alltid upp Ljud och vibration - Ljud kopierade, %1$s Stäng Stäng sökning @@ -595,15 +596,13 @@ %1$s för att läsa %2$s Om du vill använda detta öppnar du inställningarna för TalkBack och lägger till en rörelse för %1$s Punktskriftstangentbordet är av. Konfigurera det i TalkBack-inställningarna och försök igen. - Förslag är tillgängliga - Förslag är tillgängliga Så här får du åtkomst: %1$s Sida %1$d av %2$d Föregående Nästa Stäng Slutför Navigera uppåt - Nya funktioner i TalkBack + Nya funktioner i TalkBack Vill du stänga självstudien? Du kan när som helst öppna den igen via inställningarna för TalkBack. Stanna kvar i självstudien @@ -647,14 +646,6 @@ Tryck här för mer information om hur du kan använda TalkBack snabbare med nya rörelser. Nodträdet har skrivits ut i loggar. Här är rörelser som gjorts nyligen. Rapportera vilken rörelse som är fel och hur det borde vara. - Du får enklare volymkontroller, snabbare kontroller för åtgärder med mera.\n\nLäs mer om viktiga uppdateringar och ändringar på följande skärmar. Detta tar ungefär fem minuter.\n\nDu kan när som helst läsa igenom informationen igen i TalkBack-inställningarna. - Ändringar av volymkontroller - Ljudkontrollen har förbättrats genom att volymknapparna inte längre styr markörer eller skjutreglage.\n\nOm du vill flytta skjutreglaget sveper du uppåt eller nedåt.\n\nOm du vill flytta markören sveper du uppåt eller nedåt i textrutan. Åtgärden fungerar även i läsinställningar för punktskriftstangentbord. - Text i bild - Du kan få mer information om text i bilder automatiskt eller när du behöver det.\n\nFör bilder utan etikett: texten som visas läses upp automatiskt i TalkBack.\n\nFör alla bilder: öppna TalkBack-menyn och välj Beskriv text i bilden.\n\nBilder stannar på enheten och skickas aldrig till Google. Det innebär att du kan använda båda funktionerna utan internetanslutning. - Fönsternavigering - Du kan växla mellan olika avsnitt på skärmen, till exempel meddelandefältet, huvudinnehållet och tangentbordet.\n\nSvep nedåt med fyra fingrar för att använda fönsternavigering. - Du kan växla mellan olika avsnitt på skärmen, till exempel meddelandefältet, huvudinnehållet och tangentbordet.\n\nSvep nedåt för att använda fönsternavigering. Fortsätt tills navigeringsläget har valts. Navigera till fönstret genom att svepa nedåt. Självstudier Välkommen till TalkBack TalkBack är en skärmläsare för personer med nedsatt syn eller situationer när det är svårt att se skärmen. Med den får du talad feedback så att du kan använda enheten utan att se skärmen.\n\nDu aktiverar eller inaktiverar TalkBack genom att hålla båda volymknapparna nedtryckta i några sekunder.\n\nNär TalkBack är aktiverat läses det objekt på skärmen som har fokus upp.\n\nDu går vidare till nästa objekt genom att svepa åt höger. Om du sveper åt vänster går du tillbaka till föregående objekt.\n\nSvep åt höger nu för att hitta knappen Nästa. @@ -697,14 +688,14 @@ Dra med fingret på tangentbordet. Lyft på fingret när du hör den bokstav som du vill skriva.\n\nTesta att aktivera textrutan nedan och skriva ditt namn. Du kan även skriva med tangentbordet för punktskrift. Det finns i TalkBack-inställningarna. Flytta markören - När du har aktiverat textrutan kan du flytta markören mellan bokstäverna genom att svepa uppåt eller nedåt.\n\nTesta i textrutan nedan. + När du har aktiverat textrutan kan du flytta markören mellan bokstäverna genom att trycka upp och ned på volymknapparna.\n\nTesta i textrutan nedan. Välkommen till TalkBack Markera text Flytta markören till början av texten du vill markera i en textruta.\n\nTryck snabbt två gånger med två fingrar och håll kvar dem för att börja markera texten. Flytta sedan markören till slutet av texten. Tryck snabbt två gånger med två fingrar och håll kvar dem igen för att avsluta textmarkeringsläget.\n\nTesta att markera ordet Välkommen i textrutan nedan. - Flytta markören till början av texten du vill markera i en textruta.\n\nSvep nedåt och sedan åt höger för att öppna TalkBack-menyn. Tryck snabbt två gånger på åtgärderna och aktivera markeringsläget. Flytta markören till slutet av texten.\n\nÖppna TalkBack-menyn igen och tryck sedan snabbt två gånger på åtgärderna för att avsluta markeringsläget.\n\nTesta att markera ordet Välkommen i textrutan nedan. + Flytta markören till början av texten du vill markera i en textruta.\n\nSvep nedåt och sedan åt höger för att öppna TalkBack-menyn. Tryck snabbt två gånger på redigeringsalternativen och aktivera markeringsläget. Flytta markören till slutet av texten.\n\nÖppna TalkBack-menyn igen och tryck sedan snabbt två gånger på redigeringsalternativen för att avsluta markeringsläget.\n\nTesta att markera ordet Välkommen i textrutan nedan. Kopiera, klippa ut och klistra in - När du har markerat texten trycker du snabbt två gånger på åtgärder och kopierar sedan texten.\n\nTesta att kopiera ett ord i textrutan nedan. - Du kan klippa ut eller klistra in text genom att öppna TalkBack-menyn och trycka snabbt två gånger på åtgärder.\n\nDu kan klistra in text genom att trycka snabbt tre gånger med tre fingrar.\n\nTesta att klistra in ett ord i textrutan nedan. + När du har markerat texten kan du kopiera den genom att trycka snabbt två gånger med tre fingrar.\n\nTesta att kopiera ett ord i textrutan nedan. + Du kan klippa ut text genom att trycka snabbt två gånger med tre fingrar och hålla kvar dem.\n\nKlistra in texten genom att trycka snabbt tre gånger med tre fingrar.\n\nTesta att klistra in ett ord i textrutan nedan. När du har markerat texten kan du kopiera den via TalkBack-menyn. Svep nedåt och sedan åt höger för att öppna TalkBack-menyn. Tryck snabbt två gånger på redigeringsalternativen och sedan på kopiera.\n\nTesta att kopiera ett ord i textrutan nedan. Du kan klippa ut eller klistra in en text genom att öppna TalkBack-menyn och trycka snabbt två gånger på redigeringsalternativen.\n\nTesta att klistra in ett ord i textrutan nedan. Klistra in text här @@ -747,7 +738,6 @@ Du navigerar mellan objekt genom att svepa åt höger eller vänster Tryck snabbt två gånger för att aktivera ett objekt Dra med två fingrar för att scrolla - Kontrollera att telefonen är ansluten. Tjocka kanter Färg Standard @@ -759,12 +749,6 @@ Grå Enkäten har stängts Text: %1$s - Beskriv text i bilden - Identifierad ikon: %1$s - Åtgärden stöds inte. - Ingen åtgärd har valts. - Välj en åtgärd som stöds. - Inga åtgärder. - Åtgärdsinställningen har inte aktiverats. - Ingen text hittades + Beskriv bild + Identifierad ikon: %1$s diff --git a/talkback/src/main/res/values-sw/strings.xml b/talkback/src/main/res/values-sw/strings.xml index 1ccfe8bd6..f0723c918 100644 --- a/talkback/src/main/res/values-sw/strings.xml +++ b/talkback/src/main/res/values-sw/strings.xml @@ -7,7 +7,6 @@ Mipangilio ya kusoma maandishi kwa sauti Lugha Lugha inayotamkwa - Vitendo Vitendo vya mfumo Toleo la %1$s Dhibiti Lebo Maalum @@ -31,37 +30,46 @@ Kifaa kimefunguliwa. Sauti Sauti ya utamkaji - Tamka arifa wakati skrini imezimwa - Tamka idadi ya vipengee vya orodha kila wakati - Tamka idadi ya mbinu zote za kusogeza + Zungumza wakati skrini imezimwa + Arifa hutamkwa hata skrini ikiwa imezimwa + Hakuna utamkaji utakaofanyika wakati skrini imezimwa + Sema idadi ya vitu vilivyoorodheshwa kwenye skrini + Sema tu wakati unasogeza kwa ishara + Husemwa kila wakati Funika kigundua vitu vya karibu ili ukomeshe matamshi - Tamka herufi na mifano - Unapochagua vitufe vya kibodi au kusogeza kwa kulingana na herufi, utasikia mfano pamoja na kila herufi, kama vile \"h, hoteli\" - Tamka uakifishaji na ishara + Tamka herufi za kifonetiki + Herufi za kifonetiki hazitamkwi + Herufi za kifonetiki zinatamkwa ukibonyeza vitufe kwenye kibodi kwa muda mrefu na kusogeza kulingana na herufi. + Uakifishaji + Uakifishaji na ishara hazitamkwi + Uakifishaji na ishara zinatamkwa Herufi kubwa Usifanye chochote Tamka “herufi kubwa” Badilisha sauti Cheza sauti Tamka vidokezo vya matumizi - Baada ya kufafanua maudhui, pendekeza jinsi ya kutumia + Vidokezo vya jinsi ya kutumia havitamkwi wakati wa kusogeza lengo la zana za walio na matatizo ya kusikia na kuona + Vidokezo vya jinsi ya kutumia vinatamkwa wakati wa kusogeza, baada ya kuchelewa kwa muda mfupi Tamka maelezo ya gridi na orodha + Maelezo ya gridi na orodha yatatamkwa kwa sauti + Maelezo ya gridi na orodha hayatatamkwa kwa sauti Ungependa kubadilisha ishara? Hatua hii itarejesha ishara zote kwenye vitendo vyake chaguomsingi.\n\nUtapoteza mabadiliko yoyote ambayo umefanya. Badilisha Imebadisha mipangilio ya ishara. Tamka maelezo kuhusu aina ya vipengele - Kwa ajili ya vipengee vinavyoangaziwa + Aina ya kipengele hutamkwa kwa vipengee vilivyoangaziwa + Aina ya kipengele haitamkwi kwa vipengee vilivyoangaziwa Tamka vitambulisho vya vipengele - Kwa ajili ya vitufe visivyo na lebo - Madirisha ya mfumo wa kuzungumza - Unapobadilisha ili utumie madirisha mengine ya mfumo kama vile sehemu ya arifa, arifa au vidhibiti vya sauti + Vitambulisho vya vipengele havitamkwi katika vitufe visivyo na alama + Vitambulisho vya vipengele hutamkwa katika vitufe visivyo na alama Chunguza kwa kugusa Vidhibiti Gusa mara moja ili uanze kutumia Gusa mara moja kipengee kinacholengwa ili ukiwashe Maneno mengi - Tamka uakifishaji na ishara + Uakifishaji Weka Mapendeleo ya Kiashirio cha Kulenga Badilisha ishara ziwe utakavyo Lebo maalum @@ -203,7 +211,8 @@ Tumia mabadiliko ya sauti Mwangwi wa kibodi Mpangilio wa ufafanuzi wa vipengele - Tamka herufi zilizofutwa kwa sauti kali zaidi + Tamka \'kibodi imefuta maandishi kwa sauti kali zaidi\' + Usibadilishe sauti unapozungumza Kibodi ya nukta nundu Majibu kwa mtetemo Majibu yanayotamkwa @@ -211,6 +220,7 @@ Punguza sauti nyingine unapozungumza Sauti ya majibu yanayotamkwa Imesimamisha Talkback na kuendelea kutumia njia ya mkato + Ficha njia ya mkato ya skrini Mipangilio ya msanidi programu Chagua matukio ya kuhifadhi kwenye kumbukumbu Chuja kumbukumbu ya matukio ya zana za walio na matatizo ya kuona au kusikia @@ -256,7 +266,7 @@ Fungua menyu ya TalkBack Sitisha maoni Simamisha au uendeleze matamshi - Washa au uzime matamshi + Washa au uzime sauti ya Talkback Soma kutoka juu Soma kuanzia kipengee kinachofuata Chapisha utambuzi wa nguzo @@ -278,7 +288,6 @@ Shikilia kitufe cha njia ya mkato ya ufikivu Peleka ulengaji wa kusogeza mbele au upunguze kasi ya kidhibiti cha kusoma Rudisha ulengaji wa kusogeza nyuma au uongeze kasi ya kidhibiti cha kusoma - Washa kitendo ulichochagua sasa Tokeo la utafutaji Cheza au usimamishe maudhui Programu zote @@ -323,7 +332,7 @@ Kusoma Vipengele maalum Vingine - Huonyesha wakati vitendo vipo kwa ajili ya kipengee cha sasa, ikiwa ni pamoja na nakili, bandika, chagua na zaidi + Huonekana wakati kuna vitendo maalum kwenye kipengee cha sasa Nakili, bandika, chagua na zaidi. Huonekana unapochagua kisanduku cha maandishi. Fungua viungo katika kipengee kinachoangaziwa Nenda kwenye ukurasa unaofuata au uliotangulia. Huonekana unaposoma maudhui yenye kurasa nyingi. @@ -342,7 +351,6 @@ Fungua mipangilio ya kusoma maandishi kwa sauti Zima maoni yanayotamkwa ya TalkBack Huwezi kubadilisha - Tekeleza vitendo Soma herufi moja moja Soma neno moja moja Soma mstari mmoja mmoja @@ -365,7 +373,7 @@ Punguza kiwango cha sauti zingine zinazocheza wakati Talkback inazungumza Sogeza mbele au nyuma Ongeza au upunguze kiwango cha sauti ya Zana za ufikivu - Soma kwa sauti maandishi yaliyopachikwa kwenye picha uliyochagua + Pata maelezo otomatiki ya picha hii chini chini kisha kulia Telezesha kidole juu @@ -408,9 +416,7 @@ Gusa mara mbili na ushikilie ukitumia vidole viwili Gusa mara mbili na ushikilie ukitumia vidole vitatu Gusa mara mbili na ushikilie ukitumia vidole vinne - Gusa na ushikilie ukitumia vidole vitatu Gusa mara tatu na ushikilie kwa vidole viwili - Gusa mara tatu na ushikilie kwa vidole vitatu \"%1$s\" au %2$s\" ili urekebishe \"%1$s\" ili urekebishe Ishara isiyojulikana @@ -433,9 +439,8 @@ Skrini ikiwashwa Wakati skrini iliyofungwa inaonyeshwa Kutoka arifa pekee - Shikilia ili uchague kitufe chochote, kisha uguse mara mbili - Shikilia ili uchague herufi yoyote, kisha uinue. Gusa mara mbili ili upate vitufe vingine. - Shikilia ili uchague kitufe chochote, kisha uinue + Shikilia kidole ili uchague kitufe, kisha uguse mara mbili + Shikilia ili uchague kitufe, kisha uinue Kimezimwa Nguvu kidogo sana Mtikiso Mdogo @@ -485,6 +490,7 @@ Chagua programu itakayohamisha lebo: Toleo hili la TalkBack linajumuisha mabadiliko katika ishara chaguomsingi za ufikiaji. Vitendo vinavyohusiana na ishara hizi vinaweza kugeuzwa kukufaa katika mipangilio ya TalkBack. Wakati Kuchunguza kwa mguso kumewezeshwa, unaweza kutumia ishara zifuatazo kufanya vitendo vingine.\n\n%1$s Bonyeza na ushikilie kwa muda vitufe vya kuongeza sauti na kupunguza sauti kwa pamoja. + Bonyeza vitufe vyote viwili vya sauti mara tatu kwa haraka ili ufiche au uonyeshe skrini Ungependa kuficha skrini? Hatua hii huzima skrini ili kuboresha faragha, hivyo skrini yako haionekani kwa wengine unapokuwa katika maeneo ya umma Toleo hili la TalkBack linajumuisha mabadiliko ya ishara chaguomsingi za ufikivu.\n\nIshara ya juu kisha chini itakuruhusu kusogeza kipengee cha kwanza kwenye skrini, na ishara ya chini kisha juu itasogeza hadi kwenye kipengee cha mwisho.\n\nUmadhubuti wa kusoma sasa unaweza kubadilishwa kwa kulenga kipengee, kisha kuchagua umadhubuti kutoka kwenye menyu ya talkback.\n\nUnaweza kubadilisha hatua zinazotekelezwa kwa ishara hizi katika Mipangilio ya TalkBack. @@ -500,9 +506,6 @@ Je, una uhakika unataka kuwasha utatuzi wa mpangilio wa nguzo?\n\nUtatuzi wa mpangilio wa nguzo huonyesha maudhui ya skrini yako kwa kumbukumbu za kifaa chako, ambayo yanaweza kufikiwa na programu nyingine. Ungependa Kuwasha Takwimu za Utendaji? Una uhakika unataka kuwasha takwimu za utendaji?\n\nHuenda takwimu za utendaji zikatumia hifadhi na nishati zaidi. - Ungependa kuwasha kumbukumbu ya kipima maneno? - Kumbukumbu ya kipima maneno inaweza kusaidia katika utatuzi ila inaweza kusababisha taarifa binafsi zionekane katika akiba ya kumbukumbu kwenye mfumo.\n\n Je, ungependa kuwasha kumbukumbu ya kipima maneno? - Ndiyo, washa kumbukumbu ya kipima maneno Ungependa kuruhusu ufikiaji wa simu? Hatu hii husaidida TalkBack kupunguza matangazo unapowasiliana kwenye simu Endelea @@ -556,11 +559,9 @@ Sauti ya zana za ufikivu Rekebisha kitelezi Rekebisha kiasi - Vitendo Tamka manenosiri Manenosiri hutamkwa kila wakati Sauti na mtetemo - Mlio %1$s, yamenakiliwa Funga Funga kidirisha cha utafutaji @@ -595,15 +596,13 @@ %1$s ili usome kulingana na %2$s Ili utumie hali hii, nenda kwenye mipangilio ya TalkBack na uweke ishara ya \'%1$s\' Hujawasha kibodi ya Nukta nundu. Nenda kwenye mipangilio ya TalkBack, weka mipangilio ya kibodi ya Nukta nundu na ujaribu tena. - Mapendekezo yanapatikana - Mapendekezo yanapatikana Ili ufikie, %1$s Ukurasa wa %1$d kati ya %2$d Rudi nyuma Nenda mbele Funga Kamilisha Sogeza juu - Vipengele vipya kwenye TalkBack + Vipengele vipya katika TalkBack Ungependa kufunga mafunzo? Unaweza kuyarudia wakati wowote katika mipangilio ya TalkBack. Endelea na mafunzo @@ -647,14 +646,6 @@ Gusa ili upate maelezo kuhusu jinsi ya kutumia TalkBack haraka ukitumia ishara mpya. Mfumo wa data wa ngazi umechapishwa kwenye kumbukumbu. Hizi ni ishara zilizotekelezwa hivi majuzi, tafadhali ripoti ishara isiyo sahihi na ishara inayotarajiwa. - Utapata vidhibiti sauti vilivyorahisishwa, vidhibiti kitendo cha haraka na zaidi.\n\nUtapata maelezo kuhusu mabadiliko na masasisho muhimu katika skrini kadhaa zinazofuata. Hatua hii itachukua kama dakika tano.\n\nUnaweza kukagua maelezo haya kwenye mipangilio ya TalkBack wakati wowote. - Jinsi ya kubadilisha vidhibiti sauti - Kuboresha kidhibiti sauti, vitufe vya sauti havidhibiti tena kiteuzi cha maandishi au vitelezi.\n\nIli ubadilishe nafasi ya kitelezi, telezesha kidole juu au chini.\n\nIli ubadilishe sehemu kilipo kiteuzi cha maandishi telezesha kidole juu au chini kwenye kisanduku cha maandishi. Hatua hii inafanya kazi pia katika vidhibiti vya kusoma vya kibodi ya nukta nundu - Maandishi katika picha - Unaweza kupata kiotomatiki maelezo zaidi kuhusu maandishi katika picha au unapoyahitaji.\n\nKwa picha zisizo na lebo: TalkBack itasoma kiotomatiki maandishi yatakayoonekana.\n\nKwa picha zote: Fungua menyu ya TalkBack na uchague \"Fafanua maandishi katika picha\".\n\nPicha zitabaki kwenye kifaa chako na kamwe hazitumwi kwenda Google. Ikiwa inamaanisha kwamba unaweza kutumia vipengele hivi viwili bila kuwa na muunganisho wa intaneti. - Usogezaji kwenye dirisha - Unaweza kubadili kati ya sehemu tofauti kwenye skrini yako, kama sehemu ya taarifa, maudhui ya msingi na kibodi.\n\nIli utumie usogezaji wa dirisha, telezesha chini kwa vidole vinne. - Unaweza kubadili kati ya sehemu tofauti kwenye skrini yako, kama sehemu ya taarifa, maudhui ya msingi na kibodi.\n\nIli utumie usogezaji wa dirisha, telezesha kidole chini kisha telezesha juu. Endelea mpaka utakapochagua usogezaji wa dirisha. Kusogeza dirisha, telezesha kidole chini. Mafunzo Karibu kwenye TalkBack TalkBack ni kisoma skrini kinacholenga hali au watu walio na ugumu wa kuona skrini. Huwa inakupa maelezo yanayotamkwa ili uweze kutumia kifaa chako bila kuangalia skrini.\n\nUnaweza kuwasha au kuzima TalkBack kwa kushikilia vitufe vyote viwili vya sauti kwa sekunde kadhaa.\n\nWakati TalkBack imewashwa, kipengee kinachoangaziwa kwenye skrini hutamkwa kwa sauti.\n\nKutelezesha kidole kulia kutasogeza kwenye kipengee kinachofuata na kutelezesha kidole kushoto kutasogeza kwenye kipengee kilichotangulia.\n\nTelezesha kidole kulia sasa ili upate kitufe kinachofuata. @@ -697,14 +688,14 @@ Sogeza kidole chako kwenye kibodi. Ukisikia herufi unayotaka kuandika, inua kidole chako.\n\nJaribu kuanza kutumia kisanduku cha maandishi kilicho hapa chini na uandike jina lako. Unaweza pia kuandika ukitumia kibodi ya nukta nundu. Ipate katika mipangilio ya TalkBack. Kusogeza kiteuzi - Unapowezesha kisanduku cha maandishi, unaweza kusogeza kiteuzi kati ya herufi kwa kutelezesha kidole juu au chini.\n\nJaribu kwenye kisanduku cha maandishi hapo chini. + Baada ya kuanza kutumia kisanduku cha maandishi, unaweza kusogeza kiteuzi kati ya herufi kwa kubonyeza vitufe vya sauti vya juu au chini.\n\nIjaribu katika kisanduku cha maandishi kilicho hapa chini. Karibu kwenye TalkBack Kuchagua maandishi Katika kisanduku cha maandishi, sogeza kiteuzi mwanzoni mwa maandishi unayotaka kuchagua.\n\nGusa mara mbili na ushikilie ukitumia vidole viwili ili uanzishe hali ya kuchagua. Kisha sogeza kiteuzi mwishoni mwa maandishi. Gusa mara mbili na ushikilie ukitumia vidole viwili tena ili usimamishe hali ya kuchagua.\n\nJaribu kuchagua neno \"Karibu\" katika kisanduku cha maandishi kilicho hapa chini. - Katika kisanduku cha maandishi, sogeza kiteuzi kwenda mwanzoni mwa maandishi unayotaka kuchagua.\n\nTelezesha kidole chini kisha kulia ili ufungue menyu ya TalkBack. Gusa mara mbili kwenye vitendo kisha uanzishe hali ya kuchagua. Sogeza kiteuzi mwishoni mwa maandishi.\n\nFungua menyu ya TalkBack tena, kisha uguse mara mbili kwenye vitendo ili usimamishe hali ya kuchagua.\n\nJaribu kuchagua neno \"Karibu\" katika kisanduku cha maandishi kilicho hapa chini. + Katika kisanduku cha maandishi, sogeza kiteuzi mwanzoni mwa maandishi unayotaka kuchagua.\n\nTelezesha kidole chini kisha kulia ili ufungue menyu ya TalkBack. Gusa mara mbili kwenye chaguo za kubadilisha kisha uanzishe hali ya kuchagua. Sogeza kiteuzi mwishoni mwa maandishi.\n\nFungua menyu ya TalkBack tena, kisha uguse mara mbili kwenye chaguo za kubadilisha ili usimamishe hali ya kuchagua.\n\nJaribu kuchagua neno \"Karibu\" katika kisanduku cha maandishi kilicho hapa chini. Kunakili, kukata na kubandika - Baada ya kuchagua maandishi, gusa mara mbili vitendo kisha unakili.\n\nJaribu kunakili neno katika kisanduku cha maandishi hapo chini. - Ili ukate au ubandike maandishi, fungua menyu ya TalkBack na uguse mara mbili vitendo.\n\nIli ubandike maandishi, gusa mara tatu ukitumia vidole vitatu.\n\nJaribu kubandika neno katika kisanduku cha maandishi hapo chini. + Baada ya kuchagua maandishi, yanakili kwa kugusa mara mbili ukitumia vidole vitatu.\n\nJaribu kunakili neno katika kisanduku cha maandishi kilicho hapa chini. + Ili ukate maandishi, gusa mara mbili na ushikilie kwa vidole vitatu.\n\nIli ubandike maandishi, gusa mara tatu kwa vidole vitatu.\n\nJaribu kubandika neno katika kisanduku cha maandishi kilicho hapa chini. Baada ya kuchagua maandishi, unaweza kuyanakili katika menyu ya TalkBack. Telezesha kidole chini kisha kulia ili ufungue menyu ya TalkBack. Gusa mara mbili kwenye chaguo za kubadilisha kisha unakili.\n\nJaribu kunakili neno katika kisanduku cha maandishi kilicho hapa chini. Ili ukate au ubandike maandishi, fungua menyu ya TalkBack na uguse mara mbili kwenye chaguo za kubadilisha.\n\nJaribu kubandika neno katika kisanduku cha maandishi kilicho hapa chini. Bandika maandishi hapa @@ -747,7 +738,6 @@ Telezesha kidole kulia au kushoto ili usogeze kati ya vipengee Gusa mara mbili ili uwashe kipengee Buruta vidole viwili ili usogeze - Tafadhali angalia iwapo simu imeunganishwa. Mipaka minene Rangi Chaguomsingi @@ -759,12 +749,6 @@ Kijivu Utafiti umefungwa Maandishi: %1$s - Fafanua maandishi yaliyo kwenye picha - Imetambua aikoni: %1$s - Kitendo hakitumiki. - Hujachagua kitendo. - Tafadhali chagua kitendo kinachotumika. - Hamna vitendo. - Mipangilio ya vitendo haijawashwa. - Hakuna maandishi yaliyopatikana + Toa maelezo kuhusu picha + Aikoni ya Utabiri: %1$s diff --git a/talkback/src/main/res/values-ta/strings.xml b/talkback/src/main/res/values-ta/strings.xml index 0e6bf68e3..4fa23c7c1 100644 --- a/talkback/src/main/res/values-ta/strings.xml +++ b/talkback/src/main/res/values-ta/strings.xml @@ -7,7 +7,6 @@ \'உரையிலிருந்து பேச்சு\' அமைப்புகள் மொழிகள் பேசும் மொழி - செயல்கள் சிஸ்டத்தின் செயல்பாடுகள் பதிப்பு %1$s பிரத்தியேக லேபிள்களை நிர்வகி @@ -31,37 +30,46 @@ சாதனம் திறக்கப்பட்டது. ஆடியோ பேச்சு ஒலியளவு - திரை ஆஃப் ஆகியுள்ளபோது அறிவிப்புகளை படி - எப்போதும் பட்டியலில் உள்ளவற்றின் எண்ணிக்கையைப் படி - ஸ்க்ரோல் செய்யும் எல்லா விதங்களுக்கும், திரையில் உள்ளவற்றின் எண்ணிக்கையைப் படி + திரை முடக்கத்தில் இருக்கும்போது பேசு + திரை முடக்கப்பட்டிருக்கும்போது அறிவிப்புகள் கூறப்படுகின்றன + திரை முடக்கப்பட்டிருக்கும்போது எதுவும் பேசாது + திரையில் உள்ள பட்டியல் உருப்படிகளின் எண்ணிக்கையைப் படி + சைகையைப் பயன்படுத்தி மேலும் கீழும் செல்லும்போது மட்டும் படிக்கும் + எப்போதும் படிக்கும் பேச்சு வெளியீட்டை நிறுத்த \'அருகிலிருக்கும் பொருள் உணர்வியைப்\' பயன்படுத்து - எழுத்துகளை உதாரணங்களுடன் படி - கீபோர்டில் உள்ள எழுத்துகளைத் தேர்ந்தெடுக்கும்போது அல்லது அவற்றின் வழியாகக் கர்சரை நகர்த்திச் செல்லும்போது, ஒவ்வொரு எழுத்தையும் உதாரணத்துடன் படிக்கும் (உதாரணமாக, \"எச், ஹோட்டல்\") - நிறுத்தற்குறிகளையும் குறியீடுகளையும் படி + ஒலிப்புமுறை எழுத்துகளைப் படி + எழுத்துகளின் ஒலிப்புமுறையை வாசிக்காது + கீபோர்டின் விசைகளை நீண்ட நேரம் அழுத்தும் போதும் ஒவ்வொரு எழுத்துக்குச் செல்லும் போதும் எழுத்துகளின் ஒலிப்புமுறையை வாசிக்கும் + நிறுத்தற்குறிகள் + நிறுத்தற்குறிகளையும் குறியீடுகளையும் வாசிக்காது + நிறுத்தற்குறிகளையும் குறியீடுகளையும் வாசிக்கும் பேரெழுத்துகள் எதுவும் செய்ய வேண்டாம் “பேரெழுத்து” எனக் கூறு வாசிப்பின் வேகத்தை மாற்று ஒலியை இயக்கு பயன்பாட்டுக் குறிப்புகளைப் படி - திரையில் உள்ளதை விளக்கியபிறகு, அதை எப்படிப் பயன்படுத்த வேண்டும் என்று பரிந்துரைக்கும் - பட்டியலையும் கட்டத் தகவல்களையும் படி + அணுகல்தன்மை ஃபோகஸை நகர்த்தும் போது, உபயோகக் குறிப்புகளை வாசிக்காது + உலாவும் போது, உபயோகக் குறிப்புகளைச் சற்று தாமதமாக வாசிக்கும் + பட்டியல் மற்றும் கட்டத் தகவலைப் படி + பட்டியல் மற்றும் கட்டத் தகவலை வாசிக்கும் + பட்டியல் மற்றும் கட்டத் தகவலை வாசிக்காது சைகைகளை மீட்டமைக்கவா? இது சைகைகள் அனைத்தையும் அவற்றின் இயல்புச் செயல்களுக்கு மீட்டமைக்கும்.\n\nநீங்கள் ஏதேனும் மாற்றங்களைச் செய்திருந்தால் அவற்றை இழப்பீர்கள். மீட்டமை சைகை அமைப்புகள் மீட்டமைக்கப்பட்டன. உறுப்பின் வகையைப் படி - திரையில் கவனத்தில் உள்ளவற்றுக்கு + தேர்வு செய்தவற்றின் உறுப்பு வகையை வாசிக்கும் + தேர்வு செய்தவற்றின் உறுப்பு வகையை வாசிக்காது உறுப்பு ஐடிகளைப் படி - லேபிளிடப்படாத பட்டன்களுக்கு - சாளரங்களின் தலைப்புகளைக் கூறுதல் - நிலைப் பட்டி, அறிவிப்புகள், ஒலிக் கட்டுப்பாடுகள் போன்ற பிற சிஸ்டம் சாளரங்களுக்கு மாற்றும்போது அவற்றின் தலைப்புகளைக் கூறும் + பெயரற்ற பட்டன்களின் உறுப்பு ஐடிகளைப் படிக்காது + பெயரற்ற பட்டன்களின் உறுப்பு ஐடிகளைப் படிக்கும் தொடுவதன் மூலம் அறிக கட்டுப்பாடுகள் செயல்படுத்த ஒருமுறை தட்டவும் செயல்படுத்த, தேர்வுசெய்துள்ள விருப்பத்தை ஒருமுறை தட்டவும் மிகைச்சொற்கள் - நிறுத்தற்குறிகளையும் குறியீடுகளையும் படி + நிறுத்தற்குறிகள் ஃபோக்கஸ்இண்டிகேட்டரை பிரத்தியேகமாக்குதல் சைகைகளைப் பிரத்தியேகமாக்கு பிரத்தியேக லேபிள்கள் @@ -151,8 +159,8 @@ கீபோர்டு ஷார்ட்கட்களை நிர்வகி TalkBack அமைப்புகளைத் திற இணைய உலாவல் செயல்கள் - அடுத்த பட்டனுக்குச் செல்ல - முந்தைய பட்டனுக்குச் செல்ல + அடுத்த பொத்தானுக்குச் செல்ல + முந்தைய பொத்தானுக்குச் செல்ல அடுத்த கட்டுப்பாட்டிற்குச் செல்ல முந்தைய கட்டுப்பாட்டிற்குச் செல்ல அடுத்த செக்பாக்ஸிற்குச் செல்ல @@ -203,7 +211,8 @@ குரல் அழுத்த மாற்றங்களைப் பயன்படுத்தவும் கீபோர்டு எக்கோ உறுப்பின் விளக்க வரிசை - நீக்கிய எழுத்துகளை உரத்த குரலில் சொல்லும் + பயனர் நீக்கிய வார்த்தைகளை உரத்த குரலில் சொல்லும் + பேசும்போது குரல் அழுத்தத்தை மாற்ற வேண்டாம் பிரெய்ல் கீபோர்டு அதிர்வு அறிவிப்பு ஒலி அறிவிப்பு @@ -211,6 +220,7 @@ பேசும்போது வேறு சத்தங்களைக் குறை ஒலி அறிவிப்பின் ஒலியளவு TalkBackஐ இடைநிறுத்துவதற்கான/மீண்டும் துவங்குவதற்கான ஷார்ட்கட் + ஷார்ட்கட் திரையை மங்கலாக்கு டெவெலப்பர் அமைப்புகள் பதிவு செய்ய வேண்டிய நிகழ்வுகளைத் தேர்ந்தெடுக்கவும் வடிப்பான் அணுகல் உள்ள நிகழ்வைப் பதிவுசெய்தல் @@ -256,7 +266,7 @@ TalkBack மெனுவைத் திற அறிவிப்பை இடைநிறுத்து பேச்சுவடிவ அறிவிப்புகளை இடைநிறுத்து/தொடங்கு - பேச்சு அம்சத்தை இயக்குதல் அல்லது முடக்குதல் + TalkBack ஒலியை ஆன்/ஆஃப் செய் மேலிருந்து படி அடுத்த உருப்படியிலிருந்து படி நோடு ட்ரீயை அச்சிடு @@ -278,7 +288,6 @@ அணுகல்தன்மை ஷார்ட்கட்டை அழுத்திப் பிடி வழிசெலுத்தல் மையப்பகுதியை முன்னோக்கி நகர்த்தும் அல்லது வாசிப்புக் கட்டுப்பாட்டைக் கீழ்நோக்கி நகர்த்தும் வழிசெலுத்தல் மையப் பகுதியைப் பின் நகர்த்தும் அல்லது வாசிப்புக் கட்டுப்பாட்டை மேல்நோக்கி நகர்த்தும் - தற்போது தேர்ந்தெடுக்கப்பட்ட செயலைச் செயல்படுத்து தேடல் முடிவு மீடியாவை இயக்கு அல்லது இடைநிறுத்து அனைத்து ஆப்ஸும் @@ -323,7 +332,7 @@ வாசித்தல் சிறப்பு அம்சங்கள் மற்றவை - தற்போது தேர்ந்தெடுத்த உரைக்கு (நகலெடுத்தல், ஒட்டுதல், தேர்ந்தெடுத்தல் மற்றும் பல உட்பட) செயல்கள் இருந்தால் இந்த மெனுவைக் காட்டும் + தற்போது தேர்ந்தெடுத்த உரைக்குப் பிரத்தியேகமான செயல்கள் இருந்தால் இந்த மெனுவைக் காட்டும் நகலெடுத்தல், ஒட்டுதல், தேர்ந்தெடுத்தல் மற்றும் பல. உரைப் பெட்டியைத் தேர்ந்தெடுத்தால் இந்த மெனுவைக் காட்டும். தேர்ந்தெடுக்கப்பட்ட உரையில் உள்ள இணைப்புகளைத் திறக்கும் அடுத்த / முந்தைய பக்கத்திற்குச் செல்லும். பல பக்கங்களைக் கொண்ட உள்ளடக்கத்தை வாசிக்கும் போது இந்த மெனுவைக் காட்டும். @@ -342,7 +351,6 @@ \'உரையிலிருந்து பேச்சு\' அமைப்புகளைத் திறக்கும் TalkBack பேச்சுவடிவ விளக்கத்தை முடக்கும் இதை மாற்ற முடியாது - செயல்களைச் செய்யலாம் ஒரு நேரத்தில் ஓர் எழுத்தை மட்டும் வாசிக்கும் ஒரு நேரத்தில் ஒரு சொல்லை மட்டும் வாசிக்கும் ஒரு நேரத்தில் ஒரு வரியை மட்டும் வாசிக்கும் @@ -365,7 +373,7 @@ TalkBack பேசும்போது பிற ஆடியோவின் ஒலியளவைக் குறைக்கும் முன்னோக்கியோ பின்னோக்கியோ நகர்த்தும் அணுகல்தன்மைக்கான ஒலியளவை அதிகரிக்கவோ குறைக்கவோ செய்யலாம் - தேர்ந்தெடுக்கப்பட்ட படத்திலுள்ள உட்பொதிக்கப்பட்ட உரையைப் படிக்கும் + இந்தப் படத்திற்கான தானியங்கு விளக்கத்தைப் பெறலாம் கீழே முதலில் கீழாகப் பிறகு வலதுபுறமாக மேல்நோக்கி ஸ்வைப் செய்தல் @@ -408,9 +416,7 @@ 2 விரல்களால் இருமுறை தட்டிப் பிடித்தல் 3 விரல்களால் இருமுறை தட்டிப் பிடித்தல் 4 விரல்களால் இருமுறை தட்டிப் பிடித்தல் - 3 விரல்களால் தட்டிப் பிடித்தல் 2 விரல்களால் மும்முறை தட்டிப் பிடித்தல் - 3 விரல்களால் மும்முறை தட்டிப் பிடிக்கவும் சரிசெய்ய, \"%1$s\" அல்லது \"%2$s\" செய்யவும் சரிசெய்ய \"%1$s\" செய்யவும் அறியப்படாத சைகை @@ -433,9 +439,8 @@ திரை இயக்கப்படும்போது லாக் ஸ்கிரீன் காட்டப்படும்போது அறிவிப்புகளில் இருந்து மட்டுமே - எந்த பட்டனையும் தேர்ந்தெடுக்க, விரலால் அழுத்திப் பிடித்து பின்னர் இருமுறை தட்டவும் - எழுத்து பட்டனைத் தேர்ந்தெடுக்க, விரலால் அழுத்திப் பிடித்து பின்னர் விரலை எடுக்கவும். பிற பட்டன்களுக்கு இருமுறை தட்டவும். - எந்த பட்டனையும் தேர்ந்தெடுக்க, விரலால் அழுத்திப் பிடித்து பின்னர் விரலை எடுக்கவும் + பட்டனைத் தேர்வு செய்ய, விரலால் அழுத்திப் பிடித்து பின்னர் இருமுறை தட்டவும் + பட்டனைத் தேர்வு செய்ய, விரலால் அழுத்திப் பிடித்து பின்னர் விரலை எடுக்கவும் முடக்கப்பட்டது மிகக் குறைவாக குறைவாக @@ -485,6 +490,7 @@ லேபிள்களை ஏற்ற, பயன்பாட்டைத் தேர்ந்தெடுக்கவும்: TalkBack இன் இந்தப் பதிப்பில், இயல்புநிலை அணுகல்தன்மை சைகைகளுக்கான மாற்றங்கள் அடங்கியுள்ளன. TalkBack அமைப்புகளிலேயே, இந்த சைகைகளுடன் தொடர்புடைய செயல்களைத் தனிப்பயனாக்கலாம். தொடுவதன் மூலம் அறிக அம்சம் இயக்கப்பட்டிருக்கும்போது, நீங்கள் குறிப்பிட்ட செயல்களைச் செய்ய பின்வரும் சைகைகளைப் பயன்படுத்தலாம்.\n\n%1$s ஒலியளவு குறைக்க அதிகரிக்க ஒலி பட்டனை நீண்டநேரம் அழுத்து + திரையை மங்கலாக்கவோ பிரகாசமாக்கவோ இரு ஒலியளவு விசைகளையும் மூன்று முறை வேகமாக அழுத்தவும் திரையை மங்கலாக்கவா? தனிமையாக இருப்பதை மேம்படுத்தும் வகையில் இது திரையை அணைக்கிறது, எனவே பொது இடங்களில் இருக்கும்போது மற்றவர்கள் உங்கள் திரையைப் பார்க்க முடியாது TalkBackகின் இந்தப் பதிப்பில் இயல்புநிலை அணுகல்தன்மை சைகைகள் மாற்றப்பட்டுள்ளன.\n\nமேல்நோக்கி ஸ்வைப் செய்துவிட்டு கீழ்நோக்கி ஸ்வைப் செய்யும் சைகை திரையில் உள்ள முதல் உரைக்குச் செல்ல உதவும், கீழ்நோக்கி ஸ்வைப் செய்துவிட்டு மேல்நோக்கி ஸ்வைப் செய்யும் சைகை திரையின் கடைசி உரைக்குச் செல்ல உதவும்.\n\nஒரு உரையைத் தேர்ந்தெடுத்தபிறகு TalkBack சூழல் மெனுவிற்குச் சென்று படிக்கும்தன்மையை மாற்றிக் கொள்ளலாம்.\n\nTalkBack அமைப்புகளில் இந்தச் சைகைகள் செய்யும் செயல்களை நீங்கள் மாற்றிக் கொள்ளலாம். @@ -500,9 +506,6 @@ நோடு ட்ரீ பிழைதிருத்தத்தை நிச்சயமாக இயக்க விரும்புகிறீர்களா?\n\nநோடு ட்ரீ பிழைதிருத்தம் உங்கள் திரையின் உள்ளடக்கத்தை, உங்கள் சாதனத்தின் பதிவுகளில் சேர்க்கும், இதனைப் பிற ஆப்ஸ் படிக்கக்கூடும். செயல்திறன் புள்ளிவிவரங்களை இயக்கவா? செயல்திறன் புள்ளிவிவரங்களை நிச்சயமாக இயக்க விரும்புகிறீர்களா?\n\nசெயல்திறன் புள்ளிவிவரங்கள் அதிக நினைவகத்தையும் ஆற்றலையும் பயன்படுத்தக்கூடும். - வெர்போஸ் உள்நுழைவை இயக்கவா? - வெர்போஸ் உள்நுழைவு பிழைதிருத்தத்திற்கு உதவலாம் ஆனால் சிஸ்டம் உள்நுழைவு இடையகத்தில் தனிப்பட்ட தகவல்கள் காட்டப்படுவதற்குக் காரணமாக இருக்கக்கூடும்.\n\n வெர்போஸ் உள்நுழைவை இயக்க விரும்புகிறீர்களா? - ஆம், வெர்போஸ் உள்நுழைவை இயக்கு மொபைல் அணுகலை அனுமதிக்கவா? நீங்கள் அழைப்பில் இருக்கும்போது அறிவிப்புகளைக் குறைத்துக்கொள்ள TalkBackக்கிற்கு இது உதவுகிறது தொடர்க @@ -541,7 +544,7 @@ %1$s தொடங்கியது %1$s நிறுத்தப்பட்டது ஸ்லைடர் பயன்முறை - மதிப்பை மாற்றுவதற்கு, அம்புக்குறி பட்டன்களை அழுத்தவும் அல்லது முடிப்பதற்கு, \"தேர்ந்தெடு\" என்பதை அழுத்தவும். + மதிப்பை மாற்றுவதற்கு, அம்புக்குறி பொத்தான்களை அழுத்தவும் அல்லது முடிப்பதற்கு, \"தேர்ந்தெடு\" என்பதை அழுத்தவும். பயன்பாட்டுச் சாளரம் TalkBack ஆன் செய்யப்பட்டுள்ளது வழிசெலுத்த, தேடல் விசையையும் அம்புக்குறி விசைகளையும் அழுத்தவும் @@ -556,11 +559,9 @@ அணுகல்தன்மைக்கான ஒலியளவு ஸ்லைடரைச் சரிசெய்க மதிப்பைச் சரிசெய்க - செயல்கள் கடவுச்சொற்களைப் படி கடவுச்சொற்களை எப்போதுமே படிக்கும் ஒலியும் அதிர்வும் - ஒலி %1$s நகலெடுக்கப்பட்டது மூடுக தேடலை மூடுக @@ -595,15 +596,13 @@ %2$s மூலம் படிக்க %1$s இதைப் பயன்படுத்த TalkBack அமைப்புகளுக்குச் சென்று \'%1$s\'க்கு ஒரு சைகையைச் சேர்க்கவும் பிரெய்ல் கீபோர்டு ஆன் செய்யப்படவில்லை. TalkBack அமைப்புகளில் அதை அமைத்த பிறகு முயலவும். - பரிந்துரைகள் உள்ளன - பரிந்துரைகள் உள்ளன. அவற்றைப் பார்க்க, %1$s பக்கம்: %1$d/%2$d முந்தையது அடுத்து மூடுக நிறைவுசெய் மேலே நகர்த்தும் - TalkBackகின் புதிய அம்சங்கள் + TalkBackகின் புதிய அம்சங்கள் பயிற்சியை மூடவா? TalkBack அமைப்புகளுக்குச் சென்று எப்போது வேண்டுமானாலும் இதைப் பார்த்துக் கொள்ளலாம். பயிற்சியிலேயே இரு @@ -647,14 +646,6 @@ புதிய சைகைகளுடன் TalkBackகை எப்படி விரைவாகப் பயன்படுத்துவது என்பதை அறிய தட்டுங்கள். பதிவுகளில் நோடு ட்ரீ அச்சிடப்பட்டுள்ளது. சமீபத்தில் பயன்படுத்திய சில சைகைகள் இங்கே உள்ளன, எந்தச் சைகை தவறானது, எது சரியாக இருக்கும் போன்றவற்றைக் குறித்துப் புகாரளியுங்கள். - எளிதாக்கப்பட்ட ஒலியளவுக் கட்டுப்பாடுகள், விரைவுச் செயல்பாட்டுக் கட்டுப்பாடுகள் மற்றும் பலவற்றைப் பெறுவீர்கள்.\n\nஅடுத்து வரும் சில திரைகளில், முக்கியமான புதுப்பிப்புகளையும் மாற்றங்களையும் குறித்து அறிவீர்கள். இதற்குச் சுமார் 5 நிமிடங்கள் எடுக்கும்.\n\nஇந்தத் தகவல்களை எப்போது வேண்டுமானாலும் TalkBack அமைப்புகளில் நீங்கள் பார்க்கலாம். - ஒலியளவுக் கட்டுப்பாட்டில் செய்யப்பட்டுள்ள மாற்றங்கள் - உரை-கர்சர்களையோ ஸ்லைடர்களையோ கட்டுப்படுத்த இனி ஒலியளவு விசைகளைப் பயன்படுத்த முடியாது. ஒலியளவுக் கட்டுப்பாட்டை மேம்படுத்த இந்த மாற்றம் செய்யப்பட்டுள்ளது.\n\nஸ்லைடரின் நிலையை மாற்ற, மேல்நோக்கியோ கீழ்நோக்கியோ ஸ்வைப் செய்யவும்.\n\nஉரை-கர்சரின் நிலையை மாற்ற வாக்கியப் பெட்டியில் மேல்நோக்கியோ கீழ்நோக்கியோ ஸ்வைப் செய்யவும். பிரெய்ல் கீபோர்டிலுள்ள வாசிப்புக் கட்டுப்பாடுகளிலும் இவ்வாறு செய்யலாம். - படங்களிலுள்ள வார்த்தைகள் - படங்களிலுள்ள வார்த்தைகள் பற்றிய கூடுதல் தகவல்களைத் தானாகவோ உங்களுக்குத் தேவைப்படும்போதோ பெறுவீர்கள்.\n\nலேபிள் இல்லாத படங்களுக்கு: படங்களிலுள்ள வார்த்தைகளை TalkBack அம்சம் தானாகவே படித்துக் காட்டும்.\n\nஅனைத்துப் படங்களுக்கும்: TalkBack மெனுவைத் திறந்து \"படத்திலுள்ள உரையை விவரி\" என்பதைத் தேர்ந்தெடுக்கவும்.\n\nபடங்கள் உங்கள் சாதனத்திலேயே இருக்கும், ஒருபோதும் Googleளுக்கு அனுப்பப்படாது. இந்த இரண்டு அம்சங்களையுமே இணைய இணைப்பு இல்லாமல் பயன்படுத்தலாம் என்பதே இதன் அர்த்தமாகும். - சாளர வழிசெலுத்தல் - உங்கள் திரையில் உள்ள அறிவிப்புப் பட்டி, முதன்மை உள்ளடக்கம், கீபோர்டு போன்ற பல்வேறு பிரிவுகளுக்கிடையே நீங்கள் மாறலாம்.\n\nசாளர வழிசெலுத்தல் அம்சத்தைப் பயன்படுத்த, நான்கு விரல்களால் கீழ்நோக்கி ஸ்வைப் செய்யவும். - உங்கள் திரையில் உள்ள அறிவிப்பு பட்டி, முதன்மை உள்ளடக்கம், கீபோர்டு போன்ற பல்வேறு பிரிவுகளுக்கிடையே நீங்கள் மாறலாம்.\n\nசாளர வழிசெலுத்தல் அம்சத்தைப் பயன்படுத்த, கீழ்நோக்கியும் அதன் பிறகு மேல்நோக்கியும் ஸ்வைப் செய்யவும். சாளர வழிசெலுத்தல் தேர்ந்தெடுக்கப்படும் வரை தொடர்ந்து இவ்வாறு செய்யவும். சாளரத்திற்குச் செல்ல, கீழ்நோக்கி ஸ்வைப் செய்யவும். பயிற்சி TalkBack அம்சத்திற்கு வரவேற்கிறோம் TalkBack என்பது திரையைப் பார்க்க முடியாத சூழ்நிலைகளுக்காக/பயனர்களுக்காக வடிவமைக்கப்பட்ட ஸ்கிரீன் ரீடர் ஆகும். உங்கள் சாதனத்தின் திரையைப் பார்க்காமலேயே பயன்படுத்துவதற்குப் பேச்சுவடிவ விளக்கத்தைக் கொடுக்கும்.\n\nஒலியளவு விசைகள் இரண்டையும் சில விநாடிகள் அழுத்திப் பிடித்திருப்பதன் மூலம் TalkBackகை ஆன்/ஆஃப் செய்யலாம்.\n\nTalkBack ஆனில் இருக்கும்போது நீங்கள் திரையில் மையப்படுத்துவது சத்தமாக வாசிக்கப்படும்.\n\nவலதுபுறம் ஸ்வைப் செய்தால் அடுத்ததற்கும் இடதுபுறம் ஸ்வைப் செய்தால் முந்தையதற்கும் செல்லும்.\n\n\'அடுத்து\' பட்டனைக் கண்டறிய இப்போதே வலதுபுறம் ஸ்வைப் செய்யுங்கள். @@ -697,14 +688,14 @@ கீபோர்டில் உங்கள் விரலை நகர்த்துங்கள். நீங்கள் உள்ளிட விரும்பும் எழுத்தைக் கேட்டவுடன் விரலை எடுங்கள்.\n\nகீழுள்ள உரைப் பெட்டியை இயக்கி உங்கள் பெயரை உள்ளிட்டுப் பாருங்கள். பிரெய்ல் கீபோர்டைப் பயன்படுத்தியும் உள்ளிடலாம். இதை TalkBack அமைப்புகளில் கண்டறியலாம். கர்சரை நகர்த்துதல் - வாக்கியப் பெட்டியை இயக்கிய பிறகு, மேல்நோக்கியோ கீழ்நோக்கியோ ஸ்வைப் செய்து கர்சரை நகர்த்தலாம்.\n\nகீழுள்ள வாக்கியப் பெட்டியில் இதைச் செய்து பாருங்கள். + உரைப் பெட்டியை இயக்கியபிறகு, ஒலியளவு விசைகளை மேலே அல்லது கீழே அழுத்துவதன் மூலம் எழுத்துகளுக்கு இடையே கர்சரை நகர்த்த முடியும்.\n\nகீழுள்ள உரைப் பெட்டியில் இதைச் செய்து பாருங்கள். TalkBack அம்சத்திற்கு வரவேற்கிறோம் உரையைத் தேர்ந்தெடுத்தல் உரைப் பெட்டியில், நீங்கள் தேர்ந்தெடுக்க விரும்பும் உரையின் தொடக்கத்திற்குக் கர்சரை நகர்த்துங்கள்.\n\nதேர்வுப் பயன்முறையைத் தொடங்க, 2 விரல்களால் இருமுறை தட்டிப் பிடியுங்கள். பிறகு உரையின் இறுதிவரை கர்சரை நகர்த்துங்கள். தேர்வுப் பயன்முறையை நிறைவுசெய்ய, மீண்டும் 2 விரல்களால் இருமுறை தட்டிப் பிடியுங்கள்.\n\nகீழுள்ள உரைப் பெட்டியில் \"Welcome\" என்ற சொல்லைத் தேர்ந்தெடுத்துப் பாருங்கள். - வாக்கியப் பெட்டியில், நீங்கள் தேர்ந்தெடுக்க விரும்பும் வார்த்தையின் தொடக்கத்திற்குக் கர்சரை நகர்த்தவும்.\n\nTalkBack மெனுவைத் திறக்க, கீழ்நோக்கி ஸ்வைப் செய்து வலதுபுறமாக ஸ்வைப் செய்யவும். செயல்களை இருமுறை தட்டவும். பிறகு தேர்வுப் பயன்முறையைத் தொடங்கவும். வார்த்தையின் இறுதிக்குக் கர்சரை நகர்த்தவும்.\n\nதேர்வுப் பயன்முறையை நிறைவுசெய்ய, TalkBack மெனுவை மீண்டும் திறந்து செயல்களை இருமுறை தட்டவும்.\n\nகீழுள்ள வாக்கியப் பெட்டியில் \"வெல்கம்\" என்ற சொல்லைத் தேர்ந்தெடுக்கவும். + உரைப் பெட்டியில், நீங்கள் தேர்ந்தெடுக்க விரும்பும் உரையின் தொடக்கத்திற்குக் கர்சரை நகர்த்துங்கள்.\n\nTalkBack மெனுவைத் திறக்க, கீழ்நோக்கி ஸ்வைப் செய்துவிட்டு வலதுபுறமாக ஸ்வைப் செய்யுங்கள். \'திருத்துதல்\' விருப்பங்களை இருமுறை தட்டி தேர்வுப் பயன்முறையைத் தொடங்குங்கள். உரையின் இறுதிவரை கர்சரை நகர்த்துங்கள்.\n\nதேர்வுப் பயன்முறையை நிறைவுசெய்ய, TalkBack மெனுவை மீண்டும் திறந்து \'திருத்துதல்\' விருப்பங்களை இருமுறை தட்டுங்கள்.\n\nகீழுள்ள உரைப் பெட்டியில் \"Welcome\" என்ற சொல்லைத் தேர்ந்தெடுத்துப் பாருங்கள். நகலெடுத்தல், வெட்டுதல் & ஒட்டுதல் - சொல்லைத் தேர்ந்தெடுத்த பிறகு, செயல்களை இருமுறை தட்டி நகலெடுக்கவும்.\n\nகீழுள்ள வாக்கியப் பெட்டியில் ஒரு சொல்லை நகலெடுத்துப் பாருங்கள். - சொல்லை வெட்டவோ ஒட்டவோ TalkBack மெனுவைத் திறந்து செயல்களை இருமுறை தட்டவும்.\n\nசொல்லை ஒட்ட மூன்று விரல்களால் மூன்று முறை தட்டவும்.\n\nகீழுள்ள வாக்கியப் பெட்டியில் ஒரு சொல்லை ஒட்டிப் பாருங்கள். + உரையைத் தேர்ந்தெடுத்த பிறகு 3 விரல்களால் இருமுறை தட்டுவதன் மூலம் அதை நகலெடுங்கள்.\n\nகீழுள்ள உரைப் பெட்டியில் ஒரு சொல்லை நகலெடுத்துப் பாருங்கள். + உரையை வெட்ட, 3 விரல்களால் இருமுறை தட்டிப் பிடியுங்கள்.\n\nஉரையை ஒட்ட, 3 விரல்களால் மூன்று முறை தட்டுங்கள்.\n\nகீழுள்ள உரைப் பெட்டியில் ஒரு சொல்லை ஒட்டிப் பாருங்கள். உரையைத் தேர்ந்தெடுத்த பிறகு TalkBack மெனுவில் அதை நகலெடுக்க முடியும். TalkBack மெனுவைத் திறக்க, கீழ்நோக்கி ஸ்வைப் செய்துவிட்டு வலதுபுறமாக ஸ்வைப் செய்யுங்கள். ’திருத்துதல்’ விருப்பங்களை இருமுறை தட்டி நகலெடுங்கள்.\n\nகீழுள்ள உரைப் பெட்டியில் ஒரு சொல்லை நகலெடுத்துப் பாருங்கள். உரையை வெட்டவோ ஒட்டவோ, TalkBack மெனுவைத் திறந்து ’திருத்துதல்’ விருப்பங்களை இருமுறை தட்டுங்கள்.\n\nகீழுள்ள உரைப் பெட்டியில் ஒரு சொல்லை ஒட்டிப் பாருங்கள். உரையை இங்கே ஒட்டுங்கள் @@ -747,7 +738,6 @@ பொருட்களுக்கு இடையே நகர, வலதுபுறமாகவோ இடதுபுறமாகவோ ஸ்வைப் செய்யவும் பொருளைச் செயல்படுத்த இருமுறை தட்டவும் நகர்த்த 2 விரல்களால் இழுக்கவும் - மொபைல் இணைக்கப்பட்டுள்ளதா எனச் சரிபார்க்கவும். தடித்த பார்டர்கள் நிறம் இயல்பு @@ -759,12 +749,6 @@ சாம்பல் கருத்துக்கணிப்பு முடிந்தது உரை: %1$s - படத்திலுள்ள உரையை விவரித்தல் - கண்டறியப்பட்ட ஐகான்: %1$s - செயல் ஆதரிக்கப்படவில்லை. - எந்தச் செயலும் தேர்ந்தெடுக்கப்படவில்லை. - ஆதரிக்கப்படும் செயல் ஒன்றைத் தேர்ந்தெடுக்கவும். - செயல்கள் எதுவுமில்லை. - செயல்கள் அமைப்பு இயக்கப்படவில்லை. - உரை எதுவும் இல்லை + படத்தை விளக்கு + கணிக்கப்பட்ட ஐகான்: %1$s diff --git a/talkback/src/main/res/values-te/strings.xml b/talkback/src/main/res/values-te/strings.xml index 3a1b9d68a..16354fdf5 100644 --- a/talkback/src/main/res/values-te/strings.xml +++ b/talkback/src/main/res/values-te/strings.xml @@ -7,16 +7,15 @@ టెక్ట్స్-టు-స్పీచ్ సెట్టింగ్‌లు భాషలు మాట్లాడే భాష - చర్యలు సిస్టమ్ చర్యలు వెర్షన్ %1$s అనుకూల లేబుళ్లను నిర్వహించండి %1$s కోసం లేబుళ్లను నిర్వహించండి లేబుల్‌ను మేనేజ్ చేయండి ప్రస్తుతం అనుకూల లేబుళ్లు లేవు. ఏదైనా లేబుల్ చేయని ఇమేజ్‌కు నావిగేట్ చేసి, ఆపై TalkBack మెనూ నుండి ఒక లేబుల్‌ను జోడించడం ద్వారా మీరు ఒక అనుకూల లేబుల్‌ను క్రియేట్ చేయవచ్చు. - చివరిగా ఎడిట్ చేసినది %1$s + చివరిగా సవరించినది %1$s వెతకండి: %1$s - సెర్చ్ రద్దు చేయబడింది. + శోధన రద్దు చేయబడింది. ప్రారంభమైంది ఆపివేయబడింది వచనం ఏదీ ఎంచుకోబడలేదు @@ -31,37 +30,46 @@ పరికరం అన్‌లాక్ చేయబడింది. ఆడియో ప్రసంగ వాల్యూమ్ - స్క్రీన్ ఆఫ్ ఉంటే నోటిఫికేషన్స్ చెప్పాలి - లిస్ట్ ఐటెమ్‌ల సంఖ్యను ఎల్లప్పుడూ బయటకు చెప్పాలి - అన్ని స్క్రోలింగ్ పద్దతుల సంఖ్యను చెప్పాలి + స్క్రీన్ ఆఫ్‌లో ఉన్నప్పుడు చదివి వినిపించు + స్క్రీన్ ఆఫ్‌లో ఉన్నప్పుడు నోటిఫికేషన్‌లు చదివి వినిపించబడతాయి + స్క్రీన్ ఆఫ్‌లో ఉన్నప్పుడు ఎటువంటి ప్రసంగం జరగదు + స్క్రీన్‌పై ఉన్న లిస్ట్‌ అంశాల సంఖ్యను వినిపిస్తుంది + సంజ్ఞతో స్క్రోల్ చేస్తున్నప్పుడు మాత్రమే వినిపిస్తుంది + ఎల్లప్పుడూ వినిపిస్తుంది ప్రసంగాన్ని ఆపడానికి సామీప్య సెన్సార్‌ను కవర్ చేయండి - అక్షరాలను ఉదాహరణలతో చెప్పాలి - మీరు కీబోర్డ్ కీలను ఎంచుకున్నప్పుడు లేదా క్యారెక్టర్ ఆధారంగా నావిగేట్ చేసినప్పుడు, మీకు ప్రతి ఒక అక్షరానికి ఒక్కో ఉదాహరణ వినిపిస్తుంది, ఉదాహరణకు \"h, హోటల్\" - విరామ చిహ్నాలను, గుర్తులను చెప్పాలి + ఫొనెటిక్ అక్షరాలు చదివి వినిపించు + ఫొనెటిక్ అక్షరాలు చదివి వినిపించబడవు + కీబోర్డ్ కీలపై ఎక్కువ సేపు నొక్కి, అక్షరం తర్వాత అక్షరం క్రమంలో నావిగేట్ చేసినప్పుడు ఫొనెటిక్ అక్షరాలు చదివి వినిపించబడతాయి + విరామ చిహ్నం + విరామ చిహ్నం, గుర్తులను పలకదు + విరామ చిహ్నం, గుర్తులను పలుకుతుంది క్యాపిటల్ లెటర్స్ ఏమీ చేయవద్దు “క్యాపిటల్” అని చెప్పండి పిచ్‌ను మార్చండి శబ్దాన్ని ప్లే చేయండి వినియోగ సూచనలు చదివి వినిపించు - కంటెంట్ గురించి వివరించాక, ఎలా ఉపయోగించాలో సూచించాలి - లిస్ట్, గ్రిడ్ సమాచారాన్ని చెప్పాలి + యాక్సెస్ సామర్థ్యం దృష్టిని జరుపుతున్నప్పుడు వినియోగ సూచనలు చదివి వినిపించబడవు + నావిగేషన్ జరుగుతున్నప్పుడు వినియోగ సూచనలు చదివి వినిపించబడతాయి, చిన్న విరామం తర్వాత + లిస్ట్‌ మరియు గ్రిడ్ సమాచారాన్ని చదువు + లిస్ట్‌ మరియు గ్రిడ్ సమాచారం చదివి వినిపించబడుతుంది + లిస్ట్‌ మరియు గ్రిడ్ సమాచారం చదివి వినిపించబడదు సంజ్ఞలను రీసెట్ చేయాలా? ఇది అన్ని సంజ్ఞలను వాటి ఆటోమేటిక్ సెట్టింగ్‌లకు రీసెట్ చేస్తుంది.\n\nమీరు ఏవైనా మార్పులు చేస్తే వాటిని కోల్పోతారు. రీసెట్ చేయి సంజ్ఞ సెట్టింగ్‌లు రీసెట్ చేయబడ్డాయి. మూలక రకాన్ని చదివి వినిపించు - ఫోకస్ చేయబడిన ఐటెమ్‌ల కోసం + కేంద్రీకరించిన అంశాల కోసం మూలకం రకం చదవబడుతుంది + కేంద్రీకరించిన అంశాల కోసం మూలకం రకం చదవబడదు మూలకం IDలను చదివి వినిపించేలా చేయండి - లేబుల్ చేయబడని బటన్‌ల కోసం - మాట్లాడే సిస్టమ్ విండోలు - మీరు స్టేటస్ బార్, నోటిఫికేషన్‌లు లేదా వాల్యూమ్ కంట్రోల్స్ వంటివి ఇతర సిస్టమ్ విండోలకు మారినప్పుడు + మూలకం IDలు లేబుల్ చేయని బటన్‌ల కోసం చదివి వినిపించలేదు + మూలకం IDలు లేబుల్ చేయని బటన్‌ల కోసం చదివి వినిపించాయి తాకడం ద్వారా పరిశీలించడం కంట్రోల్‌లు యాక్టివేట్ చేయడానికి ఒకసారి ట్యాప్ చేయండి యాక్టివేట్ చేయడానికి ఫోకస్ చేసిన ఐటెమ్‌పై ఒకసారి ట్యాప్ చేయండి వివరణాత్మకంగా చదవడం - విరామ చిహ్నాలను, గుర్తులను చెప్పాలి + విరామ చిహ్నం ఫోకస్ సూచీని అనుకూలీకరించండి సంజ్ఞలను అనుకూలంగా మార్చండి అనుకూల లేబుళ్లు @@ -144,7 +152,7 @@ ఇతర చర్యలు ఎగువ నుండి చదువు తర్వాతి ఐటెమ్ నుండి చదువు - ఏదైనా ఒక ఐటెమ్ కోసం స్క్రీన్‌లో సెర్చ్ చేయండి + స్క్రీన్‌లో అంశం కోసం వెతుకు TalkBack మెనూను చూపించు చర్యలను చూపించు ఇన్‌స్టాల్ చేసిన భాషలు చూపించు @@ -159,8 +167,8 @@ మునుపటి తనిఖీ పెట్టెకు నావిగేట్ చేయి తర్వాత ARIA విభాగానికి నావిగేట్ చేయి మునుపటి ARIA విభాగానికి నావిగేట్ చేయి - తర్వాతి ఎడిట్ ఫీల్డ్‌కు నావిగేట్ చేయండి - మునుపటి ఎడిట్ ఫీల్డ్‌కు నావిగేట్ చేయండి + తర్వాత సవరణ ఫీల్డ్‌కు నావిగేట్ చేయి + మునుపటి సవరణ ఫీల్డ్‌కు నావిగేట్ చేయి తర్వాత దృష్టి పెట్టదగిన అంశానికి నావిగేట్ చేయి మునుపటి దృష్టి పెట్టదగిన అంశానికి నావిగేట్ చేయి తర్వాత గ్రాఫిక్‌కు నావిగేట్ చేయి @@ -203,7 +211,8 @@ స్వర స్థాయి మార్పులను ఉపయోగించు కీబోర్డ్ ప్రతిధ్వని మూలకం వివరణ క్రమం - తొలగించబడిన అక్షరాలను పిచ్ ఎక్కువగా ఉన్న వాయిస్‌తో చదివి వినిపిస్తుంది + కీబోర్డ్ ద్వారా తొలగించబడిన టెక్స్ట్‌ను పిచ్ ఎక్కువగా ఉన్న వాయిస్‌తో చదివి వినిపిస్తుంది + మాట్లాడేటప్పుడు వాయిస్ స్థాయిని మార్చవద్దు బ్రెయిలీ కీబోర్డ్ వైబ్రేషన్ ప్రతిస్పందన ధ్వని ప్రతిస్పందన @@ -211,6 +220,7 @@ చదివి వినిపించేటప్పుడు ఇతర ఆడియో వాల్యూమ్‌ను తగ్గించండి ధ్వని స్పందన వాల్యూమ్ Talkback తాత్కాలిక ఆపివేత మరియు పునఃప్రారంభ షార్ట్‌కట్ + స్క్రీన్ షార్ట్‌కట్‌ను దాచు డెవలపర్ సెట్టింగ్‌లు లాగ్ చేయాల్సిన ఈవెంట్‌లను ఎంచుకోండి యాక్సెస్ సామర్థ్య ఈవెంట్ లాగింగ్‌ను ఫిల్టర్ చేయండి @@ -219,7 +229,7 @@ ప్రసంగ అవుట్‌పుట్‌ను ప్రదర్శించండి గుర్తించబడిన స్పీచ్‌ను ప్రతిధ్వనిగా వెనక్కి పంపించండి బిందుసూచిత వృక్ష పటం డీబగ్గింగ్‌ను ప్రారంభించండి - నోడ్ ట్రీని ప్రింట్ చేయడానికి సెర్చ్ చేసే బదులు వాయిస్ సెర్చ్ కీని ఉపయోగించండి + సెర్చ్‌కు బదులుగా బిందుసూచిత వృక్ష పటాన్ని ప్రింట్ చేయడానికి వాయిస్ సెర్చ్ కీని ఉపయోగించండి పనితీరు గణాంకాలను ప్రారంభించండి. డీబగ్ లాగ్ ఓవర్‌లేని ఎనేబుల్ చేయండి తాత్కాలిక నిలిపివేత ముగించి పునఃప్రారంభించాల్సిన సమయం @@ -256,7 +266,7 @@ TalkBack మెనూ తెరువు అభిప్రాయాన్ని పాజ్ చేయి ప్రసంగం పాజ్ చేయి లేదా కొనసాగించు - స్పీచ్‌ను ఆన్ లేదా ఆఫ్ చేయండి + TalkBack సౌండ్‌ను ఆన్ లేదా ఆఫ్ చేయండి ఎగువ నుండి చదువు తర్వాతి ఐటెమ్ నుండి చదువు బిందుసూచిత వృక్ష పటాన్ని ముద్రించు @@ -278,8 +288,7 @@ యాక్సెసిబిలిటీ షార్ట్‌కట్‌ను హోల్డ్ చేయి నావిగేషన్ ఫోకస్‌ను ముందుకు తరలించు లేదా రీడింగ్ కంట్రోల్‌ను కిందకి సర్దుబాటు చేయి నావిగేషన్ ఫోకస్‌ను వెనుకకు తరలించు లేదా రీడింగ్ కంట్రోల్‌ను పైకి సర్దుబాటు చేయి - ప్రస్తుతం ఎంచుకున్న చర్యను యాక్టివేట్ చేయండి - సెర్చ్ ఫలితం + శోధన ఫలితం మీడియాను ప్లే చేయండి లేదా పాజ్ చేయండి అన్ని యాప్‌లు బ్రెయిలీ కీబోర్డుకు మార్చు @@ -323,7 +332,7 @@ రీడింగ్ ప్రత్యేక ఫీచర్‌లు ఇతరులు - కాపీ చేయండి, పేస్ట్ చేయండి, ఎంచుకోండి, ఇంకా మరిన్నింటితో సహా ప్రస్తుత ఐటెమ్‌కు చర్యలు ఉన్నప్పుడు చూపిస్తుంది + ప్రస్తుత ఐటెమ్ కోసం అనుకూల చర్యలు ఉన్నప్పుడు ఇది కనిపిస్తుంది. కాపీ చేయడం, పేస్ట్ చేయడం, ఎంచుకోవడం, ఇంకా మరెన్నో. మీరు టెక్స్ట్ బాక్స్‌ను ఎంచుకున్నప్పుడు ఇది కనిపిస్తుంది. ఫోకస్ చేసి ఉన్న ఐటెమ్‌లోని లింక్‌లను తెరవండి తర్వాతి లేదా మునుపటి పేజీకి వెళ్లండి. మీరు పలు పేజీలతో ఉన్న కంటెంట్‌ను చదివేటప్పుడు ఇది కనిపిస్తుంది. @@ -342,7 +351,6 @@ టెక్ట్స్-టు-స్పీచ్ సెట్టింగ్‌లను తెరవండి TalkBack వాయిస్ ఫీడ్‌బ్యాక్‌ను ఆఫ్ చేయండి ఎడిట్ చేయడం సాధ్యం కాదు - చర్యలను అమలు చేయండి ఒకసారికి ఒక అక్షరం మాత్రమే చదవండి ఒకసారికి ఒక పదం మాత్రమే చదవండి ఒకసారికి ఒక లైన్ మాత్రమే చదవండి @@ -365,7 +373,7 @@ TalkBack మాట్లాడేటప్పుడు, ప్లే అవుతున్న ఇతర ఆడియో శబ్దాల వాల్యూమ్‌ను తగ్గించండి ముందుకు లేదా వెనక్కి స్క్రోల్ చేయండి యాక్సెసిబిలిటీ వాల్యూమ్‌ను పెంచండి లేదా తగ్గించండి - ఎంచుకున్న ఇమేజ్‌లో పొందుపరిచిన టెక్స్ట్‌ను చదవండి + ఈ ఇమేజ్ కోసం ఆటోమేటిక్ వివరణను పొందండి క్రిందికి క్రిందికి ఆపై కుడివైపుకు పైకి స్వైప్ చేయండి @@ -408,9 +416,7 @@ 2 వేళ్లతో రెండుసార్లు నొక్కి, హోల్డ్ చేయండి 3 వేళ్లతో రెండుసార్లు నొక్కి, హోల్డ్ చేయండి 4 వేళ్లతో రెండుసార్లు నొక్కి, హోల్డ్ చేయండి - 3 వేళ్లతో నొక్కి, ఉంచండి 2 వేళ్లతో మూడుసార్లు నొక్కి, ఉంచండి - 3 వేళ్లతో మూడుసార్లు నొక్కి, ఉంచండి సర్దుబాటు చేయడానికి \"%1$s\" లేదా %2$s\" సర్దుబాటు చేయడానికి \"%1$s\" తెలియని సంజ్ఞ @@ -433,9 +439,8 @@ స్క్రీన్ ఆన్ చేయబడినప్పుడు లాక్ స్క్రీన్ చూపబడినప్పుడు నోటిఫికేషన్ నుండి మాత్రమే - ఏదైనా కీని ఎంచుకోవడానికి దాన్ని వేలుతో నొక్కి ఉంచి, ఆపై రెండుసార్లు నొక్కండి - అక్షరం కీని ఎంచుకోవడానికి దాన్ని వేలుతో నొక్కి ఉంచి, ఆపై ఎత్తండి. ఇతర కీల కోసం రెండుసార్లు నొక్కండి. - ఏదైనా కీని ఎంచుకోవడానికి దానిపై వేలును నొక్కి ఉంచి, ఆపై ఎత్తండి + కీని ఎంచుకోవడానికి దానిపై వేలును నొక్కి ఉంచి, ఆపై రెండుసార్లు నొక్కండి + కీని ఎంచుకోవడానికి దానిపై వేలును నొక్కి ఉంచి, ఆపై ఎత్తండి నిలిపివేయబడింది చాలా నెమ్మదిగా నెమ్మదిగా @@ -485,13 +490,14 @@ లేబుళ్లను ఎగుమతి చేయడానికి యాప్‌ను ఎంచుకోండి: ఈ TalkBack వెర్షన్‌లో ఆటోమేటిక్ యాక్సెసిబిలిటీ సంజ్ఞలకు చేసిన మార్పులు కూడా ఉన్నాయి. ఈ సంజ్ఞలకు సంబంధించిన చర్యలను TalkBack సెట్టింగ్స్‌లో అనుకూలంగా మార్చుకోవచ్చు. తాకడం ద్వారా అన్వేషణను ఎనేబుల్ చేసినప్పుడు, మీరు నిర్దిష్ట చర్యలను అమలు చేయడానికి కింది సంజ్ఞలను ఉపయోగించవచ్చు.\n\n%1$s వాల్యూమ్ పెంచే మరియు తగ్గించే కీలను ఎక్కువసేపు నొక్కి ఉంచడం + స్క్రీన్‌ను చూపడానికి లేదా దాచడానికి రెండు వాల్యూమ్ కీలనూ మూడు సార్లు వెంటవెంటనే నొక్కండి స్క్రీన్‌ని దాచమంటారా? దీనితో, మీ స్క్రీన్ వేరేవారికి కనపడకుండా ఉండేలా ప్రదర్శన ఆఫ్ అవుతుంది. తద్వారా నలుగురి మధ్య ఉన్నప్పుడు, మీకు మెరుగైన గోప్యత లభిస్తుంది. ఈ TalkBack వెర్షన్‌లో ఆటోమేటిక్ యాక్సెసిబిలిటీ సంజ్ఞలకు మార్పులు ఉంటాయి.\n\nపైకి ఆపై కిందకు సంజ్ఞ, స్క్రీన్‌పై ఉన్న మొదటి ఐటెమ్‌కు తరలి వెళ్లడానికి మిమ్మల్ని అనుమతిస్తుంది. అలాగే కిందకు ఆపై పైకి సంజ్ఞ, చివరి ఐటెమ్‌కు తరలిస్తుంది.\n\nఇప్పుడు ఐటెమ్‌పై దృష్టి కేంద్రీకరించి, ఆపై TalkBack సంబంధిత మెనూ నుండి గ్రాన్యులారిటీని ఎంచుకోవడం ద్వారా రీడింగ్ గ్రాన్యులారిటీని మార్చవచ్చు.\n\nమీరు ఈ సంజ్ఞలు అమలు చేసే చర్యలను TalkBack సెట్టింగ్‌లలో మార్చవచ్చు. ఈ TalkBack వెర్షన్‌లో ఆటోమేటిక్ యాక్సెసిబిలిటీ సంజ్ఞలకు చేసిన మార్పులు కూడా ఉన్నాయి.\n\nఇప్పుడు పైకి సూచించే సంజ్ఞ మునుపటి నావిగేషన్ సెట్టింగ్‌కు తరలుతుంది, అలాగే కిందికి సూచించే సంజ్ఞ తదుపరి నావిగేషన్ సెట్టింగ్‌కు తరలుతుంది. విశ్వసనీయత సమస్యల కారణంగా ఈ సెట్టింగ్‌లు TalkBack నుండి తొలగించబడతాయి:\n• పరికర సంజ్ఞలను నొక్కండి\n• నిరంతర పఠనాన్ని ప్రారంభించడానికి షేక్ చేయండి సంజ్ఞలను ఆమోదించు - సంజ్ఞలను అనుకూలంగా మార్చండి + సంజ్ఞలను అనుకూలీకరించు అన్నింటినీ నిలిపివేయండి అన్నింటినీ ప్రారంభించండి తాకడం ద్వారా విశ్లేషణను నిలిపివేయాలా? @@ -500,9 +506,6 @@ మీరు ఖచ్చితంగా బిందుసూచిత వృక్ష పటం డీబగ్గింగ్‌ను ఆన్ చేయాలనుకుంటున్నారా?\n\nబిందుసూచిత వృక్ష పటం డీబగ్గింగ్ మీ స్క్రీన్ కంటెంట్‌ను మీ పరికర లాగ్‌లకు బహిర్గతం చేస్తుంది, ఇది ఇతర యాప్‌ల ద్వారా చదవబడవచ్చు. పనితీరు గణాంకాలను ప్రారంభించాలా? మీరు ఖచ్ఛితంగా పనితీరు గణాంకాలను ఆన్ చేయాలనుకుంటున్నారా?\n\nపనితీరు గణాంకాలు మరింత మెమరీ మరియు శక్తిని వినియోగించవచ్చు. - క్లుప్తమైన లాగింగ్‌ను ఎనేబుల్ చేయాలా? - క్లుప్తమైన లాగింగ్ అనేది డీబగ్గింగ్‌ను మెరుగుపరచడంలో సహాయపడవచ్చు, కానీ సిస్టమ్ లాగ్ బఫర్‌లో వ్యక్తిగత సమాచారం కనిపించడానికి కారణం కావచ్చు.\n\n మీరు క్లుప్తమైన లాగింగ్‌ను ఎనేబుల్ చేయాలనుకుంటున్నారా? - అవును, క్లుప్తమైన లాగింగ్‌ను ఎనేబుల్ చేయి ఫోన్ యాక్సెస్‌ను అనుమతించాలనుకుంటున్నారా? మీరు కాల్‌లో ఉన్నప్పుడు అనౌన్స్‌మెంట్‌లను తగ్గించడంలో ఇది TalkBackకు సహాయపడుతుంది కొనసాగించండి @@ -517,7 +520,7 @@ బటన్ కాంబోపెట్టె ARIA ల్యాండ్‌మార్క్ - ఎడిట్ చేసేందుకు ఫీల్డ్ + ఫీల్డ్‌ను సవరిస్తుంది దృష్టి కేంద్రీకృత అంశం ముఖ్య శీర్షిక 1 ముఖ్య శీర్షిక 2 @@ -544,7 +547,7 @@ విలువ మార్చడానికి బాణం బటన్‌లను నొక్కండి లేదా ముగించడానికి ఎంచుకోండి నొక్కండి. యాప్‌ విండో TalkBack ఆన్‌లో ఉంది - నావిగేట్ చేయడానికి బాణాల కీలతో పాటు సెర్చ్ కీని నొక్కండి + నావిగేట్ చేయడానికి బాణాలతో శోధన నొక్కండి షార్ట్‌కట్‌ల లిస్ట్‌ను చూడటానికి %1$s నొక్కండి TalkBack సెట్టింగ్‌లను తెరవడానికి %1$s నొక్కండి ఆటోమేటిక్ సెట్టింగ్ @@ -556,14 +559,12 @@ యాక్సెసిబిలిటీ వాల్యూమ్ స్లయిడర్‌ను సర్దుబాటు చేయండి విలువను సర్దుబాటు చేయండి - చర్యలు పాస్‌వర్డ్‌లను చదివి వినిపించు పాస్‌వర్డ్‌లు ఎల్లప్పుడూ చదివి వినిపించబడతాయి ధ్వని, వైబ్రేషన్ - సౌండ్ %1$s, కాపీ చేయబడింది మూసివేయి - సెర్చ్‌ను మూసివేయండి + శోధనను మూసివేయి ఇన్‌పుట్‌ను క్లియర్ చేయి మునుపటి స్క్రీన్ తదుపరి స్క్రీన్ @@ -595,15 +596,13 @@ %2$sగా చదవడానికి %1$s దీన్ని ఉపయోగించడానికి, TalkBack సెట్టింగ్‌లకు వెళ్లి, \'%1$s\'కు సంజ్ఞను జోడించండి బ్రెయిలీ కీబోర్డ్ ఆన్ చేయబడలేదు. TalkBack సెట్టింగ్‌లలో బ్రెయిలీ కీబోర్డ్ సెటప్ చేసి ప్రయత్నించండి. - సూచనలు అందుబాటులో ఉన్నాయి - సూచనలు అందుబాటులో ఉన్నాయి. %1$s యాక్సెస్ చేయడానికి, %2$dలో %1$dవ పేజీ మునుపటి తర్వాత మూసివేయండి ముగించు పైకి నావిగేట్ చేయి - TalkBackలోని కొత్త ఫీచర్‌లు + TalkBackలోని కొత్త ఫీచర్‌లు ట్యుటోరియల్‌ను మూసివేయాలా? TalkBack సెట్టింగ్‌లలో మీరు ఎప్పుడైనా దీనికి తిరిగి రావచ్చు. ట్యుటోరియల్‌ను కొనసాగించు @@ -647,14 +646,6 @@ TalkBackను కొత్త సంజ్ఞలతో వేగవంతంగా ఉపయోగించడం ఎలాగో తెలుసుకోవడానికి ట్యాప్ చేయండి. బిందుసూచిత వృక్షం లాగ్‌లకు ముద్రించబడింది. ఇటీవల అమలు చేసిన సంజ్ఞలు ఇక్కడ ఉన్నాయి, ఏ సంజ్ఞ తప్పో, ఆశించనది ఏమిటో దయచేసి రిపోర్ట్ చేయండి. - మీరు సరళీకృత వాల్యూమ్ కంట్రోల్స్, క్వికర్ చర్య కంట్రోల్స్, ఇంకా మరిన్నింటిని పొందుతారు.\n\n మీరు తర్వాతి కొన్ని స్క్రీన్‌లలో ముఖ్యమైన అప్‌డేట్‌లు, మార్పుల గురించి తెలుసుకుంటారు. దీనికి సుమారు 5 నిమిషాలు పడుతుంది.\n\nమీరు ఈ సమాచారాన్ని TalkBack సెట్టింగ్‌లలో ఎప్పుడైనా రివ్యూ చేయవచ్చు. - వాల్యూమ్ కంట్రోల్ మార్పులు - వాల్యూమ్ కంట్రోల్‌ను మెరుగుపరచడానికి, వాల్యూమ్ కీలు ఇకపై టెక్స్ట్ కర్సర్‌లు లేదా స్లయిడర్‌లను కంట్రోల్ చేయవు.\n\n స్లయిడర్ స్థానాన్ని మార్చడానికి, పైకి లేదా కిందకి స్వైప్ చేయండి.\n\nటెక్స్ట్ కర్సర్ స్థానాన్ని మార్చడానికి, టెక్స్ట్ బాక్స్‌లో పైకి లేదా కిందకి స్వైప్ చేయండి. ఇది బ్రెయిలీ కీబోర్డ్ రీడింగ్ కంట్రోల్స్‌లో కూడా పని చేస్తుంది. - ఇమేజ్‌లలోని టెక్స్ట్ - మీరు ఇమేజ్‌లలోని టెక్స్ట్ గురించి ఆటోమేటిక్‌గా లేదా మీకు అవసరమైనప్పుడు మరిన్ని వివరాలను పొందవచ్చు.\n\nలేబుల్ లేని ఇమేజ్‌ల కోసం: TalkBack ఆటోమేటిక్‌గా కనిపించే టెక్స్ట్‌ను చదువుతుంది.\n\nఅన్ని ఇమేజ్‌ల కోసం: TalkBack మెనూను తెరిచి, \"ఇమేజ్‌లోని టెక్స్ట్‌ను వివరించండి\"ని ఎంచుకోండి.\n\nఇమేజ్‌లు మీ పరికరంలో అలానే ఉంటాయి, Googleకు ఎప్పటికీ పంపబడవు. మీరు ఇంటర్నెట్ కనెక్షన్ లేకుండా ఈ రెండు ఫీచర్‌లను ఉపయోగించవచ్చని దీని అర్థం. - విండో నావిగేషన్ - మీరు మీ స్క్రీన్‌పై నోటిఫికేషన్ బార్, ప్రధాన కంటెంట్ మరియు కీబోర్డ్ వంటి వివిధ విభాగాల మధ్య మారవచ్చు.\n\nవిండో నావిగేషన్‌ను ఉపయోగించడానికి, 4 వేళ్లతో కిందకి స్వైప్ చేయండి. - మీరు మీ స్క్రీన్‌పై నోటిఫికేషన్ బార్, ప్రధాన కంటెంట్ మరియు కీబోర్డ్ వంటి వివిధ విభాగాల మధ్య మారవచ్చు.\n\nవిండో నావిగేషన్‌ను ఉపయోగించడానికి, కిందకి ఆ తర్వాత పైకి స్వైప్ చేయండి. మీరు విండో నావిగేషన్‌ను ఎంచుకునే వరకు కొనసాగించండి. విండోకు నావిగేట్ చేయడానికి, కిందకి స్వైప్ చేయండి. ట్యుటోరియల్ TalkBackకు స్వాగతం TalkBack అనేది స్క్రీన్‌ను చూడటానికి కష్టపడే వ్యక్తులు లేదా పరిస్థితుల కోసం ఉద్దేశించిన స్క్రీన్ రీడర్. స్క్రీన్‌ను చూడాల్సిన అవసరం లేకుండానే మీ పరికరాన్ని ఉపయోగించుకోవడానికి ఇది మీకు మాటల ప్రతిస్పందనను ఇస్తుంది.\n\nమీరు రెండు వాల్యూమ్ కీలను కొన్ని సెకన్ల పాటు నొక్కి పట్టుకోవడం ద్వారా TalkBackను ఆన్ లేదా ఆఫ్ చేయవచ్చు.\n\TalkBackను ఆన్ చేసినప్పుడు, స్క్రీన్ మీద ఉన్న ఫోకస్ చేసిన ఐటెమ్‌ను బయటకు చదివి వినిపిస్తుంది.\n\nకుడి వైపునకు స్వైప్ చేస్తే తర్వాతి ఐటెమ్‌కు, ఎడమ వైపునకు స్వైప్ చేస్తే మునుపటి ఐటెమ్‌కు వెళ్తుంది.\n\nతర్వాతి బటన్‌ను కనుగొనడానికి కుడి వైపునకు స్వైప్ చేయండి. @@ -697,14 +688,14 @@ కీబోర్డ్ మీదుగా మీ వేలిని కదిలించండి. మీరు టైప్ చేయాలనుకున్న అక్షరం వినిపించగానే, మీ వేలిని పైకి లేపండి.\n\nకింద ఉన్న టెక్స్ట్ బాక్స్‌ను యాక్టివేట్ చేయడానికి ట్రై చేసి, మీ పేరును టైప్ చేయండి. బ్రెయిలీ కీబోర్డ్‌తో కూడా మీరు టైప్ చేయవచ్చు. దానిని TalkBack సెట్టింగ్‌లలో కనుగొనండి. కర్సర్‌ను కదిలించడం - మీరు టెక్స్ట్ బాక్స్‌ను యాక్టివేట్ చేసినప్పుడు, మీరు పైకి లేదా కిందకి స్వైప్ చేయడం ద్వారా అక్షరాల మధ్య కర్సర్‌ను కదిలించవచ్చు.\n\nకింది టెక్స్ట్ బాక్స్‌లో దీనిని ట్రై చేయండి. + మీరు టెక్స్ట్ బాక్స్‌ను యాక్టివేట్ చేసినప్పుడు, వాల్యూమ్ \'కీ\'లను పైకి లేదా కిందకి నొక్కడం ద్వారా మీరు అక్షరాల మధ్య కర్సర్‌ను కదిలించవచ్చు.\n\nకింది టెక్స్ట్ బాక్స్‌లో దీనిని ట్రై చేయండి. TalkBackకు స్వాగతం టెక్స్ట్‌ను ఎంచుకోవడం టెక్స్ట్ బాక్స్‌లో, కర్సర్‌ను మీరు ఎంచుకోవాలనుకుంటున్న టెక్స్ట్ ప్రారంభానికి కదిలించండి.\n\nఎంపిక మోడ్‌ను ప్రారంభించడానికి 2 వేళ్ళతో రెండు సార్లు నొక్కి, ఉంచండి. ఆపై కర్సర్‌ను టెక్స్ట్ చివరి భాగానికి కదిలించండి. ఎంపిక‌ను తీసివేయడానికి మళ్లీ 2-వేళ్లతో రెండు సార్లు నొక్కి, పట్టుకోండి.\n\nకింది టెక్స్ట్ బాక్స్‌లో \"స్వాగతం\" అనే పదాన్ని ఎంచుకోవడానికి ట్రై చేయండి. - టెక్స్ట్ బాక్స్‌లో, కర్సర్‌ను మీరు ఎంచుకోవాలనుకుంటున్న టెక్స్ట్ ప్రారంభానికి కదిలించండి.\n\nకిందికి, ఆపై కుడి వైపునకు స్వైప్ చేసి, TalkBack మెనూను తెరవండి. చర్యలు ఆప్షన్‌ను డబుల్-ట్యాప్ చేసి, ఆపై ఎంపిక మోడ్‌ను ప్రారంభించండి. కర్సర్‌ను టెక్స్ట్ చివరి భాగానికి కదిలించండి.\n\nమళ్లీ TalkBack మెనూను తెరచి, ఆపై ఎంపికను తీసివేయడానికి చర్యల ఆప్షన్‌లను డబుల్-ట్యాప్ చేయండి.\n\nకింది టెక్స్ట్ బాక్స్‌లో \"స్వాగతం\" అనే పదాన్ని ఎంచుకోవడానికి ట్రై చేయండి. + టెక్స్ట్ బాక్స్‌లో, కర్సర్‌ను మీరు ఎంచుకోవాలనుకుంటున్న టెక్స్ట్ ప్రారంభానికి కదిలించండి.\n\nకిందికి, ఆపై కుడి వైపునకు స్వైప్ చేసి TalkBack మెనూను తెరవండి. ఎడిటింగ్ ఆప్షన్‌లను రెండు సార్లు నొక్కి, ఆపై ఎంపిక మోడ్‌ను ప్రారంభించండి. కర్సర్‌ను టెక్స్ట్ చివరి భాగానికి కదిలించండి.\n\nమళ్లీ TalkBack మెనూని తెరచి, ఆపై ఎంపికను తీసివేయడానికి ఎడిటింగ్ ఆప్షన్‌లను రెండు సార్లు నొక్కండి.\n\nకింది టెక్స్ట్ బాక్స్‌లో \"స్వాగతం\" అనే పదాన్ని ఎంచుకోవడానికి ట్రై చేయండి. కాపీ, కట్ అలాగే పేస్ట్ - టెక్స్ట్‌ను ఎంచుకున్న తర్వాత \'చర్యలు\' ఆప్షన్‌పై డబుల్-ట్యాప్ చేసి, కాపీ చేయండి.\n\nకింది టెక్స్ట్ బాక్స్‌లో ఏదైనా పదాన్ని కాపీ చేయడానికి ట్రై చేయండి. - టెక్స్ట్‌ను కట్ లేదా పేస్ట్ చేయడానికి, TalkBack మెనూను తెరిచి, \'చర్యలు\' ఆప్షన్‌ను డబుల్-ట్యాప్ చేయండి.\n\nటెక్స్ట్‌ను పేస్ట్ చేయడానికి, 3 వేళ్లతో మూడు సార్లు ట్యాప్ చేయండి.\n\nకింది టెక్స్ట్ బాక్స్‌లో ఏదైనా పదాన్ని పేస్ట్ చేయడానికి ట్రై చేయండి. + టెక్స్ట్‌ను ఎంచుకున్న తర్వాత, 3 వేళ్లతో రెండు సార్లు నొక్కడం ద్వారా దానిని కాపీ చేయండి.\n\nకింది టెక్స్ట్ బాక్స్‌లోని పదాన్ని కాపీ చేయడానికి ట్రై చేయండి. + టెక్స్ట్‌ను కట్ చేయడానికి, 3-వేళ్లతో రెండు సార్లు నొక్కి, పట్టుకోండి.\n\nటెక్స్ట్‌ను పేస్ట్ చేయడానికి, 3-వేళ్లతో మూడు-సార్లు ట్యాప్ చేయండి.\n\nకింది టెక్స్ట్ బాక్స్‌లో ఏదైనా పదాన్ని పేస్ట్ చేయడానికి ట్రై చేయండి. టెక్స్ట్‌ను ఎంచుకున్న తర్వాత, దాన్ని మీరు TalkBack మెనూలో కాపీ చేయవచ్చు. TalkBack మెనూను తెరవడానికి కిందికి, ఆపై కుడి వైపునకు స్వైప్ చేయండి. ఎడిటింగ్ ఆప్షన్‌లను రెండు సార్లు నొక్కి, ఆపై కాపీ చేయండి.\n\nకింది టెక్స్ట్ బాక్స్‌లో ఏదైనా పదాన్ని కాపీ చేయడానికి ట్రై చేయండి. టెక్స్ట్‌ను కట్ లేదా పేస్ట్ చేయడానికి, TalkBack మెనూను తెరిచి, ఎడిటింగ్ ఆప్షన్‌లను రెండు సార్లు నొక్కండి.\n\nకింది టెక్స్ట్ బాక్స్‌లో ఏదైనా పదాన్ని పేస్ట్ చేయడానికి ట్రై చేయండి. టెక్స్ట్‌ను ఇక్కడ పేస్ట్ చేయండి @@ -747,7 +738,6 @@ ఐటెమ్‌ల మధ్య తరలించడానికి కుడి లేదా ఎడమకు స్వైప్ చేయండి ఐటెమ్‌ను యాక్టివేట్ చేయడానికి రెండుసార్లు నొక్కండి స్క్రోల్ చేయడానికి 2 వేళ్లతో లాగండి - దయచేసి ఫోన్ కనెక్ట్ చేయబడిందో లేదో చెక్ చేయండి. మందపాటి అంచులు రంగు ఆటోమేటిక్ సెట్టింగ్ @@ -759,12 +749,6 @@ బూడిద రంగు సర్వే మూసివేయబడింది టెక్స్ట్: %1$s - ఇమేజ్‌ని టెక్స్ట్‌ను వివరించండి - గుర్తించబడిన చిహ్నం: %1$s - చర్యకు సపోర్ట్ లేదు. - ఎలాంటి చర్య ఎంచుకోబడలేదు. - దయచేసి సపోర్ట్ చేసే చర్యను ఎంచుకోండి. - చర్యలు ఏవీ లేవు. - చర్యల సెట్టింగ్ ఎనేబుల్ చేసి లేదు. - ఎటువంటి టెక్స్ట్ కనుగొనబడలేదు + ఇమేజ్‌ను వివరించండి + సూచన చిహ్నం: %1$s diff --git a/talkback/src/main/res/values-te/strings_voicecommands.xml b/talkback/src/main/res/values-te/strings_voicecommands.xml index dac9ad603..0c2ce67a1 100644 --- a/talkback/src/main/res/values-te/strings_voicecommands.xml +++ b/talkback/src/main/res/values-te/strings_voicecommands.xml @@ -6,7 +6,7 @@ టెక్స్ట్‌ను ఎడిట్ చేయడం టెక్స్ట్‌ను ఎడిట్ చేయి ఎడిటింగ్ ఆప్షన్‌లు - ఎడిట్ చేయండి + సవరించు ఏమిటి చెప్పు తర్వాత @@ -28,7 +28,7 @@ ఇటీవలిది ఇటీవలివి కనుగొనండి - సెర్చ్ + సెర్చ్ చేయి దీని కోసం సెర్చ్ చేయి తరువాత శీర్షిక తర్వాతి కంట్రోల్ @@ -59,7 +59,7 @@ TalkBack సెట్టింగ్‌లు TalkBack సెట్టింగ్ స్క్రీన్ కంటెంట్ సెర్చ్ - స్క్రీన్ సెర్చ్ + స్క్రీన్‌లో సెర్చ్ చేయి @android:string/copy @android:string/cut తొలగించు diff --git a/talkback/src/main/res/values-th/strings.xml b/talkback/src/main/res/values-th/strings.xml index d18e460b1..488abb086 100644 --- a/talkback/src/main/res/values-th/strings.xml +++ b/talkback/src/main/res/values-th/strings.xml @@ -7,7 +7,6 @@ การตั้งค่าการอ่านออกเสียงข้อความ ภาษา ภาษาที่พูด - การดำเนินการ การทำงานของระบบ เวอร์ชัน %1$s จัดการป้ายกำกับที่กำหนดเอง @@ -31,37 +30,46 @@ ปลดล็อกอุปกรณ์แล้ว เสียง ระดับเสียงพูด - พูดการแจ้งเตือนเมื่อหน้าจอปิดอยู่ - พูดจำนวนรายการในลิสต์เสมอ - พูดจำนวนสำหรับวิธีการเลื่อนทั้งหมด + พูดเมื่อหน้าจอปิด + มีการพูดแจ้งเตือนเมื่อหน้าจอดับ + ไม่มีเสียงพูดเมื่อหน้าจอดับ + พูดจำนวนรายการบนหน้าจอ + พูดเฉพาะเมื่อเลื่อนโดยใช้ท่าทาง + พูดทุกครั้ง ปิดพร็อกซิมิตีเซ็นเซอร์เพื่อหยุดเสียงพูด - พูดตัวอักษรพร้อมตัวอย่าง - เมื่อเลือกแป้นพิมพ์หรือนำทางทีละอักขระ คุณจะได้ยินตัวอย่างพร้อมทั้งตัวอักษรแต่ละตัว เช่น \"h, hotel\" - พูดเครื่องหมายวรรคตอนและสัญลักษณ์ + พูดตัวอักษรกำกับการออกเสียง + ไม่พูดออกเสียงตัวอักษรกำกับการออกเสียง + พูดออกเสียงตัวอักษรกำกับการออกเสียงเมื่อกดแป้นพิมพ์ค้างและไปยังอักขระต่างๆ + เครื่องหมายวรรคตอน + ไม่พูดเครื่องหมายวรรคตอนและสัญลักษณ์ + พูดเครื่องหมายวรรคตอนและสัญลักษณ์ ตัวอักษรพิมพ์ใหญ่ ไม่ต้องทำอะไร พูด “ตัวพิมพ์ใหญ่” - เปลี่ยนระดับเสียงสูงต่ำ + เปลี่ยนระดับเสียงสูง เปิดเสียง พูดคำแนะนำการใช้งาน - แนะนำวิธีใช้หลังจากอธิบายเนื้อหา - พูดข้อมูลรายการและตารางกริด + ไม่พูดออกเสียงคำแนะนำการใช้งานเมื่อย้ายโฟกัสการช่วยเหลือพิเศษ + พูดออกเสียงคำแนะนำการใช้งานขณะไปยังส่วนต่างๆ หลังจากการหน่วงเวลาสั้นๆ + พูดข้อมูลรายการและตาราง + พูดออกเสียงข้อมูลรายการและตาราง + ไม่พูดออกเสียงข้อมูลรายการและตาราง รีเซ็ตท่าทางสัมผัสไหม การดำเนินการนี้จะรีเซ็ตท่าทางสัมผัสทั้งหมดเป็นการกระทำเริ่มต้น\n\nการเปลี่ยนแปลงทั้งหมดที่คุณทำไว้จะหายไป รีเซ็ต รีเซ็ตการตั้งค่าท่าทางสัมผัสแล้ว พูดประเภทองค์ประกอบ - สำหรับรายการที่โฟกัส + พูดประเภทองค์ประกอบของรายการที่โฟกัส + ไม่พูดประเภทองค์ประกอบของรายการที่โฟกัส พูดรหัสองค์ประกอบ - สำหรับปุ่มที่ไม่มีป้ายกำกับ - พูดหน้าต่างระบบ - เมื่อคุณเปลี่ยนเป็นหน้าต่างระบบอื่นๆ เช่น แถบสถานะ การแจ้งเตือน หรือการควบคุมระดับเสียง + ไม่พูดรหัสองค์ประกอบของปุ่มที่ไม่มีป้ายกำกับ + พูดรหัสองค์ประกอบของปุ่มที่ไม่มีป้ายกำกับ แตะเพื่อสำรวจ การควบคุม แตะครั้งเดียวเพื่อเปิดใช้งาน แตะรายการที่โฟกัส 1 ครั้งเพื่อเปิดใช้งาน การพูดรายละเอียด - พูดเครื่องหมายวรรคตอนและสัญลักษณ์ + เครื่องหมายวรรคตอน ปรับแต่งสัญญาณบอกสถานะโฟกัส ปรับแต่งท่าทางสัมผัส ป้ายกำกับที่กำหนดเอง @@ -203,7 +211,8 @@ ใช้การเปลี่ยนแปลงระดับเสียงสูงต่ำ เสียงสะท้อนของแป้นพิมพ์ ลำดับคำอธิบายองค์ประกอบ - พูดตัวอักษรที่ลบด้วยโทนเสียงที่สูงขึ้น + พูดข้อความที่ลบด้วยคีย์บอร์ดด้วยโทนเสียงที่สูงขึ้น + อย่าเปลี่ยนระดับเสียงสูงต่ำในขณะพูด แป้นพิมพ์อักษรเบรลล์ การสั่นเตือน เสียงเตือน @@ -211,6 +220,7 @@ ลดระดับเสียงอื่นๆ ขณะพูด ระดับความดังของเสียงเตือน ทางลัดสำหรับหยุด TalkBack และกลับมาใช้งานต่อ + ซ่อนทางลัดสำหรับหน้าจอ การตั้งค่าสำหรับนักพัฒนาซอฟต์แวร์ เลือกกิจกรรมที่จะบันทึก กรองการบันทึกกิจกรรมการเข้าถึง @@ -256,7 +266,7 @@ เปิดเมนู TalkBack หยุดการตอบกลับชั่วคราว หยุดเสียงพูดชั่วคราวหรือพูดต่อ - เปิดหรือปิดเสียงพูด + เปิดหรือปิดเสียงอธิบายของ TalkBack อ่านจากด้านบน อ่านจากรายการถัดไป พิมพ์โหนดทรี @@ -278,7 +288,6 @@ แตะทางลัดสำหรับการช่วยเหลือพิเศษค้างไว้ ย้ายโฟกัสการไปยังส่วนต่างๆ ไปข้างหน้าหรือปรับตัวควบคุมการอ่านลง ย้ายโฟกัสการไปยังส่วนต่างๆ ย้อนกลับไปหรือปรับตัวควบคุมการอ่านขึ้น - เปิดใช้การทำงานที่เลือกอยู่ ผลการค้นหา เล่นหรือหยุดสื่อชั่วคราว แอปทั้งหมด @@ -323,7 +332,7 @@ การอ่าน ฟีเจอร์พิเศษ อื่นๆ - แสดงเมื่อมีการทำงานสำหรับรายการปัจจุบัน เช่น คัดลอก วาง เลือก และอื่นๆ + แสดงเมื่อมีการดำเนินการที่กำหนดเองสำหรับรายการปัจจุบัน คัดลอก วาง เลือก และอื่นๆ แสดงเมื่อคุณเลือกกล่องข้อความ เปิดลิงก์ภายในรายการที่โฟกัส ไปยังหน้าถัดไปหรือก่อนหน้า แสดงเมื่อคุณกำลังอ่านเนื้อหาที่มีหลายหน้า @@ -342,7 +351,6 @@ เปิดการตั้งค่าการอ่านออกเสียงข้อความ ปิดเสียงอธิบายของ TalkBack แก้ไขไม่ได้ - ดำเนินการ อ่านทีละอักขระ อ่านทีละคำ อ่านทีละบรรทัด @@ -365,7 +373,7 @@ ลดระดับเสียงอื่นๆ ที่กำลังเล่นอยู่เมื่อ TalkBack พูด เลื่อนไปข้างหน้าหรือข้างหลัง เพิ่มหรือลดระดับเสียงการช่วยเหลือพิเศษ - อ่านออกเสียงข้อความที่ฝังอยู่ในรูปภาพที่เลือก + รับคำอธิบายอัตโนมัติสำหรับภาพนี้ ลง ลงแล้วไปทางขวา ปัดขึ้น @@ -408,9 +416,7 @@ ใช้ 2 นิ้วแตะ 2 ครั้งแล้วค้างไว้ ใช้ 3 นิ้วแตะ 2 ครั้งแล้วค้างไว้ ใช้ 4 นิ้วแตะ 2 ครั้งแล้วค้างไว้ - ใช้ 3 นิ้วแตะค้างไว้ ใช้ 2 นิ้วแตะ 3 ครั้งแล้วค้างไว้ - ใช้ 3 นิ้วแตะ 3 ครั้งแล้วค้างไว้ \"%1$s\" หรือ \"%2$s\" เพื่อปรับ \"%1$s\" เพื่อปรับ ท่าทางสัมผัสที่ไม่รู้จัก @@ -434,8 +440,7 @@ เมื่อหน้าจอล็อกแสดงขึ้น จากการแจ้งเตือนเท่านั้น กดค้างไว้เพื่อเลือกแป้น แล้วจึงแตะสองครั้ง - กดค้างไว้เพื่อเลือกแป้นตัวอักษร แล้วจึงยกนิ้วขึ้น แตะสองครั้งที่แป้นอื่นๆ - กดค้างไว้เพื่อเลือกแป้น แล้วจึงยกนิ้วขึ้น + กดค้างไว้เพื่อเลือกแป้น แล้วจึงยกนิ้วขึ้น ปิดอยู่ เบามาก เบา @@ -485,6 +490,7 @@ เลือกแอปพลิเคชันที่จะส่งออกป้ายกำกับ: TalkBack เวอร์ชันนี้มีการเปลี่ยนแปลงของท่าทางสัมผัสในการเข้าถึงเริ่มต้น โดยสามารถกำหนดค่าการทำงานต่างๆ ที่เชื่อมโยงกับท่าทางสัมผัสเหล่านี้ได้จากภายในการตั้งค่า TalkBack เมื่อมีการเปิดใช้ \"แตะเพื่อสำรวจ\" คุณสามารถใช้ท่าทางสัมผัสต่อไปนี้เพื่อทำงานบางอย่างได้\n\n%1$s กดแป้นเพิ่มระดับเสียงและลดระดับเสียงค้างไว้ + กดปุ่มปรับระดับเสียงทั้ง 2 ปุ่ม 3 ครั้งเร็วๆ เพื่อซ่อนหรือแสดงหน้าจอ ซ่อนหน้าจอใช่ไหม ตัวเลือกนี้จะปิดจอแสดงผลเพื่อเพิ่มความเป็นส่วนตัวโดยซ่อนหน้าจอไม่ให้ผู้อื่นเห็นเมื่ออยู่ในที่สาธารณะ TalkBack เวอร์ชันนี้มีการเปลี่ยนแปลงค่าเริ่มต้นของท่าทางสัมผัสเพื่อการช่วยเหลือพิเศษ\n\nท่าทางสัมผัสแบบขึ้นแล้วลงจะช่วยให้คุณย้ายไปยังรายการแรกในหน้าจอ และท่าทางสัมผัสแบบลงแล้วขึ้นจะย้ายคุณไปยังรายการสุดท้าย\n\nรายละเอียดการอ่านในตอนนี้เปลี่ยนแปลงได้โดยการโฟกัสไปที่รายการ แล้วเลือกรายละเอียดจากเมนูตามบริบทของ TalkBack\n\nคุณเปลี่ยนการทำงานที่เกิดจากท่าทางสัมผัสเหล่านี้ได้ในการตั้งค่า TalkBack @@ -500,9 +506,6 @@ คุณแน่ใจไหมว่าต้องการเปิดการแก้ไขข้อบกพร่องของโหนดทรี\n\nการแก้ไขข้อบกพร่องของโหนดทรีจะเปิดเผยเนื้อหาของหน้าจอในไฟล์บันทึกของอุปกรณ์ ซึ่งแอปพลิเคชันอื่นอาจสามารถอ่านได้ เปิดใช้สถิติประสิทธิภาพไหม คุณแน่ใจไหมว่าต้องการเปิดสถิติประสิทธิภาพ\n\nสถิติประสิทธิภาพอาจใช้หน่วยความจำและพลังงานเพิ่มเติม - หากต้องการเปิดใช้การบันทึกแบบละเอียด - การบันทึกแบบละเอียดอาจช่วยได้ในการแก้ไขข้อบกพร่อง แต่อาจทำให้ข้อมูลส่วนบุคคลปรากฏขึ้นในบัฟเฟอร์บันทึกของระบบ\n\n คุณต้องการเปิดใช้งานการบันทึกแบบละเอียดใช่ไหม - ใช่ เปิดใช้งานการบันทึกแบบละเอียด อนุญาตให้เข้าถึงโทรศัพท์ไหม สิทธิ์นี้จะช่วยให้ TalkBack ลดจำนวนประกาศขณะที่คุณกำลังคุยสาย ต่อไป @@ -556,11 +559,9 @@ ระดับเสียงการช่วยเหลือพิเศษ ปรับแถบเลื่อน ปรับค่า - การดำเนินการ พูดรหัสผ่าน พูดรหัสผ่านเสมอ เสียงและการสั่น - เสียง คัดลอก %1$s แล้ว ปิด ปิดการค้นหา @@ -595,15 +596,13 @@ %1$s เพื่ออ่านทีละ%2$s หากต้องการใช้รายการนี้ ไปที่การตั้งค่า Talkback แล้วเพิ่มท่าทางสัมผัสสำหรับ \"%1$s\" ไม่ได้เปิดแป้นพิมพ์อักษรเบรลล์ ไปที่การตั้งค่า TalkBack, ตั้งค่าแป้นพิมพ์อักษรเบรลล์ และลองอีกครั้ง - มีคำแนะนำ - มีคำแนะนำ หากต้องการเข้าถึง ให้%1$s หน้า %1$d จาก %2$d ก่อนหน้า ถัดไป ปิด เสร็จสิ้น นำทางขึ้น - ฟีเจอร์ใหม่ใน TalkBack + ฟีเจอร์ใหม่ใน TalkBack ปิดบทแนะนำใช่ไหม คุณกลับมาได้ทุกเมื่อในการตั้งค่า TalkBack ดูบทแนะนำต่อ @@ -647,14 +646,6 @@ แตะเพื่อดูวิธีใช้ TalkBack ได้เร็วขึ้นด้วยท่าทางสัมผัสใหม่ๆ พิมพ์โหนดที่สามลงในบันทึกแล้ว ท่าทางสัมผัสที่ทำล่าสุดมีดังต่อไปนี้ โปรดรายงานท่าทางสัมผัสที่ไม่ถูกต้องและท่าทางสัมผัสที่ต้องการ - คุณจะปรับระดับเสียงได้ง่ายๆ อีกทั้งยังมีตัวควบคุมการใช้งานแบบลัด และอื่นๆ\n\nดูการอัปเดตและการเปลี่ยนแปลงที่สำคัญได้ในอีกไม่กี่หน้าจอถัดไป โดยจะใช้เวลาประมาณ 5 นาที\n\nคุณดูข้อมูลนี้ในการตั้งค่า TalkBack ได้ทุกเมื่อ - การเปลี่ยนแปลงการควบคุมระดับเสียง - ปุ่มปรับระดับเสียงจะควบคุมเคอร์เซอร์หรือแถบเลื่อนข้อความไม่ได้แล้วเพื่อเป็นการปรับปรุงการควบคุมระดับเสียง\n\nหากต้องการเปลี่ยนตำแหน่งของแถบเลื่อน ให้ปัดขึ้นหรือลง\n\nหากต้องการเปลี่ยนตำแหน่งของเคอร์เซอร์ข้อความ ให้ปัดขึ้นหรือลงในกล่องข้อความ ซึ่งใช้ได้กับการควบคุมการอ่านในแป้นพิมพ์อักษรเบรลล์ด้วย - ข้อความในรูปภาพ - คุณจะดูรายละเอียดเพิ่มเติมเกี่ยวกับข้อความในรูปภาพได้โดยอัตโนมัติหรือเมื่อต้องการ\n\nสำหรับรูปภาพที่ไม่มีป้ายกำกับ TalkBack จะอ่านข้อความที่ปรากฏโดยอัตโนมัติ\n\nสำหรับรูปภาพทั้งหมด ให้เปิดเมนู TalkBack แล้วเลือก \"อธิบายข้อความในรูปภาพ\"\n\nรูปภาพจะอยู่ในอุปกรณ์ของคุณเท่านั้นและไม่มีการส่งให้ Google ซึ่งหมายความว่าคุณจะใช้ฟีเจอร์ทั้ง 2 อย่างนี้ได้โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต - การนำทางในหน้าต่าง - คุณสลับไปมาระหว่างส่วนต่างๆ ในหน้าจอได้ เช่น แถบการแจ้งเตือน เนื้อหาหลัก และแป้นพิมพ์\n\nหากต้องการใช้การนำทางในหน้าต่าง ให้ใช้ 4 นิ้วปัดลง - คุณสลับไปมาระหว่างส่วนต่างๆ ในหน้าจอได้ เช่น แถบการแจ้งเตือน เนื้อหาหลัก และแป้นพิมพ์\n\nหากต้องการใช้การนำทางในหน้าต่าง ให้ปัดลงแล้วขึ้น ดำเนินการต่อจนกว่าจะเลือกการนำทางในหน้าต่างเรียบร้อย หากต้องการไปยังหน้าต่างดังกล่าว ให้ปัดลง บทแนะนำ ยินดีต้อนรับสู่ TalkBack TalkBack คือโปรแกรมอ่านหน้าจอที่มีไว้สำหรับสถานการณ์หรือบุคคลที่ประสบปัญหาในการมองเห็นหน้าจอ โดยจะอธิบายและอ่านออกเสียงเพื่อให้คุณใช้อุปกรณ์ได้โดยไม่ต้องมองหน้าจอ\n\nคุณเปิดหรือปิด TalkBack ได้โดยกดปุ่มปรับระดับเสียงทั้งสองปุ่มค้างไว้หลายวินาที\n\nเมื่อ TalkBack เปิดอยู่ ระบบจะอ่านออกเสียงรายการที่โฟกัสอยู่ในหน้าจอ\n\nการปัดไปทางขวาจะเป็นการเลื่อนไปยังรายการถัดไป และการปัดไปทางซ้ายจะเป็นการเลื่อนไปยังรายการก่อนหน้า\n\nลองปัดเพื่อหาปุ่มถัดไปตอนนี้เลย @@ -697,14 +688,14 @@ เลื่อนนิ้วไปมาบนแป้นพิมพ์ เมื่อได้ยินตัวอักษรที่คุณต้องการพิมพ์แล้วให้ยกนิ้วขึ้น\n\nลองเปิดใช้งานกล่องข้อความด้านล่างแล้วพิมพ์ชื่อของคุณ คุณพิมพ์โดยใช้แป้นพิมพ์อักษรเบรลล์ได้ด้วย ซึ่งจะค้นหาแป้นพิมพ์นี้ได้ในการตั้งค่า TalkBack การย้ายเคอร์เซอร์ - เมื่อเปิดใช้งานกล่องข้อความแล้ว คุณจะย้ายเคอร์เซอร์ไปมาระหว่างตัวอักษรได้โดยปัดขึ้นหรือลง\n\nลองทำในกล่องข้อความด้านล่าง + เมื่อเปิดใช้งานกล่องข้อความแล้ว คุณจะย้ายเคอร์เซอร์ไปมาระหว่างตัวอักษรได้โดยกดปุ่มปรับระดับเสียงขึ้นหรือลง\n\nลองทำในกล่องข้อความด้านล่าง ยินดีต้อนรับสู่ TalkBack การเลือกข้อความ ในกล่องข้อความ ให้ย้ายเคอร์เซอร์ไปยังส่วนต้นของข้อความที่ต้องการเลือก\n\nใช้ 2 นิ้วแตะสองครั้งแล้วค้างไว้เพื่อเริ่มโหมดการเลือก จากนั้นย้ายเคอร์เซอร์ไปยังส่วนท้ายของข้อความ ใช้ 2 นิ้วแตะสองครั้งแล้วค้างไว้อีกครั้งเพื่อสิ้นสุดโหมดการเลือก\n\nลองเลือกคำว่า \"ยินดีต้อนรับ\" ในกล่องข้อความด้านล่าง - ในกล่องข้อความ ให้ย้ายเคอร์เซอร์ไปยังส่วนต้นของข้อความที่ต้องการเลือก\n\nปัดลงแล้วไปทางขวาเพื่อเปิดเมนู TalkBack แตะสองครั้งที่การดำเนินการแล้วเริ่มโหมดการเลือก ย้ายเคอร์เซอร์ไปยังส่วนท้ายของข้อความ\n\nเปิดเมนู TalkBack ขึ้นมาใหม่ จากนั้นแตะสองครั้งที่การดำเนินการเพื่อสิ้นสุดโหมดการเลือก\n\nลองเลือกคำว่า \"ยินดีต้อนรับ\" ในกล่องข้อความด้านล่าง + ในกล่องข้อความ ให้ย้ายเคอร์เซอร์ไปยังส่วนต้นของข้อความที่ต้องการเลือก\n\nปัดลงแล้วไปทางขวาเพื่อเปิดเมนู TalkBack แตะสองครั้งที่ตัวเลือกการแก้ไขแล้วเริ่มโหมดการเลือก ย้ายเคอร์เซอร์ไปยังส่วนท้ายของข้อความ\n\nเปิดเมนู TalkBack ขึ้นมาใหม่ จากนั้นแตะสองครั้งที่ตัวเลือกการแก้ไขเพื่อสิ้นสุดโหมดการเลือก\n\nลองเลือกคำว่า \"ยินดีต้อนรับ\" ในกล่องข้อความด้านล่าง คัดลอก ตัด และวาง - หลังจากเลือกข้อความ ให้แตะสองครั้งที่การดำเนินการ แล้วคัดลอก\n\nลองคัดลอกคำในกล่องข้อความด้านล่าง - หากต้องการตัดหรือวางข้อความ ให้เปิดเมนู TalkBack แล้วแตะสองครั้งที่การดำเนินการ\n\nใช้ 3 นิ้วแตะ 3 ครั้งเพื่อวางข้อความ\n\nลองวางคำในกล่องข้อความด้านล่าง + หลังจากเลือกข้อความแล้ว ให้คัดลอกโดยใช้ 3 นิ้วแตะสองครั้ง\n\nลองคัดลอกคำในกล่องข้อความด้านล่าง + หากต้องการตัดข้อความ ให้ใช้ 3 นิ้วแตะสองครั้งแล้วค้างไว้\n\nหากต้องการวางข้อความ ให้ใช้ 3 นิ้วแตะ 3 ครั้ง\n\nลองวางคำในกล่องข้อความด้านล่าง คุณคัดลอกข้อความได้ในเมนู TalkBack หลังจากเลือกข้อความแล้ว ปัดลงแล้วไปทางขวาเพื่อเปิดเมนู TalkBack แตะสองครั้งที่ตัวเลือกการแก้ไขแล้วคัดลอก\n\nลองคัดลอกคำในกล่องข้อความด้านล่าง หากต้องการตัดหรือวางข้อความ ให้เปิดเมนู TalkBack แล้วแตะสองครั้งที่ตัวเลือกการแก้ไข\n\nลองวางคำในกล่องข้อความด้านล่าง วางข้อความที่นี่ @@ -747,7 +738,6 @@ เลื่อนไปทางขวาหรือทางซ้ายเพื่อย้ายไปมาระหว่างรายการต่างๆ แตะสองครั้งเพื่อเปิดใช้งานรายการ ลาก 2 นิ้วเพื่อเลื่อน - โปรดตรวจสอบว่าโทรศัพท์เชื่อมต่ออยู่หรือไม่ เส้นขอบหนา สี ค่าเริ่มต้น @@ -759,12 +749,6 @@ เทา แบบสำรวจปิดแล้ว ข้อความ: %1$s - อธิบายข้อความในรูปภาพ - ไอคอนที่ตรวจพบ: %1$s - ไม่รองรับการทำงาน - ไม่ได้เลือกการทำงาน - โปรดเลือกการทำงานที่รองรับ - ไม่มีการดำเนินการ - ไม่ได้เปิดใช้การตั้งค่าการทำงาน - ไม่พบข้อความ + อธิบายภาพ + ไอคอนที่คาดไว้: %1$s diff --git a/talkback/src/main/res/values-tl/strings.xml b/talkback/src/main/res/values-tl/strings.xml index 5300ca857..4deb7a666 100644 --- a/talkback/src/main/res/values-tl/strings.xml +++ b/talkback/src/main/res/values-tl/strings.xml @@ -7,7 +7,6 @@ Mga setting ng text-to-speech Mga Wika Sinasalitang wika - Mga Pagkilos Mga pagkilos ng system Bersyon na %1$s Pamahalaan ang Custom Labels @@ -31,37 +30,46 @@ Na-unlock ang device. Audio Volume ng pagsasalita - Speak notification pag na-off ang screen - Palaging bigkasin ang bilang ng item sa listahan - Bigkasin ang bilang para sa lahat ng paraan ng pag-scroll + Magsalita kapag naka-off ang screen + Binibigkas ang mga notification kapag naka-off ang screen + Walang pagsasalitang nagaganap kapag naka-off ang screen + Bigkasin ang bilang ng item sa listahan na nasa screen + Bigkasin lang kapag nagso-scroll nang may galaw + Binibigkas sa lahat ng oras Takpan ang proximity sensor para itigil ang pagsasalita - Bigkasin ang letra nang may halimbawa - Kapag pumili ka ng mga key ng keyboard o nag-navigate ka ayon sa character, makakarinig ka ng halimbawa kasabay ng bawat letra, gaya ng \"h, hotel\" - Banggitin ang mga punctuation at simbolo + Bigkasin ang mga phonetic na titik + Hindi binibigkas ang mga phonetic na titik + Binibigkas ang mga phonetic na titik kapag pumipindot nang matagal sa mga key ng keyboard at nagna-navigate sa bawat character + Bantas + Hindi binibigkas ang bantas at mga simbolo + Binibigkas ang bantas at mga simbolo Malalaking titik Walang gawin Sabihing “malaking” Palitan ang pitch I-play ang tunog Bigkasin ang mga hint sa paggamit - Pagkatapos ilarawan ang content, magmungkahi kung paano gamitin ito - Banggitin ang info ng listahan at grid + Hindi binibigkas ang mga pahiwatig sa paggamit kapag naglilipat ng focus ng accessibility + Binibigkas ang mga pahiwatig sa paggamit habang nagna-navigate pagkatapos ng maikling pagkaantala + Bigkasin ang list at grid information + Binibigkas ang impormasyon ng listahan at grid + Hindi binibigkas ang impormasyon ng listahan at grid I-reset ang mga galaw? Ire-reset nito ang lahat ng galaw sa mga default nitong pagkilos.\n\nMawawala mo ang anumang pagbabagong iyong ginawa. I-reset Na-reset ang mga setting galaw. Bigkasin ang uri ng element - Para sa mga naka-focus na item + Binibigkas ang uri ng element para sa mga naka-focus na item + Hindi binibigkas ang uri ng element para sa mga naka-focus na item Bigkasin ang mga element ID - Para sa mga button na walang label - Sabihin ang mga window ng system - Kapag lumipat ka sa ibang window ng system tulad ng status bar, mga notification, o kontrol ng volume + Hindi binibigkas ang mga element ID para sa mga button na walang label + Binibigkas ang mga element ID para sa mga button na walang label Explore by touch Mga Kontrol I-tap nang isang beses para i-activate Mag-tap nang isang beses sa naka-focus na item para i-activate Verbosity - Banggitin ang mga punctuation at simbolo + Bantas I-customize ang Focus Indicator I-customize ang mga galaw Mga custom na label @@ -203,7 +211,8 @@ Gumamit ng mga pagbabago sa pitch Echo ng keyboard Pagkakasunud-sunod ng paglalarawan ng element - Bigkasin ang mga na-delete na titik sa boses na may mas mataas na pitch + Bigkasin ang text na na-delete gamit ang keyboard sa boses na may mas mataas na pitch + Huwag baguhin ang pitch ng boses kapag nagsasalita Braille keyboard Feedback ng pag-vibrate Feedback ng tunog @@ -211,6 +220,7 @@ Bawasan ang iba pang volume ng audio habang nagsasalita Volume: feedback ng tunog Shortcut para sa pagsuspinde at pagpapatuloy ng Talkback + Shortcut para itago ang screen Mga setting ng developer Piliin ang mga ila-log na event I-filter ang pagla-log ng mga event sa accessibility @@ -256,7 +266,7 @@ Buksan ang menu ng TalkBack Mag-pause ng feedback I-pause o ipagpatuloy ang pagsasalita - I-on o i-off ang pagsasalita + I-on o i-off ang tunog ng TalkBack Magbasa mula sa itaas Magbasa mula sa susunod na item I-print ang node tree @@ -278,7 +288,6 @@ I-hold ang shortcut sa accessibility Iabante ang focus ng navigation o i-adjust pababa ang kontrol sa pagbabasa Iatras ang focus ng navigation o i-adjust pataas ang kontrol sa pagbabasa - I-activate ang kasalukuyang piniling pagkilos Resulta ng paghahanap Mag-play o mag-pause ng media Lahat ng app @@ -323,7 +332,7 @@ Pagbabasa Mga espesyal na feature Iba pa - Ipakita kung may mga pagkilos para sa kasalukuyang item, kasama ang pag-copy, pag-paste, pagpili, at higit pa + Lumalabas kapag may mga custom na pagkilos para sa kasalukuyang item Kopyahin, i-paste, piliin, at higit pa. Lumalabas kapag may pinili kang text box. Buksan ang mga link sa naka-focus na item Pumunta sa susunod o nakaraang page. Lumalabas kapag nagbabasa ka ng content na may maraming page. @@ -342,7 +351,6 @@ Buksan ang mga setting ng text-to-speech I-off ang feedback na boses ng TalkBack Hindi nae-edit - Magsagawa ng mga pagkilos Paisa-isang basahin ang mga character Paisa-isang basahin ang mga salita Paisa-isang basahin ang mga linya @@ -365,7 +373,7 @@ Hinaan ang volume ng iba pang audio na nagpe-play kapag nagsasalita ang TalkBack Mag-scroll paabante o paatras Dagdagan o bawasan ang volume ng Accessibility - Basahin nang malakas ang text na naka-embed sa napiling larawan + Makakuha ng awtomatikong paglalarawan para sa larawang ito pababa pababa pagkatapos ay pakanan Mag-swipe pataas @@ -408,9 +416,7 @@ Mag-double tap at mag-hold gamit ang 2 daliri Mag-double tap at mag-hold gamit ang 3 daliri Mag-double tap at mag-hold gamit ang 4 na daliri - Mag-tap at mag-hold gamit ang 3 daliri Mag-triple tap at mag-hold gamit ang 2 daliri - Mag-triple tap at mag-hold gamit ang 3 daliri \"%1$s\" o %2$s\" para isaayos \"%1$s\" para isaayos Hindi alam na galaw @@ -433,9 +439,8 @@ Kapag nag-on ang screen Kapag ipinakita ang lock screen Mula sa notification lang - Pumindot nang matagal para pumili ng anumang key, pagkatapos ay mag-double tap - Pumindot nang matagal para pumili ng letter key, pagkatapos ay iangat ang daliri Mag-double tap para sa iba pang key. - Pumindot nang matagal para pumili ng anumang key, pagkatapos ay iangat ang daliri + Pumindot nang matagal para piliin ang key, pagkatapos ay mag-double tap + Pumindot nang matagal para piliin ang key, pagkatapos ay iangat Naka-disable Napakahina Mahina @@ -485,6 +490,7 @@ Piliin ang application kung saan ie-export ang mga label: Kabilang sa bersyong ito ng TalkBack ang mga pagbabago sa mga default na galaw sa accessibility. Maaaring i-customize ang mga pagkilos na nauugnay sa mga galaw na ito sa loob ng mga setting ng TalkBack. Kapag naka-enable ang Explore by touch, maaari mong gamitin ang mga sumusunod na galaw upang magsagawa ng ilang partikular na pagkilos.\n\n%1$s Matagal na pagpindot sa mga key sa pagpapalakas at pagpapahina ng volume + Mabilis na pindutin nang tatlong beses ang parehong volume key para itago o ipakita ang screen Itago ang screen? Para mapahusay ang privacy, ino-off nito ang display para hindi makita ng iba ang iyong screen kapag nasa mga pampublikong lugar Kabilang sa bersyong ito ng TalkBack ang mga pagbabago sa mga default na galaw sa accessibility.\n\nMagbibigay-daan sa iyo ang galaw na pataas pagkatapos ay pababa na lumipat sa unang item sa screen, at lilipat naman ang galaw na pababa pagkatapos ay pataas sa huling item.\n\nPuwede na ngayong palitan ang granularity ng pagbabasa sa pamamagitan ng pagtuon sa isang item, pagkatapos ay pagpili ng granularity sa menu ng konteksto ng talkback.\n\nMapapalitan mo ang mga pagkilos na isinasagawa ng mga galaw na ito sa Mga Setting ng TalkBack. @@ -500,9 +506,6 @@ Sigurado ka bang gusto mong i-on ang pagde-debug ng node tree?\n\nInilalantad ng pagde-debug ng node tree ang content ng iyong screen sa mga log ng iyong device, na maaaring mabasa ng iba pang mga application. I-enable ang Mga Istatistika ng Performance? Sigurado ka bang gusto mong i-on ang mga istatistika ng performance?\n\nMaaaring makakonsumo ng higit pang memory at power ang mga istatistika ng performance. - I-enable ang verbose logging? - Makakatulong ang verbose logging sa pag-debug pero posibleng magdulot na may lumabas na personal na impormasyon sa buffer ng log ng system.\n\n Gusto mo bang i-enable ang verbose logging? - Oo, i-enable ang verbose logging Payagan ang access sa phone? Nakakatulong ito sa TalkBack na bawasan ang mga anunsyo habang nasa tawag ka Magpatuloy @@ -556,11 +559,9 @@ Volume ng Accessibility I-adjust ang slider I-adjust ang value - Mga Pagkilos Bigkasin ang mga password Palaging binibigkas ang mga password Tunog at pag-vibrate - Tunog nakopya, %1$s Isara Isara ang paghahanap @@ -595,15 +596,13 @@ %1$s para magbasa ayon sa %2$s Para magamit ito, pumunta sa mga setting ng TalkBack at magdagdag ng galaw para sa \'%1$s\' Hindi naka-on ang Braille keyboard. Pumunta sa setting ng TalkBack at i-set up ang Braille keyboard. - May mga available na suhestyon - May mga available na suhestyon. Para i-access ang mga ito, %1$s Page %1$d ng %2$d Nakaraan Susunod Isara Tapusin Mag-navigate pataas - Mga bagong feature sa TalkBack + Mga bagong feature sa TalkBack Isara ang tutorial? Puwede mo itong balikan anumang oras sa mga setting ng TalkBack. Manatili sa tutorial @@ -647,14 +646,6 @@ Mag-tap para malaman kung paano mas mabilis na magamit ang TalkBack gamit ang mga bagong galaw. Na-print ang node tree sa mga log. Narito ang mga galaw na isinagawa kamakailan, pakiulat kung anong galaw ang mali at kung ano ang inaasahan. - Makakakuha ka ng mga pinasimpleng kontrol ng volume, mas mabilis na kontrol ng pagkilos, at higit pa.\n\nMatututo ka tungkol sa mahahalagang update at pagbabago sa mga susunod na screen. Aabutin ito nang humigit-kumulang 5 minuto.\n\nPuwede mong suriin ang impormasyong ito sa mga setting ng TalkBack anumang oras. - Mga pagbabago sa kontrol ng volume - Para mapahusay ang kontrol ng volume, hindi na kinokontrol ng mga volume key ang mga cursor ng text o slider.\n\nPara baguhin ang posisyon ng slider, mag-swipe pababa o pataas.\n\nPara baguhin ang posisyon ng cursor ng text, mag-swipe pataas o pababa sa loob ng text box. Gumagana rin ito sa mga kontrol sa pagbabasa sa braille keyboard. - Text sa mga larawan - Puwede kang makakuha ng higit pang detalye tungkol sa text sa mga larawan nang awtomatiko o kapag kailangan mo ito.\n\nPara sa mga larawang walang label: awtomatikong babasahin ng TalkBack ang lalabas na text.\n\nPara sa lahat ng larawan: Buksan ang menu ng TalkBack at piliin ang \"Ilarawan ang text sa larawan.\"\n\nMananatili sa iyong device at hindi kailanman ipapadala sa Google ang mga larawan. Ibig sabihin, puwede mong gamitin ang dalawang feature na ito nang walang koneksyon sa internet. - Pag-navigate sa window - Puwede kang magpalipat-lipat sa iba\'t ibang seksyon sa iyong screen, tulad ng notification bar, pangunahing content, at keyboard.\n\nPara gamitin ang pag-navigate sa window, mag-swipe pababa gamit ang 4 na daliri. - Puwede kang magpalipat-lipat sa iba\'t ibang seksyon sa iyong screen, tulad ng notification bar, pangunahing content, at keyboard.\n\nPara gamitin ang pag-navigate sa window, mag-swipe pababa at pagkatapos ay pataas. Magpatuloy lang hanggang sa mapili mo ang pag-navigate sa window. Para mag-navigate papunta sa window, mag-swipe pababa. Tutorial Welcome sa TalkBack Ang TalkBack ay isang screen reader na ginawa para sa mga sitwasyon o taong nahihirapang makita ang screen. Binibigyan ka nito ng pasalitang feedback para magamit mo ang iyong device nang hindi tumitingin sa screen.\n\nPuwede mong i-on o i-off ang TalkBack sa pamamagitan ng pagpindot sa parehong volume key nang ilang segundo.\n\nKapag naka-on ang TalkBack, bibigkasin nang malakas ang naka-focus na item sa screen.\n\nKapag nag-swipe pakanan, lilipat ito sa susunod na item, at kapag nag-swipe pakaliwa, lilipat ito sa nakaraang item.\n\nMag-swipe pakanan ngayon para makita ang susunod na button. @@ -697,14 +688,14 @@ Igalaw ang iyong daliri sa keyboard. Kapag narinig mo ang titik na gusto mong i-type, iangat ang iyong daliri.\n\nSubukang i-activate ang text box sa ibaba at i-type ang pangalan mo. Puwede ka ring mag-type gamit ang braille keyboard. Hanapin ito sa mga setting ng TalkBack. Paggalaw sa cursor - Kapag nag-activate ka ng text box, puwede mong ilipat ang cursor sa pagitan ng mga titik sa pamamagitan ng pag-swipe pataas o pababa.\n\nSubukan ito sa text box sa ibaba. + Kapag may na-activate kang text box, puwede mong igalaw ang cursor sa mga titik sa pamamagitan ng pagpindot sa pataas o pababang volume key.\n\nSubukan ito sa text box sa ibaba. Welcome sa TalkBack Pagpili ng text Sa text box, ilipat ang cursor sa umpisa ng text na gusto mong piliin.\n\nMag-double tap at mag-hold gamit ang 2 daliri para simulan ang selection mode. Pagkatapos, igalaw ang cursor papunta sa dulo ng text. Mag-double tap at mag-hold ulit gamit ang 2 daliri para ihinto ang selection mode.\n\nSubukang piliin ang salitang \"Welcome\" sa text box sa ibaba. - Sa text box, ilipat ang cursor sa umpisa ng text na gusto mong piliin.\n\nMag-swipe pababa at pagkatapos ay pakanan para buksan ang menu ng TalkBack. I-double tap ang mga pagkilos at pagkatapos ay simulan ang selection mode. Igalaw ang cursor papunta sa dulo ng text.\n\nBuksan ulit ang menu ng TalkBack, pagkatapos ay i-double tap ang mga pagkilos para ihinto ang selection mode.\n\nSubukang piliin ang salitang \"Welcome\" sa text box sa ibaba. + Sa text box, ilipat ang cursor sa umpisa ng text na gusto mong piliin.\n\nMag-swipe pababa pagkatapos ay pakanan para buksan ang menu ng TalkBack. I-double tap ang mga opsyon sa pag-edit at pagkatapos ay simulan ang selection mode. Igalaw ang cursor papunta sa dulo ng text.\n\nBuksan ulit ang menu ng TalkBack, pagkatapos ay i-double tap ang mga opsyon sa pag-edit para ihinto ang selection mode.\n\nSubukang piliin ang salitang \"Welcome\" sa text box sa ibaba. Kumopya, mag-cut, at mag-paste - Pagkatapos piliin ang text, i-double tap ang mga pagkilos at pagkatapos ay kumopya.\n\nSubukang kumopya ng salita sa text box sa ibaba. - Para mag-cut o mag-paste ng text, buksan ang menu ng TalkBack at i-double tap ang mga pagkilos.\n\nPara mag-paste ng text, mag-triple tap gamit ang 3 daliri.\n\nSubukang mag-paste ng salita sa text box sa ibaba. + Pagkatapos piliin ang text, kopyahin ito sa pamamagitan ng pag-double tap gamit ang 3 daliri.\n\nSubukang kumopya ng salita sa text box sa ibaba. + Para mag-cut ng text, mag-double tap at mag-hold gamit ang 3 daliri.\n\nPara mag-paste ng text, mag-triple tap gamit ang 3 daliri.\n\nSubukang mag-paste ng salita sa text box sa ibaba. Pagkatapos mong pumili ng text, puwede mo itong kopyahin sa menu ng TalkBack. Mag-swipe pababa at pagkatapos ay pakanan para buksan ang menu ng TalkBack. I-double tap ang mga opsyon sa pag-edit at pagkatapos ay kopyahin.\n\nSubukang kumopya ng salita sa text box sa ibaba. Para mag-cut o mag-paste ng text, buksan ang menu ng TalkBack at i-double tap ang mga opsyon sa pag-edit.\n\nSubukang mag-paste ng salita sa text box sa ibaba. I-paste dito ang text @@ -747,7 +738,6 @@ Mag-swipe pakanan o pakaliwa para magpalipat-lipat sa mga item Mag-double-tap para mag-activate ng item I-drag ang 2 daliri para mag-scroll - Pakitingnan kung nakakonekta ang telepono. Makakapal na border Kulay Default @@ -759,12 +749,6 @@ Gray Sarado na ang survey Text: %1$s - Ilarawan ang text sa larawan - Na-detect na icon: %1$s - Hindi sinusuportahan ang pagkilos. - Walang napiling pagkilos. - Pumili ng sinusuportahang pagkilos. - Walang pagkilos. - Hindi naka-enable ang setting ng mga pagkilos. - Walang nakitang text + Ilarawan ang larawan + Natukoy na icon: %1$s diff --git a/talkback/src/main/res/values-tr/strings.xml b/talkback/src/main/res/values-tr/strings.xml index 744d678c0..0e32a74e6 100644 --- a/talkback/src/main/res/values-tr/strings.xml +++ b/talkback/src/main/res/values-tr/strings.xml @@ -7,7 +7,6 @@ Metin okuma ayarları Diller Konuşma dili - İşlemler Sistem işlemleri Sürüm %1$s Özel Etiketleri Yönetin @@ -31,37 +30,46 @@ Cihazın kilidi açıldı. Ses Konuşma ses düzeyi - Ekran kapalıyken bildirimleri söyle - Liste öğelerinin sayısını her zaman söyle - Tüm kaydırma yöntemlerinin sayısını söyle + Ekran kapalıyken konuş + Ekran kapalıyken bildirimler söylenir + Ekran kapalıyken konuşma olmaz + Ekrandaki liste öğelerinin sayısını söyle + Yalnızca hareketle kaydırma yaparken sesli oku + Her zaman sesli oku Konuşmayı durdurmak için yakınlık sensörünü kapat - Harfleri örneklerle söyle - Klavye tuşlarını seçtiğinizde veya karaktere göre gezindiğinizde her harfle birlikte örneğin \"h, hastane\" gibi bir örnek duyarsınız - Noktalamaları ve sembolleri söyle + Fonetik harfleri söyle + Fonetik harfler okunmaz + Fonetik harfler, klavye tuşlarına uzun basılıp karakter bazında gezinildiğinde sesli okunur. + Noktalama İşaretleri + Noktalama işaretleri ve semboller sesli okunmaz + Noktalama işaretleri ve semboller sesli okunur Büyük harfler Hiçbir şey yapmayın “Büyük” deyin Ses perdesini değiştirin Ses çalın Kullanım ipuçlarını söyle - İçerik açıklandıktan sonra kullanım önerisinde bulun - Liste ve ızgaralardaki bilgiyi sesli oku + Erişilebilirlik odağı hareket ettirildiğinde, kullanım ipuçları sesli okunmaz + Gezinme sırasında, kısa bir beklemenin ardından kullanım ipuçları sesli okunur + Liste ve kılavuz bilgilerini söyle + Liste ve kılavuz bilgileri sesli okunur + Liste ve kılavuz bilgileri sesli okunmaz Hareketler sıfırlansın mı? Tüm hareketler sıfırlanıp varsayılan işlemleri yapmaya başlayacak.\n\nYaptığınız tüm değişiklikleri kaybedeceksiniz. Sıfırla Hareket ayarları sıfırlandı. Öğe türünü söyle - Odaklanılan öğeler için + Odaklanılan öğeler için öğe türü sesli okunur + Odaklanılan öğeler için öğe türü sesli olarak bildirilmez Öğe kimliklerini sesli oku - Etiketsiz düğmeler için - Konuşma sistemi pencereleri - Durum çubuğu, bildirimler veya ses seviyesi kontrolleri gibi diğer sistem pencerelerine geçtiğinizde + Etiketi olmayan düğmelerde Öğe Kimlikleri sesli okunmaz + Etiketi olmayan düğmelerde Öğe Kimlikleri sesli okunur Dokunarak keşfet Denetimler Etkinleştirmek için bir kez dokunun Etkinleştirmek için, odaklanılan öğeye bir kez dokunun Ayrıntı düzeyi - Noktalamaları ve sembolleri söyle + Noktalama İşaretleri Odak Göstergesi\'ni özelleştir Hareketleri özelleştir Özel etiketler @@ -203,7 +211,8 @@ Ses tonu değişikliklerini kullan Klavye yankısı Öğe açıklaması sırası - Silinen harfler daha ince bir sesle söylenir + Klavyenin sildiği metinler daha ince bir sesle söylenir + Konuşurken ses kalınlığını değiştirme Braille klavye Titreşimli geri bildirim Sesli geri bildirim @@ -211,6 +220,7 @@ Konuşurken diğer sesleri kıs Sesli geri bildirim ses düzeyi TalkBack askıya alma ve devam ettirme kısayolu + Ekran kısayolunu gizle Geliştirici ayarları Günlüğe kaydedilecek etkinlikleri seçin Erişilebilirlik etkinlik günlüğünü filtrele @@ -256,7 +266,7 @@ TalkBack menüsünü aç Geri bildirimi duraklat Konuşmayı duraklat veya devam ettir - Sesi etkinleştir veya devre dışı bırak + TalkBack\'in sesini aç/kapat Ekranın başından başlayarak oku Sonraki öğeden başlayarak oku Düğüm ağacını yazdır @@ -278,7 +288,6 @@ Erişilebilirlik kısayolunu basılı tut Gezinme odağını ileriye veya okuma kontrolünü aşağıya ayarla Gezinme odağını geriye veya okuma kontrolünü yukarıya ayarla - Şu anda seçili işlemi etkinleştir Arama sonucu Medyayı oynat veya duraklat Tüm uygulamalar @@ -323,7 +332,7 @@ Okuma Öne çıkan özellikler Diğer - Kopyalama, yapıştırma, seçme ve diğer işlemler de dahil olmak üzere mevcut öğede kullanılabilen işlemleri gösterir + Geçerli öğe için özel işlemler varsa gösterilir Kopyalama, yapıştırma, seçme ve diğer işlemler. Metin kutusu seçtiğinizde gösterilir. Odaklanılan öğe içindeki bağlantıları açar Sonraki veya önceki sayfaya gider. Okuduğunuz içeriğin birden fazla sayfası varsa gösterilir. @@ -342,7 +351,6 @@ Metin okuma ayarlarını açar TalkBack sesli geri bildirimi kapatır Düzenlenemez - İşlem gerçekleştirin Bir seferde tek karakter okur Bir seferde tek kelime okur Bir seferde tek satır okur @@ -365,7 +373,7 @@ TalkBack konuştuğunda çalan diğer seslerin seviyesini kısar İleri veya geri kaydırın Erişilebilirlik ses düzeyini artır veya azalt - Seçilen resimde yer alan metni okutun + Bu resim için otomatik açıklama alın aşağı aşağı sonra sağa Yukarı hızlıca kaydırma @@ -408,9 +416,7 @@ 2 parmakla dokunma ve basılı tutma 3 parmakla dokunma ve basılı tutma 4 parmakla dokunma ve basılı tutma - 3 parmakla dokunma ve basılı tutma 2 parmakla üç kez dokunma ve basılı tutma - 3 parmakla üç kez dokunma ve basılı tutma Düzenlemek için \"%1$s\" veya \"%2$s\" Düzenlemek için \"%1$s\" Bilinmeyen hareket @@ -433,9 +439,8 @@ Ekran açıldığında Kilit ekranı gösteriliyorken Yalnızca bildirimden - Herhangi bir tuş seçmek için parmağınızla basılı tuttuktan sonra iki kez dokunun - Harf tuşu seçmek için önce basılı tutup sonra parmağınızı kaldırın Diğer tuşlar için iki kez dokunun. - Herhangi bir tuşu seçmek için önce basılı tutup sonra parmağınızı kaldırın + Tuşu seçmek için parmağınızla basılı tuttuktan sonra iki kez dokunun + Tuşu seçmek için önce basılı tutup sonra parmağınızı kaldırın Devre dışı Çok hafif Hafif @@ -485,6 +490,7 @@ Etiketleri dışa aktarmak için uygulama seçin: TalkBack\'in bu sürümü, varsayılan erişilebilirlik hareketlerinde değişiklikler içermektedir. Bu hareketlerle ilişkilendirilen işlemler TalkBack ayarlarından özelleştirilebilir. Dokunarak keşfetme özelliği etkin durumdayken, belirli işlemleri gerçekleştirmek için aşağıdaki hareketleri kullanabilirsiniz.\n\n%1$s Sesi açma ve sesi kısma tuşlarına uzun basın + Ekranı gizlemek veya görüntülemek için her iki ses tuşuna üç kez hızlıca basın Ekran gizlensin mi? Bu seçenek, daha fazla gizlilik sağlamak için ekranı kapatır. Böylece, herkese açık yerlerde başkaları ekranınızı göremez. TalkBack\'in bu sürümünde, varsayılan erişilebilirlik hareketleriyle ilgili değişiklikler yapıldı.\n\nYukarı-sonra-aşağı hareketi artık ekrandaki ilk öğeye, aşağı-sonra-yukarı hareketi ise son öğeye gitmenizi sağlıyor.\n\nOkuma ayrıntı düzeyi artık bir öğeye odaklanıp sonra TalkBack bağlam menüsünden ayrıntı düzeyi seçilerek belirlenebilmektedir.\n\nBu hareketlerle gerçekleştirilen işlemleri TalkBack Ayarları\'ndan değiştirebilirsiniz. @@ -500,9 +506,6 @@ Düğüm ağacı hata ayıklamasını açmak istediğinizden emin misiniz?\n\nDüğüm ağacı hata ayıklaması, ekranınızın içeriğini cihazınızın günlüklerine açar ve bu bilgiler diğer uygulamalar tarafından okunabilir. Performans İstatistikleri etkinleştirilsin mi? Performans istatistiklerini açmak istediğinizden emin misiniz?\n\nPerformans istatistikleri daha fazla bellek ve güç tüketebilir. - Ayrıntılı günlük kaydı etkinleştirilsin mi? - Ayrıntılı günlük kaydı, hata ayıklamaya yardımcı olsa da kişisel bilgilerin sistem günlüğü arabelleğinde görünmesine yol açabilir.\n\n Ayrıntılı günlük kaydını etkinleştirmek istiyor musunuz? - Evet, ayrıntılı günlük kaydını etkinleştir Telefon erişimine izin verilsin mi? Bu izin, TalkBack\'in telefon görüşmeleriniz esnasında duyuruları azaltmasına yardımcı olur Devam @@ -556,11 +559,9 @@ Erişilebilirlik ses düzeyi Kaydırma çubuğunu ayarla Değeri ayarla - İşlemler Şifreleri sesli olarak oku Şifreler her zaman sesli okunur Ses ve titreşim - Ses kopyalandı, %1$s Kapat Aramayı kapat @@ -595,15 +596,13 @@ %2$s bazında okumak için %1$s hareketini yapın Bunu kullanmak için TalkBack ayarlarına gidip \"%1$s\" seçeneğine hareket ekleyin Braille klavyesi açık değil. TalkBack ayarlarına gidin, Braille klavyesini kurup tekrar deneyin. - Öneri mevcut - Öneri mevcut. Erişmek için %1$s Sayfa %1$d/%2$d Önceki Sonraki Kapat Son Yukarı git - TalkBack\'teki yeni özellikler + TalkBack\'teki yeni özellikler Eğitim kapatılsın mı? İstediğiniz zaman TalkBack ayarlarından geri dönebilirsiniz. Eğitimde kal @@ -647,14 +646,6 @@ Yeni hareketlerle TalkBack\'i nasıl daha hızlı kullanabileceğinizi öğrenmek için .dokununun Düğüm ağacı günlüklere yazdırıldı. Son gerçekleştirilen hareketler aşağıda verilmiştir. Lütfen hangi hareketin yanlış olduğunu ve hareketten ne beklendiğini bildirin. - Yeni özellikler arasında basitleştirilmiş ses denetimleri, daha hızlı işlem denetimleri ve daha fazlası yer alıyor.\n\nSonraki birkaç ekranda önemli güncellemeler ve değişiklikler hakkında bilgi alacaksınız. Bu işlem yaklaşık 5 dakika sürer.\n\nBu bilgileri istediğiniz zaman TalkBack ayarlarında inceleyebilirsiniz. - Ses denetimindeki değişiklikler - Ses denetimini iyileştirmek amacıyla, ses seviyesi tuşları artık metin imleçlerini veya kaydırma çubuklarını denetlemeyecek.\n\nKaydırma çubuklarını ayarlamak için yukarı veya aşağı kaydırın.\n\nMetin imleçlerinin yerini değiştirmek için metin kutusu içinde yukarı veya aşağı kaydırın. Bu yöntem braille klavyesi okuma kontrolleri için de geçerlidir. - Resimlerdeki metinler - Resimlerdeki metinlerle ilgili ayrıntılı bilgileri otomatik olarak veya ihtiyacınız olduğunda alabilirsiniz.\n\nEtiketi olmayan resimlerde: TalkBack görünen metni otomatik olarak okur.\n\nTüm resimlerde: TalkBack menüsünü açıp \"Resimdeki metni açıkla\"yı seçin.\n\nResimler cihazınızda kalır ve hiçbir zaman Google\'a gönderilmez. Yani bu özelliklerin ikisini de internet bağlantısı olmadan kullanabilirsiniz. - Pencereli gezinme - Ekranınızda bildirim çubuğu, ana içerik ve klavye gibi farklı bölümler arasında geçiş yapabilirsiniz.\n\nPencereli gezinmeyi kullanmak için 4 parmakla aşağı kaydırın. - Ekranınızda bildirim çubuğu, ana içerik ve klavye gibi farklı bölümler arasında geçiş yapabilirsiniz.\n\nPencereli gezinmeyi kullanmak için önce aşağı ardından yukarı kaydırın. Pencereli gezinmeyi seçene kadar kaydırmaya devam edin. Pencereye gitmek için aşağı kaydırın. Eğitim TalkBack\'e hoş geldiniz TalkBack, ekranın zor görüldüğü durumlar veya ekranı görmekte zorluk yaşayan kullanıcılar için tasarlanmış bir ekran okuyucudur. Ekrana bakmadan cihazınızı kullanabilmeniz için sözlü geri bildirim sağlar.\n\nSes seviyesi tuşlarının ikisini birden birkaç saniyeliğine basılı tutarak TalkBack\'i açabilir veya kapatabilirsiniz.\n\nTalkBack açıkken Ekranda odaklanılan öğe sesli olarak söylenir.\n\nSağa kaydırmak bir sonraki öğeye, sola kaydırmak önceki öğeye gitmenizi sağlar.\n\nSonraki düğmeyi bulmak için şimdi sağa kaydırın. @@ -697,14 +688,14 @@ Parmağınızı klavye üzerinde hareket ettirin. Yazmak istediğiniz harfi duyduğunuzda parmağınızı kaldırın.\n\nAşağıdaki metin kutusunu etkinleştirip adınızı yazmayı deneyin. Braille klavyeyle de yazabilirsiniz. Braille klavyeyi TalkBack ayarlarında bulabilirsiniz. İmleci hareket ettirme - Bir metin kutusunu etkinleştirdiğinizde aşağı veya yukarı kaydırarak imleci harfler arasında hareket ettirebilirsiniz.\n\nAşağıdaki metin kutusunda deneyin. + Bi metin kutusunu etkinleştirdiğinizde sesi açma veya kısma tuşlarına basarak imleci harfler arasında hareket ettirebilirsiniz.\n\nAşağıdaki metin kutusunda deneyin. TalkBack\'e hoş geldiniz Metin seçme İmleci, metin kutusunda seçmek istediğiniz metnin başladığı yere taşıyın.\n\nSeçim modunu başlatmak için 2 parmakla iki kez dokunun ve basılı tutun. Ardından imleci metnin sonuna taşıyın. Seçim modunu bitirmek için tekrar 2 parmakla iki kez dokunup basılı tutun.\n\nAşağıdaki metin kutusunda \"Hoş geldiniz\" kelimesini seçmeyi deneyin. - İmleci, metin kutusunda seçmek istediğiniz metnin başladığı yere taşıyın.\n\nTalkBack menüsünü açmak için parmağınızı aşağı, ardından sağa kaydırın. İşlemlere iki kez dokunun, ardından seçim modunu başlatın. İmleci metnin sonuna taşıyın.\n\nTalkBack menüsünü tekrar açın, ardından seçim modunu sonlandırmak için düzenleme seçeneklerine iki kez dokunun.\n\nAşağıdaki metin kutusunda \"Hoş geldiniz\" kelimesini seçmeyi deneyin. + İmleci, metin kutusunda seçmek istediğiniz metnin başladığı yere taşıyın.\n\nTalkBack menüsünü açmak için parmağınızı aşağı, ardından sağa kaydırın. Düzenleme seçeneklerine iki kez dokunun, ardından seçim modunu başlatın. İmleci metnin sonuna taşıyın.\n\nTalkBack menüsünü tekrar açın, ardından seçim modunu sonlandırmak için düzenleme seçeneklerine iki kez dokunun.\n\nAşağıdaki metin kutusunda \"Hoş geldiniz\" kelimesini seçmeyi deneyin. Kopyalama, kesme ve yapıştırma - Metni seçtikten sonra işlemlere iki kez dokunun, ardından kopyalayın.\n\nAşağıdaki metin kutusunda kelime kopyalamayı deneyin. - Metni kesmek veya yapıştırmak için TalkBack menüsünü açıp işlemlere iki kez dokunun.\n\nMetni yapıştırmak için 3 parmağınızla üç kez dokunun.\n\nAşağıdaki metin kutusuna kelime yapıştırmayı deneyin. + Metni seçtikten sonra 3 parmakla iki kez dokunarak kopyalayın.\n\nAşağıdaki metin kutusunda bir kelimeyi kopyalamayı deneyin. + Metni kesmek için 3 parmakla iki kez dokunup basılı tutun.\n\nMetni yapıştırmak için 3 parmakla üç kez dokunun.\n\nAşağıdaki metin kutusuna bir kelimeyi yapıştırmayı deneyin. Metni seçtikten sonra TalkBack menüsünde kopyalayabilirsiniz. TalkBack menüsünü açmak için parmağınızı aşağı, ardından sağa kaydırın. Düzenleme seçeneklerine iki kez dokunun, ardından kopyalayın.\n\nAşağıdaki metin kutusuna bir kelime kopyalamayı deneyin. Metni kesmek veya yapıştırmak için TalkBack menüsünü açıp düzenleme seçeneklerine iki kez dokunun.\n\nAşağıdaki metin kutusuna bir kelime yapıştırmayı deneyin. Metni buraya yapıştırın @@ -747,7 +738,6 @@ Öğeler arasında geçiş yapmak için ekranı sağa veya sola kaydırın Bir öğeyi etkinleştirmek için iki kez dokunun Kaydırmak için 2 parmağınızla sürükleyin - Telefonun bağlı olup olmadığını kontrol edin. Kalın kenarlıklar Renk Varsayılan @@ -759,12 +749,6 @@ Gri Anket kapalı Metin: %1$s - Resimdeki metni açıkla - Silinen simge: %1$s - İşlem desteklenmiyor. - İşlem seçilmedi. - Lütfen desteklenen bir işlem seçin. - İşlem yok. - İşlem ayarı etkin değil. - Metin bulunamadı + Resmi tanımla + Tahmin edilen simge: %1$s diff --git a/talkback/src/main/res/values-uk/strings.xml b/talkback/src/main/res/values-uk/strings.xml index 9190331cd..080c6c932 100644 --- a/talkback/src/main/res/values-uk/strings.xml +++ b/talkback/src/main/res/values-uk/strings.xml @@ -7,7 +7,6 @@ Налаштування синтезу мовлення Мови Мова голосових підказок - Дії Системні дії Версія %1$s Спеціальні мітки @@ -31,37 +30,46 @@ Пристрій розблоковано. Аудіозапис Гучність мовлення - Читати сповіщення, коли екран вимкнено - Завжди озвучувати кількість елементів списку - Озвучувати кількість для всіх методів прокручування + Говорити, коли екран вимкнено + Сповіщення озвучуються, коли екран вимкнено + Дії не озвучуються, коли екран вимкнено + Озвучувати кількість елементів списку на екрані + Озвучувати, коли користувач прокручує вміст жестом + Завжди озвучується Зупиняти озвучення, коли прикрито датчик відстані - Озвучувати літери з прикладами - Вибираючи клавіші клавіатури або переходячи між окремими символами, ви чутимете кожну літеру з прикладом, як-от: \"г, готель\" - Озвучувати розділові знаки та символи + Увімкнути вимову літер + Вимова літер не озвучується + Вимова літер озвучується, якщо втримувати клавіші та переходити між символами + Пунктуація + Розділові знаки й символи не озвучуються + Розділові знаки й символи озвучуються Великі букви Нічого не робити Називати велику букву Змінювати висоту звуку Відтворювати звуковий сигнал Увімкнути голосові підказки - Після опису контенту пропонувати його застосування - Озвучувати дані зі списків і таблиць + Підказки не озвучуються, якщо переходити між елементами + Підказки озвучуються під час навігації з невеликою затримкою + Озвучувати інформацію списку й таблиці + Озвучується інформація зі списків і таблиць + Інформація зі списків і таблиць не озвучується Скинути жести? Для всіх жестів буде встановлено дії за умовчанням, а всі ваші зміни буде скасовано. Скинути Налаштування жестів скинуто. Озвучувати тип елемента - Для виділених об’єктів + Озвучується тип вибраних елементів + Тип вибраних елементів не озвучується Озвучувати ідентифікатори елементів - Для кнопок без міток - Озвучувати назви системних вікон - Коли ви переходите в інші системні вікна, наприклад рядка стану, сповіщень чи елементів керування гучністю + Ідентифікатори елементів не озвучуються для кнопок без міток + Ідентифікатори елементів озвучуються для кнопок без міток Дослідження дотиком Елементи керування Натисніть один раз, щоб активувати Натисніть один раз виділений об’єкт, щоб активувати його Деталізація - Озвучувати розділові знаки та символи + Пунктуація Налаштувати індикатор фокусування Налаштувати жести Спеціальні мітки @@ -203,7 +211,8 @@ Змінювати тон під час озвучування Озвучення натиснених клавіш Порядок опису елементів - Відтворювати видалені літери голосом із вищим тоном + Відтворювати підказки клавіатури голосом із вищим тоном + Не змінювати висоту звуку під час мовлення Брайлівська клавіатура Вібровідгук Звуковий відгук @@ -211,6 +220,7 @@ Зменшувати гучність іншого аудіо під час озвучування Гучність звукового відгуку Призупиняти та відновлювати Talkback комбінацією клавіш + Комбінація клавіш для приховування екрана Налаштування розробника Вибирати, які події внести в журнал Фільтрувати події спеціальних можливостей під час внесення в журнал @@ -256,7 +266,7 @@ Відкрити меню TalkBack Призупинити голосові підказки Призупинити або відновити озвучення - Увімкнути або вимкнути мовлення + Увімкнути або вимкнути озвучення за допомогою функції TalkBack Читати від початку Читати від наступного елемента Друкувати дерево вузлів @@ -278,7 +288,6 @@ Утримувати кнопку спеціальних можливостей Перейти до наступного елемента навігації або зменшити значення параметра читання Перейти до попереднього елемента навігації або збільшити значення параметра читання - Активувати вибрану зараз дію Результат пошуку Відтворити або зупинити медіа Усі додатки @@ -323,7 +332,7 @@ Читання Спеціальні функції Інше - Відображається, якщо є доступні дії для поточного об’єкта (наприклад, копіювання, вставка, вибір тощо) + Доступно, якщо є спеціальні дії для поточного елемента Копіювання, вставка, вибір та інші дії. Доступно, якщо вибрано текстове вікно. Відкрити посилання у вибраному елементі Перейти на наступну або попередню сторінку. Доступно, якщо вибрано контент із кількома сторінками. @@ -342,7 +351,6 @@ Відкрити налаштування синтезу мовлення Вимкнути озвучення за допомогою функції TalkBack Неможливо редагувати - Виконати дії Читати по символах Читати по словах Читати по рядках @@ -365,7 +373,7 @@ Зменшити гучність інших звуків під час озвучування за допомогою TalkBack Прокручування вперед або назад Збільшення або зменшення гучності спеціальних можливостей - Читати текст на вибраному зображенні + Отримати автоматичний опис цього зображення униз униз, а потім праворуч Провести пальцем угору @@ -408,9 +416,7 @@ Два дотики й утримування двома пальцями Два дотики й утримування трьома пальцями Два дотики й утримування чотирма пальцями - Натискання й утримування 3 пальцями Потрійний дотик і втримування двома пальцями - Три дотики й утримування трьома пальцями Щоб коригувати, виконайте один із цих жестів: \"%1$s\" або \"%2$s\" Щоб коригувати, виконайте цей жест: \"%1$s\" Невідомий жест @@ -433,9 +439,8 @@ Коли вмикається екран Коли відображається екран блокування Лише на панелі сповіщень - Утримувати будь-яку клавішу, а потім двічі торкнутися її - Утримувати, а потім відпустити (для клавіш із літерами). Двічі торкнутися (для інших клавіш). - Утримувати будь-яку клавішу й відпустити її + Утримувати клавішу, а потім двічі торкнутися її + Утримувати клавішу й відпустити її Вимкнено Дуже легко Легко @@ -487,6 +492,7 @@ Виберіть, у який додаток експортувати мітки: У цій версії TalkBack змінено жести доступності за умовчанням. Дії, пов’язані з цими жестами, можна вказати в налаштуваннях TalkBack. Якщо функцію дослідження дотиком увімкнено, можна виконувати певні дії за допомогою вказаних нижче жестів.\n\n%1$s Натисніть і утримуйте кнопки збільшення та зменшення гучності + Потрійне швидке натискання обох клавіш гучності одночасно, щоб показати або приховати екран Приховати екран? Екран гасне, щоб інші люди не могли побачити, що на ньому відображається. Це забезпечує додатковий рівень конфіденційності в громадських місцях. У цій версії TalkBack змінено жести спеціальних можливостей за умовчанням.\n\nЩоб перейти до першого елемента на екрані, проведіть пальцем угору, а потім униз, а щоб перейти до останнього – униз, а потім угору.\n\nТепер, щоб змінити деталізацію читання, потрібно перейти до елемента й вибрати потрібний рівень у контекстному меню TalkBack.\n\nДії, які відповідають цим жестам, можна змінити в налаштуваннях TalkBack. @@ -502,9 +508,6 @@ Увімкнути налагодження дерева вузлів?\n\nНалагодження дерева вузлів відкриває вміст вашого екрана для журналів пристрою, які можуть бути зчитані іншими додатками. Увімкнути статистику продуктивності? Увімкнути статистику продуктивності? \n\n Вона може споживати більше пам’яті та заряду акумулятора. - Увімкнути докладний журнал? - Докладний журнал може бути корисний під час налагодження, однак при цьому в буфері системного журналу може з’являтись особиста інформація.\n\n Увімкнути докладний журнал? - Так, увімкнути докладний журнал Надати доступ до телефона? Таким чином TalkBack зменшить кількість сповіщень під час дзвінків Продовжити @@ -560,11 +563,9 @@ Спеціальні можливості: гучність Налаштуйте повзунок Виберіть значення - Дії Озвучувати паролі Паролі завжди озвучуються Звук і вібрація - Звук скопійовано: %1$s Закрити Закрити пошук @@ -601,15 +602,13 @@ %1$s, щоб читати в режимі \"%2$s\" Щоб використовувати, перейдіть у налаштування TalkBack і додайте жест для дії \"%1$s\" Брайлівську клавіатуру не ввімкнено. Налаштуйте її в параметрах TalkBack і повторіть спробу. - Є пропозиції - Є пропозиції. Щоб перейти до них, %1$s Сторінка %1$d із %2$d Назад Далі Закрити Завершити Перейти назад - Нові функції в TalkBack + Нові функції в TalkBack Закрити навчальний посібник? Ви зможете будь-коли відкрити його в налаштуваннях TalkBack. Залишитися @@ -653,14 +652,6 @@ Натисніть, щоб дізнатися про нові жести, якими можна ефективніше працювати з TalkBack. Дерево вузлів записано в журнали. Виберіть зі списку нещодавно використаних неправильні жести та їх очікуваний результат. - Ви отримаєте можливості спрощеного керування гучністю, швидшого керування діями тощо.\n\nПро важливі оновлення та зміни ви дізнаєтеся на кількох наступних екранах. Це займе близько 5 хвилин.\n\nВи зможете будь-коли переглянути цю інформацію в налаштуваннях TalkBack. - Зміни в керуванні гучністю - Щоб вам було зручніше регулювати гучність, відтепер за допомогою клавіш гучності не можна керувати текстовим курсором або повзунком.\n\nЩоб змінити положення повзунка, проведіть по ньому пальцем угору або вниз.\n\nЩоб змінити положення текстового курсора, проведіть пальцем угору або вниз у текстовому полі. Це також стосується елементів керування читанням на брайлівській клавіатурі. - Текст на зображеннях - Докладніше дізнаватися про текст на зображеннях можна автоматично або тоді, коли це потрібно.\n\nДля зображень без міток: функція TalkBack автоматично озвучуватиме текст, що з’являється на зображеннях.\n\nДля всіх зображень: відкрийте меню TalkBack і виберіть \"Описати текст на зображенні\".\n\nЗображення залишаються на вашому пристрої та ніколи не надсилаються на сервери Google. Це означає, що ви можете користуватися обома цими функціями без інтернет-з’єднання. - Навігація між вікнами - Ви можете переходити між різними розділами на екрані, наприклад панеллю сповіщень, основним контентом і клавіатурою.\n\nЩоб скористатися навігацією між вікнами, проведіть чотирма пальцями вниз по екрану. - Ви можете переходити між різними розділами на екрані, наприклад панеллю сповіщень, основним контентом і клавіатурою.\n\nЩоб скористатися навігацією між вікнами, проведіть пальцем по екрану вниз, а потім угору. Повторюйте цей жест, поки не виберете режим навігації між вікнами. Щоб перейти у вибране вікно, проведіть пальцем униз. Навчальний посібник Вітаємо в TalkBack TalkBack – це програма зчитування з екрана для людей із вадами зору. Ця програма надає голосові підказки, за допомогою яких можна користуватися пристроєм, не дивлячись на його екран.\n\nЩоб увімкнути або вимкнути TalkBack, утримуйте обидві клавіші гучності кілька секунд.\n\nКоли TalkBack увімкнено, виділений на екрані елемент озвучується.\n\nЩоб перейти до наступного елемента, проведіть пальцем праворуч; щоб перейти до попереднього елемента, проведіть пальцем ліворуч.\n\nПроведіть пальцем праворуч зараз, щоб перейти до наступної кнопки. @@ -703,14 +694,14 @@ Проводьте пальцем по клавіатурі. Коли почуєте потрібну літеру, заберіть палець з екрана.\n\nСпробуйте активувати текстове поле нижче та ввести своє ім\'я. Текст можна також вводити за допомогою брайлівської клавіатури. Ви знайдете її в налаштуваннях TalkBack. Переміщення курсора - Активувавши текстове поле, ви можете переміщувати курсор по літерах. Для цього проводьте пальцем угору або вниз.\n\nСпробуйте виконати цю дію в текстовому полі нижче. + Активувавши текстове поле, ви можете переміщувати курсор по літерах за допомогою клавіш гучності.\n\nСпробуйте виконати цю дію в текстовому полі нижче. Вітаємо в TalkBack Виділення тексту У текстовому полі перемістіть курсор на початок тексту, який хочете виділити.\n\nЩоб увімкнути режим виділення тексту, двічі торкніться екрана двома пальцями й утримуйте його. Потім перемістіть курсор у кінець потрібного фрагмента тексту. Щоб вимкнути режим виділення тексту, двічі торкніться екрана двома пальцями й утримуйте його.\n\nСпробуйте виділити слово \"Вітаємо\" в текстовому полі нижче. - У текстовому полі перемістіть курсор на початок тексту, який хочете виділити.\n\nПроведіть по екрану вниз і вправо, щоб відкрити меню TalkBack. Двічі торкніться опції \"Дії\" й увімкніть режим виділення тексту. Перемістіть курсор у кінець потрібного фрагмента тексту.\n\nЗнову відкрийте меню TalkBack і двічі торкніться опції \"Дії\", щоб вимкнути режим виділення тексту.\n\nСпробуйте виділити слово \"Вітаємо\" в текстовому полі нижче. + У текстовому полі перемістіть курсор на початок тексту, який хочете виділити.\n\nПроведіть по екрану вниз і праворуч, щоб відкрити меню TalkBack. Двічі торкніться опцій редагування й увімкніть режим виділення тексту. Перемістіть курсор у кінець потрібного фрагмента тексту.\n\nЗнову відкрийте меню TalkBack і двічі торкніться опцій редагування, щоб вимкнути режим виділення тексту.\n\nСпробуйте виділити слово \"Вітаємо\" в текстовому полі нижче. Копіювання, вирізання та вставлення тексту - Виділивши текст, двічі торкніться опції \"Дії\" та скопіюйте його.\n\nСпробуйте скопіювати слово в текстовому полі нижче. - Щоб вирізати або вставити текст, відкрийте меню TalkBack і двічі торкніться опції \"Дії\".\n\nЩоб вставити текст, тричі торкніться трьома пальцями.\n\nСпробуйте вставити слово в текстовому полі нижче. + Щоб скопіювати виділений текст, двічі торкніться його трьома пальцями.\n\nСпробуйте скопіювати якесь слово в текстовому полі нижче. + Щоб вирізати текст, двічі торкніться й утримуйте його трьома пальцями.\n\nЩоб вставити текст, тричі торкніться екрана трьома пальцями.\n\nСпробуйте вставити якесь слово в текстове поле нижче. Виділений текст можна копіювати за допомогою меню TalkBack. Проведіть пальцем униз і праворуч, щоб відкрити меню TalkBack. Двічі торкніться опцій редагування та скопіюйте текст.\n\nСпробуйте скопіювати будь-яке слово в текстовому полі нижче. Щоб вирізати або вставити текст, відкрийте меню TalkBack і двічі торкніться опцій редагування.\n\nСпробуйте вставити слово в текстовому полі нижче. Вставте текст тут @@ -753,7 +744,6 @@ Гортайте вправо або вліво, щоб переходити між елементами Двічі торкніться, щоб активувати елемент Потягніть двома пальцями, щоб прокрутити - Перевірте, чи телефон підключено. Товсті межі Колір За умовчанням @@ -765,12 +755,6 @@ Сірий Опитування закрито Текст: %1$s - Описати текст на зображенні - Розпізнаний значок: %1$s - Дія не підтримується. - Дію не вибрано. - Виберіть підтримувану дію. - Немає дій. - Налаштування дій не ввімкнено. - Текст не знайдено + Опис зображення + Прогнозований значок: %1$s diff --git a/talkback/src/main/res/values-ur/strings.xml b/talkback/src/main/res/values-ur/strings.xml index 8bf22d741..12da5315f 100644 --- a/talkback/src/main/res/values-ur/strings.xml +++ b/talkback/src/main/res/values-ur/strings.xml @@ -7,7 +7,6 @@ ٹیکسٹ ٹو اسپیچ کی ترتیبات زبانیں بول چال کی زبان - کارروائیاں سسٹم کی کارروائیاں ورژن %1$s حسب ضرورت لیبلز کا نظم کریں @@ -31,37 +30,46 @@ آلہ غیر مقفل کر دیا گیا۔ آڈیو اسپیچ کا والیوم - اسکرین آف ہونے پر اطلاعات بولیں - فہرست کے آئٹمز کی تعداد ہمیشہ بولیں - اسکرولنگ کے سبھی طریقوں کے لیے آئٹمز کی تعداد بولیں + اسکرین آف ہونے پر بولیں + اسکرین آف ہونے پر اطلاعات بولی جاتی ہیں + اسکرین آف ہونے پر کوئی اسپیچ پیش نہیں کی جاتی ہے + اسکرین پر فہرست آئٹمز کی تعداد بولیں + صرف اشارہ کے ذریعے اسکرول کرتے وقت ہی بولیں + ہمیشہ بولا جاتا ہے اسپیچ بند کرنے کے لئے قربت سینسر کو کوَر کریں - مثالوں کے ساتھ حروف بولیں - ‏جب آپ کی بورڈ کلیدیں منتخب کرتے ہیں یا حرف کے لحاظ سے نیویگیٹ کرتے ہیں تو آپ کو ہر حرف کے ساتھ ایک مثال سنائی دے گی، جیسے \"h، ہوٹل\" - رموز اوقاف اور علامات بولیں + فونیٹک حروف بولیں + فونیٹک حروف بولے نہیں جاتے ہیں + کی بورڈ پر لمبے عرصے کیلئے دبا کر رکھنے اور بلحاظ کریکٹر نیویگیٹ کرنے پر فونیٹک حروف بولے جاتے ہیں + رموز اوقاف + رموز اوقاف اور علامات نہیں بولے جاتے ہیں + رموز اوقاف اور علامات بولے جاتے ہیں بڑے حروف کچھ نہ کریں \"بڑی\" کہیں پِچ تبدیل کریں آواز چلائیں استعمال کے اشارے بولیں - مواد کو بیان کرنے کے بعد، اسے استعمال کرنے کا طریقہ تجویز کریں - فہرست اور گرڈ کی معلومات بولیں + ایکسیسبیلٹی فوکس کو منتقل کرتے ہوئے استعمال کے اشارے بولے نہیں جاتے ہیں + نیویگییشن کے دوران استعمال کے اشارے تھوڑی تاخیر کے بعد بولے جاتے ہیں + ‏فہرست اور گرڈ کی معلومات ‎بولیں + ‏فہرست اور گرڈ کی معلومات ‎بولی جاتی ہیں + فہرست اور گرڈ کی معلومات نہیں بولی جاتی ہیں اشارے ری سیٹ کریں؟ ‏اس سے تمام اشارے ڈیفالٹ کارروائیوں پر ری سیٹ ہو جائیں گے۔\n\nآپ اپنی جانب سے کی گئی کسی بھی تبدیلی سے محروم ہو جائیں گے۔ ری سیٹ کریں اشارے کی ترتیبات ری سیٹ ہو جائیں گی۔ عنصر کی قسم بولیں - فوکس کیے گئے آئٹمز کے ليے + عنصر کی قسم فوکس کیے گئے آئٹمز کے لئے بولی جاتی ہے + عنصر کی قسم فوکس کیے گئے آئٹمز کے لئے نہیں بولی جاتی ہے ‏عنصر IDs بولیں - بغیر لیبل والے بٹنز کے لیے - سسٹم ونڈوز بولیں - جب آپ اسٹیٹس بار، اطلاعات یا والیوم کنٹرولز جیسے دوسرے سسٹم ونڈوز پر سوئچ کرتے ہیں + ‏بغیر لیبل والے بٹنز کیلئے عنصر IDs نہیں بولی جاتی ہیں + ‏بغیر لیبل والے بٹنز کیلئے عنصر IDs بولی جاتی ہیں ٹچ کرکے دریافت کریں کنٹرولز فعال کرنے کیلئے ایک بار تھپتھپائيں فعال کرنے کیلئے فوکس کیے گئے آئٹم پر ایک بار تھپتھپائیں طوالت بیانی - رموز اوقاف اور علامات بولیں + رموز اوقاف فوکس انڈیکیٹر کو حسب ضرورت بنائیں اشاروں کو حسب ضرورت بنائیں حسب ضرورت لیبلز @@ -203,7 +211,8 @@ پچ کی تبدیلیوں کا استعمال کریں کی بورڈ کی صدائے بازگشت عنصر کی وضاحت کی ترتیب - حذف شدہ حروف کو بلند آواز سے پڑھیں + کی بورڈ سے حذف شدہ ٹیکسٹ کو بلند آواز سے پڑھیں + بولتے وقت وائس پچ تبدیل نہ کریں بریل کی بورڈ وائبریشن تاثرات صوتی تاثرات @@ -211,6 +220,7 @@ بولتے ہوئے دیگر آڈیو والیوم کو کم کریں صوتی تاثرات کا والیوم ‏Talkback معطل اور دوبارہ شروع کرنے کا شارٹ کٹ + اسکرین چھپائیں کا شارٹ کٹ ڈویلپر کی ترتیبات لاگ کرنے کیلئے ایونٹس منتخـب کریں ایکسیسبیلٹی ایونٹ لاگنگ کو فلٹر کریں @@ -256,7 +266,7 @@ ‏TalkBack مینو کھولیں تاثرات موقوف کریں اسپیچ موقوف یا دوبارہ شروع کریں - اسپیچ آن یا آف کریں + ‏TalkBack آواز کو آن یا آف کریں سب سے اوپر سے پڑھیں اگلے آئٹم سے پڑھیں نوڈ ٹری پرنٹ کریں @@ -278,7 +288,6 @@ ایکسیسبیلٹی شارٹ کٹ ہولڈ کریں نیویگیشن فوکس کو آگے کی طرف منتقل کریں یا ریڈنگ کنٹرول کو نیچے کی طرف ایڈجسٹ کریں نیویگیشن فوکس کو پیچھے کی طرف منتقل کریں یا ریڈنگ کنٹرول کو اوپر کی طرف ایڈجسٹ کریں - فی الحال منتخب کردہ کارروائی کو فعال کریں تلاش کا نتیجہ میڈیا چلائیں یا موقوف کریں سبھی ایپس @@ -323,7 +332,7 @@ پڑھنا مخصوص خصوصیات دیگر - جب موجودہ آئٹم کے لیے کارروائیاں موجود ہوں تو ظاہر ہوتا ہے بشمول کاپی، پیسٹ، منتخب کریں اور بہت کچھ + موجودہ آئٹم کے لئے حسب ضرورت کاروائیاں موجود ہونے پر ظاہر ہوتا ہے کاپی، پیسٹ، منتخب کریں، اور بہت کچھ۔ جب آپ ٹیکسٹ باکس منتخب کرتے ہیں تو ظاہر ہوتا ہے۔ فوکس والے آئٹم کے اندر لنکس کھولیں اگلے یا گزشتہ صفحہ پر جائیں۔ جب آپ متعدد صفحات پر مشتمل مواد پڑھ رہے ہوتے ہیں تو ظاہر ہوتا ہے۔ @@ -342,7 +351,6 @@ ٹیکسٹ ٹو اسپیچ ترتیبات کھولیں ‏TalkBack کے صوتی تاثرات کو آف کریں قابل ترمیم نہیں ہے - کارروائیاں انجام دیں ایک وقت میں ایک حرف پڑھیں ایک وقت میں ایک لفظ پڑھیں ایک وقت میں ایک لائن پڑھیں @@ -365,17 +373,17 @@ ‏TalkBack کے بولنے کے وقت دیگر آڈیو کو چلانے کے لیے والیومز کو کم کر دیں فارورڈ یا بیک ورڈ اسکرول کریں ایکسیسبیلٹی والیوم کو بڑھائیں یا کم کریں - منتخب کردہ تصویر میں سرایت کردہ ٹیکسٹ کو بلند آواز سے پڑھیں + اس تصویر کے لیے خودکار تفصیل حاصل کریں نیچے نیچے پھر دائیں اوپر سوائپ کریں نیچے سوائپ کریں - دائیں سوائپ کریں - بائیں سوائپ کریں + بائیں سوائپ کریں + دائیں سوائپ کریں اوپر پھر نیچے سوائپ کریں نیچے پھر اوپر سوائپ کریں - دائیں پھر بائیں سوائپ کریں - بائیں پھر دائیں سوائپ کریں + بائیں پھر دائیں سوائپ کریں + دائیں پھر بائیں سوائپ کریں نیچے پھر بائیں سوائپ کریں نیچے پھر دائیں سوائپ کریں اوپر پھر بائیں سوائپ کریں @@ -408,9 +416,7 @@ 2 انگلیوں سے دو بار تھپتھپائیں اور دبائے رکھیں 3 انگلیوں سے دو بار تھپتھپائیں اور دبائے رکھیں 4 انگلیوں سے دو بار تھپتھپائیں اور دبائے رکھیں - 3 انگلیوں سے تھپتھپائیں اور دبائے رکھیں 2 انگلیوں سے تین بار تھپتھپائیں اور دبائے رکھیں - 3 انگلیوں سے تین بار تھپتھپائیں اور دبائے رکھیں ایڈجسٹ کرنے کے لیے \"%1$s\" یا %2$s ایڈجسٹ کرنے کے لیے \"%1$s\" نامعلوم اشارہ @@ -433,9 +439,8 @@ جب اسکرین آن ہوتی ہے جب لاک سکرین دکھائی جاتی ہے صرف اطلاع سے - کلید منتخب کرنے کیلئے انگلی ایک ہی جگہ پر رکھیں پھر دو بار تھپتھپائیں - حرف والی کلید منتخب کرنے کیلئے انگلی ایک ہی جگہ پر رکھیں پھر اٹھائیں۔ دیگر کلیدوں کیلئے دو بار تھپتھپائیں۔ - کسی کلید کو منتخب کرنے کیلئے انگلی ہولڈ کریں، پھر اٹھائیں + کلید کو منتخب کرنے کیلئے انگلی ہولڈ کریں، پھر دو بار تھپتھپائیں + کلید کو منتخب کرنے کیلئے انگلی ہولڈ کریں، پھر اٹھائیں غیر فعال بہت کم کم @@ -485,6 +490,7 @@ لیبلز برآمد کرنے کیلئے ایپلیکیشن منتخب کریں: ‏TalkBack کے اس ورژن میں ڈیفالٹ ایکسیسبیلٹی اشاروں کی تبدیلیاں شامل ہیں۔ ان اشاروں سے وابستہ کارروائیوں کو TalkBack ترتیبات میں حسب ضرورت بنایا جا سکتا ہے۔ ٹچ کرکے دریافت کریں فعال ہونے پر، آپ مخصوص کارروائیاں انجام دینے کیلئے مندرجہ ذیل اشاروں کا استعمال کر سکتے ہیں۔\n\n%1$s والیوم بڑھانے اور کم کرنے کی کلیدیں دیر تک دبائیں + اسکرین دکھانے یا چھپانے کیلئے فوری طور پر دونوں والیم کلیدیں تین بار دبائیں اسکرین چھپائیں؟ یہ رازداری کو بہتر بنانے کے ليے ڈسپلے کو آف کرتا ہے تاکہ آپ کی اسکرین عوامی مقامات میں دوسروں کیلئے مرئی نہیں ہو ‏TalkBack کے اس ورژن میں ڈیفالٹ ایکسیسبیلٹی اشاروں کی تبدیلیاں شامل ہیں۔\n\nاوپر پھر نیچے اشارہ آپ کو اسکرین پر موجود پہلے آئٹم پر منتقل کرنے کی اجازت دے گا اور نیچے پھر اوپر اشارہ آخری آئٹم پر منتقل کرے گا۔\n\nپڑھنے والی گرینولیریٹی اب ایک آئٹم پر فوکس کرکے، پھر TalkBack سیاق و سباق کے مینو سے ایک گرینولیریٹی منتخب کرکے تبدیل کی جا سکتی ہے۔\n\n آپ TalkBack ترتیبات میں ان اشاروں کے ذریعے انجام دی گئی کارروائیوں کو تبدیل کر سکتے ہیں۔ @@ -500,9 +506,6 @@ ‏کیا آپ واقعی نوڈ ٹری ڈیبگ کرنے کو آن کرنا چاہتے ہیں؟\n\nنوڈ ٹری ڈیبگ کرنا آپ کے آلہ کے لاگز میں آپ کی اسکرین کا مواد دکھاتا ہے، جسے دیگر ایپلیکیشنز کے ذریعے پڑھا جا سکتا ہے۔ کارکردگی کی شماریات فعال کریں؟ ‏کیا آپ کو یقین ہے کہ آپ کارکردگی کی شماریات کو آن کرنا چاہتے ہیں؟\n\nکارکردگی کی شماریات زیادہ میموری اور پاور استعمال کرتی ہے۔ - وربوس لاگنگ فعال کریں؟ - ‏وربوس لاگنگ ڈیبگنگ میں مدد کر سکتی ہے لیکن اس سے سسٹم لاگ بفر میں ذاتی معلومات ظاہر ہو سکتی ہیں۔\n\n کیا آپ وربوس لاگنگ کو فعال کرنا چاہتے ہیں؟ - ہاں، وربوس لاگنگ کو فعال کریں فون تک رسائی کی اجازت دیں؟ ‏جب آپ کال پر ہوتے ہیں تو یہ TalkBack کو اعلانات کم کرنے میں مدد کرتا ہے جاری رکھیں @@ -556,11 +559,9 @@ ایکسیسبیلٹی والیوم سلائیڈر کو ایڈجسٹ کریں قدر ایڈجسٹ کریں - کارروائیاں پاس ورڈز بولیں پاس ورڈ ہمیشہ بولے جاتے ہیں آواز اور وائبریشن - آواز کاپی ہو گیا، %1$s بند کریں تلاش کو بند کریں @@ -595,15 +596,13 @@ %1$s کو %2$s سے پڑھنے کیلئے ‏اس کو استعمال کرنے کے لئے، TalkBack کی ترتیبات پر جائیں اور \'%1$s\' کے لئے اشارہ شامل کریں۔ ‏بریل کی بورڈ آن نہیں ہے۔ TalkBack ترتیبات پر جائیں، بریل کی بورڈ سیٹ اپ کریں اور دوبارہ کوشش کریں۔ - تجاویز دستیاب ہیں - تجاویز دستیاب ہیں۔ رسائی حاصل کرنے کیلئے، %1$s صفحہ %1$d از %2$d پیچھے آگے بند کریں مکمل کریں اوپر نیویگیٹ کریں - ‏TalkBack میں نئی خصوصیات + ‏TalkBack میں نئی خصوصیات ٹیوٹوریل بند کریں؟ ‏آپ TalkBack کی ترتیبات میں کسی بھی وقت اس پر واپس آ سکتے ہیں۔ ٹیوٹوریل میں رہیں @@ -647,14 +646,6 @@ ‏TalkBack کو نئے اشاروں کے ساتھ تیزی سے استعمال کرنے کا طریقہ سیکھنے کیلئے تھپتھپائیں۔ نوڈ ٹری کو لاگز پر پرنٹ کر دیا گیا ہے۔ یہاں پر حال ہی میں کیے گئے اشارے ہیں براہ کرم اطلاع دیں کہ کون سا اشارہ غلط ہے اور کس کی توقع ہے۔ - ‏آپ کو آسان والیوم کنٹرولز، فوری کارروائی کنٹرولز اور بہت کچھ مل جائے گا۔\n\nآپ اگلی چند اسکرینز میں اہم اپ ڈیٹس اور تبدیلیوں کے بارے میں جانیں گے۔ اس میں تقریباً 5 منٹ کا وقت لگے گا۔\n\nآپ کسی بھی وقت TalkBack کی ترتیبات میں اس معلومات کا جائزہ لے سکتے ہیں۔ - والیوم کنٹرول کی تبدیلیاں - ‏والیوم کنٹرول کو بہتر بنانے کیلئے، والیوم کی کلیدیں ٹیکسٹ کرسرز یا سلائیڈرز کو کنٹرول نہیں کرتی ہیں۔\n\nسلائیڈر کی پوزیشن تبدیل کرنے کے لیے اوپر یا نیچے سوائپ کریں۔\n\nٹیکسٹ باکس میں ٹیکسٹ کرسر کی پوزیشن تبدیل کرنے کے لیے اوپر یا نیچے سوائپ کریں۔ یہ بریل کی بورڈ ریڈنگ کنٹرولز میں بھی کام کرتا ہے۔ - تصاویر میں ٹیکسٹ - ‏آپ تصاویر میں ٹیکسٹ کے بارے میں خودکار طور پر یا جب آپ کو اس کی ضرورت ہو تو مزید تفصیلات حاصل کر سکتے ہیں۔ بغیر لیبل والی تصاویر کے لیے: TalkBack ظاہر ہونے والے ٹیکسٹ کو خودکار طور پر پڑھ لے گا۔\n\nتمام تصاویر کے لیے: TalkBack مینو کھولیں اور \"تصویر میں ٹیکسٹ کی وضاحت کریں\" کو منتخب کریں۔\n\nتصاویر آپ کے آلے پر رہتی ہیں اور کبھی بھی Google کو نہیں بھیجی جاتی ہیں۔ اس کا مطلب ہے کہ آپ ان دونوں خصوصیات کو انٹرنیٹ کنکشن کے بغیر استعمال کر سکتے ہیں۔ - ونڈو نیویگیشن - ‏آپ اپنی اسکرین کے مختلف حصوں، جیسے کہ نوٹیفکیشن بار، مرکزی مواد اور کی بورڈ کے درمیان سوئچ کر سکتے ہیں۔\n\nونڈو نیویگیشن استعمال کرنے کے لیے، 4 انگلیوں سے نیچے کی طرف سوائپ کریں۔ - ‏آپ اپنی اسکرین کے مختلف حصوں کے درمیان سوئچ کر سکتے ہیں، جیسے کہ نوٹیفکیشن بار، مرکزی مواد اور کی بورڈ۔\n\nونڈو نیویگیشن استعمال کرنے کے لیے، نیچے اور پھر اوپر سوائپ کریں۔ اس وقت تک جاری رکھیں جب تک آپ ونڈو نیویگیشن کو منتخب نہ کریں۔ ونڈو کے ذریعے نیویگیٹ کرنے کے لیے، نیچے سوائپ کریں۔ ٹیوٹوریل ‏TalkBack میں خیر مقدم ہے ‏TalkBack ایک ایسا اسکرین ریڈر ہے جسے ایسے لوگوں کے یا ایسی صورتحال میں استعمال کرنے کیلئے تیار کیا گیا ہے جن میں اسکرین پڑھنے میں دشواری پیش آتی ہے۔ یہ آپ کو صوتی تاثرات فراہم کرتا ہے تاکہ آپ اپنی اسکرین کو دیکھے بغیر اپنے آلے کا استعمال کر سکیں۔\n\nآپ والیوم کی دونوں کلیدوں کو چند سیکنڈز تک پکڑے رکھ کر TalkBack کو آن یا آف کر سکتے ہیں۔\n\nجب TalkBack آن ہوتا ہے تو اسکرین پر فوکس کردہ آئٹم کو بلند آواز میں پڑھا جاتا ہے۔\n\nیہ دائیں طرف سوائپ کرنے سے اگلے آئٹم پر اور بائیں سوائپ کرنے سے پچھلے آئٹم پر منتقل ہوتا ہے۔n\n\اگلا بٹن تلاش کرنے کیلئے، ابھی دائیں طرف سوائپ کریں۔ @@ -697,14 +688,14 @@ ‏اپنی انگلی کو پورے کی بورڈ پر گھمائیں۔ جب آپ جو حرف ٹائپ کرنا چاہتے ہیں اسے سن لیں تو اپنی انگلی ہٹا لیں۔‎\n\nذیل میں موجود ٹیکسٹ باکس کو فعال کر کے اور اپنا نام ٹائپ کر کے دیکھیں۔ ‏آپ بریل کی بورڈ سے بھی ٹائپ کر سکتے ہیں۔ اسے TalkBack کی ترتیبات میں تلاش کریں۔ کرسر منتقل کرنا - ‏آپ کے ٹیکسٹ باکس کو فعال کر لینے کے بعد، آپ اوپر یا نیچے سوائپ کر کے کرسر کو حروف کے درمیان منتقل کر سکتے ہیں۔\n\nذیل میں موجود ٹیکسٹ باکس میں اسے آزما کر دیکھیں۔ + ‏آپ کے ٹیکسٹ باکس کو فعال کر لینے کے بعد، آپ والیوم کلیدوں کو اوپر اور نیچے دبا کر کرسر کو حروف کے درمیان منتقل کر سکتے ہیں۔‎\n\nذیل میں موجود ٹیکسٹ باکس میں اسے آزما کر دیکھیں۔ ‏TalkBack میں خوش آمدید ٹیکسٹ منتخب کرنا ‏ٹیکسٹ باکس میں، کرسر کو اس ٹیکسٹ کے شروع میں لے جائيں جس کو آپ منتخب کرنا چاہتے ہیں۔\n\nانتخاب موڈ شروع کرنے کے لیے 2 انگلیوں سے دو بار تھپتھپائیں اور دبائے رکھیں۔ پھر کرسر کو ٹیکسٹ کے آخر میں لے جائیں۔ انتخاب موڈ کو ختم کرنے کے لئے دوبارہ 2 انگلیوں سے دو بار تھپتھپائیں اور دبائے رکھیں۔‎\n\nذیل میں موجود ٹیکسٹ باکس میں لفظ \"خوش آمدید\" منتخب کر کے دیکھیں۔ - ‏ٹیکسٹ باکس میں، کرسر کو اس ٹیکسٹ کے شروع میں لے جائيں جس کو آپ منتخب کرنا چاہتے ہیں۔\n\n‎‏TalkBack مینو کھولنے کیلئے نیچے اور پھر دائیں سوائپ کریں۔ کاروائیوں پر دو بار تھپتھپائیں اور اس کے بعد انتخاب موڈ شروع کریں۔ کرسر کو ٹیکسٹ کے آخر تک لے جائیں۔‎\n\n‏TalkBack مینو کو دوبارہ کھولیں اس کے بعد انتخاب موڈ ختم کرنے کیلئے کاروائیوں پر دو بار تھپتھپائیں۔‎\n\nذیل میں موجود ٹیکسٹ باکس میں لفظ \"خوش آمدید\" منتخب کر کے دیکھیں۔ + ‏ٹیکسٹ باکس میں، کرسر کو اس ٹیکسٹ کے شروع میں لے جائيں جس کو آپ منتخب کرنا چاہتے ہیں۔\n\n‎‏TalkBack مینو کھولنے کے لئے نیچے پھر دائیں سوائپ کریں۔ ترمیم کے اختیارت پر دو بار تھپتھپائیں اور اس کے بعد انتخاب موڈ شروع کریں۔ کرسر کو ٹیکسٹ کے آخر تک لے جائیں۔‎\n\n‏TalkBack مینو کو دوبارہ کھولیں اس کے بعد انتخاب موڈ ختم کرنے کے لئے ترمیم کے اختیارات پر دو بار تھپتھپائیں۔‎\n\nذیل میں موجود ٹیکسٹ باکس میں لفظ \"خوش آمدید\" منتخب کر کے دیکھیں۔ کاپی، کٹ اور پیسٹ کریں - ‏ٹیکسٹ منتخب کرنے کے لیے \'کارروائیاں\' پر دو بار تھپتھپائیں اور پھر کاپی کریں۔‎\n\nذیل میں موجود ٹیکسٹ باکس میں کوئی لفظ کاپی کر کے دیکھیں۔ - ‏ٹیکسٹ کو کٹ یا پیسٹ کرنے کے لئے TalkBack مینو کھولیں اور \'کارروائیاں\' پر دو بار تھپتھپائیں۔‎\n\nٹیکسٹ کو پیسٹ کرنے کے لئے 3 انگلیوں سے تین بار تھپتھپائیں۔‎\n\nذیل میں موجود ٹیکسٹ باکس میں کوئی لفظ پیسٹ کر کے دیکھیں۔ + ‏ٹیکسٹ منتخب کرنے کے بعد 3 انگلیوں سے دو بار تھپتھپا کر اسے کاپی کریں۔‎\n\nذیل میں موجود ٹیکسٹ باکس میں کوئی لفظ کاپی کر کے دیکھیں۔ + ‏ٹیکسٹ کٹ کرنے کے لئے، 3 انگلیوں سے دو بار تھپتھائیں اور دبائے رکھیں۔‎\n\nٹیکسٹ کو پیسٹ کرنے کے لئے 3 انگلیوں سے تین بار تھپتھپائیں۔‎\n\nذیل میں موجود ٹیکسٹ باکس میں کوئی لفظ پیسٹ کر کے دیکھیں۔ ‏ٹیکسٹ منتخب کرنے کے بعد آپ اسے TalkBack مینو میں کاپی کر سکتے ہیں۔ TalkBack مینو کھولنے کے لئے نیچے پھر دائیں سوائپ کریں۔ ترمیم کے اختیارات پر دو بار تھپتھپائیں اور پھر کاپی کریں۔‎\n\nذیل میں موجود ٹیکسٹ باکس میں کوئی لفظ کاپی کر کے دیکھیں۔ ‏ٹیکسٹ کو کٹ یا پیسٹ کرنے کے لئے TalkBack مینو کھولیں اور ترمیم کے اختیارات پر دو بار تھپتھپائیں۔‎\n\nذیل میں موجود ٹیکسٹ باکس میں کوئی لفظ پیسٹ کر کے دیکھیں۔ یہاں ٹیکسٹ پیسٹ کریں @@ -747,7 +738,6 @@ آئٹمز کے درمیان منتقل کرنے کے لیے دائیں یا بائیں سوائپ کریں آئٹم کو فعال کرنے کے لیے دو بار تھپتھپائیں اسکرول کرنے کے لیے 2 انگلیوں سے گھسیٹیں - براہ کرم چیک کریں کہ آیا فون منسلک ہے۔ موٹے بارڈرز رنگ ڈیفالٹ @@ -759,12 +749,6 @@ سرمئی سروے بند کر دیا گیا ٹیکسٹ: %1$s - تصویر میں ٹیکسٹ کی وضاحت کریں - پتہ لگایا گیا آئیکن: %1$s - کارروائی تعاون یافتہ نہیں ہے۔ - کوئی کارروائی منتخب نہیں ہے۔ - براہ کرم تعاون یافتہ کارروائی منتخب کریں۔ - کوئی کارروائی نہیں۔ - کارروائیوں کی ترتیبات فعال نہیں ہیں۔ - کوئی ٹیکسٹ نہیں ملا + تصویر کی وضاحت کریں + پیش گوئی کردہ آئیکن: %1$s diff --git a/talkback/src/main/res/values-uz/strings.xml b/talkback/src/main/res/values-uz/strings.xml index 4a6a66a90..abc960558 100644 --- a/talkback/src/main/res/values-uz/strings.xml +++ b/talkback/src/main/res/values-uz/strings.xml @@ -7,7 +7,6 @@ Matnni nutqqa aylantirish sozlamalari Tillar Nutq tili - Amallar Tizim amallari %1$s versiya Shaxsiy yorliqlarni boshqarish @@ -31,37 +30,46 @@ Qurilma qulfdan chiqarildi. Audio Nutqning balandligi - Ekran oʻchiqligida bildirishnomalar aytilsin - Doimo elementlar roʻyxatining raqami aytilsin - Barcha aylantirish usullari soni aytilsin + Ekran o‘chiqligida talaffuz qilish + Ovozli bildirishnomalar ekran o‘chiqligida ham ishlasin + Ekran o‘chiqligida talaffuz qilinmasin + Ekrandagi elementlar ro‘yxatining raqamini tinglash + Faqat ishora bilan aylantirganda tinglash + Doim aytilsin Nutqni toʻxtatish uchun yaqinlashish sensorini yoping - Harflar misollar bilan aytilsin - Klaviatura tugmalarini tanlaganingizda yoki belgilar boʻyicha oʻtsangiz, har bir harf bilan birga “m, mehmonxona” kabi misolni ham eshitasiz. - Tinish belgilari va belgilar aytilsin + Fonetik harflar aytilsin + Fonetik harflar aytilmaydi + Fonetik harflar klaviatura ustida biroz bosib turib, belgilar bo‘ylab harakatlanganda aytiladi + Punktuatsiya + Punktuatsiya va belgilar aytilmaydi + Punktuatsiya va belgilar aytiladi Katta harflar Hech narsa qilinmasin Katta harfni aytish Ohangni oʻzgartirish Jiringlatish Foydalanish bo‘yicha yo‘l-yo‘riqlar aytilsin - Kontent tavsif qilingandan keyin qanday foydalanish taklif etilsin + Kursor harakatlanayotgan paytda bildirgilar aytilmaydi + Navigatsiya paytida bildirgilar biroz kechikish bilan aytiladi Kursor joylashuvi haqidagi axborot aytilsin + Kursor joylashuvi haqidagi axborot aytiladi + Kursor joylashuvi haqidagi axborot aytilmaydi Ishoralar asliga qaytarilsinmi? Barcha ishoralarni birlamchi amallariga qaytaradi.\n\nKiritilgan barcha oʻzgartirishlar saqlanmaydi. Asliga qaytarish Ishora sozlamalari tiklandi. Element turi aytilsin - Fokuslangan elementlar uchun + Belgilangan element turi aytiladi + Belgilangan element turi aytilmaydi Element identifikatorlari aytilsin - Yorliqsiz tugmalar uchun - Tizim oynalari aytilsin - Holat qatori, bildirishnomalar yoki tovush balandligini boshqarish elementlari kabi boshqa tizim oynalariga almashtirganingizda + Nomsiz tugmalar uchun element identifikatorlari aytilmaydi + Nomsiz tugmalar uchun element identifikatorlari aytiladi Teginib o‘rganish Boshqaruv Faollashtirish uchun bir marta bosing Fokusdagi elementni faollashtirish uchun ustiga bir marta bosing Tafsilotlar - Tinish belgilari va belgilar aytilsin + Punktuatsiya Fokus indikatorini sozlash Ishoralarni sozlash Maxsus yorliqlar @@ -203,7 +211,8 @@ Talaffuzda ohangni o‘zgartirish Klaviatura aks sadosi Element tavsifi tartibi - Oʻchirib tashlangan harflarni baland ovozda aytish + Klaviatura oʻchirib tashlangan matnni baland ovozda aytadi + Ovoz ohangi o‘zgarmasin Brayl klaviaturasi Tebranishli aks ta’sir Ovozli signal @@ -211,6 +220,7 @@ TalkBack ishlayotganda boshqa ilovalarning ovozi pasaytirilsin Ovozli signal tovushi TalkBack xizmatini to‘xtatish va yoqib qo‘yish uchun tezkor tugma + Xiralashtirish tugmasi Dasturchi sozlamalari Jurnalga qo‘shish kerak bo‘lgan tadbirni tanlang Jurnalga qo‘shish uchun maxsus imkoniyatlardan foydalanib tadbirlarni filtrlash @@ -256,7 +266,7 @@ TalkBack menyusini ochish Aks ta’sirlarni to‘xtatish Nutqni pauza qilish yoki davom ettirish - Nutqni yoqish yoki oʻchirish + TalkBack tovushini yoqish yoki oʻchirish Boshidan boshlab o‘qish Keyingi elementdan boshlab o‘qish Tugunli daraxtni chop qilish @@ -278,7 +288,6 @@ Tezkor ishga tushirishni ushlab turish Navigatsiya fokusini oldinga surish yoki oʻqish boshqaruvi elementini pastga tushirish Navigatsiya fokusini orqaga surish yoki oʻqish boshqaruvi elementini yuqoriga chiqarish - Hozirda tanlangan amalni faollashtirish Qidiruv natijasi Media ijrosi yoki pauza Barcha ilovalar @@ -323,7 +332,7 @@ Oʻqish Maxsus funksiyalar Boshqa - Joriy element uchun amallar qachon mavjudligini, jumladan, nusxalash, joylash, tanlash va boshqalarni koʻrsatadi + Joriy obyekt uchun maxsus amallarni chiqarish (mavjudligiga qarab) Nusxalash, joylash, tanlash va hokazo. Matn tanlanganda chiqadi. Havolalarni fokusdagi obyekt ichida ochish Avvalgi yoki keyingi sahifaga oʻtkazish. Bir nechta sahifali kontent oʻqilayotganda chiqadi. @@ -342,7 +351,6 @@ Nutq sintezatori sozlamalarini ochish TalkBack ovozli tavsif funksiyasini faolsizlantirish Tahrirlash imkonsiz - Amallarni bajarish Har bir belgini ajratib oʻqish Har bir soʻzni ajratib oʻqish Har bir qatorni ajratib oʻqish @@ -365,7 +373,7 @@ TalkBack oʻqib beryotganda boshqa tovushlarni pasaytirish Orqaga yoki oldinga varaqlang Maxsus imkoniyatlar tovushini balandlatish va pasaytirish - Tanlangan rasmga biriktirilgan matnni ovoz chiqarib oʻqing + Bu rasm uchun avtomatik tavsifni olish pastga pastga, keyin o‘ngga Tepaga surish @@ -408,9 +416,7 @@ 2 ta barmoq bilan ikki marta teginish va ushlab turish 3 ta barmoq bilan ikki marta teginish va ushlab turish 4 ta barmoq bilan ikki marta teginish va ushlab turish - 3 barmoq bilan bosish va barmoqni uzmay turish 2 barmoq bilan uch marta bosish va barmoqni uzmay turish - 3 barmoq bilan 3 marta bosish va barmoqni uzmay turish Sozlash uchun “%1$s” yoki “%2$s” Sozlash uchun “%1$s” Notanish ishora @@ -433,9 +439,8 @@ Ekran yonganda Ekran qulflanganda Faqat bildirishnomalar panelidan - Birorta tugmani tanlash uchun barmoq bilan bosib turing, keyin ikki marta bosing - Harf tugmasini tanlash uchun barmoq bilan bosib turing va qoʻyib yuboring Boshqa tugmalar uchun ikki marta bosing. - Birorta tugmani tanlash uchun barmoq bilan bosib turing va qoʻyib yuboring + Tanlash uchun barmoq bilan bosib turing va keyin ikki marta bosing + Tanlash uchun barmoq bilan bosib turing va qoʻyib yuboring Yoqilmagan Juda yengil Yengil @@ -485,6 +490,7 @@ Yorliqlarni eksport qilish uchun ilovani tanlang: TalkBack’ning ushbu versiyasida standart imo-ishoralarga o‘zgartirishlar kiritilgan. Ushbu imo-ishoralar bajaradigan harakatlarni sozlamalar orqali tayinlash mumkin. Agar “Teginib o‘rganish” funksiyasi yoqilgan bo‘lsa, quyidagi imo-ishoralardan foydalanishingiz mumkin.\n\n%1$s Har ikkala tovush tugmasini birga bosib turing + Tovush balandligi tugmalarini birga uch marta tez bosish orqali ekranni xiralashtirish yoki yoritish Ekran xiralashtirilsinmi? Jamoat joylarida ekraningizdagi narsalar boshqalarga koʻrsatilmasligi va axborotlaringiz himoyasi uchun bu amal ekranni oʻchirib turadi TalkBackning ushbu versiyasida standart imo-ishoralarga o‘zgartirishlar kiritilgan.\n\nBarmoqni avval tepaga, keyin pastga surish ekrandagi birinchi elementga o‘tish imkonini beradi; avval pastga, keyin yuqoriga surish esa – oxirgi elementga.\n\nEndi o‘qishning teranlik darajasini o‘zgartirish uchun avval elementni tanlab, keyin talkback kontekst menyusidan teranlik darajasini tanlash mumkin.\n\nImo-ishoralardan foydalanganda bajariladigan harakatlarni TalkBack sozlamalaridan o‘zgartirish mumkin. @@ -500,9 +506,6 @@ “Tugunlar daraxtini tuzatish” funksiyasini yoqmoqchimisiz?\n\n“Tugunlar daraxtini tuzatish” funksiyasi ekrandagi kontentni qurilma jurnaliga taqdim etib, keyin uni boshqa ilovalar ham o‘qishi mumkin bo‘ladi. Unumdorlik bo‘yicha statistika yoqilsinmi? Haqiqatan ham unumdorlik bo‘yicha statistikani yoqmoqchimisiz?\n\nUnumdorlik bo‘yicha statistika ko‘proq xotira va quvvat iste’mol qiladi. - Batafsil jurnal yoqilsinmi? - Batafsil jurnal nosozliklarni aniqlashda yordami tegishi mumkin, lekin tizim jurnali buferida shaxsiy axborot ham chiqib qolishi mumkin.\n\n Batafsil jurnal yoqilsinmi? - Ha, batafsil jurnal yoqilsin Telefonga kirishga ruxsat berilsinmi? Bu TalkBack funksiyasiga chaqiruv vaqtida bildirishnomalar ovozini pasaytirishida yordam beradi Davom etish @@ -556,11 +559,9 @@ Maxsus imkoniyatlarda tovush balandligi Slayderni sozlash Qiymatni sozlash - Amallar Parollarni talaffuz qilish Parollar doim talaffuz qilinsin Ovoz va tebranish - Tovush nusxa ko‘chirildi: %1$s Yopish Qidiruvni yopish @@ -595,15 +596,13 @@ %2$s bilan oʻqish uchun %1$s Buni ishlatish uchun TalkBack sozlamalariga qaytib, ”%1$s” ishorasini kiriting Brayl klaviaturasi yoqilmagan. TalkBack sozlamalarini ochib, uni yoqing va qayta urining. - Tavsiyalar mavjud - Tavsiyalar mavjud. Kirish uchun %1$s Sahifa: %1$d / %2$d Avvalgisi Keyingisi Yopish Tugatish Tepaga - TalkBackdagi yangi xususiyatlar + TalkBackdagi yangi xususiyatlar Qoʻllanma yopilsinmi? Bunga TalkBack sozlamalari orqali istalgan vaqtda qaytish mumkin. Yopilmasin @@ -647,14 +646,6 @@ Yangi ishoralar bilan TalkBackni tezroq ishlatish haqida batafsil axborot olish uchun bosing. Tugunlar daraxti jurnalga chop etildi. Quyida oxirgi bajarilgan ishoralar keltirilgan, qaysi biri xato va yaxshi ishlamagani haqida xabar qiling. - Siz soddalashtirilgan ovoz balandligini boshqarish, tezkor malllar boshqaruvi kabilarga ega boʻlasiz.\n\nKeyingi ekranlarda asosiy yangilanishlar va oʻzgartirishlar haqida bilib olasiz. Bu taxminan 5 daqiqa vaqt oladi.\n\nBu axborotni istalgan vaqt TalkBack sozlamalari orqali tekshirish mumkin. - Tovush balandligini oʻzgartirish - Tovush nazoratini yaxshilash maqsadida tovush tugmalari orqali matn kursorlari yoki slayderlarni boshqarish bekor qilindi.\n\nSlayder joylashuvini oʻzgartirish uchun tepaga yoki pastga suring.\n\nMatn kursori joylashuvini oʻzgartirish uchun matn maydonida tepaga yoki pastga suring. U brayl klaviaturasi oʻqish boshqaruvida ham ishlaydi. - Rasmlardagi matn - Rasmlardagi matn haqida maʼlumotlarni avtomatik yoki kerak boʻlganda olishingiz mumkin.\n\nNomi yoʻq rasmlar uchun: TalkBack avtomatik ravishda paydo boʻlgan matnni oʻqiydi.\n\nBarcha rasmlar uchun: TalkBack menyusini oching va “Rasmdagi matnga tavsif berish” bandini tanlang.\n\nRasmlar qurilmangizda qoladi va hech qachon Googlega yuborilmaydi. Siz har ikki funksiyadan internetga ulanmasdan foydalana olasiz. - Oynalarga oʻtish - Ekrandagi bildirishnomalar paneli, asosiy kontent va klaviatura kabi turli qismlarga oʻtish mumkin.\n\nOynalarga oʻtish funksiyasidan foydalanish uchun 4 ta barmoq bilan pastga suring. - Ekrandagi bildirishnomalar paneli, asosiy kontent va klaviatura kabi turli qismlarga oʻtish mumkin.\n\nOynalarga oʻtish funksiyasidan foydalanish uchun avval pastga, keyin esa tepaga suring. Kerakli oynani tanlamaguningizcha davom eting. Oynaga oʻtish uchun pastga suring. Darslik TalkBack xizmatiga xush kelibsiz Talkback — ekranni xira koʻruvchilar uchun moʻljallangan ekrandan oʻqish dasturi. U qurilmani ekranga qaramay boshqarishingiz uchun elementlarni oʻqib eshittiradi.\n\nIkkala tovush tugmalarini bir necha soniya bosib turish orqali TalkBack xizmatini yoqishingiz yoki faolsizlantirishingiz mumkin.\n\nTalkBack yoniqligida ekranda fokusdagi obyekt baland ovozda oʻqib eshittiriladi.\n\nOʻngga surilganda keyingi elementga, chapga surilganda avvalgi elementga oʻtiladi.\n\nKeyingi tugmani topish uchun oʻngga suring @@ -697,14 +688,14 @@ Barmogʻingizni klaviatura boʻylab harakatlantiring. Kerakli harfni eshitganda barmoqni oling.\n\nQuyida matn maydonini chiqaring va ismingizni yozing. Shuningdek, breyl klaviaturasida ham yozish mumkin. Uni TalkBack sozlamalaridan toping. Kursorni surish - Matn maydonida kursorni harflar orasida surish uchun tepaga yoki pastga suring.\n\nBuni quyidagi matn maydonida sinang. + Matn maydonida kursorni harflar orasida surish uchun matn maydonini chiqarib, tovush tugmalari yoki tepaga va pastga tugmalaridan foydalaning.\n\nBuni quyidagi matn maydonida sinang. TalkBack xizmatiga xush kelibsiz Matn belgilash Matn belgilash uchun kursorni belgilanadigan matn boshiga suring.\n\nBelgilash uchun ustiga 2 ta barmoq bilan 2 marta teginib, barmoqni uzmay turing. Kursorni matn oxiriga suring. Belgilashni tugatish uchun 2 ta barmoq bilan 2 marta teginib, barmoqni uzmay turing.\n\nBuni quyidagi matn maydonida “Xush kelibsiz” soʻzida sinang. - Matn maydonida kursorni belgilanadigan matn boshiga suring.\n\nTalkBack menyusini ochish uchun pastga va oʻngga suring. Amallar ustiga ikki marta bosing va belgilashni boshlang. Kursorni matn oxiriga joylang.\n\nTalkBack menyusini qayta oching va tahrirlash parametrlari va oxirigacha belgilash ustiga ikki marta bosing.\n\nBuni quyidagi matn maydonida “Xush kelibsiz” soʻzida sinang. + Matn maydonida kursorni belgilanadigan matn boshiga suring.\n\nTalkBack menyusini ochish uchun pastga va oʻngga suring. Tahrirlash parametrlari ustiga ikki marta bosing va belgilashni boshlang. Kursorni matn oxiriga joylang.\n\nTalkBack menyusini qayta oching va tahrirlash parametrlari va oxirigacha belgilash ustiga ikki marta bosing.\n\nBuni quyidagi matn maydonida “Xush kelibsiz” soʻzida sinang. Nusxalash, qirqish va joylash - Matnni belgilagandan keyin amallar ustiga ikki marta bosing va uni nusxalang.\n\nBuni quyidagi matn maydonida sinang. - Matnni qirqish yoki joylash uchun TalkBack menyusini oching va amallar ustiga ikki marta bosing.\n\nMatnni joylash uchun 3 ta barmoq bilan uch marta bosing.\n\nBuni quyidagi matn maydonida sinang. + Matn belgilanganidan keyin uni nusxalash uchun 3 ta barmoq bilan ikki marta bosing.\n\nBuni quyidagi matn maydonida sinang. + Matnni qirqish uchun 3 ta barmoq bilan ikki marta teginib, biroz uzmay turing.\n\nMatnni joylash uchun 3 ta barmoq bilan uch marta bosing.\n\nBuni quyidagi matn maydonida sinang. Matn belgilanganidan keyin uni TalkBack menyusi orqali nusxalash mumkin. TalkBack menyusini ochish uchun pastga va oʻngga suring. Tahrirlash parametrlari ustiga ikki marta bosing va keyin nusxalang.\n\nBuni quyidagi matn maydonida sinang. Matnni qirqish yoki joylash uchun TalkBack menyusini oching va tahrirlash parametrlari ustiga ikki marta bosing.\n\nBuni quyidagi matn maydonida sinang. Matnni shu yerga joylang @@ -747,7 +738,6 @@ Elementlarni varaqlash uchun yon tomonlarga suring Elementni tanlash uchun ustiga ikki marta bosing Varaqlar uchun 2 ta barmoqni suring - Telefon ulanishini tekshiring. Qalin chegaralar Rang Standart @@ -759,12 +749,6 @@ Kulrang Soʻrovnoma yopildi Matni: %1$s - Rasmdagi matnga tavsif bering - Aniqlangan belgi: %1$s - Amal qoʻllab-quvvatlanmaydi. - Hech qanday amal tanlanmagan. - Mos amalni tanlang. - Hech qanday amal yoʻq. - Amallar sozlamasi yoqilmagan. - Hech qanday matn topilmadi + Rasmga tavsif berish + Bashorat belgisi: %1$s diff --git a/talkback/src/main/res/values-v26/strings.xml b/talkback/src/main/res/values-v26/strings.xml new file mode 100644 index 000000000..f05326e65 --- /dev/null +++ b/talkback/src/main/res/values-v26/strings.xml @@ -0,0 +1,13 @@ + + + + + Match speech volume + + 75% of speech volume + + 50% of speech volume + + 25% of speech volume + + diff --git a/talkback/src/main/res/values-v33/strings.xml b/talkback/src/main/res/values-v33/strings.xml new file mode 100644 index 000000000..70b3b9240 --- /dev/null +++ b/talkback/src/main/res/values-v33/strings.xml @@ -0,0 +1,13 @@ + + + + + TalkBack provides spoken feedback so that you can use your device without looking at the screen. TalkBack can be helpful for people who have difficulty seeing the screen. + + + How to use TalkBack
        • Swipe right or left to move between items
        • Double-tap to activate an item
        • Drag 2 fingers to scroll

        How to turn off TalkBack

        Volume keys: Press and hold both volume keys for a few seconds

        Settings
        1. Tap Use TalkBack. There will be a green outline. Double-tap it.
        2. On the confirmation message, tap Stop. There will be a green outline. Double-tap it.]]>
        + +
        diff --git a/talkback/src/main/res/values-vi/strings.xml b/talkback/src/main/res/values-vi/strings.xml index 3f162cc57..b44d3178b 100644 --- a/talkback/src/main/res/values-vi/strings.xml +++ b/talkback/src/main/res/values-vi/strings.xml @@ -7,7 +7,6 @@ Cài đặt chuyển văn bản sang lời nói Ngôn ngữ Ngôn ngữ nói - Thao tác Thao tác trên hệ thống Phiên bản %1$s Quản lý nhãn tùy chỉnh @@ -31,37 +30,46 @@ Đã mở khóa thiết bị. Âm thanh Âm lượng giọng nói - Đọc thông báo khi màn hình tắt - Luôn đọc số mục trong danh sách - Đọc số lượng mục cho tất cả các phương thức cuộn + Nói khi màn hình tắt + Thông báo được đọc khi màn hình tắt + Không có lời thoại nào khi màn hình tắt + Đọc to số mục trong danh sách trên màn hình + Chỉ đọc khi thực hiện thao tác cuộn bằng cử chỉ + Luôn được đọc Dùng tay che cảm biến độ gần để tắt tiếng - Đọc các chữ cái cùng với ví dụ minh họa - Khi chọn các phím trên bàn phím hoặc di chuyển theo ký tự, bạn sẽ nghe thấy ví dụ minh họa cho từng chữ cái, chẳng hạn như \"h, hotel\" - Đọc dấu câu và các ký hiệu + Nói chữ cái theo phiên âm + Chữ cái theo phiên âm không được nói + Chữ cái theo phiên âm được nói khi nhấn giữ phím trên bàn phím và di chuyển theo ký tự + Dấu câu + Không đọc dấu câu và các ký hiệu + Đọc dấu câu và các ký hiệu Chữ cái viết hoa Không làm gì cả Nói “viết hoa” Thay đổi cao độ Phát âm thanh Nói gợi ý sử dụng - Sau khi mô tả nội dung, đọc đề xuất cách sử dụng - Đọc thông tin trong lưới và danh sách + Gợi ý sử dụng không được nói khi di chuyển tiêu điểm trợ năng + Gợi ý sử dụng được nói trong quá trình di chuyển, sau một khoảng thời gian chờ ngắn + Đọc thông tin danh sách và lưới + Thông tin danh sách và lưới được nói + Thông tin danh sách và lưới không được nói Đặt lại cử chỉ? Thao tác này sẽ đặt lại tất cả cử chỉ về hành động mặc định.\n\nBạn sẽ mất mọi thay đổi đã thực hiện. Đặt lại Đã đặt lại chế độ cài đặt cử chỉ. Đọc to loại thành phần - Đối với các mục được lấy tiêu điểm + Đọc to loại thành phần cho các mục có tiêu điểm + Loại thành phần không được đọc cho các mục có tiêu điểm Đọc to tên thành phần - Đối với các nút không được gắn nhãn - Cửa sổ hệ thống trò chuyện - Khi bạn chuyển sang các cửa sổ hệ thống khác, chẳng hạn như thanh trạng thái, thông báo hoặc các nút điều chỉnh âm lượng + Không đọc ID Thành phần cho các nút không được gắn nhãn + Đọc to tên thành phần cho các nút không được gắn nhãn Khám phá bằng cách chạm Các thành phần điều khiển Nhấn một lần để kích hoạt Nhấn một lần vào mục được đặt tiêu điểm để kích hoạt Độ chi tiết - Đọc dấu câu và các ký hiệu + Dấu câu Tùy chỉnh chỉ báo lấy nét Tùy chỉnh cử chỉ Nhãn tùy chỉnh @@ -203,7 +211,8 @@ Sử dụng các thay đổi độ cao Đọc to ký tự bàn phím Thứ tự mô tả thành phần - Đọc các chữ cái đã xoá bằng giọng có âm vực cao hơn + Đọc phản hồi \"đã xóa văn bản\" từ bàn phím bằng giọng có âm vực cao hơn + Không thay đổi độ cao giọng nói khi nói Bàn phím chữ nổi Phản hồi bằng cách rung Phản hồi bằng âm thanh @@ -211,6 +220,7 @@ Giảm âm lượng của âm thanh khác trong khi nói Âm lượng phản hồi Phím tắt tạm ngưng và tiếp tục TalkBack + Phím tắt ẩn màn hình Chế độ cài đặt cho nhà phát triển Chọn sự kiện để ghi Lọc ghi sự kiện hỗ trợ tiếp cận @@ -256,7 +266,7 @@ Mở trình đơn TalkBack Tạm dừng phản hồi Tạm dừng hoặc tiếp tục giọng nói - Bật hoặc tắt giọng nói + Bật hoặc tắt âm thanh của TalkBack Đọc từ phía trên cùng Đọc từ mục tiếp theo In cây nút @@ -278,7 +288,6 @@ Giữ phím tắt hỗ trợ tiếp cận Đưa tiêu điểm di chuyển lên phía trước hoặc điều chỉnh tùy chọn điều khiển đọc xuống phía dưới Đưa tiêu điểm di chuyển về phía sau hoặc điều chỉnh tùy chọn điều khiển đọc lên phía trên - Kích hoạt thao tác hiện đã chọn Kết quả tìm kiếm Phát hoặc tạm dừng nhạc/video Tất cả ứng dụng @@ -323,7 +332,7 @@ Đọc Tính năng đặc biệt Khác - Hiện khi có các hành động đối với mục hiện tại, bao gồm sao chép, dán, chọn và các hành động khác + Hiển thị khi có các hành động tùy chỉnh cho mục hiện tại Sao chép, dán, chọn và nhiều tùy chọn chỉnh sửa khác. Hiển thị khi bạn chọn một hộp văn bản. Mở các đường liên kết trong một mục được đặt tiêu điểm Chuyển đến trang tiếp theo hoặc trang trước. Hiển thị khi bạn đọc nội dung có nhiều trang. @@ -342,7 +351,6 @@ Mở phần cài đặt chuyển văn bản sang lời nói Tắt tính năng phản hồi bằng giọng nói TalkBack Không thể chỉnh sửa - Thực hiện các thao tác Đọc từng ký tự một Đọc từng từ một Đọc từng dòng một @@ -365,7 +373,7 @@ Giảm âm lượng của âm thanh khác đang phát khi TalkBack nói Di chuyển về phía trước hoặc về phía sau Tăng hoặc giảm âm lượng của dịch vụ Hỗ trợ tiếp cận - Đọc to văn bản được nhúng trong hình ảnh đã chọn + Nhận thông tin mô tả tự động cho hình ảnh này xuống xuống rồi sang phải Vuốt lên @@ -408,9 +416,7 @@ Nhấn đúp và giữ bằng 2 ngón tay Nhấn đúp và giữ bằng 3 ngón tay Nhấn đúp và giữ bằng 4 ngón tay - Nhấn và giữ bằng 3 ngón tay Nhấn 3 lần và giữ bằng 2 ngón tay - Nhấn 3 lần và giữ bằng 3 ngón tay \"%1$s\" hoặc %2$s\" để điều chỉnh \"%1$s\" để điều chỉnh Cử chỉ không xác định @@ -433,9 +439,8 @@ Khi màn hình bật Khi màn hình khóa được hiển thị Chỉ từ thông báo - Giữ ngón tay để chọn phím bất kỳ rồi nhấn đúp - Giữ ngón tay để chọn phím chữ cái rồi nhấc tay lên. Nhấn đúp đối với các phím khác. - Giữ ngón tay để chọn phím rồi nhấc tay lên + Giữ ngón tay để chọn phím rồi nhấn đúp + Giữ ngón tay để chọn phím rồi nhấc tay lên Đã tắt Rất nhẹ Nhẹ @@ -485,6 +490,7 @@ Chọn ứng dụng để xuất nhãn: Phiên bản TalkBack này bao gồm các thay đổi đối với cử chỉ trợ năng mặc định. Tác vụ được liên kết với những cử chỉ này có thể được tùy chỉnh trong cài đặt TalkBack. Khi Khám phá bằng cách chạm được bật, bạn có thể sử dụng các cử chỉ sau để thực hiện một số tác vụ.\n\n%1$s Nhấn và giữ các phím tăng và giảm âm lượng + Nhấn nhanh cả 2 phím âm lượng 3 lần để làm mờ hoặc hiện rõ màn hình Ẩn màn hình? Tùy chọn này cải thiện quyền riêng tư bằng cách tắt màn hình để người khác không thấy được màn hình của bạn khi ở nơi công cộng Phiên bản TalkBack này bao gồm các thay đổi đối với cử chỉ hỗ trợ tiếp cận mặc định.\n\nCử chỉ vuốt lên rồi vuốt xuống sẽ cho phép bạn chuyển đến mục đầu tiên trên màn hình, còn cử chỉ vuốt xuống rồi vuốt lên sẽ chuyển bạn đến mục cuối cùng.\n\nGiờ đây, bạn có thể thay đổi độ chi tiết của chức năng đọc bằng cách đặt tiêu điểm vào một mục rồi chọn độ chi tiết từ trình đơn ngữ cảnh TalkBack.\n\nBạn có thể thay đổi hành động mà các cử chỉ này thực hiện trong phần Cài đặt TalkBack. @@ -500,9 +506,6 @@ Bạn có chắc chắn muốn bật gỡ lỗi cây nút không?\n\nGỡ lỗi cây nút đưa nội dung trên màn hình vào nhật ký của thiết bị mà các ứng dụng khác có thể đọc được. Bật thống kê hiệu suất? Bạn có chắc chắn muốn bật thống kê hiệu suất không?\n\nThống kê hiệu suất có thể sử dụng nhiều năng lượng và bộ nhớ hơn. - Bật tính năng ghi nhật ký chi tiết? - Tính năng ghi nhật ký trực tiếp có thể hỗ trợ quá trình gỡ lỗi nhưng có thể khiến thông tin cá nhân xuất hiện trong bộ đệm nhật ký hệ thống.\n\n Bạn có muốn bật tính năng ghi nhật ký trực tiếp không? - Có, bật tính năng ghi nhật ký trực tiếp Cho phép truy cập vào điện thoại? Thao tác này giúp TalkBack giảm số lượng thông báo khi bạn đang nghe/gọi điện thoại Tiếp tục @@ -556,11 +559,9 @@ Âm lượng của dịch vụ Hỗ trợ tiếp cận Điều chỉnh thanh trượt Điều chỉnh giá trị - Thao tác Đọc mật khẩu Luôn đọc mật khẩu Âm thanh và rung - Âm thanh đã sao chép, %1$s Đóng Đóng tìm kiếm @@ -595,15 +596,13 @@ %1$s để đọc theo %2$s Để sử dụng cử chỉ này, hãy chuyển đến phần cài đặt của TalkBack rồi thêm cử chỉ cho \"%1$s\" Bàn phím chữ nổi chưa được bật. Hãy chuyển đến mục cài đặt TalkBack, thiết lập bàn phím chữ nổi rồi thử lại. - Đề xuất có sẵn - Đề xuất có sẵn. Để sử dụng đề xuất này, hãy %1$s Trang %1$d/%2$d Trước Tiếp theo Đóng Hoàn tất Di chuyển lên - Tính năng mới trong TalkBack + Tính năng mới trong TalkBack Đóng hướng dẫn? Bạn có thể xem lại hướng dẫn bất cứ lúc nào trong phần cài đặt TalkBack. Ở lại phần hướng dẫn @@ -647,14 +646,6 @@ Nhấn để tìm hiểu cách sử dụng TalkBack nhanh hơn bằng các cử chỉ mới. Đã in cây nút vào nhật ký. Đây là các cử chỉ được thực hiện gần đây, vui lòng báo cáo cử chỉ sai và mô tả cử chỉ đúng. - Bạn sẽ có các tuỳ chọn điều chỉnh âm lượng đơn giản hoá, các tuỳ chọn điều khiển hành động nhanh hơn và nhiều tính năng khác.\n\nBạn sẽ tìm hiểu về những thay đổi và thông tin cập nhật chính trên một số màn hình tiếp theo. Quá trình này sẽ mất khoảng 5 phút.\n\nBạn có thể xem lại thông tin này bất cứ lúc nào trong phần cài đặt của TalkBack. - Những thay đổi về tính năng điều chỉnh âm lượng - Để cải thiện tính năng điều chỉnh âm lượng, các phím âm lượng không điều khiển thanh trượt hoặc con trỏ văn bản nữa.\n\nĐể thay đổi vị trí của thanh trượt, hãy vuốt lên hoặc vuốt xuống.\n\nĐể thay đổi vị trí của con trỏ văn bản, hãy vuốt lên hoặc vuốt xuống trong hộp văn bản. Thao tác này cũng áp dụng cho tính năng điều khiển chức năng đọc trên bàn phím chữ nổi. - Văn bản trong hình ảnh - Bạn có thể xem thêm chi tiết về văn bản trong hình ảnh một cách tự động hoặc khi bạn cần.\n\nĐối với các hình ảnh không có nhãn: TalkBack sẽ tự động đọc văn bản xuất hiện.\n\nĐối với tất cả các hình ảnh: Mở trình đơn TalkBack rồi chọn \"Mô tả văn bản trong hình ảnh\".\n\nHình ảnh sẽ chỉ ở trên thiết bị của bạn và tuyệt đối không được gửi cho Google. Điều này nghĩa là bạn có thể sử dụng cả hai tính năng mà không cần có kết nối Internet. - Thao tác trong cửa sổ - Bạn có thể chuyển đổi giữa các phần trên màn hình, chẳng hạn như thanh thông báo, nội dung chính và bàn phím.\n\nĐể sử dụng chế độ thao tác trong cửa sổ, hãy vuốt xuống bằng 4 ngón tay. - Bạn có thể chuyển đổi giữa các phần trên màn hình, chẳng hạn như thanh thông báo, nội dung chính và bàn phím.\n\nĐể sử dụng chế độ thao tác trong cửa sổ, hãy vuốt xuống rồi vuốt lên. Hãy tiếp tục vuốt cho đến khi bạn chọn được chế độ thao tác trong cửa sổ. Để chuyển đến cửa sổ này, hãy vuốt xuống. Hướng dẫn Chào mừng bạn đến với TalkBack TalkBack là một trình đọc màn hình được dùng cho các tình huống khó xem nội dung trên màn hình hoặc dùng cho những người khiếm thị. Trình đọc này cung cấp phản hồi bằng giọng nói để bạn có thể dùng thiết bị mà không cần nhìn màn hình.\n\nBạn có thể bật hoặc tắt TalkBack bằng cách giữ cả 2 phím âm lượng trong vài giây.\n\nKhi được bật, TalkBack sẽ đọc thành tiếng mục mà bạn đặt tiêu điểm trên màn hình.\n\nKhi vuốt sang phải, bạn sẽ chuyển sang mục tiếp theo và khi vuốt sang trái, bạn sẽ quay trở lại mục trước.\n\nHãy vuốt sang phải ngay để tìm nút tiếp theo. @@ -697,14 +688,14 @@ Di chuyển ngón tay trên bàn phím. Khi bạn nghe thấy chữ cái mình muốn nhập, hãy nhấc ngón tay lên.\n\nHãy thử kích hoạt hộp văn bản bên dưới và nhập tên của bạn. Bạn cũng có thể nhập bằng bàn phím chữ nổi. Hãy tìm bàn phím này trong phần Cài đặt TalkBack. Di chuyển con trỏ - Sau khi kích hoạt hộp văn bản, bạn có thể di chuyển con trỏ giữa các chữ cái bằng cách vuốt lên hoặc vuốt xuống.\n\nHãy thử thực hiện thao tác này trong hộp văn bản bên dưới. + Sau khi kích hoạt hộp văn bản, bạn có thể di chuyển con trỏ giữa các chữ cái bằng cách nhấn vào phím tăng hoặc giảm âm lượng.\n\nHãy thử thực hiện thao tác này trong hộp văn bản bên dưới. Chào mừng bạn đến với TalkBack Chọn văn bản Trong một hộp văn bản, hãy di chuyển con trỏ đến đầu văn bản mà bạn muốn chọn.\n\nNhấn đúp và giữ bằng 2 ngón tay để bắt đầu chế độ chọn. Sau đó, di chuyển con trỏ đến cuối văn bản. Nhấn đúp và giữ lần nữa bằng 2 ngón tay để kết thúc chế độ chọn.\n\nHãy thử chọn từ \"Chào mừng\" trong hộp văn bản bên dưới. - Trong hộp văn bản, hãy di chuyển con trỏ đến đầu văn bản mà bạn muốn chọn.\n\nVuốt xuống rồi vuốt sang phải để mở trình đơn TalkBack. Nhấn đúp vào các thao tác rồi bắt đầu chế độ chọn. Di chuyển con trỏ đến cuối văn bản.\n\nMở lại trình đơn TalkBack rồi nhấn đúp vào các thao tác để kết thúc chế độ chọn.\n\nHãy thử chọn từ \"Chào mừng\" trong hộp văn bản bên dưới. + Trong một hộp văn bản, hãy di chuyển con trỏ đến đầu văn bản mà bạn muốn chọn.\n\nVuốt xuống rồi vuốt sang phải để mở trình đơn TalkBack. Nhấn đúp vào các tùy chọn chỉnh sửa rồi bắt đầu chế độ chọn. Di chuyển con trỏ đến cuối văn bản.\n\nMở lại trình đơn TalkBack rồi nhấn đúp vào các tùy chọn chỉnh sửa để kết thúc chế độ chọn.\n\nHãy thử chọn từ \"Chào mừng\" trong hộp văn bản bên dưới. Sao chép, cắt và dán - Sau khi chọn văn bản, nhấn đúp vào các thao tác rồi sao chép.\n\nHãy thử sao chép một từ trong hộp văn bản ở bên dưới. - Để cắt hoặc dán văn bản, hãy mở trình đơn TalkBack rồi nhấn đúp vào các thao tác.\n\nĐể dán văn bản, hãy nhấn ba lần bằng 3 ngón tay.\n\nHãy thử dán một từ vào hộp văn bản ở bên dưới. + Sau khi chọn văn bản, hãy nhấn đúp bằng 3 ngón tay để sao chép văn bản đó.\n\nHãy thử sao chép một từ trong hộp văn bản bên dưới. + Để cắt văn bản, hãy nhấn đúp và giữ bằng 3 ngón tay.\n\nĐể dán văn bản, hãy nhấn 3 lần bằng 3 ngón tay.\n\nHãy thử dán một từ vào hộp văn bản bên dưới. Sau khi chọn văn bản, bạn có thể sao chép văn bản đó trong trình đơn TalkBack. Vuốt xuống rồi vuốt sang phải để mở trình đơn TalkBack. Nhấn đúp vào tùy chọn chỉnh sửa rồi nhấn đúp vào sao chép.\n\nHãy thử sao chép một từ trong hộp văn bản bên dưới. Để cắt hoặc dán văn bản, hãy mở trình đơn TalkBack rồi nhấn đúp vào tùy chọn chỉnh sửa.\n\nHãy thử dán một từ vào hộp văn bản bên dưới. Dán văn bản vào đây @@ -747,7 +738,6 @@ Vuốt sang phải hoặc sang trái để di chuyển giữa các mục Nhấn đúp để kích hoạt một mục Kéo 2 ngón tay để di chuyển - Vui lòng kiểm tra xem điện thoại đã kết nối chưa. Đường viền dày Màu Mặc định @@ -759,12 +749,6 @@ Xám Khảo sát đã bị đóng Nội dung văn bản: %1$s - Mô tả văn bản trong hình ảnh - Đã phát hiện thấy biểu tượng %1$s - Thao tác không được hỗ trợ. - Bạn chưa chọn thao tác nào. - Vui lòng chọn một thao tác được hỗ trợ. - Không có thao tác nào. - Chế độ cài đặt thao tác chưa được bật. - Không tìm thấy văn bản + Mô tả hình ảnh + Biểu tượng dự đoán: %1$s diff --git a/talkback/src/main/res/values-watch/donottranslate.xml b/talkback/src/main/res/values-watch/donottranslate.xml index 36fbf036e..05e46276d 100644 --- a/talkback/src/main/res/values-watch/donottranslate.xml +++ b/talkback/src/main/res/values-watch/donottranslate.xml @@ -124,7 +124,6 @@ false false false - false false false false diff --git a/talkback/src/main/res/values-watch/strings.xml b/talkback/src/main/res/values-watch/strings.xml new file mode 100644 index 000000000..2e22d2389 --- /dev/null +++ b/talkback/src/main/res/values-watch/strings.xml @@ -0,0 +1,15 @@ + + + + TalkBack is a screen reader primarily for people with blindness and low vision. It allows interaction with the device using spoken feedback. + + + Get spoken feedback so you can use your watch without looking at the screen. + diff --git a/talkback/src/main/res/values-zh-rCN/strings.xml b/talkback/src/main/res/values-zh-rCN/strings.xml index 10e9fdee7..0632ea075 100644 --- a/talkback/src/main/res/values-zh-rCN/strings.xml +++ b/talkback/src/main/res/values-zh-rCN/strings.xml @@ -7,7 +7,6 @@ 文字转语音设置 语言 使用的语言 - 操作 系统操作 版本 %1$s 管理自定义标签 @@ -31,37 +30,46 @@ 设备已解锁。 音频 语音音量 - 屏幕处于关闭状态时读出通知 - 一律读出列表项数量 - 读出所有滚动方法的数量 + 屏幕处于关闭状态时给出语音提示 + 屏幕处于关闭状态时仍读出通知 + 屏幕处于关闭状态时不给出语音提示 + 读出屏幕上的列表项数量 + 仅在使用手势滚动时读出 + 一律读出 遮盖近程传感器即可停止语音输出 - 读出字母和示例 - 当您选择键盘按键或按字符导航时,系统会读出每个字母及示例,例如“h,hotel” - 读出标点和符号 + 读出拼音字母 + 系统不会读出拼音字母 + 当您长按键盘按键和逐个字符浏览时,系统会读出拼音字母 + 标点 + 系统不会读出标点和符号 + 系统会读出标点和符号 大写字母 不进行任何操作 说出“大写” 变更音调 播放声音 读出使用提示 - 描述内容后,提出使用方法建议 + 当您移动无障碍焦点时,系统不会读出使用提示 + 在导航期间,系统会在短暂延迟后读出使用提示 读出列表和网格信息 + 系统会读出列表和网格信息 + 系统不会读出列表和网格信息 要重置手势设置吗? 这样做会将所有手势重置为其默认操作。\n\n您做过的所有更改都将失效。 重置 已重置手势设置。 读出元素类型 - 对于聚焦的项 + 系统会读出焦点所在项的元素类型 + 系统不会读出焦点所在项的元素类型 读出元素 ID - 对于无标签按钮 - 读出系统窗口标题 - 当您切换到状态栏、通知窗口或音量控制窗口等其他系统窗口时 + 不读出无标签按钮的元素 ID + 读出无标签按钮的元素 ID 触摸浏览 控制 点按一次即可启用 点按一次聚焦的项目即可将其启用 详细程度 - 读出标点和符号 + 标点 自定义焦点指示标志 自定义手势 自定义标签 @@ -84,7 +92,7 @@ 隐私权政策 指纹手势 教程和帮助 - 输入方式和键盘 + 输入方法和键盘 高级设置 重置手势设置 单指 @@ -203,7 +211,8 @@ 使用音调变化 键盘语音提示 元素说明顺序 - 以较高的音调读出删除的字母 + 以较高的音调读出键盘删除的文字 + 朗读语音提示时不改变音调 盲文键盘 振动反馈 声音反馈 @@ -211,6 +220,7 @@ 朗读时降低其他应用的音量 声音反馈音量 TalkBack 暂停和恢复操作对应的快捷键 + “隐藏屏幕画面”快捷方式 开发者设置 选择要记录的事件 过滤无障碍事件记录 @@ -256,7 +266,7 @@ 打开 TalkBack 菜单 暂停语音反馈功能 暂停或继续使用语音功能 - 开启或关闭语音功能 + 开启或关闭 TalkBack 声音 从顶部开始朗读 从下一项开始朗读 打印节点树 @@ -278,7 +288,6 @@ 长按无障碍功能快捷方式 向前移动导航焦点,或向下调节朗读控件 向后移动导航焦点,或向上调节朗读控件 - 启动当前选择的操作 搜索结果 播放或暂停播放媒体 所有应用 @@ -323,11 +332,11 @@ 朗读 特殊功能 其他 - 显示可对当前项执行的操作,包括复制、粘贴、选择等 - 复制、粘贴、选择等。在选中文本框时显示。 + 当存在适用于当前项的自定义操作时显示 + 复制、粘贴、选择等。当您选中某个文本框时显示。 打开聚焦项中的链接 - 转到下一页或上一页。在朗读多页内容时显示。 - 在选中无标签的项时显示 + 转到下一页或上一页。当您让系统朗读多页内容时显示。 + 当您选中某个无标签的项时显示 按字符、字词或行等单位朗读 从顶部开始,朗读屏幕上的所有项 从下一项开始,朗读屏幕上的所有项 @@ -342,7 +351,6 @@ 打开文字转语音设置 关闭 TalkBack 语音反馈 无法修改 - 执行操作 每次朗读一个字符 每次朗读一个字词 每次朗读一行 @@ -365,7 +373,7 @@ 当 TalkBack 朗读内容时,调低正在播放的其他音频的音量 向前或向后滚动 调高或调低无障碍功能音量 - 朗读所选图片中的文字 + 自动显示这张图片的说明 向下 先向下再向右 向上滑动 @@ -408,9 +416,7 @@ 双指点按并按住 三指点按两次并按住 四指点按两次并按住 - 用三根手指点按并按住 双指点按三次并按住 - 用 3 根手指点按 3 次并按住 “%1$s”或“%2$s”即可调整 “%1$s”即可调整 未知手势 @@ -433,9 +439,8 @@ 屏幕打开时 显示锁定屏幕时 仅通过通知栏 - 用手指按住要选择的任意键,然后点按两次 - 用手指按住要选择的字母键,然后松开手指。对于其他键,请点按两次。 - 用手指按住以选择相应的键,然后松开手指 + 用手指按住以选择相应的键,然后点按两次 + 用手指按住以选择相应的键,然后松开手指 已停用 微摇 轻摇 @@ -485,6 +490,7 @@ 选择应用以导出标签: 此版本的 TalkBack 服务对默认的无障碍手势进行了一些更改。您可以在 TalkBack 服务设置中自定义与这些手势关联的操作。启用“触摸浏览”功能后,您可以使用以下手势执行某些操作。\n\n%1$s 长按音量调高和音量调低键 + 同时快速按下两个音量键三次,即可隐藏/显示屏幕画面 要隐藏屏幕画面吗? 此操作会关闭屏幕来更好地保护您的隐私,这样在公共场合时,他人便无法看到您的屏幕画面 此版本的 TalkBack 对默认的无障碍手势进行了一些更改。\n\n先向上再向下的手势可让您直接跳到屏幕上显示的第一项内容,而先向下再向上的手势可让您跳到屏幕上显示的最后一项内容。\n\n现在,如果要更改朗读单位,您可以先聚焦于某项内容,然后从 TalkBack 上下文菜单中选择朗读单位。\n\n您可以在 TalkBack 设置中更改这些手势对应的操作。 @@ -500,9 +506,6 @@ 确定要启用“节点树调试”功能吗?\n\n启用该功能后,系统会将屏幕上的内容记录在您设备的日志中,而其他应用可能能够读取这些日志。 要启用性能统计信息吗? 确定要开启性能统计信息吗?\n\n性能统计信息可能会耗用更多内存和电量。 - 要启用详细日志记录功能吗? - 启用详细日志记录功能有助于进行调试,但可能会导致个人信息显示在系统日志缓冲区内。\n\n 要启用详细日志记录功能吗? - 启用详细日志记录功能 要授予电话使用权限吗? 这有助于 TalkBack 减少在您通话时朗读内容 继续 @@ -556,11 +559,9 @@ 无障碍功能音量 调整滑块 调整值 - 操作 读出密码 一律读出密码 提示音和振动 - 提示音 已复制,%1$s 关闭 关闭搜索窗口 @@ -595,15 +596,13 @@ %1$s即可按%2$s阅读 转到 TalkBack 设置并添加“%1$s”手势,即可使用 未开启盲文键盘。请转到 TalkBack 设置,设置盲文键盘,然后重试。 - 有可用的建议 - 有可用的建议。若要查看,请%1$s 第 %1$d 页,共 %2$d 页 上一页 下一页 关闭 完成 转到上一层级 - TalkBack 中的新功能 + TalkBack 中的新功能 要关闭教程吗? 您可以随时在 TalkBack 设置中返回本教程。 继续教程 @@ -647,14 +646,6 @@ 点按即可了解如何通过新手势更快速地使用 TalkBack。 系统已将节点树打印到日志中。 这些是您最近做过的手势,请报告出错的手势以及该手势应执行的操作。 - 更新后的 TalkBack 提供了更简便的音量控件、更快捷的操作控件等其他功能。\n\n在接下来的几个屏幕中,您将会了解重要更新和变化。此过程大约需要 5 分钟的时间。\n\n您随时可在 TalkBack 设置中查看这些信息。 - 音量控件的变化 - 为了改进音量控件,我们已不再支持使用音量键来控制文本光标或滑块。\n\n若要移动滑块,请向上或向下滑动手指。\n\n若要移动文本光标,请在文本框中向上或向下滑动手指。上述操作方式也适用于盲文键盘的朗读控件。 - 图片中的文字 - 您可让系统自动提供图片中文字的有关详情,也可以视需要自行操作。\n\n对于无标签的图片:TalkBack 会自动读取出现的文字。\n\n对于所有图片:请打开 TalkBack 菜单并选择“描述图片中的文字”。\n\n图片会一直储存在您的设备上,绝不会发送给 Google。这表示您可在不上网的情况下使用这两项功能。 - 窗口导航 - 您可在屏幕上的不同部分(例如通知栏、主要内容和键盘)之间切换。\n\n若要使用“窗口导航”,请用 4 根手指向下滑动。 - 您可在屏幕上的不同部分(例如通知栏、主要内容和键盘)之间切换。\n\n若要使用“窗口导航”,请先向下再向上滑动手指。反复执行上述手势操作,直到选择“窗口导航”为止。若要导航到窗口,请向下滑动。 教程 欢迎使用 TalkBack TalkBack 是一种屏幕阅读器,适用于不便查看屏幕的情况或难以看清屏幕的用户。它可提供语音反馈,让您无需看屏幕即可使用设备。\n\n同时按住两个音量键数秒,即可开启或关闭 TalkBack。\n\nTalkBack 开启后,会将屏幕上聚焦的项大声读出来。\n\n向右滑动会移至下一项,向左滑动会移至上一项。\n\n现在,请向右滑动,找到“下一页”按钮。 @@ -697,14 +688,14 @@ 在键盘上移动手指。当听到想要输入的字母时,松开手指。\n\n请尝试激活下方的文本框,然后输入您的姓名。 您还可以使用盲文键盘输入文字。盲文键盘可在 TalkBack 设置中找到。 移动光标 - 启用文本框之后,您可通过向上或向下滑动手指在字母之间移动光标。\n\n不妨在下方的文本框中试试。 + 激活文本框后,您可以按音量调高键或音量调低键,以便在字母间移动光标。\n\n请在下方的文本框中尝试此操作。 欢迎使用 TalkBack 选择文字 在文本框中,将光标移至您想选择的文字的开头。\n\n双指点按两次并按住,进入选择模式。然后,将光标移至相应文字的末尾。再次双指点按两次并按住,退出选择模式。\n\n请尝试选择下方文本框中的“欢迎”一词。 - 在文本框中,将光标移至您想选择的文字的开头。\n\n先向下再向右滑动手指,打开 TalkBack 菜单。点按两次相应操作,然后进入选择模式。将光标移至相应文字的末尾。\n\n再次打开 TalkBack 菜单,然后点按两次相应操作以退出选择模式。\n\n请尝试选择下方文本框中的“欢迎”一词。 + 在文本框中,将光标移至您想选择的文字的开头。\n\n先向下再向右滑动手指,打开 TalkBack 菜单。点按两次编辑选项,然后进入选择模式。将光标移至相应文字的末尾。\n\n再次打开 TalkBack 菜单,然后点按两次编辑选项,退出选择模式。\n\n请尝试选择下方文本框中的“欢迎”一词。 复制、剪切和粘贴 - 选择好文字后,点按两次操作选项,然后复制文字。\n\n请尝试复制下方文本框中的一个字词。 - 如要剪切或粘贴文字,请打开 TalkBack 菜单,然后点按两次操作选项。\n\n如要粘贴文字,请三指点按三次。\n\n请尝试向下方文本框中粘贴一个字词。 + 选择好文字后,三指点按两次可复制所选文字。\n\n请尝试复制下方文本框中的一个字词。 + 如要剪切文字,请三指点按两次并按住。\n\n如要粘贴文字,请三指点按三次。\n\n请尝试向下方文本框中粘贴一个字词。 选择好文字后,您可以在 TalkBack 菜单中复制所选文字。先向下再向右滑动手指,打开 TalkBack 菜单。点按两次编辑选项,然后复制文字。\n\n请尝试复制下方文本框中的一个字词。 如要剪切或粘贴文字,请打开 TalkBack 菜单,然后点按两次编辑选项。\n\n请尝试向下方文本框中粘贴一个字词。 在此处粘贴文字 @@ -747,7 +738,6 @@ 左右滑动即可在各项内容之间移动 点按两次即可激活某项内容 用两根手指拖动即可滚动页面 - 请检查手机是否已连接。 粗边框 颜色 默认 @@ -759,12 +749,6 @@ 灰色 调查问卷已关闭 文字:%1$s - 描述图片中的文字 - 检测到的图标:%1$s - 不支持该操作。 - 未选择任何操作。 - 请选择支持的操作。 - 没有任何操作。 - 未启用操作设置。 - 找不到文字 + 描述图片 + 预测的图标:%1$s diff --git a/talkback/src/main/res/values-zh-rHK/strings.xml b/talkback/src/main/res/values-zh-rHK/strings.xml index 0764f26e1..93940d421 100644 --- a/talkback/src/main/res/values-zh-rHK/strings.xml +++ b/talkback/src/main/res/values-zh-rHK/strings.xml @@ -7,7 +7,6 @@ 文字轉語音設定 語言 使用的語言 - 操作 系統操作 版本:%1$s 管理自訂標籤 @@ -31,37 +30,46 @@ 裝置已解鎖。 音訊 語音音量 - 螢幕關閉時讀出通知 - 一律讀出清單項目數量 - 讀出所有捲動方法的數量 + 螢幕關閉時發聲 + 螢幕關閉時讀出通知 + 螢幕關閉時不發聲 + 朗讀螢幕上的清單項目數量 + 只有在使用手勢捲動畫面時朗讀 + 一律朗讀 遮蓋距離感應器即可停止輸出語音內容 - 讀出字母及例子 - 當您選擇鍵盤按鍵或按字元導覽時,系統會讀出每個字母及例子,例如「h,hotel」 - 讀出標點和符號 + 讀出拼音字母 + 系統不會讀出拼音字母 + 長按鍵盤按鍵並以字元導覽時,系統會讀出拼音字母 + 標點符號 + 系統不會讀出標點和符號 + 系統會讀出標點和符號 大楷 不執行任何操作 說出「大楷」 變更音調 播放音效 讀出使用提示 - 說明內容後,建議使用方法 + 無障礙功能的焦點移動時,系統不會讀出使用提示 + 導覽期間,系統會在短暫延誤後讀出使用提示 讀出清單和網格資料 + 系統會讀出清單和網格資料 + 系統唔會讀出清單同網格資料 要重設手勢嗎? 此操作會將所有手勢重設回預設動作。\n\n您亦會失去已往作出的變更。 重設 手勢設定已重設。 讀出元素類型 - 焦點項目 + 系統會讀出焦點項目的元素類型 + 系統不會讀出焦點項目的元素類型 讀出元素 ID - 未標示的按鈕 - 語音系統視窗 - 當您切換至狀態列、通知或音量控制等其他系統視窗時 + 不讀出無標籤按鈕的元素 ID + 說出無標籤按鈕的元素 ID 輕觸探索 控制項 輕按一下即可啟用 輕按一下焦點項目即可啟用 詳細程度 - 讀出標點和符號 + 標點符號 自訂對焦指標 自訂手勢 自訂標籤 @@ -203,7 +211,8 @@ 使用音調變化 鍵盤語音提示 元素說明次序 - 以較高音調朗讀刪除的字母 + 以較高音調朗讀鍵盤刪除的文字 + 說話時不要改變音調 點字鍵盤 震動回應 聲音回應 @@ -211,6 +220,7 @@ 朗讀時調低其他音量 聲音回應音量 停用 TalkBack 並恢復使用快速鍵 + 隱藏螢幕捷徑 開發人員設定 選取要記錄的活動 篩選無障礙功能活動記錄 @@ -256,7 +266,7 @@ 開啟 TalkBack 選單 暫停回應 暫停或繼續讀出內容 - 開啟或關閉語音功能 + 開啟或關閉 TalkBack 音效 從頂端開始讀出 從下一個項目開始讀出 列印節點樹狀結構 @@ -278,7 +288,6 @@ 按住無障礙功能捷徑 將瀏覽焦點移至下一個項目,或向下調整朗讀控制項 將瀏覽焦點移至上一個項目,或向上調整朗讀控制項 - 啟用目前選取的動作 搜尋結果 播放或暫停媒體 所有應用程式 @@ -323,7 +332,7 @@ 朗讀 特殊功能 其他 - 顯示可對目前項目執行的操作,例如複製、貼上、選取等等 + 在目前項目有自訂操作時顯示 複製、貼上、選取等操作。在選取文字方塊時顯示。 開啟焦點項目中的連結 前往下一頁或上一頁。在朗讀多個頁面內容時顯示。 @@ -342,7 +351,6 @@ 開啟文字轉語音設定 關閉 TalkBack 語音回應 無法編輯 - 執行動作 一次朗讀一個字元 一次朗讀一個字詞 一次朗讀一行 @@ -365,7 +373,7 @@ 當 TalkBack 朗讀時,將正在播放的其他音訊調低音量 向前或向後捲動 調高或調低無障礙功能音量 - 朗讀所選圖片中嵌入的文字 + 自動顯示此圖片的說明 往下 先往下再往右 往上滑動 @@ -408,9 +416,7 @@ 用 2 隻手指輕按兩下並按住 用 3 隻手指輕按兩下並按住 用 4 隻手指輕按兩下並按住 - 用 3 隻手指按住 用 2 隻手指輕按三下並按住 - 用 3 隻手指輕按三下並按住 「%1$s」或「%2$s」即可調整 「%1$s」即可調整 不明手勢 @@ -433,9 +439,8 @@ 開啟螢幕時 顯示上鎖畫面時 只限透過通知欄 - 按住要選取的任何鍵,然後輕按兩下 - 按住要選取的字母鍵,然後放開手指。輕按兩下便可使用其他鍵。 - 按住任何要選取的鍵,然後放開手指 + 按住要選取的鍵,然後輕按兩下 + 按住要選取的鍵,然後放開手指 已停用 很輕力 輕力 @@ -485,6 +490,7 @@ 選擇應用程式以匯出標籤: 這個 TalkBack 版本包含對預設協助工具手勢作出的變更。您可以在 TalkBack 設定中自訂與這些手勢相關的動作。啟用「輕觸探索」時,您可以使用下列手勢執行特定動作。\n\n%1$s 長按音量調高及調低鍵 + 同時快速按下兩個音量鍵三次,即可隱藏或顯示螢幕 要隱藏螢幕嗎? 此操作會關閉顯示屏以提高私隱度,在公共場所時其他人便無法看到您的螢幕 這個 TalkBack 版本包含對預設無障礙功能手勢作出的變更。\n\n先往上再往下的手勢可移至螢幕上的第一個項目,先往下再往上的手勢則可移至最後一個項目。\n\n現在如要變更閱讀仔細度,可先將焦點移至特定項目,然後再在 TalkBack 內容選單中選取仔細度。\n\n您可在 [TalkBack 設定] 中變更這些手勢所執行的動作。 @@ -500,9 +506,6 @@ 您確定要啟用節點樹狀結構偵錯功能嗎?\n\n節點樹狀結構偵錯功能會在裝置記錄中顯示您的螢幕內容,而這些內容可能會被其他應用程式讀取。 要啟用「成效統計資料」嗎? 您要開啟成效統計資料嗎?\n\n成效統計資料可能會耗用較多記憶體和電量。 - 要啟用詳細記錄功能嗎? - 詳細記錄功能可協助偵錯,但可能會導致個人資料在系統記錄緩衝區中顯示。\n\n您要啟用詳細記錄功能嗎? - 是,啟用詳細記錄功能 要授予電話存取權嗎? 這可讓 TalkBack 減少通話期間的通知次數 繼續 @@ -556,11 +559,9 @@ 無障礙功能音量 調整滑桿 調整值 - 操作 讀出密碼 每次都讀出密碼 音效和震動 - 音效 已經複製:%1$s 關閉 關閉搜尋 @@ -595,15 +596,13 @@ %1$s就可以按 %2$s 朗讀 前往 TalkBack 設定,然後新增「%1$s」手勢,就可以用喇 開唔到點字鍵盤。請去 TalkBack 設定度設定點字鍵盤,然後再試。 - 有可用嘅建議 - 有可用嘅建議。如果要存取,%1$s 第 %1$d 頁,共 %2$d 頁 上一頁 繼續 關閉 完成 向上瀏覽 - TalkBack 的新功能 + TalkBack 的新功能 要關閉教學課程嗎? 您隨時都可以在 TalkBack 設定重溫教學課程。 繼續教學課程 @@ -647,14 +646,6 @@ 輕按即可瞭解新手勢如何讓 TalkBack 更方便使用。 已經將節點樹狀結構印咗喺記錄度。 以下是您最近執行過的手勢,請報告錯誤的手勢,以及該手勢預期執行的功能。 - 您將可使用更簡單的音量控制選項、更快速的操作控制選項及其他功能。\n\n接下來的幾個畫面將說明重要的更新和變動,過程需時約 5 分鐘。\n\n您可隨時在 TalkBack 設定中查看這些資料。 - 音量控制變更 - 為改善音量控制,音量鍵不可再用來控制文字游標或滑桿。\n\n如要變更改滑桿位置,請向上或向下滑動。\n\n如要變更文字游標的位置,請在文字框中向上或向下滑動。上述操作亦適用於點字鍵盤朗讀控制項。 - 圖片中的文字 - 您可以讓系統自動提供圖片中的文字詳情,亦可按需要自行操作。\n\n對於沒有標籤的圖片:TalkBack 會自動朗讀圖中出現的文字。\n\n對於所有圖片:開啟 TalkBack 選單,然後選取「描述圖片中的文字」。\n\n請注意,圖片只會儲存在在裝置上,絕對不會傳送給 Google。這表示上您可在沒有互聯網連線的情況下使用這兩個功能。 - 視窗導覽 - 您可以切換至畫面的不同部分,例如:通知列、主要內容和鍵盤。\n\n如要使用視窗瀏覽模式,請用 4 隻手指向下滑動。 - 您可以切換至畫面的不同部分,例如:通知列、主要內容和鍵盤。\n\n如要使用視窗瀏覽模式,請先向下再向上滑動。重複執行上述手勢,直到選取「視窗瀏覽」模式為止。如要瀏覽視窗,請向下滑動。 教學課程 歡迎使用 TalkBack TalkBack 螢幕閱讀器在多種情況中都很有用,亦能幫助無法看清楚螢幕的使用者。透過 TalkBack 的朗讀功能,不看螢幕也可使用裝置。\n\n同時按住兩個音量鍵數秒即可開啟或關閉 TalkBack。\n\n開啟 TalkBack 後,系統會朗讀螢幕上的焦點項目。\n\n向右滑動可移至下一個項目,向左滑動則可移至上一個項目。\n\n現即向右滑動找出 [繼續] 按鈕。 @@ -697,14 +688,14 @@ 在鍵盤上移動手指,當聽到想輸入的字母時提起手指。\n\n現在試試啟用下方的文字框,然後輸入您的姓名。 您亦可以使用點字鍵盤輸入文字。請在 TalkBack 設定頁面尋找此設定。 移動游標 - 啟用文字框後,您可以向上或向下滑動來控制游標在字母之間移動。\n\n現在試試在下方的文字框中移動游標。 + 啟用文字框後,您可使用調高或調低音量鍵來控制游標在字母之間移動。\n\n現在試試在下方的文字框中移動游標。 歡迎使用 TalkBack 選取文字 請在文字框中將游標移到要選取的文字開頭。\n\n用 2 隻手指輕按兩下並按住,就會啟用選取模式。之後,將游標移動至文字結尾,然後再用兩指輕按兩下並按住,即可結束選取模式。\n\n請嘗試選取下方文字框中的「歡迎」一詞。 - 請在文字框中將游標移到要選取的文字開頭。\n\n先向下再向右滑動,即可開啟 TalkBack 選單。輕按兩下操作,並啟動選取模式,然後將游標移動至文字結尾。\n\n再次開啟 TalkBack 選單,然後輕按兩下操作,即可結束選取模式。\n\n請嘗試選取下方文字框中的「歡迎」一詞。 + 請在文字框中將游標移到要選取的文字開頭。\n\n先向下再向右滑動,即可開啟 TalkBack 選單。輕按兩下編輯選項,並啟動選取模式,然後將游標移動至文字結尾。\n\n再次開啟 TalkBack 選單,然後輕按兩下編輯選項,即可結束選取模式。\n\n請嘗試選取下方文字框中的「歡迎」一詞。 複製、剪下和貼上 - 選取文字後,請輕按兩下動作按鈕並複製文字。\n\n請嘗試在下方文字框中複製文字。 - 如要剪下或貼上文字,請開啟 TalkBack 選單並輕按兩下動作按鈕。\n\n用 3 隻手指輕按三下即可貼上文字。\n\n請嘗試在下方文字框中貼上文字。 + 選取文字後,用三指輕按兩下即可複製。\n\n請嘗試複製下方文字框中的文字。 + 如要剪下文字,請用三指輕按兩下並按住。\n\n如要貼上文字,請用三指輕按三下。\n\n請嘗試在下方文字框中貼上文字。 選取文字後,您可以在 TalkBack 選單中複製所選文字。方法是先向下再向右滑動來開啟 TalkBack 選單,然後輕按兩下編輯選項並複製文字。\n\n請嘗試在下方文字框中複製文字。 如要剪下或貼上文字,請開啟 TalkBack 選單並輕按兩下編輯選項。\n\n請嘗試在下方文字框中貼上文字。 在這裡貼上文字 @@ -747,7 +738,6 @@ 向右或向左滑動以在項目之間移動 輕按兩下以啟動項目 拖曳兩指以捲動畫面 - 請檢查手機是否已連線。 粗邊框 顏色 預設 @@ -759,12 +749,6 @@ 灰色 閂咗問卷 文字:%1$s - 描述圖片中的文字 - 偵測到嘅圖示:%1$s - 系統不支援此動作。 - 未選取任何動作。 - 請揀選支援嘅動作。 - 沒有任何操作。 - 未啟用動作設定。 - 搵唔到文字 + 描述圖片 + 預測圖示:%1$s diff --git a/talkback/src/main/res/values-zh-rTW/strings.xml b/talkback/src/main/res/values-zh-rTW/strings.xml index 035e3bf8d..3638092c9 100644 --- a/talkback/src/main/res/values-zh-rTW/strings.xml +++ b/talkback/src/main/res/values-zh-rTW/strings.xml @@ -7,7 +7,6 @@ 文字轉語音設定 語言 使用的語言 - 動作 系統動作 版本:%1$s 管理自訂標籤 @@ -31,37 +30,46 @@ 裝置已解除鎖定。 音訊 語音音量 - 螢幕關閉時朗讀通知內容 - 一律朗讀清單項目編號 - 朗讀所有捲動方法的數量 + 在螢幕關閉時播放語音提示 + 螢幕關閉時讀出通知內容 + 螢幕關閉時不提供語音回應 + 說出畫面上的清單項目編號 + 僅在使用手勢捲動畫面時說出 + 一律說出 蓋住鄰近感應器即可停止輸出語音內容 - 朗讀字母和例子 - 當你選取鍵盤按鍵或依字母瀏覽時,系統會朗讀每個字母和例子,例如「h,hotel」 - 朗讀標點和符號 + 讀出拼音字母 + 不讀出拼音字母 + 長按鍵盤按鍵並以字元為單位瀏覽時,自動讀出拼音字母 + 標點符號 + 系統不會讀出標點和符號 + 系統會讀出標點和符號 大寫字母 不執行任何動作 說出「大寫」 變更音調 播放音效 讀出使用提示 - 說明內容後提供使用方式建議 - 朗讀清單和網格資訊 + 移動無障礙焦點時,系統不會說出使用提示 + 瀏覽時,系統會在短暫延遲後讀出使用提示 + 讀出清單和網格資訊 + 讀出清單和網格資訊 + 不說出清單和網格資訊 要重設手勢嗎? 這麼做會將所有手勢還原為預設動作。\n\n系統將不會保留先前所做的任何變更。 重設 手勢設定已重設。 讀出元素類型 - 焦點項目 + 讀出焦點項目的元素類型 + 不說出焦點項目的元素類型 讀出元素 ID - 未標示的按鈕 - 讀出系統視窗標題 - 當你切換到狀態列、通知或音量控制等其他系統視窗時,讀出視窗標題 + 不說出無標籤按鈕的元素 ID + 讀出無標籤按鈕的元素 ID 輕觸探索 控制項 輕觸一下即可啟用 輕觸一下焦點項目即可啟用 詳細程度 - 朗讀標點和符號 + 標點符號 自訂焦點指標 自訂手勢 自訂標籤 @@ -142,8 +150,8 @@ 下一頁導覽設定 上一頁導覽設定 其他動作 - 從頂端開始朗讀 - 從下一個項目開始朗讀 + 從頂端開始閱讀 + 從下一個項目開始閱讀 在畫面上搜尋項目 顯示 TalkBack 選單 顯示動作 @@ -203,7 +211,8 @@ 使用音調變化 鍵盤語音提示 元素說明順序 - 以較高的音調讀出刪除的字母 + 以較高的音調讀出鍵盤刪除的文字 + 說出語音時不要改變音調 點字鍵盤 震動回應 音效回饋 @@ -211,6 +220,7 @@ 朗讀時降低其他音訊的音量 音效回饋音量 TalkBack 暫停和恢復使用快速鍵 + 「隱藏螢幕畫面」快速指令 開發人員設定 選取要記錄的活動 篩選無障礙活動記錄 @@ -256,9 +266,9 @@ 開啟 TalkBack 選單 暫停回應 暫停或繼續唸出內容 - 開啟或關閉語音功能 - 從頂端開始朗讀 - 從下一個項目開始朗讀 + 開啟或關閉 TalkBack 聲音 + 從頂端開始閱讀 + 從下一個項目開始閱讀 列印節點樹狀結構 列印效能統計資料 將焦點移至畫面上的第一個項目 @@ -278,7 +288,6 @@ 按住無障礙工具捷徑 將瀏覽焦點移至下一個項目,或是調整朗讀控制項的設定 將瀏覽焦點移至上一個項目,或是調整朗讀控制項的設定 - 啟動目前選取的動作 搜尋結果 播放或暫停媒體 所有應用程式 @@ -323,7 +332,7 @@ 朗讀 特殊功能 其他 - 顯示可對目前項目執行的操作,例如複製、貼上、選取等等 + 顯示適用所選項目的自訂動作 複製、貼上、選取和其他選項。在選取文字方塊時顯示。 開啟焦點所在項目中的連結 前往下一頁或上一頁。在朗讀多頁內容時顯示。 @@ -342,7 +351,6 @@ 開啟文字轉語音設定 關閉 TalkBack 語音回應 無法編輯 - 執行動作 一次朗讀一個字元 一次朗讀一個字詞 一次朗讀一行 @@ -365,7 +373,7 @@ 當 TalkBack 朗讀時,調低正在播放的其他音訊音量 向前或向後捲動 調高或調低無障礙工具音量 - 朗讀圖像內的文字 + 自動顯示這張圖片的說明 向下 先往下再往右 向上滑動 @@ -408,9 +416,7 @@ 使用 2 指輕觸兩下並按住 使用 3 指輕觸兩下並按住 使用 4 指輕觸兩下並按住 - 使用 3 指按住 使用 2 指輕觸三下並按住 - 使用 3 指輕觸三下並按住 你可以調整「%1$s」或「%2$s」手勢 你可以調整「%1$s」手勢 不明的手勢 @@ -433,9 +439,8 @@ 開啟螢幕時 顯示鎖定畫面時 僅限透過通知欄 - 用手指按住任何要選取的鍵,然後輕觸兩下 - 用手指按住要選取的字母鍵,然後放開。輕觸兩下即可選取其他鍵。 - 用手指按住任何要選取的鍵,然後放開 + 按住要選取的鍵,然後輕觸兩下 + 按住要選取的鍵,然後放開手指 已停用 很輕 @@ -485,6 +490,7 @@ 選擇應用程式以匯出標籤: 這個 TalkBack 版本變更了部分預設無障礙手勢。你可以在 TalkBack 設定中自訂與這些手勢相關聯的動作。啟用「輕觸探索」時,你可以使用下列手勢執行特定動作。\n\n%1$s 長按調高和調低音量鍵 + 同時快速按下音量調高鍵和調低鍵三次,即可隱藏或顯示螢幕畫面 要隱藏螢幕畫面嗎? 這麼做會關閉螢幕,有助於保護你的隱私。當你在公共場合時,其他人就無法看到螢幕畫面 這個 TalkBack 版本對預設無障礙手勢做了一些變動。\n\n「先向上再向下」手勢可移至畫面上顯示的第一個項目,「先向下再向上」手勢則可移至最後一個項目。\n\n現在如要變更朗讀切分設定,可先將焦點移至特定項目,再從 TalkBack 內容選單中選取切分設定。\n\n你可在 TalkBack 設定頁面中變更這些手勢所執行的操作。 @@ -500,9 +506,6 @@ 你確定要開啟節點樹狀結構偵錯功能嗎?\n\n節點樹狀結構偵錯功能會在裝置記錄中顯示你的螢幕內容,以便其他應用程式讀取。 要啟用效能統計資料嗎? 確定要啟用效能統計資料嗎?\n\n這項功能可能會耗用較多記憶體和電力。 - 要啟用詳細記錄功能嗎? - 詳細記錄功能可協助偵錯,但系統記錄緩衝區可能會因此出現你的個人資訊。\n\n 要啟用詳細記錄功能嗎? - 是,我要啟用詳細記錄功能 要授予電話存取權嗎? 這可讓 TalkBack 減少通話期間的通知次數 繼續 @@ -556,11 +559,9 @@ 無障礙工具音量 調整滑桿 調整值 - 動作 說出密碼 一律說出密碼 音效和震動 - 音效 已複製,%1$s 關閉 關閉搜尋視窗 @@ -573,7 +574,7 @@ 這個畫面未顯示相符的結果 新的持續朗讀控制項 - 選取 [從頂端開始朗讀] 或 [從下一個項目開始朗讀] 後,你就可以在系統朗讀文字時前往上一個或下一個元素,方便你返回或略過內容。 + 選取 [從頂端開始閱讀] 或 [從下一個項目開始閱讀] 後,你就可以在系統朗讀文字時前往上一個或下一個元素,方便你返回或略過內容。 一律顯示這則訊息 使用語音指令控制 TalkBack 你可以試試以下幾個指令:\n\n• 複製\n• 從下一個項目開始朗讀\n• 尋找 [儲存]\n• 朗讀 [加快]\n• TalkBack 設定\n\n說出「%1$s」即可查看所有語音指令的清單 @@ -595,15 +596,13 @@ %1$s即可逐%2$s朗讀 如要使用這項功能,請前往 TalkBack 設定並新增「%1$s」的手勢 點字鍵盤功能未開啟。請前往 TalkBack 設定頁面設定點字鍵盤,然後再試一次。 - 有可用的建議 - 有可用的建議。如要存取,請%1$s 第 %1$d 頁,共 %2$d 頁 返回 繼續 關閉 完成 回到頂端 - TalkBack 的新功能 + TalkBack 的新功能 要關閉教學課程嗎? 你隨時可以在 TalkBack 設定頁面中返回教學課程。 繼續進行教學課程 @@ -647,14 +646,6 @@ 輕觸即可瞭解如何透過新手勢讓 TalkBack 使用起來更加便捷。 系統已將節點樹狀結構印到記錄中。 這些是你最近做過的手勢,請回報發生錯誤的手勢和該手勢應執行的操作。 - 你將可使用簡化後的音量控制選項、更便捷的動作控制選項,以及其他功能。\n\n接下來的幾個畫面將說明重要的更新和異動,整個說明流程大約是 5 分鐘。\n\n你隨時可以前往 TalkBack 設定查看這些資訊。 - 音量控制選項異動 - 為改善音量控制選項,音量鍵已不再用來控制文字游標或滑桿。\n\n如要變更滑桿位置,請向上或向下滑動。\n\n如要變更文字游標位置,請在文字方塊中向上或向下滑動。上述操作方式也適用於點字鍵盤的朗讀控制項。 - 圖片中的文字 - 你可以讓系統自動提供圖片中的文字詳細資料,也可視需要自行操作。方法如下:\n\n沒有標籤的圖片:TalkBack 會自動朗讀圖中出現的文字。\n\n所有圖片:開啟 TalkBack 選單,然後選取「說明圖像內的文字」。\n\n請注意,圖片只會儲存在你的裝置上,絕對不會傳送給 Google。也就是說,上述這兩項功能都可以離線使用。 - 視窗瀏覽 - 你可以切換到畫面上的不同部分,例如通知列、主要內容和鍵盤。\n\n如要使用視窗瀏覽模式,請用 4 指向下滑動。 - 你可以切換到畫面上的不同部分,例如通知列、主要內容和鍵盤。\n\n如要使用視窗瀏覽功能,請先向下再向上滑動。重複滑動畫面,直到選取「視窗瀏覽」模式為止。如要前往視窗,請向下滑動。 教學課程 歡迎使用 TalkBack TalkBack 是一種螢幕閱讀器,具備多種不同用途,也可以讓無法看清楚螢幕的使用者瞭解螢幕上顯示的內容。TalkBack 會提供互動朗讀內容,可讓你在不看螢幕的情況下輕鬆使用裝置。\n\n同時按住調高音量鍵和調低音量鍵數秒,即可開啟或關閉 TalkBack。\n\n開啟 TalkBack 後,系統會讀出螢幕上的焦點所在項目。\n\n向右滑動可移至下一個項目,向左滑動則可移至上一個項目。\n\n現在就向右滑動,找出下一個按鈕吧。 @@ -697,14 +688,14 @@ 請在鍵盤上移動手指,當你聽見要輸入的字母時,請放開手指。\n\n請試著在下方啟用文字方塊並輸入你的姓名。 你也可以使用點字鍵盤輸入文字。請前往 TalkBack 設定頁面尋找這項設定。 移動游標 - 啟用文字方塊後,只要使用向上或向下滑動手勢,就能讓游標在字母之間移動。\n\n請在下方的文字方塊中試試這項操作。 + 啟用文字方塊後,你可以使用調高音量鍵和調低音量鍵,控制游標在字母之間移動。\n\n請在下方的文字方塊中試試這項操作。 歡迎使用 TalkBack 選取文字 在文字方塊中,將游標移到要選取的文字開頭。\n\n用 2 指輕觸兩下並按住,就會啟動選取模式,接著將游標移到文字的結尾,然後再用 2 指輕觸兩下並按住,即可結束選取模式。\n\n請試著選取下方文字方塊中的「歡迎」二字。 - 在文字方塊中,將游標移到要選取的文字開頭。\n\n先向下再向右滑動,就會開啟 TalkBack 選單,接著輕觸兩下動作,並啟動選取模式,然後將游標移到文字的結尾。\n\n再次開啟 TalkBack 選單,然後輕觸兩下動作,即可結束選取模式。\n\n請試著選取下方文字方塊中的「歡迎」二字。 + 在文字方塊中,將游標移到要選取的文字開頭。\n\n先向下再向右滑動,就會開啟 TalkBack 選單。接著輕觸兩下編輯選項,並啟動選取模式,然後將游標移到文字的結尾。\n\n再次開啟 TalkBack 選單,然後輕觸兩下編輯選項,即可結束選取模式。\n\n請試著選取下方文字方塊中的「歡迎」二字。 複製、剪下及貼上 - 選取文字後,請輕觸兩下動作按鈕並複製文字。\n\n請試著複製下方文字方塊中的某個字。 - 如要剪下或貼上文字,請開啟 TalkBack 選單並輕觸兩下動作按鈕。\n\n用 3 指輕觸三下即可貼上文字。\n\n請試著在下方文字方塊中貼上文字。 + 選取文字後,用 3 指輕觸兩下即可複製所選文字。\n\n請試著複製下方文字方塊中的某個字。 + 如要剪下文字,請用 3 指輕觸兩下並按住。\n\n用 3 指輕觸三下即可貼上文字。\n\n請試著在下方文字方塊中貼上文字。 選取文字後,你可以透過 TalkBack 選單複製所選文字。方法是先向下再向右滑動來開啟 TalkBack 選單,然後輕觸兩下編輯選項並複製文字。\n\n請試著複製下方文字方塊中的某個字。 如要剪下或貼上文字,請開啟 TalkBack 選單並輕觸兩下編輯選項。\n\n請試著在下方文字方塊中貼上文字。 在這裡貼上文字 @@ -747,7 +738,6 @@ 只要向右或向左滑動,就能在各個項目間移動 輕觸兩下即可啟用項目 使用 2 指拖曳即可捲動 - 請確認手機是否連上網路。 粗框線 顏色 預設 @@ -759,12 +749,6 @@ 灰色 問卷調查已結束 文字:%1$s - 說明圖像內的文字 - 偵測到的圖示:%1$s - 系統不支援這個動作。 - 未選取任何動作。 - 請選取支援的動作。 - 沒有任何動作。 - 未啟用動作設定。 - 找不到文字 + 描述圖片 + 預測圖示:%1$s diff --git a/talkback/src/main/res/values-zu/strings.xml b/talkback/src/main/res/values-zu/strings.xml index 2bc3a0268..c9b4fc8bc 100644 --- a/talkback/src/main/res/values-zu/strings.xml +++ b/talkback/src/main/res/values-zu/strings.xml @@ -7,7 +7,6 @@ Amasethingi ombhalo-kuya-kunkulumo Izilimi Ulimi olukhulunywayo - Izenzo Izenzo zesistimu Inguqulo %1$s Phatha amalebula wangokwezifiso @@ -31,37 +30,46 @@ Idivayisi ivulekile. Umsindo Ivolomu yenkulumo - Khuluma izaziso uma ngabe isikrini sivaliwe - Njalo nje khuluma inani lohlu lwezinto - Isibalo sokukhuluma sazo zonke izindlela zokuskrola + Khuluma uma isikrini sivaliwe + Izaziso ziyakhulunywa uma isikrini sivaliwe + Akukho ukukhuluma okwenzekayo uma isikrini sivaliwe + Khuluma inombolo yezinto zohlu esikrinini + Khuluma kuphela uma uskrola ngokwenza + Kuhlala kukhulunywa Mboza inzwa yokulinganisa ukumisa inkulumo - Khuluma izinhlamvu ezinezibonelo - Uma ukhetha okhiye bekhibhodi noma uzulazula ngohlamvu, uzozwa isibonelo esihambisana nohlamvu ngalunye, njengokuthi \"h, ihhotela\" - Khuluma izimpawu zokuloba nezimpawu + Khuluma izinhlamvu zefonethiki + Izinhlamvu zefonetiki azikhulunywa + Izinhlamvu zefonetiki zikhulunywa uma kucindezelwa isikhathi eside kokhiye bekhibhodi futhi kuzulazulwa ngohlamvu + Izimpawu zolimi + Uphawu lokubhala nezimpawu akukhulunywa + Uphawu lokubhala nezimpawu kuyakhulunywa Ofeleba Ungenzi lutho Ithi “ufeleba” Shintsha ukuphakama Dlala umsindo Khuluma amacebo wokusetshenziswa - Ngemva kokuchaza okuqukethwe, phakamisa indlela yokusebenzisa - Khuluma uhlu nolwazi lwegridi + Amahinti okusetshenziswa awakhulunywa uma kuhanjiswa ukugxila kokufinyelela + Amahinti okusetshenziswa akhulunywa ngesikhathi sokuzulazula ngemuva kokulibaziseka okuncane + Uhlu lokukhuluma nolwazi lwegridi + Ulwazi lohlu nolwegridi luyakhulunywa + Ulwazi lohlu nolwegridi alukhulunywa Setha kabusha ukuthintwa? Lokhu kuzosetha kabusha konke ukuthintwa kubuyele kulokho obekwenzeka ngokuzenzakalela kwasekuqaleni.\n\nUzolahlekelwa yinoma yiziphi izinguquko osuzenzile. Setha kabusha Amasethingi wokuthinta asethwe kabusha. Uhlobo lwento yokukhuluma - Kwezinto ezigxilile + Uhlobo lwento lukhulunyelwa izinto ezigxilisiwe + Uhlobo lwento alukhulunywa kuzinto ezigxilisiwe Khuluma ama-ID ento - Kwezinkinobho ezingalebulwanga - Isho i-windows yesistimu - Uma ushintsha kwenye i-windows yesistimu njengesimo sebha, izaziso, noma izilawuli zevolumu + Ama-ID ento awakhulunyelwa izinkinobho ezingekho kulebula + Ama-ID ento akhulunyelwa izinkinobho ezingafakiwe kulebula Hlola ngokuthinta Izilawuli Thepha kanye ukuze usebenzise Thepha kanye entweni okugxilwe kuyo ukuze usebenzise I-Verbosity - Khuluma izimpawu zokuloba nezimpawu + Izimpawu zolimi Yenza Ngokwezifiso Isibonisi Sokugxila Yenza ngokwezifiso ukuthinta Amalebula angokwezifiso @@ -203,7 +211,8 @@ Sebenzisa ukushintsha kokukhwela Imisindo yekhibhodi I-oda lencazelo yento - Khuluma izinhlamvu ezisuliwe ngezwi lokuphakama okuphezulu + Khuluma umbhalo wekhibhodi osuliwe ngezwi lokuphakama okuphezulu + Ungaguquli ukukhwela kwezwi uma ukhuluma Ikhibhodi ye-Braille Impendulo yokudlidliza Impendulo yomsindo @@ -211,6 +220,7 @@ Yehlisa enye ivolumu yomsindo ngenkathi kukhulunywa Ivolumu yempendulo yomsindo I-TalkBack imiswe okwesikhashana futhi qalisa kabusha isinqamuleli + Fihla isinqamuleli sesikrini Izilungiselelo zonjiniyela Khetha imicimbi ongayifaka Ukufaka komcimbi wokufinyelela kwesihlungi @@ -256,7 +266,7 @@ Vula imenyu ye-TalkBack Misa okwesikhashana impendulo Phumuza noma qalisa kabusha inkulumo - Vula noma vala inkulumo + Vula noma vala umsindo we-TalkBack Funda kusukela phezulu Funda kusukela kunto elandelayo Phrinta inodi yesihlahla @@ -278,7 +288,6 @@ Bamba isinqamuleli sokufinyeleleka Hambisa ukugxilisa kokuzulazula kuye phambili noma lungisa ukulawula kokufunda kuye phansi Hambisa ukugxilisa kokuzulazula kuye emuva noma lungisa ukulawula kokufunda kuye phezulu - Yenza ukuthi isenzo esikhethwe okwamanje sisebenze Umphumela wosesho Dlala noma phumuza imidiya Zonke izinhlelo zokusebenza @@ -323,7 +332,7 @@ Ukufunda Izici ezikhethekile Okunye - Ibonisa ukuthi izenzo ziba khona nina kwinto yamanje, okufaka phakathi, ukukopisha, ukunamathisela, ukukhetha, nokuningi + Ibonisa uma izenzo ezingokwezifiso zikhona zento yamanje Kopisha, namathisela, khetha, nokuningi. Ibonisa uma ukhetha ibhokisi lombhalo. Vula izixhumanisi ngaphakathi kwento okugxilwe kuyo Iya ekhasini elilandelayo noma langaphambilini. Ibonisa uma ufuna okuqukethwe okunamakhasi amaningi. @@ -342,7 +351,6 @@ Vula amasethingi okuguqula-umbhalo-ube-inkulumo Vala impendulo yezwi ye-TalkBack Ayihleleki - Yenza izenzo Funda uhlamvu olulodwa ngesikhathi Funda igama elilodwa ngesikhathi Funda umugqa owodwa ngesikhathi @@ -365,7 +373,7 @@ Yehlisa ivolumu yomunye umsindo odlalayo lapho i-TalkBack ikhuluma Skrolela phambili noma emuva Khuphula noma nciphisa ivolumu Yokufinyeleleka - Funda umbhalo oshumekwe esithombeni esikhethiwe + Thola incazelo yokuzenzekelayo yalo mfanekiso phansi phansi bese ngakwesokudla Swayiphela phezulu @@ -408,9 +416,7 @@ Thepha kabili futhi ubambe ngeminwe emi-2 Thepha kabili futhi ubambe ngeminwe emi-3 Thepha kabili futhi ubambe ngeminwe emi-4 - Thepha futhi ubambe ngeminwe emi-3 Thepha kathathu futhi ubambe ngeminwe emi-2 - Thepha kathathu futhi ubambe ngeminwe emi-3 \"%1$s\" noma %2$s\" ukuze ulungise \"%1$s\" ukuze ulungise Ukuthinta okungaziwa @@ -433,9 +439,8 @@ Uma isikrini sivuleka Uma kuboniswa ukukhiywa kwesikrini Kusuka kusaziso kuphela - Bamba umunwe ukuze ukhethe noma yimuphi ukhiye, bese uthepha kabili - Bamba umunwe ukuze ukhethe ukhiye, bese uyawuphakamisa. Thepha kabili mayelana nabanye okhiye. - Bamba umunwe ukuze ukhethe noma imuphi ukhiye, bese uyaphakamisa + Bamba umunwe ukuze ukhethe ukhiye, bese uthepha kabili + Bamba umunwe ukuze ukhethe ukhiye, bese uyawuphakamisa Kukhutshaziwe Okukhanyayo kakhulu Okukhanyayo @@ -485,6 +490,7 @@ Khetha uhlelo lokusebenza ukuze uhlole amalebuli: Le nguqulo ye-TalkBack ifaka phakathi izinguqulo ekuthinteni okufinyelelekayo kokuzenzakalela. Izenzo eziphathelene nalokho kuthinta kungenzeka ngendlela ofisa ngayo ngaphakathi kwezilungiselo ze-TalkBack. Uma Ukuhlola ngokuthinta kunikwe amandla, ungasebenzisa ukuthinta okulandelayo ukwenza izenzo ezithile.\n\n%1$s Cindezela isikhathi eside okhiye bokuphakamisa nokwehlisa ivolumu + Cindezela bobabili okhiye bevolumu ngokushesha ukufihla noma ukubonisa isikrini Fihla isikrini? Lokhu kuvala isiboniso ukuthuthukisa ubumfihlo ukuze isikrini sakho singabonakali kwabanye lapho usezindaweni zomphakathi Le nguqulo ye-TalkBack ifaka phakathi izinguquko zezimpawu zokufinyeleleka okuzenzakalelayo.\n\nUphawu lokuya phezulu naphansi luzokuvumela ukuba uye kwinto yokuqala ekuskrini, bese uphawu oluya phansi naphezulu luzoya kwinto yokugcina.\n\nManje imbudumbudu yokufunda isingashintshwa ngokugxila entweni, bese ukhetha imbudumbudu kusuka kwimenyu yokuqukethwe ye-talkback.\n\nUngaguqula izenzo ezenziwe yilezi zimpawu kuzilungiselelo ze-TalkBack. @@ -500,9 +506,6 @@ Ingabe uqinisekile ukuthi ufuna ukuvula ukulungisa amaphutha wenodi yesihlahla?\n\nUkulungisa amaphutha wenodi yesihlahla kuveza okuqukethwe kwesikrini sakho kumalogi wedivayisi yakho, okungafundwa ezinye izinhlelo zokusebenza. Nika amandla izibalo zokusebenza? Ingabe uqinisekile ukuthi ufuna ukuvula izibalo zokusebenza?\n\nIzibalo zokusebenza zingadla imemori namandla amaningi. - Nika amandla ukungena kwe-verbose? - Ukungena kwe-verbose kungasiza ekulungiseni amaphutha kodwa kungabangela ulwazi lomuntu siqu ukuthi luvele ekulungiseni amaphutha kwesistimu yokuloga.\n\n Ingabe ufuna ukunika amandla ukungena kwe-verbose? - Yebo, nika amandla ukungena kwe-verbose Vumela ifoni ifinyelele? Lokhu kusiza i-TalkBack inciphise izimemezelo uma usocingweni Qhubeka @@ -556,11 +559,9 @@ Ivolumu yokufinyeleleka Lungisa isilayida Lungisa inani - Izenzo Khuluma amaphasiwedi Amaphasiwedi ahlala akhulunywa Umsindo nokudlidliza - Umsindo kukopishiwe, %1$s Vala Vala ukusesha @@ -595,15 +596,13 @@ %1$s ukuze ufunde nge-%2$s Ukuze usebenzise lokhu, iya kumasethingi e-TalkBack bese ungeze ukuthinta kwe-\'%1$s\' Ikhibhodi ye-Braille ayivuliwe. Iya kumasethingi e-TalkBack, setha ikhibhodi ye-Braille, bese uyazama futhi. - Iziphakamiso ziyatholakala - Iziphakamiso ziyatholakala. Ukuze ufinyelele, %1$s Ikhasi %1$d kwangu-%2$d Okwangaphambilini Okulandelayo Vala Qeda Zulazulela phezulu - Izakhi ezintsha ku-TalkBack + Izici ezintsha ku-TalkBack Vala okokufundisa? Ungabuya kuyo kamuva noma kunini kumasethingi we-TalkBack. Hlala kokokufundisa @@ -647,14 +646,6 @@ Thepha ukuze ufunde ukuthi uyisebenzisa kanjani i-TalkBack ngokushesha ngokuthinta okusha. Isihlahla se-node siphrintwe kumalogu. Nakhu ukuthinta okwenziwe kamuva, sicela ubike ukuthi yikuphi ukuthinta okungalungile nokuthi yini elindelekile. - Uzothola izilawuli zevolumu ezenziwe lula, izilawuli zesenzo esisheshayo, nokuningi.\n\nUzofunda mayelana nezibuyekezo ezibalulekile nezinguquko kuzikrini ezimbalwa ezilandelayo. Lokhu kuzothatha imizuzu engaba ngemi-5.\n\nUngabuyekeza lolu lwazi kumasethingi we-TalkBack noma kunini. - Izinguquko zesilawuli sevolumu - Ukuze uthuthukise ukulawulwa kwevolumu, okhiye bevolumu abasakwazi ukulawula izikhombisi zombhalo noma amaslayida.\n\nUkuze ushintshe indawo yesilayida, swayiphela phezulu noma phansi.\n\nUkuze ushintshe indawo ye-cursor yombhalo, swayiphela phezulu noma phansi ebhokisini lombhalo. Lokhu futhi kusebenza kuzilawuli ezifundayo zekhibhodi ye-braille. - Umbhalo emifanekisweni - Ungathola imininingwane eyengeziwe ngombhalo osezithombeni ngokuzenzekelayo noma uma uyidinga.\n\nEzithombeni ezingenayo ilebula: i-TalkBack izofunda ngokuzenzekelayo umbhalo ovelayo.\n\nKuyo yonke imifanekiso: Vula imenyu ye-TalkBack bese ukhetha okuthi \"Chaza umbhalo osemfanekisweni\".\n\nImifanekiso ihlala kudivayisi yakho futhi ayithunyelwa ku-Google. Lokhu kusho ukuthi ungazisebenzisa zombili lezi zakhi ngaphandle koxhumano lwe-inthanethi. - Ukuzulazula kwewindi - Ungashintsha phakathi kwezigaba ezahlukene esikrinini sakho, njengebha yesaziso, okuqukethwe okuyinhloko, nekhibhodi.\n\nUkuze usebenzise ukuzulazula kwewindi, swayiphela phansi ngeminwe emi-4. - Ungashintsha phakathi kwezigaba ezahlukene esikrinini sakho, njengebha yesaziso, okuqukethwe okuyinhloko, nekhibhodi.\n\nUkuze usebenzise ukuzulazula kwewindi, swayiphela phansi naphezulu. Qhubeka uze ukhethe ukuzulazula kwewindi. Ukuze uzulazulele ewindini, swayiphela phansi. Isifundo Siyakwamukela ku-TalkBack I-TalkBack isifundi sesikrini sezimo noma abantu abanobunzima bokubona isikrini. Ikunikeza impendulo ekhulunywayo ukuze usebenzise idivayisi yakho ngaphandle kokubheka isikrini.\n\nUngavula i-TalkBack noma uyivale ngokubamba bobabili okhiye bevolumu amasekhondi ambalwa\n\nUma i-TalkBack ivuliwe, into okugxilwe kuyo esikrinini ikhulunyelwa phezulu.\n\nUkuswayiphela ngakwesokudla kuzoya entweni elandelayo, bese ukuswayiphela ngakwesobunxele kuzoya entweni yangaphambilini.\n\nSwayiphela ngakwesokudla manje ukuze uthole inkinobho elandelayo. @@ -697,14 +688,14 @@ Hambisa umunwe wakho kukhibhodi Uma uzwa uhlamvu ofuna ukulithayipha, phakamisa umunwe wakho.\n\nZama ukwenza kusebenze ibhokisi lombhalo bese uthayiphe igama lakho. Ungaphinda uthayiphe ngekhibhodi ye-braille. Ithole kumasethingi we-TalkBack. Ukuhambisa i-cursor - Uma wenze kwasebenza ibhokisi lombhalo, ungahambisa i-cursor phakathi kwezinhlamvu ngokuswayiphela phezulu noma phansi.\n\nIzame ebhokisini lombhalo ngezansi. + Uma wenze kwasebenza ibhokisi lombhalo, ungahambisa i-cursor phakathi kwamaletha ngokucindezela okhiye bevolomu phezulu noma phansi.\n\nIzame kumbhalo kwibhokisi lombhalo ngezansi. Siyakwamukela ku-TalkBack Ikhetha umbhalo Ebhokisini lombhalo, hambisa i-cursor ekuqaleni kombhalo ofuna ukuwukhetha.\n\nThepha futhi ubambe kabili ngeminwe emi-2 ukuze uqalise imodi yokukhetha. Hambisa i-cursor ekugcineni kombhalo. Thepha kabili futhi ubambe ngeminwe emi-2 ukuze uqede imodi yokukhetha.\n\nZama ukukhetha igama elithi \"Siyakwamukela\" ebhokisini lombhalo ngezansi. - Ebhokisini lombhalo, hambisa i-cursor ekuqaleni kombhalo ofuna ukuwukhetha.\n\nSwayiphela phansi bese uya ngakwesokudla ukuze uvule imenyu ye-Talkback. Thepha kabili izenzo bese uqala imodi yokukhetha. Hambisa i-cursor ekugcineni kombhalo.\n\nVula imenyu ye-TalkBack futhi, bese uthephe kabili izenzo ukuze uphelise imodi yokukhetha.\n\nZama ukukhetha igama elithi \"Siyakwamukela\" ebhokisini lombhalo ngezansi. + Ebhokisini lombhalo, hambisa i-cursor ekuqaleni kombhalo ofuna ukuwukhetha.\n\nSwayipha ngezansi bese uya ngakwesokudla ukuvula imenyu ye-Talkback. Thepha kabili izinketho zokuhlela bese uqale imodi yokukhetha. Hambisa i-cursor ekugcineni kombhalo.\n\nVula imenyu ye-TalkBack futhi, bese uthephe kabili izinketho zokuhlela ukuze uphelise imodi yokukhetha.\n\nZama ukukhetha igama elithi \"Siyakwamukela\" ebhokisini lombhalo ngezansi. Kopisha, sika, uphinde unamathisele - Ngemva kokukhetha umbhalo, thepha kabili izenzo bese uyakopisha.\n\nZama ukukopisha igama elisebhokisini lombhalo ngezansi. - Ukuze usike noma unamathisele umbhalo, vula imenyu ye-TalkBack futhi uthephe kabili izenzo.\n\nUkuze unamathisele umbhalo, thepha kathathu ngeminwe emi-3.\n\nZama ukunamathisela igama ebhokisini lombhalo elingezansi. + Ngemuva kokukhetha umbhalo, ukopishe ngokuthepha kabili ngeminwe emi-3.\n\nZama ukukopisha igama ebhokisini lombhalo ngezansi. + Ukuze usike umbhalo, thepha kabili futhi ubambe ngeminwe emi-3.\n\nUkuze unamathisele umbhalo, thepha kathathu ngeminwe emi-3.\n\nZama ukunamathisela igama ebhokisini lombhalo ngezansi. Ngemuva kokukhetha umbhalo, ungawukopisha kumenyu ye-TalkBack. Swayiphela phansi bese kwesokudla ukuze uvule imenyu ye-TalkBack. Thepha kabili izinketho zokuhlela bese ukopishe.\n\nZama ukukopisha igama ebhokisini lombhalo ngezansi. Ukuze usike noma unamathisele, vula imenyu ye-TalkBack bese uthephe kabili izinketho zokuhlela.\n\nZama ukunamathisela igama ebhokisini lombhalo ngezansi. Namathisela umbhalo lapha @@ -747,7 +738,6 @@ Swayipha ngakwesokunxele noma ngakwesokudla ukuhamba phakathi kwezinto Thepha kabili ukwenza into isebenze Hudula iminwe emi-2 ukuskrola - Sicela uhlole uma ifoni yakho ixhunyiwe. Imingcele emikhulu Umbala Zenzekela @@ -759,12 +749,6 @@ Okumpunga Inhlolovo ivaliwe Umbhalo: %1$s - Chaza umbhalo ngomfanekiso - Isithonjana esitholiwe: %1$s - Isenzo asisekelwe. - Asikho isenzo esikhethiwe. - Sicela ukhethe isenzo esisekelwayo. - Azikho izenzo. - Isethingi yezenzo ayinikiwe amandla. - Awukho umbhalo otholakele + Chaza isithombe + Isithonjana esibikezelwe: %1$s diff --git a/talkback/src/main/res/values/donottranslate.xml b/talkback/src/main/res/values/donottranslate.xml index 71a563315..8729dc09c 100644 --- a/talkback/src/main/res/values/donottranslate.xml +++ b/talkback/src/main/res/values/donottranslate.xml @@ -16,13 +16,13 @@ pref_category_developer pref_soundback_volume pref_tts_settings - pref_two_volume_long_press_key pref_intonation pref_keyboard_echo pref_keyboard_echo_on_screen pref_keyboard_echo_physical pref_node_desc_order_key pref_element_ids_key + pref_diagnosis_mode pref_tts_overlay pref_echo_recognized_text_speech_key pref_tree_debug @@ -38,8 +38,8 @@ pref_dump_a11y_event pref_developer_version_code - pref_resume_talkback pref_typing_confirmation + pref_typing_long_press_duration pref_type_and_hold_duration pref_phonetic_letters pref_punctuation @@ -62,7 +62,9 @@ pref_help_and_feedback pref_show_tos pref_policy - pref_category_controls_key + pref_category_controls_key + pref_category_braille_key + pref_category_general_key pref_speak_passwords_without_headphones pref_new_feature_in_talkback_entry_point_key pref_category_help_and_feedback_key @@ -71,10 +73,10 @@ pref_category_legal_and_privacy_key pref_tutorial_entry_point_key pref_practice_gestures_entry_point_key - pref_version_code_key pref_thick_border_key pref_border_color_category_key pref_border_color_key + pref_icon_detection pref_current_selector_setting_key @@ -187,6 +189,9 @@ pref_shortcut_left_and_down pref_shortcut_left_and_up + pref_shortcut_one_finger_double_tap + pref_shortcut_one_finger_double_tap_and_hold + pref_shortcut_two_finger_single_tap pref_shortcut_two_finger_double_tap pref_shortcut_two_finger_triple_tap @@ -223,6 +228,93 @@ pref_shortcut_fingerprint_left pref_shortcut_fingerprint_right + + pref_select_keymap + pref_default_keymap_trigger_modifier + + classic_keymap + default_keymap + + trigger_modifier_alt + trigger_modifier_meta + + keycombo_shortcut_navigate_next + keycombo_shortcut_navigate_previous + keycombo_shortcut_navigate_next_default + keycombo_shortcut_navigate_previous_default + keycombo_shortcut_navigate_first + keycombo_shortcut_navigate_last + keycombo_shortcut_perform_click + keycombo_shortcut_perform_long_click + keycombo_shortcut_global_back + keycombo_shortcut_global_home + keycombo_shortcut_global_recents + keycombo_shortcut_global_notifications + keycombo_shortcut_global_play_pause_media + keycombo_shortcut_global_scroll_forward_reading_menu + keycombo_shortcut_global_scroll_backward_reading_menu + keycombo_shortcut_global_adjust_reading_settings_previous + keycombo_shortcut_global_adjust_reading_setting_next + keycombo_shortcut_granularity_increase + keycombo_shortcut_granularity_decrease + keycombo_shortcut_other_read_from_top + keycombo_shortcut_other_read_from_next_item + keycombo_shortcut_other_toggle_search + keycombo_shortcut_other_global_context_menu + keycombo_shortcut_other_custom_actions + keycombo_shortcut_other_language_options + keycombo_shortcut_navigate_up + keycombo_shortcut_navigate_down + keycombo_shortcut_navigate_next_word + keycombo_shortcut_navigate_previous_word + keycombo_shortcut_navigate_next_character + keycombo_shortcut_navigate_previous_character + keycombo_shortcut_navigate_next_button + keycombo_shortcut_navigate_previous_button + keycombo_shortcut_navigate_next_control + keycombo_shortcut_navigate_previous_control + keycombo_shortcut_navigate_next_checkbox + keycombo_shortcut_navigate_previous_checkbox + keycombo_shortcut_navigate_next_aria_landmark + keycombo_shortcut_navigate_previous_aria_landmark + keycombo_shortcut_navigate_next_edit_field + keycombo_shortcut_navigate_previous_edit_field + keycombo_shortcut_navigate_next_focusable_item + keycombo_shortcut_navigate_previous_focusable_item + keycombo_shortcut_navigate_next_graphic + keycombo_shortcut_navigate_previous_graphic + keycombo_shortcut_navigate_next_heading + keycombo_shortcut_navigate_previous_heading + keycombo_shortcut_navigate_next_heading_1 + keycombo_shortcut_navigate_previous_heading_1 + keycombo_shortcut_navigate_next_heading_2 + keycombo_shortcut_navigate_previous_heading_2 + keycombo_shortcut_navigate_next_heading_3 + keycombo_shortcut_navigate_previous_heading_3 + keycombo_shortcut_navigate_next_heading_4 + keycombo_shortcut_navigate_previous_heading_4 + keycombo_shortcut_navigate_next_heading_5 + keycombo_shortcut_navigate_previous_heading_5 + keycombo_shortcut_navigate_next_heading_6 + keycombo_shortcut_navigate_previous_heading_6 + keycombo_shortcut_navigate_next_list_item + keycombo_shortcut_navigate_previous_list_item + keycombo_shortcut_navigate_next_link + keycombo_shortcut_navigate_previous_link + keycombo_shortcut_navigate_next_list + keycombo_shortcut_navigate_previous_list + keycombo_shortcut_navigate_next_table + keycombo_shortcut_navigate_previous_table + keycombo_shortcut_navigate_next_combobox + keycombo_shortcut_navigate_previous_combobox + keycombo_shortcut_navigate_next_window + keycombo_shortcut_navigate_previous_window + keycombo_shortcut_open_manage_keyboard_shortcuts + keycombo_shortcut_open_talkback_settings + + + 6 + pref_log_level @string/pref_shortcut_up_key @@ -302,11 +394,9 @@ pref_must_accept_gesture_change_notification - pref_show_suspension_confirmation_dialog pref_show_dim_screen_confirmation_dialog pref_show_phone_permission_confirmation_dialog pref_vendor_overrides_processed - pref_suspended pref_show_continuous_reading_mode_dialog pref_show_voice_command_dialog @@ -425,25 +515,6 @@ 25 - - - @string/value_resume_screen_on - @string/value_resume_keyguard - @string/value_resume_manual - - - SCREEN_ON - KEYGUARD - MANUAL - - - - - @string/resume_screen_on - @string/resume_screen_keyguard - @string/resume_screen_manual - - @string/value_volume_100_percent @@ -477,6 +548,27 @@ 2 + + + @string/value_typing_long_press_500ms + @string/value_typing_long_press_1000ms + @string/value_typing_long_press_2000ms + @string/value_typing_long_press_3000ms + @string/value_typing_long_press_5000ms + + + + + 500 + 1000 + 2000 + 3000 + 5000 + + + 3000 + + @string/shortcut_perform_click_action @@ -638,6 +730,7 @@ SELECTED_SETTING_NEXT_ACTION SELECTED_SETTING_PREVIOUS_ACTION + ACTION_SETTING_ACTIVATE_CURRENT_ACTION SCREEN SEARCH MEDIA_CONTROL ENABLE_PASS_THROUGH @@ -655,6 +748,7 @@ PAUSE_FEEDBACK ALL_APPS BRAILLE_KEYBOARD + BRAILLE_DISPLAY_SETTINGS TUTORIAL GESTURE_DEBUG PRACTICE_GESTURES @@ -725,15 +819,17 @@ false pref_node_desc_order_value_state_name_role_pos false + false false false - false + true false false false + true true - @string/resume_screen_keyguard @string/typing_type_lift_to_type + @string/typing_long_press_default true true true @@ -741,11 +837,11 @@ true true false - true false false -1 - true + false + @string/selector_granularity_characters false @@ -760,7 +856,7 @@ false false false - false + true true true true @@ -793,7 +889,6 @@ false true false - true true true @@ -827,6 +922,9 @@ @string/shortcut_value_screen_search @string/shortcut_value_overview + @string/shortcut_value_action_setting_activate_current_action + @string/shortcut_value_perform_long_click_action + @string/shortcut_value_pause_or_resume_feedback @string/shortcut_value_media_control @string/shortcut_value_read_from_current @@ -884,9 +982,6 @@ %1$d:%2$s - - - @@ -949,7 +1044,6 @@ pref_vibration_feedback_menu_setting_key pref_talkback_settings_menu_setting_key pref_system_action_menu_setting_key - pref_pause_feedback_menu_setting_key pref_tts_settings_menu_setting_key pref_image_caption_menu_setting_key @@ -996,4 +1090,14 @@ pref_update_talkback91_shown_key pref_update_multi_finger_gestures_shown_key pref_update_welcome_12_2_shown_key + pref_update_welcome_13_0_shown_key + + + pref_previous_global_window_animation_scale_key + 1.0 + + pref_talkback_gesture_detection_key + + pref_icon_detection_download_dialog_shown_times + pref_icon_detection_download_dialog_do_no_show diff --git a/talkback/src/main/res/values/strings.xml b/talkback/src/main/res/values/strings.xml index c86b50242..cbd93546c 100644 --- a/talkback/src/main/res/values/strings.xml +++ b/talkback/src/main/res/values/strings.xml @@ -10,7 +10,7 @@ Description: This is presented to the user on the accessibility settings view. [CHAR LIMIT=NONE] --> - When TalkBack is on, it provides spoken feedback so that you can use your device without looking at the screen. This can be helpful for people who are blind or have low vision.\n\nTo navigate using TalkBack:\n• Swipe right or left to move between items\n• Double-tap to activate an item\n• Drag two fingers to scroll\n\nTo turn off TalkBack:\n• Tap the switch. You’ll see a green outline. Double-tap the switch.\n• On the confirmation message, tap OK. Then double-tap OK. + When TalkBack is on, it provides spoken feedback so that you can use your device without looking at the screen. This can be helpful for people who are blind or have low vision.\n\nTalkback has braille support, and uses Bluetooth to help you connect with a braille display.\n\nTo navigate using TalkBack:\n• Swipe right or left to move between items\n• Double-tap to activate an item\n• Drag two fingers to scroll\n\nTo turn off TalkBack:\n• Tap the switch. You’ll see a green outline. Double-tap the switch.\n• On the confirmation message, tap OK. Then double-tap OK. @@ -19,7 +19,7 @@ Description: This is presented in html to the user on the accessibility settings view. [CHAR_LIMIT=NONE] --> -
        How to use Talkback
        • Swipe right or left to move between items
        • Double-tap to activate an item
        • Drag 2 fingers to scroll

        How to turn off Talkback

        Volume Keys: Press &\; hold both volume keys for a few seconds.

        Settings
        • Tap the Use Talkback switch. You&apos\;ll see a green outline. Double-tap the switch.
        • On the confirmation message, tap stop. Then double-tap Stop.]]> +
        Talkback has braille support, and uses Bluetooth to help you connect with a braille display.

        How to use Talkback
        • Swipe right or left to move between items
        • Double-tap to activate an item
        • Drag 2 fingers to scroll

        How to turn off Talkback

        Volume Keys: Press &\; hold both volume keys for a few seconds.

        Settings
        • Tap the Use Talkback switch. You&apos\;ll see a green outline. Double-tap the switch.
        • On the confirmation message, tap stop. Then double-tap Stop.]]>
        - Manage Custom Labels + Manage custom labels - There are currently no custom labels. You can create one by navigating to an unlabeled image and then adding a label from the Talkback Menu. + There are currently no custom labels\n\nHow to create a custom label\nNavigate to an unlabeled image and add a label from the TalkBack menu Last modified %1$s @@ -279,6 +279,10 @@ Explore by touch Controls + + Braille + + General Single-tap to activate @@ -448,8 +452,6 @@ Recent apps Notifications - - Pause or resume TalkBack Play or pause media @@ -583,6 +585,30 @@ Reset + + Press key combination to set new shortcut. It must contain at least ALT or Control key. + + Press key combination with %1$s modifier key to set new shortcut. + + Unassigned + + + Shift + + Alt + + Ctrl + + Search + + Arrow Right + + Arrow Left + + Arrow Up + + Arrow Down + Key already in use @@ -633,9 +659,6 @@ --> Sound feedback volume - - TalkBack suspend and resume shortcut - Log output level + + Diagnosis mode - Resume from suspend + Typing preference + - Typing preference + Touch and hold delay when typing + + Handle gestures in TalkBack + + Turn TalkBack off then on again to activate the setting. + + + + Automatically describe icons + Hear descriptions when you focus on an unlabelled icon + + + Downloading + + + Uninstalling + + Screen hidden Open TalkBack menu - - Pause feedback Pause or resume speech @@ -856,6 +917,8 @@ All apps Switch to braille keyboard + + Navigate to braille display settings Open tutorial @@ -980,10 +1043,10 @@ Go to all apps and Quick Settings Open text-to-speech settings - - Turn off TalkBack voice feedback Not editable + + Not selectable Perform actions @@ -1031,7 +1094,7 @@ Increase or decrease Accessibility volume - Read out text embedded in a selected image + Speak text and icons within a selected image down @@ -1042,17 +1105,30 @@ Swipe up Swipe down - + Swipe left + Swipe right Swipe up then down Swipe down then up - + Swipe left then right - + Swipe right then left Swipe down then left @@ -1177,8 +1253,6 @@ 25% of media volume - - When screen turns on When lock screen is shown @@ -1190,6 +1264,18 @@ Hold finger to select any key, then lift + + 0.5 seconds + + 1 second + + 2 seconds + + 3 seconds (default) + + 5 seconds + + Disabled @@ -1236,24 +1322,8 @@ Tap to review changes to accessibility gestures - - TalkBack is suspended - - Tap to resume - - - - Suspend TalkBack? - - Are you sure you want to suspend TalkBack?\n\nWhile TalkBack is suspended, your device will not provide feedback and Explore by Touch will be disabled. - - You can resume TalkBack from the notifications shade - - You can resume TalkBack from the notifications shade or by turning the screen on - - You can resume TalkBack from the notifications shade or by returning to the lock screen - - Always show this warning + + Always show this warning Add label @@ -1295,9 +1365,6 @@ --> This version of TalkBack includes changes to the default accessibility gestures. The actions associated with these gestures can be customized within TalkBack settings. When Explore by touch is enabled, you can use the following gestures to perform certain actions.\n\n%1$s - - Long press volume up and down keys - Hide screen? @@ -1349,11 +1416,15 @@ Enable verbose logging? - + Verbose logging can aid in debugging but may cause personal information to appear in the system log buffer.\n\n Do you want to enable verbose logging? Yes, enable verbose logging + + Enable diagnosis mode? + + Diagnosis mode helps debugging. Diagnosis mode overrides gesture tap with 4 fingers, to capture screen contents to system logs. Screen contents may include personal information. \n\n Do you want to enable diagnosis mode? Allow phone access? @@ -1362,12 +1433,6 @@ Continue - - Control TalkBack - - - Permission to send gestures to TalkBack and resume spoken feedback. - Links @@ -1639,6 +1704,8 @@ %1$s to adjust the setting %1$s to read by %2$s + + Double-tap to perform the action To use this, go to TalkBack settings and add a gesture for \'%1$s\' @@ -1720,42 +1787,42 @@ Other apps may use this gesture for things like answering or ending a phone call. This gesture may not be supported by all apps. Media paused or playing. Usually, this will pause or play the current video or music. Swipe right to continue. To stop TalkBack from talking temporarily, tap with 2 fingers. TalkBack speech stopped. Usually, this will stop the current phrase that TalkBack is saying. Swipe right to continue. To copy text, double-tap with 3 fingers. Copied text. Usually, this will copy the text you have selected. Swipe right to continue. To paste text, triple-tap with 3 fingers. Pasted text. Usually, this will paste the text you have copied. Swipe right to continue. To cut text, double-tap and hold with 3 fingers. Cut text. Usually, this will cut the text you have selected. Swipe right to continue. To start or end text selection mode, double-tap and hold with 2 fingers. Selection mode on or off. Usually, this will start or stop text selection mode when you are inside an input field. Swipe right to continue. @@ -1775,23 +1842,32 @@ Node tree has been printed to logs. Here are gestures performed recently, please report which gesture is wrong and what is expected. - - - You will get simplified volume controls, quicker action controls, and more.\n\nYou will learn about key updates and changes in the next few screens. This will take about 5 minutes.\n\nYou can review this information in TalkBack settings at any time. - - Volume control changes - - To improve volume control, volume keys do not control text cursors or sliders anymore.\n\nTo change the position of a slider, swipe up or down.\n\nTo change the position of the text cursor, swipe up or down in a text box. This also works in braille keyboard reading controls. - - Text in images - - You can get more detail about text in images automatically or when you need it.\n\nFor images that do not have a label: TalkBack will automatically read the text that appears.\n\nFor all images: Open the TalkBack menu and select \"Describe text in image\".\n\nImages stay on your device and are never sent to Google. This means you can use both of these features without an internet connection. - - Window navigation - - You can switch between different sections on your screen, like the notification bar, main content, and keyboard.\n\nTo use window navigation, swipe down with 4 fingers. - - You can switch between different sections on your screen, like the notification bar, main content, and keyboard.\n\nTo use window navigation, swipe down and then up. Keep going until you have selected window navigation. To navigate to the window, swipe down. + + + You can now use TalkBack directly with a braille display. TalkBack can also describe icons and text in images.\n\nYou will learn about key updates and changes in the next few screens. This will take about 5 minutes.\n\nYou can review this information in TalkBack settings at any time. + + You can now use TalkBack directly with a braille display. \n\nYou will learn about key updates and changes in the next few screens. This will take about 5 minutes.\n\nYou can review this information in TalkBack settings at any time. + + Support for braille displays + + You can use TalkBack with braille displays in English, Spanish, Arabic, and Polish.\n\nThis means you no longer need the BrailleBack app to use a braille display.\n\nTo get started, go to TalkBack settings and find braille display. + + Actions in reading controls + + You can now select actions in reading controls. The actions menu will include copy, paste, and other editing options.\n\nAfter you select an action, double-tap to activate. + + Try Lookout and Talkback + + Lookout uses your camera to read text, find objects, explore the world, and more. Lookout is available in 23 languages. + + Get Lookout from the Google Play Store. + + + Describe icons + + TalkBack can recognize and describe icons on the screen. This can help identify unlabelled buttons in apps and more.\n\nYou can turn this on in TalkBack settings. + + Go to TalkBack settings @@ -1801,7 +1877,7 @@ Welcome to TalkBack TalkBack is a screen reader intended for situations or people who have difficulty seeing the screen. It gives you spoken feedback so that you can use your device without looking at the screen.\n\nYou can turn TalkBack on or off by holding both volume keys for several seconds.\n\nWhen TalkBack is on, the focused item on the screen is spoken out loud.\n\nSwiping right will move to the next item, and swiping left will move to the previous item.\n\nSwipe right now to find the next button. @@ -1851,7 +1927,7 @@ TalkBack tutorial Swipe right to select a topic @@ -1878,7 +1954,7 @@ Using text boxes - When you activate a text box, a keyboard opens at the bottom of your screen.\n\nTo dismiss the keyboard, double-tap the back button in the bottom left corner of your screen.\n\nTry activating and dismissing the text box below. + When you activate a text box, a keyboard opens at the bottom of your screen.\n\nTo dismiss the keyboard, double-tap the back button in the bottom corner of your screen.\n\nTry activating and dismissing the text box below. This is a text box @@ -1904,13 +1980,13 @@ Copy, cut, and paste - After selecting text, double-tap actions and then copy.\n\nTry to copy a word in the text box below. + After selecting text, copy it by double tapping with 3 fingers.\n\nTry to copy a word in the text box below. - To cut or paste text, open the TalkBack menu and double-tap actions.\n\nTo paste text, triple-tap with 3 fingers.\n\nTry to paste a word in the text box below. + To cut text, double-tap and hold with 3 fingers.\n\nTo paste text, triple-tap with 3 fingers.\n\nTry to paste a word in the text box below. - After selecting text, you can copy it in the TalkBack menu. Swipe down and then right to open the TalkBack menu. Double-tap editing options and then copy.\n\nTry to copy a word in the text box below. + After selecting text, you can copy it in the TalkBack menu. Swipe down and then right to open the TalkBack menu. Double-tap actions and then copy.\n\nTry to copy a word in the text box below. - To cut or paste text, open the TalkBack menu and double-tap editing options.\n\nTry to paste a word in the text box below. + To cut or paste text, open the TalkBack menu and double-tap actions.\n\nTry to paste a word in the text box below. Paste text here @@ -1930,12 +2006,12 @@ Jump between links You can also jump between links on a page.\n\nTo try it now, swipe right with 3 fingers until you hear \"%1$s\". Next, swipe down to find the link named \"continue\". While in the tutorial, double tapping this link will not do anything.\n\nSwipe right to find the next button and go to the next page. You can also jump between links on a page.\n\nTo try it now, swipe down and then up until you hear \"%1$s\". Next, swipe down and find the link named \"continue\". While in the tutorial, double tapping this link will not do anything.\n\nSwipe right to find the next button and go to the next page. @@ -1960,12 +2036,12 @@ Jump between headings You can also jump between headings on a page.\n\nTo try it now, swipe right with 3 fingers until you hear \"%1$s\". Next, swipe down to find the \"navigation\" heading.\n\nTo finish the tutorial, swipe right to find the finish button. You can also jump between headings on a page.\n\nTo try it now, swipe down and then up until you hear \"%1$s\". Next, swipe down to find the \"navigation\" heading.\n\nTo finish the tutorial, swipe right to find the finish button. @@ -1974,7 +2050,7 @@ Continue to the next heading. Swipe right to find the finish button. @@ -2013,7 +2089,13 @@ Drag 2 fingers to scroll - + + + TalkBack has been updated + + Tap to find out more + + Please check if the phone is connected. @@ -2052,14 +2134,25 @@ Source: The text which is recognized from an image. Description: This is spoken to the user. [CHAR_LIMIT=NONE] --> - Text: %1$s - - Describe text in image + Detected: text \'%1$s\' + + Describe image - Detected icon: %1$s + Detected: icon \'%1$s\' + + Detected: icon \'%1$s\', text\'%2$s\' + + Cannot describe image + Action not supported. @@ -2075,4 +2168,44 @@ Description: This is spoken to the user. [CHAR_LIMIT=NONE] --> No text found + + + Download required to describe icons + + 50 MB + + 50 MB using mobile data. Data charges may apply. + + TalkBack can recognize and describe icons on the screen. This can help identify unlabelled buttons in apps and more.\n\nYou can also download this later in TalkBack settings. + + You will automatically hear descriptions when you focus on an unlabelled icon + + Do not show this again + + Download + + Not now + + TalkBack can still describe text in images + + Downloading icon descriptions… + + Downloaded icon descriptions + + Cannot download icon descriptions + + Uninstalled icon descriptions + + Cannot uninstall icon descriptions + + Automatically describe icons + + Downloaded + + You will automatically hear descriptions when you focus on an unlabelled icon + + Delete download + + Cancel + diff --git a/compositor/src/main/res/values/strings.xml b/talkback/src/main/res/values/strings_compositor.xml similarity index 91% rename from compositor/src/main/res/values/strings.xml rename to talkback/src/main/res/values/strings_compositor.xml index d35220c27..1d3aee807 100644 --- a/compositor/src/main/res/values/strings.xml +++ b/talkback/src/main/res/values/strings_compositor.xml @@ -5,16 +5,6 @@ [CHAR_LIMIT=10000] --> TalkBack on - - TalkBack suspended - - TalkBack resumed %1$s for %2$s - %1$s percent. + %1$s percent + + %1$s %1$s showing %2$d item. @@ -392,6 +387,21 @@ Description: This is presented to the user when an element supports a "collapse" action. [CHAR LIMIT="NONE"] --> Collapse + + Start drag + + Drop dragged item + + Cancel drag Row %1$d @@ -606,23 +616,49 @@ %1$d characters + Magnification on %1$d%% + + + Full-screen magnification on %1$d%% + + - Magnification on %1$d%% + Partial magnification on %1$d%% - Magnification %1$d%% + Magnification %1$d%% + Full-screen magnification %1$d%% + + + Partial magnification %1$d%% + + - Magnification off + Magnification off %1$s, text + + Drag started + + Dragged item dropped + + Drag cancelled diff --git a/compositor/src/main/res/values/vibration.xml b/talkback/src/main/res/values/vibration_compositor.xml similarity index 100% rename from compositor/src/main/res/values/vibration.xml rename to talkback/src/main/res/values/vibration_compositor.xml diff --git a/talkback/src/main/res/xml-v30/accessibilityservice.xml b/talkback/src/main/res/xml-v30/accessibilityservice.xml index 2bbbb884b..a955d4911 100644 --- a/talkback/src/main/res/xml-v30/accessibilityservice.xml +++ b/talkback/src/main/res/xml-v30/accessibilityservice.xml @@ -2,7 +2,7 @@ diff --git a/talkback/src/main/res/xml-v31/accessibilityservice.xml b/talkback/src/main/res/xml-v31/accessibilityservice.xml index 06123735d..3d6ef7cb1 100644 --- a/talkback/src/main/res/xml-v31/accessibilityservice.xml +++ b/talkback/src/main/res/xml-v31/accessibilityservice.xml @@ -2,7 +2,7 @@ diff --git a/talkback/src/main/res/xml-v33/accessibilityservice.xml b/talkback/src/main/res/xml-v33/accessibilityservice.xml new file mode 100644 index 000000000..5c2d5f6ac --- /dev/null +++ b/talkback/src/main/res/xml-v33/accessibilityservice.xml @@ -0,0 +1,20 @@ + + diff --git a/talkback/src/main/res/xml-watch-v30/accessibilityservice.xml b/talkback/src/main/res/xml-watch-v30/accessibilityservice.xml index e8a559454..a3b5ce464 100644 --- a/talkback/src/main/res/xml-watch-v30/accessibilityservice.xml +++ b/talkback/src/main/res/xml-watch-v30/accessibilityservice.xml @@ -2,7 +2,7 @@ + - - - diff --git a/talkback/src/main/res/xml/accessibilityservice.xml b/talkback/src/main/res/xml/accessibilityservice.xml index 353d8563e..c35684c46 100644 --- a/talkback/src/main/res/xml/accessibilityservice.xml +++ b/talkback/src/main/res/xml/accessibilityservice.xml @@ -2,7 +2,7 @@ diff --git a/talkback/src/main/res/xml/advanced_preferences.xml b/talkback/src/main/res/xml/advanced_preferences.xml index 8677bc262..e31f5105a 100644 --- a/talkback/src/main/res/xml/advanced_preferences.xml +++ b/talkback/src/main/res/xml/advanced_preferences.xml @@ -33,6 +33,10 @@ android:key="@string/pref_node_desc_order_key" android:summary="%s" android:title="@string/pref_node_desc_order_title" /> + + + - - - - diff --git a/talkback/src/main/res/xml/developer_preferences.xml b/talkback/src/main/res/xml/developer_preferences.xml index cf99a737c..d57d2f051 100644 --- a/talkback/src/main/res/xml/developer_preferences.xml +++ b/talkback/src/main/res/xml/developer_preferences.xml @@ -1,24 +1,25 @@ - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/talkback/src/main/res/xml/preferences.xml b/talkback/src/main/res/xml/preferences.xml index f456c0c0e..e5c722f23 100644 --- a/talkback/src/main/res/xml/preferences.xml +++ b/talkback/src/main/res/xml/preferences.xml @@ -41,14 +41,27 @@ - + android:title="@string/title_pref_category_manage_gestures" + android:fragment="com.google.android.accessibility.talkback.preference.base.TalkBackGestureShortcutPreferenceFragment" > + + + + @@ -59,24 +72,24 @@ android:title="Braille display"> - - - - - - - - + + + + + + + + diff --git a/uiunderstanding/build.gradle b/uiunderstanding/build.gradle index 7c963ba30..97a8300a3 100644 --- a/uiunderstanding/build.gradle +++ b/uiunderstanding/build.gradle @@ -1,3 +1,7 @@ apply plugin: 'com.android.library' apply from: "../shared.gradle" +dependencies { + implementation project(':utils') +} + diff --git a/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/ActionRecord.java b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/ActionRecord.java new file mode 100644 index 000000000..e3bcc6454 --- /dev/null +++ b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/ActionRecord.java @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.uiunderstanding; + +import android.os.Bundle; +import android.os.SystemClock; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import java.util.concurrent.atomic.AtomicInteger; + +/** A record of an action sent to EventSource.performAction(). */ +class ActionRecord { + + ////////////////////////////////////////////////////////////////////////////////// + // Class data + + @NonNull private static final AtomicInteger actionCount = new AtomicInteger(0); + + ////////////////////////////////////////////////////////////////////////////////// + // Member data + + final int actionId; // From AccessibilityEvent.ACTION_* or AccessibilityEvent.Action + @Nullable final Bundle bundle; + final long createdUptimeMillisec; + final int instanceId; // For matching the source of new events + + ////////////////////////////////////////////////////////////////////////////////// + // Construction + + ActionRecord(int actionId, @Nullable Bundle bundle) { + this.actionId = actionId; + this.bundle = bundle; + this.instanceId = actionCount.incrementAndGet(); + this.createdUptimeMillisec = SystemClock.uptimeMillis(); + } +} diff --git a/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Event.java b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Event.java new file mode 100644 index 000000000..30b983a69 --- /dev/null +++ b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Event.java @@ -0,0 +1,129 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.uiunderstanding; + +import static com.google.android.accessibility.utils.StringBuilderUtils.optionalInt; +import static com.google.android.accessibility.utils.StringBuilderUtils.optionalSubObj; + +import android.os.SystemClock; +import android.text.TextUtils; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.google.android.accessibility.utils.StringBuilderUtils; +import java.util.Objects; + +/** A cleaned-up / interpreted accessibility-event, including a node-tree-snapshot. */ +public abstract class Event { + ////////////////////////////////////////////////////////////////////////////////// + // Inner classes + + /** An event-ID used as a key for tracking metrics. */ + public static class Id { + @NonNull public final String className; + public final long uptimeMillisec; + + public Id(@NonNull String className, long uptimeMillisec) { + this.className = className; + this.uptimeMillisec = uptimeMillisec; + } + + @Override + public boolean equals(Object otherObj) { + if (otherObj instanceof Id) { + Id other = (Id) otherObj; + return TextUtils.equals(this.className, other.className) + && (this.uptimeMillisec == other.uptimeMillisec); + } else { + return false; + } + } + + @Override + public int hashCode() { + return Objects.hash(className, uptimeMillisec); + } + + @Override + public String toString() { + return className + ":" + uptimeMillisec; + } + } + + ////////////////////////////////////////////////////////////////////////////////// + // Constants + + ////////////////////////////////////////////////////////////////////////////////// + // Interfaces + + ////////////////////////////////////////////////////////////////////////////////// + // Member data + + // Event time that should be consistent with AccessibilityEvent.getEventTime(), set by + // AccessibilityManager.sendAccessibilityEvent() using uptime-milliseconds. + private final long uptimeMillisec; + + @NonNull private final Snapshot snapshot; // TODO: Add sub-classes that use snapshot. + @Nullable private final SnapshotView source; + + ////////////////////////////////////////////////////////////////////////////////// + // Construction + + public Event(long uptimeMillisec, @NonNull Snapshot snapshot, @Nullable SnapshotView source) { + this.uptimeMillisec = uptimeMillisec; + this.snapshot = snapshot; + this.source = source; + } + + ////////////////////////////////////////////////////////////////////////////////// + // Methods + + @NonNull + public Id getId() { + return new Id(this.getClass().getSimpleName(), SystemClock.uptimeMillis()); + } + + @NonNull + protected String baseToString() { + return StringBuilderUtils.joinFields( + optionalInt("uptime", uptimeMillisec, 0), optionalSubObj("source", source)); + } + + ////////////////////////////////////////////////////////////////////////////////// + // Sub-classes + + /** + * An event not directly caused by an AccessibilityEvent, but rather generated by + * event-interpreters or triggered by an AccessibilityService. + */ + static class Synthetic extends Event { + Synthetic(@NonNull Snapshot snapshot) { + super(SystemClock.uptimeMillis(), snapshot, /* source= */ null); + } + + @Override + public String toString() { + return baseToString(); + } + } + + /** An event indicating that a snapshot has been completed. */ + public static class SnapshotDone extends Synthetic { + SnapshotDone(@NonNull Snapshot snapshot) { + super(snapshot); + } + } +} diff --git a/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/EventSource.java b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/EventSource.java new file mode 100644 index 000000000..4b0bed563 --- /dev/null +++ b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/EventSource.java @@ -0,0 +1,190 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.uiunderstanding; + +import android.os.Bundle; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import com.google.android.accessibility.utils.Consumer; +import com.google.android.accessibility.utils.FocusFinder; +import com.google.android.libraries.accessibility.utils.log.LogUtils; +import com.google.common.collect.ImmutableList; +import java.util.ArrayDeque; +import java.util.Deque; +import java.util.concurrent.Executor; + +/** + * AccessibilityServices should instantiate EventSource, feed it raw events, and receive cleaned + * events. AccessibilityServices should also pass actions & policy & state to EventSource, to + * influence the cleanup of events. Also read + * go/ui-understanding-architecture#heading=h.to9mv8ialy51 + */ +public class EventSource { + ////////////////////////////////////////////////////////////////////////////////// + // Constants + + private static final String LOG_TAG = "EventSource"; + + ////////////////////////////////////////////////////////////////////////////////// + // Member data + + @NonNull private final Consumer eventConsumer; + @NonNull private final FocusFinder focusFinder; + @NonNull private final Deque actionHistory = new ArrayDeque<>(); + @Nullable private Snapshot currentSnapshot; + + ////////////////////////////////////////////////////////////////////////////////// + // Construction + + public EventSource(@NonNull FocusFinder focusFinder, @NonNull Consumer eventConsumer) { + this.eventConsumer = eventConsumer; + this.focusFinder = focusFinder; + } + + ////////////////////////////////////////////////////////////////////////////////// + // Methods + + @NonNull + public Snapshot requestNodeTree() { + return getCurrentSnapshot(); + } + + public void requestNodeTreeAsync(Executor executor) { + executor.execute(() -> eventConsumer.accept(new Event.SnapshotDone(getCurrentSnapshot()))); + } + + /** Returns the cached-snapshot, maybe blocking to create the snapshot. */ + @NonNull + private Snapshot getCurrentSnapshot() { + if (currentSnapshot == null) { + currentSnapshot = generateSnapshot(); + } + return currentSnapshot; + } + + /** Returns target-view refreshed from app, in new snapshot refreshed from AccessibilityCache. */ + @Nullable + SnapshotView refresh(@Nullable SnapshotViewInternal view) { + refresh(); + boolean viewRefreshed = (view != null) && view.refreshRawNode(); + if (!viewRefreshed) { + LogUtils.d(LOG_TAG, "refresh() failed to refresh view=%s", view); + } + return currentSnapshot.find(view); + } + + /** Returns new snapshot refreshed from AccessibilityCache. */ + @Nullable + Snapshot refresh() { + currentSnapshot = generateSnapshot(); + return currentSnapshot; + } + + @NonNull + private synchronized Snapshot generateSnapshot() { + // TODO: Replace with specific snapshot implementation. + return new Snapshot() { + @Override + @Nullable + public EventSource getEventSource() { + return null; + } + + @Override + @NonNull + public ImmutableList getWindows() { + return ImmutableList.of(); + } + + @Override + @Nullable + public Snapshot refresh() { + return null; + } + + @Override + public boolean contains(@Nullable SnapshotView target) { + return false; + } + + @Override + @NonNull + public SnapshotMetric getMetric() { + return new SnapshotMetric(0, false, false); + } + }; + } + + /** Returns accessibility-focus, or null if nothing is focused. May update snapshot. */ + @Nullable + public SnapshotView getAccessibilityFocus() { + return getAccessibilityFocus(null); + } + + @Nullable + public SnapshotView getAccessibilityFocus(@Nullable Snapshot snapshotOld) { + // Try to find focused raw-node. + @Nullable AccessibilityNodeInfoCompat focus = focusFinder.findAccessibilityFocus(); + if (focus == null) { + return null; + } + + // Try to find focus in the old snapshot. + if (snapshotOld != null) { + @Nullable SnapshotView focusInSnapshot = snapshotOld.find(focus); + if (focusInSnapshot != null) { + return focusInSnapshot; + } + } + + // Try to find focus in the current snapshot. + if (currentSnapshot != null) { + @Nullable SnapshotView focusInSnapshot = currentSnapshot.find(focus); + if (focusInSnapshot != null) { + return focusInSnapshot; + } + } + + // Try to find focus in a refreshed snapshot. + refresh(); + return (currentSnapshot == null) ? null : currentSnapshot.find(focus); + } + + // Accepts event, to track event from creation to action, for performance and debugging. + boolean performAction( + @NonNull SnapshotView view, int actionId, @Nullable Bundle bundle, @Nullable Event event) { + + LogUtils.i( + LOG_TAG, "performAction() actionId=%d arg bundle=%s for event=%s", actionId, bundle, event); + + // Execute action. + boolean result = false; + if (view instanceof SnapshotViewInternal) { + ((SnapshotViewInternal) view).performActionOnRawNode(actionId, bundle); + } + + // Record action history, and enforce maximum-history-size limit. + @NonNull ActionRecord action = new ActionRecord(actionId, bundle); + actionHistory.addLast(action); + while (100 < actionHistory.size()) { + actionHistory.removeFirst(); + } + + return result; + } +} diff --git a/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Node.java b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Node.java new file mode 100644 index 000000000..5b9661790 --- /dev/null +++ b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Node.java @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.uiunderstanding; + +import android.graphics.Rect; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.google.common.collect.ImmutableList; + +/** Base interface for all snapshot related views/windows to make iteration easier. */ +public interface Node { + + /** Returns a list of children of this node. */ + @NonNull + default ImmutableList getChildNodes() { + ImmutableList.Builder children = ImmutableList.builder(); + for (int c = 0; c < getChildNodeCount(); ++c) { + children.add(getChildNode(c)); + } + return children.build(); + } + + /** Returns the child at index. Returns if out of bounds. */ + @Nullable + Node getChildNode(int index); + + /** Returns the size of children. */ + int getChildNodeCount(); + + /** Returns the parent if exists. Null otherwise. */ + @Nullable + Node getParentNode(); + + /** Returns the node bounds in screen coordinates. */ + @NonNull + default Rect getBoundsInScreen() { + @NonNull Rect bounds = new Rect(); + getBoundsInScreen(bounds); + return bounds; + } + + /** Modifies Rect to hold the node bounds in screen coordinates. */ + default void getBoundsInScreen(@NonNull Rect outBounds) {} +} diff --git a/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Snapshot.java b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Snapshot.java new file mode 100644 index 000000000..4f9583c7e --- /dev/null +++ b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/Snapshot.java @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.uiunderstanding; + +import android.accessibilityservice.AccessibilityService; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import com.google.common.collect.ImmutableList; + +/** + * Interface for snapshot of UI. Snapshot contains a forrest of {@link SnapshotWindow} that each + * contain a tree of {@link SnapshotView}. The interface is written in java to make integration + * easier. + */ +public interface Snapshot { + + /** + * Returns a {@link EventSource} from which snapshot was built/triggered if available. Returns + * null otherwise. + */ + @Nullable + default EventSource getEventSource() { + return null; + } + + /** + * Returns list of windows that represent what is on UI screen, as returned by {@link + * AccessibilityService#getWindows()}. + */ + @NonNull + default ImmutableList getWindows() { + return ImmutableList.of(); + } + + /** Get metric specific to the entire snapshot. */ + @NonNull + default SnapshotMetric getMetric() { + // TODO: (b/229649593) remove metrics as it does not support all implementation. + return new Snapshot.SnapshotMetric(-1, false, false); + } + + /** Returns true if the view is found in the snapshot. False otherwise. */ + default boolean contains(@NonNull SnapshotView view) { + return false; + } + + /** Finds the SnapshotView from this Snapshot, which represents the same View as target-node. */ + @Nullable + default SnapshotView find(@Nullable AccessibilityNodeInfoCompat target) { + return null; + } + + /** Finds the SnapshotView from this Snapshot, which represents the same View as target-node. */ + @Nullable + default SnapshotView find(@Nullable SnapshotView target) { + return null; + } + + /** + * Returns a new snapshot updated from the AccessibilityCache, or null if the snapshot cannot be + * updated. + */ + @Nullable + default Snapshot refresh() { + @Nullable EventSource eventSource = getEventSource(); + return (eventSource == null) ? null : eventSource.refresh(); + } + + /** Metric regarding the entire tree. */ + class SnapshotMetric { + /** Total creation time of snapshot. */ + public final long creationTime; + /** True if snapshot view tree contains loop. */ + public final boolean viewsHasLoop; + /** True if snapshot window tree contains loop. */ + public final boolean windowsHasLoop; + + public SnapshotMetric(long creationTime, boolean hasLoop, boolean windowsHasLoop) { + this.creationTime = creationTime; + this.viewsHasLoop = hasLoop; + this.windowsHasLoop = windowsHasLoop; + } + } +} diff --git a/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotView.java b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotView.java new file mode 100644 index 000000000..2de46ebe2 --- /dev/null +++ b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotView.java @@ -0,0 +1,490 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.uiunderstanding; + +import android.os.Bundle; +import android.text.InputType; +import android.view.accessibility.AccessibilityNodeInfo; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.core.view.ViewCompat; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionItemInfoCompat; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCompat; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.TouchDelegateInfoCompat; +import com.google.common.collect.ImmutableList; +import java.util.List; + +/** + * Node representation in a tree {@link Snapshot}. Node reprents roughly a view within a window. The + * abstracted interface allows implementation freedom. + * + *

        Interface is written in java to make integration easier. + */ +public interface SnapshotView extends Node { + /** + * Mutable implementation of {@link SnapshotView}. This is useful for building the tree. Immutable + * object {@link SnapshotView} is immutable and will not become mutable by simply casting to this + * class. Rather, only way to create this mutable instance is by copying existing immutable tree. + */ + interface Mutable extends SnapshotView { + + /** Adds a new child. */ + void addChild(@NonNull SnapshotView toAdd); + + /** Replace a child of the current node. */ + void replaceChild(@NonNull SnapshotView toRemove, @NonNull SnapshotView toAdd); + + /** Set a children to the node. Affects {@link #getChildren()} */ + void setChildren(@NonNull List children); + + /** Set a parent to the node. Affects {@link #getParent()} */ + void setParent(@Nullable SnapshotView parent); + + /** Set a parent to the node. Affects {@link #getLabelFor()} */ + void setLabelFor(@Nullable SnapshotView labelFor); + + /** Set a parent to the node. Affects {@link #getLabeledBy()} */ + void setLabeledBy(@Nullable SnapshotView labeledBy); + + /** Set a parent to the node. Affects {@link #getAfter()} */ + void setAfter(@Nullable SnapshotView after); + + /** Set a parent to the node. Affects {@link #getBefore()} */ + void setBefore(@Nullable SnapshotView before); + + /** + * Set a parent to the node. The call is noop if the view is backed by implementation other than + * AccessibilityNodeInfo. (e.g. ui-element protobuf) + */ + void setRaw(@NonNull AccessibilityNodeInfoCompat nodeInfo); + + /** Set a parent to the node. Affects {@link #getAnchoredWindows()} */ + void setAnchoredWindows(@Nullable List windows); + + /** Set a parent to the node. Affects {@link #getRootWindow()} */ + void setRootWindow(@NonNull SnapshotWindow rootWindow); + } + + /** Returns snapshot of all windows and views. */ + @NonNull + default Snapshot getSnapshot() { + return getRootWindow().getSnapshot(); + } + + /** + * Returns a copy of a list of children the view contains. For iterating without creating a new + * list, try {@link #getChild(int)} and {@link #getChildCount()}. + */ + default @NonNull ImmutableList getChildren() { + ImmutableList.Builder children = ImmutableList.builder(); + for (int c = 0; c < getChildCount(); ++c) { + children.add(getChild(c)); + } + return children.build(); + } + + /** Returns the child at index. Returns null if index is out of bounds. */ + @Nullable + default SnapshotView getChild(int index) { + return null; + } + + /** Returns number of children in the list. */ + default int getChildCount() { + return 0; + } + + /** Returns the parent. */ + @Nullable + default SnapshotView getParent() { + return null; + } + + /** Returns a child-node that may represent either a View or a Window. */ + @Override + @Nullable + default Node getChildNode(int index) { + // Order child-views before anchored-windows. + return (index < getChildCount()) ? getChild(index) : getAnchoredWindow(index - getChildCount()); + } + + @Override + default int getChildNodeCount() { + // Include child-views and anchored-windows. + return getChildCount() + getAnchoredWindowCount(); + } + + @Override + @Nullable + default Node getParentNode() { + // Prefer parent-view over root-window, because ancestor-views are lower in the node-tree. + @Nullable SnapshotView parentView = getParent(); + return (parentView == null) ? getRootWindow() : parentView; + } + + /** Returns the node labeled by this node. */ + @Nullable + default SnapshotView getLabelFor() { + return null; + } + + /** Returns the node that labels this node. */ + @Nullable + default SnapshotView getLabeledBy() { + return null; + } + + /** + * This node comes after the returned node, similar to {@link + * AccessibilityNodeInfo#getTraversalAfter()} + */ + @Nullable + default SnapshotView getAfter() { + return null; + } + + /** + * This node comes before the returned node, similar to {@link + * AccessibilityNodeInfo#getTraversalBefore()} + */ + @Nullable + default SnapshotView getBefore() { + return null; + } + + /** Performs AccessibilityNodeInfoCompat.ACTION_* on node, and returns success. */ + default boolean performAction(int action) { + return performAction(action, /* bundle= */ null, /* event= */ null); + } + + /** Performs AccessibilityNodeInfoCompat.ACTION_* on node, and returns success. */ + default boolean performAction(int action, @NonNull Bundle bundle) { + return performAction(action, bundle, /* event= */ null); + } + + /** Performs AccessibilityNodeInfoCompat.ACTION_* on node, and returns success. */ + default boolean performAction(int action, @NonNull Event event) { + return performAction(action, /* bundle= */ null, event); + } + + /** Performs AccessibilityNodeInfoCompat.ACTION_* on node, and returns success. */ + default boolean performAction(int action, @Nullable Bundle bundle, @Nullable Event event) { + @Nullable EventSource eventSource = getRootWindow().getSnapshot().getEventSource(); + return (eventSource != null) && eventSource.performAction(this, action, bundle, event); + } + + /** Returns target-view refreshed from app, in new snapshot refreshed from AccessibilityCache. */ + @Nullable + default SnapshotView refresh() { + return null; + } + + /** Returns whether this-node & other-node represent the same View. */ + default boolean equalsRaw(@NonNull AccessibilityNodeInfoCompat other) { + return false; + } + + /** Returns the root node of the window. */ + @Nullable + default SnapshotView getRoot() { + return getRootWindow().getRoot(); + } + + /** Returns the anchored window at index. Returns null of index is out of bounds. */ + @Nullable + default SnapshotWindow getAnchoredWindow(int index) { + return null; + } + + /** Returns the number of anchored windows the view holds. */ + default int getAnchoredWindowCount() { + return 0; + } + + /** + * Returns a copy of a list of windows the view is anchored. + * + *

        To iterate without creating a new list, try {@link #getAnchoredWindow(int)} and {@link + * #getAnchoredWindowCount()}. + */ + @NonNull + default ImmutableList getAnchoredWindows() { + ImmutableList.Builder windows = ImmutableList.builder(); + for (int c = 0; c < getAnchoredWindowCount(); ++c) { + windows.add(getAnchoredWindow(c)); + } + return windows.build(); + } + + /** See {@link SnapshotWindow} that the view is from. */ + @NonNull + SnapshotWindow getRootWindow(); + + /** See {@link AccessibilityNodeInfo#canOpenPopup()} */ + default boolean canOpenPopup() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#getActionList()} */ + default List getActionList() { + return ImmutableList.of(); + } + + /** See {@link AccessibilityNodeInfoCompat#getClassName()} */ + @Nullable + default CharSequence getClassName() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getCollectionInfo()} */ + @Nullable + default CollectionInfoCompat getCollectionInfo() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getCollectionItemInfo()} */ + @Nullable + default CollectionItemInfoCompat getCollectionItemInfo() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getContentDescription()} */ + @Nullable + default CharSequence getContentDescription() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getDrawingOrder()} */ + default int getDrawingOrder() { + return 0; + } + + /** See {@link AccessibilityNodeInfoCompat#getError()} */ + @Nullable + default CharSequence getError() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getHintText()} */ + @Nullable + default CharSequence getHintText() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getInputType()} */ + default int getInputType() { + return InputType.TYPE_NULL; + } + + /** See {@link AccessibilityNodeInfoCompat#getLiveRegion()} */ + default int getLiveRegion() { + return ViewCompat.ACCESSIBILITY_LIVE_REGION_NONE; + } + + /** See {@link AccessibilityNodeInfoCompat#getMaxTextLength()} */ + default int getMaxTextLength() { + return -1; + } + + /** See {@link AccessibilityNodeInfoCompat#getMovementGranularities()} */ + default int getMovementGranularities() { + return 0; + } + + /** See {@link AccessibilityNodeInfoCompat#getPackageName()} */ + @Nullable + default CharSequence getPackageName() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getPaneTitle()} */ + @Nullable + default CharSequence getPaneTitle() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getRangeInfo()} */ + @Nullable + default RangeInfoCompat getRangeInfo() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getRoleDescription()} */ + // Not yet in base + @Nullable + default CharSequence getRoleDescription() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getStateDescription()} */ + @Nullable + default CharSequence getStateDescription() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getText()} */ + @Nullable + default CharSequence getText() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getTextSelectionEnd()} */ + default int getTextSelectionEnd() { + return -1; + } + + /** See {@link AccessibilityNodeInfoCompat#getTextSelectionStart()} */ + default int getTextSelectionStart() { + return -1; + } + + /** See {@link AccessibilityNodeInfoCompat#getTooltipText()} */ + @Nullable + default CharSequence getTooltipText() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getTouchDelegateInfo()} */ + @Nullable + default TouchDelegateInfoCompat getTouchDelegateInfo() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getViewIdResourceName()} */ + @Nullable + default String getViewIdResourceName() { + return null; + } + + /** See {@link AccessibilityNodeInfoCompat#getWindowId()} */ + default int getWindowId() { + return SnapshotWindow.INVALID_WINDOW_ID; + } + + /** See {@link AccessibilityNodeInfoCompat#isAccessibilityFocused()} */ + default boolean isAccessibilityFocused() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isCheckable()} */ + default boolean isCheckable() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isChecked()} */ + default boolean isChecked() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isClickable()} */ + default boolean isClickable() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isContentInvalid()} */ + default boolean isContentInvalid() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isContextClickable()} */ + default boolean isContextClickable() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isDismissable()} */ + default boolean isDismissable() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isEditable()} */ + default boolean isEditable() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isEnabled()} */ + default boolean isEnabled() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isFocusable()} */ + default boolean isFocusable() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isFocused()} */ + default boolean isFocused() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isHeading()} */ + default boolean isHeading() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isImportantForAccessibility()} */ + default boolean isImportantForAccessibility() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isLongClickable()} */ + default boolean isLongClickable() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isMultiLine()} */ + default boolean isMultiLine() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isPassword()} */ + default boolean isPassword() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isScreenReaderFocusable()} */ + default boolean isScreenReaderFocusable() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isScrollable()} */ + default boolean isScrollable() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isSelected()} */ + default boolean isSelected() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isShowingHintText()} */ + default boolean isShowingHintText() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isTextEntryKey()} */ + default boolean isTextEntryKey() { + return false; + } + + /** See {@link AccessibilityNodeInfoCompat#isVisibleToUser()} */ + default boolean isVisibleToUser() { + return false; + } +} diff --git a/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotViewInternal.java b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotViewInternal.java new file mode 100644 index 000000000..8b49a3db4 --- /dev/null +++ b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotViewInternal.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.uiunderstanding; + +import android.os.Bundle; +import androidx.annotation.Nullable; + +/** + * This sub-interface exposes selected kotlin internal-methods to java in the same package, because + * java cannot access kotlin internal-classes. go/bugpattern/KotlinInternal + */ +interface SnapshotViewInternal extends SnapshotView { + + boolean refreshRawNode(); + + boolean performActionOnRawNode(int actionId, @Nullable Bundle bundle); +} diff --git a/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotWindow.java b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotWindow.java new file mode 100644 index 000000000..ebf0c8b64 --- /dev/null +++ b/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/SnapshotWindow.java @@ -0,0 +1,227 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.uiunderstanding; + +import android.graphics.Region; +import android.view.accessibility.AccessibilityWindowInfo; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import com.google.common.collect.ImmutableList; +import java.util.List; + +/** + * Node representation in a tree {@link Snapshot} that represents windows {@link + * AccessibilityWindowInfo}. + */ +public interface SnapshotWindow extends Node { + + public static final int INVALID_WINDOW_ID = -1; + public static final int INVALID_DISPLAY_ID = -1; + public static final int INVALID_LAYER = -1; + public static final int INVALID_TYPE = -1; + + /** + * Mutable implementation of {@link SnapshotWindow} that is used for building and refining. + * Immutable object {@link SnapshotWindow} is immutable and will not become mutable by simply + * casting to this class. Rather, only way to create this mutable instance is by copying existing + * immutable tree. + */ + interface Mutable extends SnapshotWindow { + + /** Set roots that affects {@link #getRoot()} */ + void setRoot(@Nullable SnapshotView.Mutable root); + + /** Set metrics that affects {@link #getMetric()} */ + void setMetric(@NonNull SnapshotWindow.WindowMetric metric); + + /** Set a parent to the node. */ + void setParent(@Nullable SnapshotWindow.Mutable parent); + + /** Set children to the node. */ + void setChildren(@NonNull List children); + + /** Add a child to the node. */ + void addChild(@NonNull SnapshotWindow.Mutable toAdd); + + /** Replace a child in the node. */ + void replaceChild( + @NonNull SnapshotWindow.Mutable toRemove, @NonNull SnapshotWindow.Mutable toAdd); + } + + /** Metric regarding the window. */ + class WindowMetric { + /** Creation time of the root node and all of its children. */ + public final long creationTime; + /** True if the tree contains loop. */ + public final boolean hasLoop; + /** Window from which the snapshot is taken. */ + public final int windowId; + /** Number of [SnapshotView] in the window. */ + public final int size; + + public WindowMetric(long creationTime, boolean hasLoop, int windowId, int size) { + this.creationTime = creationTime; + this.hasLoop = hasLoop; + this.windowId = windowId; + this.size = size; + } + } + + /** Returns metric related to this root node. */ + @NonNull + default SnapshotWindow.WindowMetric getMetric() { + // TODO: (b/229649593) remove metrics as it does not support all implementation. + return new SnapshotWindow.WindowMetric(-1, false, -1, 0); + } + + /** Returns the tree. */ + @NonNull + Snapshot getSnapshot(); + + /** Returns the title of this window. */ + @Nullable + default CharSequence getTitle() { + return null; + } + + /** Returns the root View contained in this window. */ + @Nullable + default SnapshotView getRoot(int prefetchingStrategy) { + return getRoot(); + } + + /** + * Gets the root node in the window's hierarchy. + * + * @return The root node. + */ + @Nullable + default SnapshotView getRoot() { + return null; + } + + /** + * Gets the node that anchors this window to another. + * + * @return The anchor node, or {@code null} if none exists. + */ + @Nullable + default SnapshotView getAnchor() { + return null; + } + + /** + * Gets the parent window. + * + * @return The parent window, or {@code null} if none exists. + */ + @Nullable + default SnapshotWindow getParent() { + return null; + } + + default @NonNull ImmutableList getChildren() { + ImmutableList.Builder children = ImmutableList.builder(); + for (int c = 0; c < getChildCount(); ++c) { + SnapshotWindow child = getChild(c); + if (child != null) { + children.add(child); + } + } + return children.build(); + } + + /** Returns a child window. */ + @Nullable + default SnapshotWindow getChild(int index) { + return null; + } + + /** Returns the count of child windows. */ + default int getChildCount() { + return 0; + } + + /** Returns a child-node that may represent either a View or a Window. */ + @Override + @Nullable + default Node getChildNode(int index) { + // Order root-view before child-windows. + return (index < 1) ? getRoot() : getChild(index - 1); + } + + @Override + default int getChildNodeCount() { + // Include root-view and child-windows. + return 1 + getChildCount(); + } + + @Override + @Nullable + default Node getParentNode() { + // Prefer anchor-view over parent-window, because anchor-view is lower in the node-tree. + @Nullable SnapshotView parentView = getAnchor(); + return (parentView == null) ? getParent() : parentView; + } + + /** + * Gets the unique window id. + * + * @return windowId The window id. + */ + default int getId() { + return SnapshotWindow.INVALID_WINDOW_ID; + } + + /** Returns the ID of the display-screen that this window is on. */ + default int getDisplayId() { + return INVALID_DISPLAY_ID; + } + + /** Returns the Z-order of the window, where higher numbers are in front of lower. */ + default int getLayer() { + return INVALID_LAYER; + } + + /** Returns the touchable region of this window in the screen. */ + default void getRegionInScreen(Region outRegion) {} + + /** Returns a window-type constant, like TYPE_APPLICATION, TYPE_INPUT_METHOD... */ + default int getType() { + return INVALID_TYPE; + } + + /** Returns whether this window has accessibility-focus. */ + default boolean isAccessibilityFocused() { + return false; + } + + /** Returns whether this window is active: currently touched or has input-focus. */ + default boolean isActive() { + return false; + } + + /** Returns whether this window has input-focus. */ + default boolean isFocused() { + return false; + } + + /** Returns whether the window is a miniature floating picture-in-picture window. */ + default boolean isInPictureInPictureMode() { + return false; + } +} diff --git a/utils/build.gradle b/utils/build.gradle index 36511e261..35a0b3164 100644 --- a/utils/build.gradle +++ b/utils/build.gradle @@ -4,7 +4,6 @@ apply from: "../shared.gradle" dependencies { implementation project(':proguard') - implementation project(':uiunderstanding') } android { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/A11yAlertDialogWrapper.java b/utils/src/main/java/com/google/android/accessibility/utils/A11yAlertDialogWrapper.java index 8f1cefb1e..817d79f6a 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/A11yAlertDialogWrapper.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/A11yAlertDialogWrapper.java @@ -730,6 +730,38 @@ A11yAlertDialogWrapper.Builder create() { } } + /** + * A builder for an alert dialog that creates {@link AlertDialog} for the most of the platforms + * excpet the Wear OS or {@link android.app.AlertDialog} for the Wear OS. This builder is used for + * these dialogs at the settings. + */ + private static class AlertDialogBuilder { + private final Context context; + /** + * Creates a builder of {@link AlertDialog} or {@link android.app.AlertDialog}. + * + * @param context the parent context + */ + public AlertDialogBuilder(@NonNull Context context) { + this.context = context; + } + + /** + * Creates a builder,{@link AlertDialog.Builder} or {@link android.app.AlertDialog}. + * + * @return A11yAlertDialogWrapper.Builder + */ + A11yAlertDialogWrapper.Builder create() { + // Creates android.app.AlertDialog.Builder if this is the Wear OS. Otherwise, creates + // androidx.appcompat.app.AlertDialog.Builder for the dialogs at the settings. + if (FeatureSupport.isWatch(context)) { + return new A11yAlertDialogWrapper.AppBuilder(AlertDialogUtils.builder(context)); + } else { + return new A11yAlertDialogWrapper.V7Builder(AlertDialogUtils.v7Builder(context)); + } + } + } + /** * Creates {@link A11yAlertDialogWrapper.Builder} which holds {@link * com.google.android.material.dialog.MaterialAlertDialogBuilder} for the most of the platforms @@ -741,4 +773,25 @@ A11yAlertDialogWrapper.Builder create() { public static A11yAlertDialogWrapper.Builder materialDialogBuilder(@NonNull Context context) { return new A11yAlertDialogWrapper.MaterialDialogBuilder(context).create(); } + + /** + * Creates {@link A11yAlertDialogWrapper.Builder} which holds {@link AlertDialog.Builder}. + * + * @param context The current context + * @return {@link A11yAlertDialogWrapper.Builder} returns A11yAlertDialogWrapper.Builder + */ + public static A11yAlertDialogWrapper.Builder alertDialogBuilder(@NonNull Context context) { + return new A11yAlertDialogWrapper.AlertDialogBuilder(context).create(); + } + + /** + * Focuses the cancel button. + * + * @param alertDialog The {@link A11yAlertDialogWrapper} which focuses the cancel button. + */ + public static void focusCancelButton(A11yAlertDialogWrapper alertDialog) { + Button cancelButton = alertDialog.getButton(BUTTON_NEGATIVE); + cancelButton.setFocusableInTouchMode(true); + cancelButton.requestFocus(); + } } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityNodeInfoUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityNodeInfoUtils.java index 4ea768e46..d8a5f543b 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityNodeInfoUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityNodeInfoUtils.java @@ -22,10 +22,8 @@ import static com.google.android.accessibility.utils.DiagnosticOverlayUtils.FOCUS_FAIL_SAME_WINDOW_BOUNDS_CHILDREN; import static com.google.android.accessibility.utils.DiagnosticOverlayUtils.NONE; -import android.annotation.TargetApi; import android.graphics.Rect; import android.graphics.RectF; -import android.os.Build; import android.os.Bundle; import android.os.Parcelable; import android.text.SpannableString; @@ -67,23 +65,10 @@ import org.checkerframework.checker.nullness.qual.Nullable; import org.checkerframework.checker.nullness.qual.PolyNull; -/** - * Provides a series of utilities for interacting with AccessibilityNodeInfo objects. NOTE: This - * class only recycles unused nodes that were collected internally. Any node passed into or returned - * from a public method is retained and TalkBack should recycle it when appropriate. - */ +/** Provides a series of utilities for interacting with AccessibilityNodeInfo objects. */ public class AccessibilityNodeInfoUtils { /** Internal AccessibilityNodeInfoCompat extras bundle key constants. */ - private static final String BOOLEAN_PROPERTY_KEY = - "androidx.view.accessibility.AccessibilityNodeInfoCompat.BOOLEAN_PROPERTY_KEY"; - - // TODO Remove them when androidx.core library is available. - // Add this constant because AccessibilityNodeInfoCompat.setTextEntryKey() is unavailable yet. - // Copy it from - // androidx.core.view.accessibility.AccessibilityNodeInfoCompat.BOOLEAN_PROPERTY_IS_TEXT_ENTRY_KEY - private static final int BOOLEAN_MASK_IS_TEXT_ENTRY_KEY = 8; - // The minimum amount of pixels that must be visible for a view to be surfaced to the user as // visible (i.e. for this node to be added to the tree). public static final int MIN_VISIBLE_PIXELS = 15; @@ -135,8 +120,7 @@ private static void logError(String functionName, @FormatString String format, O * A wrapper over AccessibilityNodeInfoCompat constructor, so that we can add any desired error * checking and memory management. * - * @param nodeInfo The AccessibilityNodeInfo which will be wrapped. The caller retains the - * responsibility to recycle nodeInfo. + * @param nodeInfo The AccessibilityNodeInfo which will be wrapped. * @return Encapsulating AccessibilityNodeInfoCompat, or null if input is null. */ public static @PolyNull AccessibilityNodeInfoCompat toCompat( @@ -244,12 +228,11 @@ public boolean accept(AccessibilityNodeInfoCompat node) { if (node == null) { return false; } - boolean val = filter.accept(node); // If the node does not pass the filter, check its non focusable, visible children. - if (!val) { + if (!filter.accept(node)) { return hasMatchingDescendant(node, filter.and(FILTER_NON_FOCUSABLE_VISIBLE_NODE)); } - return val; + return true; } }; } @@ -323,26 +306,6 @@ public boolean accept(AccessibilityNodeInfoCompat node) { } }; - /** - * This filter accepts scrollable views that break if we place accessibility focus on their child - * items. Instead, we should just place focus on the entire scrollable view. Note: Only include - * Android TV views that cannot be updated (i.e. part of a bundled app). - */ - private static final Filter FILTER_BROKEN_LISTS_TV_M = - new Filter() { - @Override - public boolean accept(AccessibilityNodeInfoCompat node) { - if (node == null) { - return false; - } - - String viewId = node.getViewIdResourceName(); - return "com.android.tv.settings:id/setup_scroll_list".equals(viewId) - || "com.google.android.gsf.notouch:id/setup_scroll_list".equals(viewId) - || "com.android.vending:id/setup_scroll_list".equals(viewId); - } - }; - /** * Filter that defines which types of views should be auto-scrolled. Generally speaking, only * accepts views that are capable of showing partially-visible data. @@ -554,20 +517,14 @@ public static Pair getSelectionIndexesSafe( CharSequence title = null; for (int i = 0; i < numChildren; ++i) { AccessibilityNodeInfoCompat child = viewPager.getChild(i); - if (child != null) { - try { - if (child.isVisibleToUser()) { - if (title == null) { - // Try to roughly match RulePagerPage, which uses getNodeText - // (but completely matching all the time is not critical). - title = getNodeText(child); - } else { - // Multiple visible children, abort. - return null; - } - } - } finally { - recycleNodes(child); + if (child != null && child.isVisibleToUser()) { + if (title == null) { + // Try to roughly match RulePagerPage, which uses getNodeText + // (but completely matching all the time is not critical). + title = getNodeText(child); + } else { + // Multiple visible children, abort. + return null; } } } @@ -599,39 +556,26 @@ public static boolean isCustomAction(AccessibilityActionCompat action) { return null; } - AccessibilityWindowInfoCompat window = null; - try { - window = getWindow(node); - if (window != null) { - return AccessibilityWindowInfoUtils.getRoot(window); - } - } finally { - if (window != null) { - window.recycle(); - } + AccessibilityWindowInfoCompat window = getWindow(node); + if (window != null) { + return AccessibilityWindowInfoUtils.getRoot(window); } Set visitedNodes = new HashSet<>(); AccessibilityNodeInfoCompat current = null; - AccessibilityNodeInfoCompat parent = AccessibilityNodeInfoCompat.obtain(node); + AccessibilityNodeInfoCompat parent = node; - try { - do { - if (current != null) { - if (visitedNodes.contains(current)) { - current.recycle(); - parent.recycle(); - return null; - } - visitedNodes.add(current); + do { + if (current != null) { + if (visitedNodes.contains(current)) { + return null; } + visitedNodes.add(current); + } - current = parent; - parent = current.getParent(); - } while (parent != null); - } finally { - recycleNodes(visitedNodes); - } + current = parent; + parent = current.getParent(); + } while (parent != null); return current; } @@ -651,9 +595,7 @@ public static int getWindowType(AccessibilityNodeInfoCompat nodeCompat) { return WINDOW_TYPE_PICTURE_IN_PICTURE; } - int windowType = windowInfoCompat.getType(); - windowInfoCompat.recycle(); - return windowType; + return windowInfoCompat.getType(); } /** Wrapper for AccessibilityNodeInfoCompat.getWindow() that handles SecurityException. */ @@ -701,13 +643,8 @@ public static int getWindowType(AccessibilityNodeInfoCompat nodeCompat) { * @return {@code true} of the node is accessibility focusable. */ public static boolean isAccessibilityFocusable(AccessibilityNodeInfoCompat node) { - Set visitedNodes = new HashSet<>(); - try { - return isFocusableOrClickable(node) - || (isTopLevelScrollItem(node) && isSpeakingNode(node, null, visitedNodes)); - } finally { - AccessibilityNodeInfoUtils.recycleNodes(visitedNodes); - } + return isFocusableOrClickable(node) + || (isTopLevelScrollItem(node) && isSpeakingNode(node, null, new HashSet<>())); } /** @@ -745,11 +682,7 @@ public static boolean shouldFocusNode( // container is not visible, we should not focus on its descendants. AccessibilityNodeInfoCompat webViewContainer = WebInterfaceUtils.ascendToWebViewContainer(node); - try { - return webViewContainer != null && webViewContainer.isVisibleToUser(); - } finally { - recycleNodes(webViewContainer); - } + return webViewContainer != null && webViewContainer.isVisibleToUser(); } if (!isVisible(node)) { @@ -779,52 +712,47 @@ public static boolean shouldFocusNode( } HashSet visitedNodes = new HashSet<>(); - try { - // This checks if a node is clickable, focusable, screen reader focusable, or a direct - // spekaing child of a scrollable container. - boolean accessibilityFocusable = - isFocusableOrClickable(node) - || (isTopLevelScrollItem(node) && isSpeakingNode(node, null, visitedNodes)); - - if (!checkChildren) { - // End of the line. Don't check children and don't allow any recursion. - // checkChildren is only false in the shouldFocusNode call below. This is to avoid - // repetitive checks down the tree when looking up at the ancestors. - LogUtils.d( - TAG, "checkChildren=false and isAccessibilityFocusable=%s", accessibilityFocusable); - return accessibilityFocusable; - } - - // A node that is deemed accessibility focusable shouldn't actually get focus if it has - // nothing to speak. For example, a view may be focusable, but if it has no text and all of - // its children are clickable, focus should go on each child individually and not on this - // view. - // Note: This is redundant for nodes that pass isSpeakingNode above - // Note: A special case exists for unlabeled buttons which otherwise wouldn't get focus. - if (accessibilityFocusable) { - AccessibilityNodeInfoUtils.recycleNodes(visitedNodes); - visitedNodes.clear(); - // TODO: This may still result in focusing non-speaking nodes, but it - // won't prevent unlabeled buttons from receiving focus. - if (!hasVisibleChildren(node)) { - logShouldFocusNode( - checkChildren, NONE, "Focus, is focusable and has no visible children: ", node); - return true; - } else if (isSpeakingNode(node, speakingNodeCache, visitedNodes)) { - logShouldFocusNode( - checkChildren, NONE, "Focus, is focusable and has something to speak: ", node); - return true; - } else { - logShouldFocusNode( - checkChildren, - FOCUS_FAIL_NOT_SPEAKABLE, - "Don't focus, is focusable but has nothing to speak: ", - node); - return false; - } + // This checks if a node is clickable, focusable, screen reader focusable, or a direct + // spekaing child of a scrollable container. + boolean accessibilityFocusable = + isFocusableOrClickable(node) + || (isTopLevelScrollItem(node) && isSpeakingNode(node, null, visitedNodes)); + + if (!checkChildren) { + // End of the line. Don't check children and don't allow any recursion. + // checkChildren is only false in the shouldFocusNode call below. This is to avoid + // repetitive checks down the tree when looking up at the ancestors. + LogUtils.d( + TAG, "checkChildren=false and isAccessibilityFocusable=%s", accessibilityFocusable); + return accessibilityFocusable; + } + + // A node that is deemed accessibility focusable shouldn't actually get focus if it has + // nothing to speak. For example, a view may be focusable, but if it has no text and all of + // its children are clickable, focus should go on each child individually and not on this + // view. + // Note: This is redundant for nodes that pass isSpeakingNode above + // Note: A special case exists for unlabeled buttons which otherwise wouldn't get focus. + if (accessibilityFocusable) { + visitedNodes.clear(); + // TODO: This may still result in focusing non-speaking nodes, but it + // won't prevent unlabeled buttons from receiving focus. + if (!hasVisibleChildren(node)) { + logShouldFocusNode( + checkChildren, NONE, "Focus, is focusable and has no visible children: ", node); + return true; + } else if (isSpeakingNode(node, speakingNodeCache, visitedNodes)) { + logShouldFocusNode( + checkChildren, NONE, "Focus, is focusable and has something to speak: ", node); + return true; + } else { + logShouldFocusNode( + checkChildren, + FOCUS_FAIL_NOT_SPEAKABLE, + "Don't focus, is focusable but has nothing to speak: ", + node); + return false; } - } finally { - AccessibilityNodeInfoUtils.recycleNodes(visitedNodes); } // At this point, the node is an unfocusable target. @@ -941,7 +869,7 @@ private static boolean isSpeakingNode( * * @param node the node to check * @param speakingNodeCache the cache that holds the speaking results for visited nodes - * @param visitedNodes the set of nodes that have already been visited. Caller must recycle. + * @param visitedNodes the set of nodes that have already been visited. * @return {@code true} if the node has children that are speaking */ private static boolean hasNonActionableSpeakingChildren( @@ -961,7 +889,6 @@ private static boolean hasNonActionableSpeakingChildren( } if (!visitedNodes.add(child)) { - child.recycle(); return false; } @@ -1001,14 +928,8 @@ private static boolean hasVisibleChildren(AccessibilityNodeInfoCompat node) { int childCount = node.getChildCount(); for (int i = 0; i < childCount; ++i) { AccessibilityNodeInfoCompat child = node.getChild(i); - if (child != null) { - try { - if (child.isVisibleToUser()) { - return true; - } - } finally { - child.recycle(); - } + if (child != null && child.isVisibleToUser()) { + return true; } } @@ -1023,14 +944,8 @@ public static int countVisibleChildren(AccessibilityNodeInfoCompat node) { int childVisibleCount = 0; for (int i = 0; i < childCount; ++i) { AccessibilityNodeInfoCompat child = node.getChild(i); - if (child != null) { - try { - if (child.isVisibleToUser()) { - ++childVisibleCount; - } - } finally { - child.recycle(); - } + if (child != null && child.isVisibleToUser()) { + ++childVisibleCount; } } return childVisibleCount; @@ -1181,13 +1096,13 @@ public static boolean isDismissible(AccessibilityNodeInfoCompat node) { return node != null && supportsAnyAction(node, AccessibilityNodeInfoCompat.ACTION_DISMISS); } - /** Caller retains ownership of source node. */ - public static boolean isKeyboard(AccessibilityEvent event, AccessibilityNodeInfoCompat source) { - return isKeyboard(event, source.unwrap()); + /** Returns {@code true} if the node is on keyboard. Caller retains ownership of source node. */ + public static boolean isKeyboard(AccessibilityNodeInfoCompat source) { + return isKeyboard(source.unwrap()); } - /** Caller retains ownership of source node. */ - public static boolean isKeyboard(AccessibilityEvent event, AccessibilityNodeInfo source) { + /** Returns {@code true} if the node is on keyboard. Caller retains ownership of source node. */ + public static boolean isKeyboard(AccessibilityNodeInfo source) { if (source == null) { return false; @@ -1196,9 +1111,7 @@ public static boolean isKeyboard(AccessibilityEvent event, AccessibilityNodeInfo if (window == null) { return false; } - boolean isKeyboard = (window.getType() == AccessibilityWindowInfoCompat.TYPE_INPUT_METHOD); - window.recycle(); - return isKeyboard; + return (window.getType() == AccessibilityWindowInfoCompat.TYPE_INPUT_METHOD); } /** @@ -1209,17 +1122,7 @@ public static boolean isKeyboard(AccessibilityEvent event, AccessibilityNodeInfo */ public static boolean hasMatchingAncestor( @Nullable AccessibilityNodeInfoCompat node, Filter filter) { - if (node == null) { - return false; - } - - final AccessibilityNodeInfoCompat result = getMatchingAncestor(node, filter); - if (result == null) { - return false; - } - - result.recycle(); - return true; + return (node != null) && (getMatchingAncestor(node, filter) != null); } /** @@ -1254,33 +1157,13 @@ public static boolean isPinEntry(AccessibilityNodeInfo node) { */ public static boolean isOrHasMatchingAncestor( AccessibilityNodeInfoCompat node, Filter filter) { - if (node == null) { - return false; - } - - final AccessibilityNodeInfoCompat result = getSelfOrMatchingAncestor(node, filter); - if (result == null) { - return false; - } - - result.recycle(); - return true; + return (node != null) && (getSelfOrMatchingAncestor(node, filter) != null); } /** Check whether a given node has any descendant matching a given filter. */ public static boolean hasMatchingDescendant( AccessibilityNodeInfoCompat node, Filter filter) { - if (node == null) { - return false; - } - - final AccessibilityNodeInfoCompat result = getMatchingDescendant(node, filter); - if (result == null) { - return false; - } - - result.recycle(); - return true; + return (node != null) && (getMatchingDescendant(node, filter) != null); } /** Returns depth of node in node-tree, where root has depth=0. */ @@ -1320,9 +1203,8 @@ public static void processSelfAndAncestors( if (node == null) { return null; } - if (filter.accept(node)) { - return AccessibilityNodeInfoCompat.obtain(node); + return node; } return getMatchingAncestor(node, filter); @@ -1341,11 +1223,9 @@ public static void processSelfAndAncestors( if (node == null) { return null; } - if (filter.accept(node)) { - return AccessibilityNodeInfoCompat.obtain(node); + return node; } - return getMatchingAncestor(node, end, filter); } @@ -1358,11 +1238,9 @@ public static void processSelfAndAncestors( if (node == null) { return null; } - if (filter.accept(node)) { - return AccessibilityNodeInfoCompat.obtain(node); + return node; } - return getMatchingDescendant(node, filter); } @@ -1433,8 +1311,6 @@ public boolean accept(AccessibilityNodeInfoCompat node) { * Returns the first ancestor of {@code node} that matches the {@code filter}, terminating the * search once it reaches {@code end}. The search is exclusive of both {@code node} and {@code * end}. Returns {@code null} if no nodes match. - * - *

        Note: Caller is responsible for recycling the returned node. */ private static @Nullable AccessibilityNodeInfoCompat getMatchingAncestor( AccessibilityNodeInfoCompat node, @@ -1446,41 +1322,25 @@ public boolean accept(AccessibilityNodeInfoCompat node) { final HashSet ancestors = new HashSet<>(); - try { - ancestors.add(AccessibilityNodeInfoCompat.obtain(node)); - node = node.getParent(); - - while (node != null) { - if (!ancestors.add(node)) { - // Already seen this node, so abort! - - // Return null if node is same object with element inside ancestors. This will skip to - // recyce node to avoid crash. - for (AccessibilityNodeInfoCompat element : ancestors) { - if (node == element) { - return null; - } - } - - node.recycle(); - return null; - } + ancestors.add(node); + node = node.getParent(); - if (end != null && node.equals(end)) { - // Reached the end node, so abort! - // Don't recycle the node here, it was added to ancestors and will be recycled. - return null; - } + while (node != null) { + if (!ancestors.add(node)) { + // Already seen this node, so abort! + return null; + } - if (filter.accept(node)) { - // Send a copy since node gets recycled. - return AccessibilityNodeInfoCompat.obtain(node); - } + if (end != null && node.equals(end)) { + // Reached the end node, so abort! + return null; + } - node = node.getParent(); + if (filter.accept(node)) { + return node; } - } finally { - recycleNodes(ancestors); + + node = node.getParent(); } return null; @@ -1500,25 +1360,20 @@ public static int countMatchingAncestors( final HashSet ancestors = new HashSet<>(); int matchingAncestors = 0; - try { - ancestors.add(AccessibilityNodeInfoCompat.obtain(node)); - node = node.getParent(); - - while (node != null) { - if (!ancestors.add(node)) { - // Already seen this node, so abort! - node.recycle(); - return 0; - } + ancestors.add(node); + node = node.getParent(); - if (filter.accept(node)) { - matchingAncestors++; - } + while (node != null) { + if (!ancestors.add(node)) { + // Already seen this node, so abort! + return 0; + } - node = node.getParent(); + if (filter.accept(node)) { + matchingAncestors++; } - } finally { - recycleNodes(ancestors); + + node = node.getParent(); } return matchingAncestors; @@ -1526,8 +1381,7 @@ public static int countMatchingAncestors( /** * Returns the first child (by depth-first search) of {@code node} that matches the {@code - * filter}. Returns {@code null} if no nodes match. The caller is responsible for recycling all - * nodes in {@code visitedNodes} and the node returned by this method, if non-{@code null}. + * filter}. Returns {@code null} if no nodes match. */ private static @Nullable AccessibilityNodeInfoCompat getMatchingDescendant( AccessibilityNodeInfoCompat node, @@ -1540,7 +1394,7 @@ public static int countMatchingAncestors( if (visitedNodes.contains(node)) { return null; } else { - visitedNodes.add(AccessibilityNodeInfoCompat.obtain(node)); + visitedNodes.add(node); } int childCount = node.getChildCount(); @@ -1555,13 +1409,9 @@ public static int countMatchingAncestors( return child; // child was already obtained by node.getChild(). } - try { - AccessibilityNodeInfoCompat childMatch = getMatchingDescendant(child, filter, visitedNodes); - if (childMatch != null) { - return childMatch; - } - } finally { - child.recycle(); + AccessibilityNodeInfoCompat childMatch = getMatchingDescendant(child, filter, visitedNodes); + if (childMatch != null) { + return childMatch; } } @@ -1570,28 +1420,18 @@ public static int countMatchingAncestors( public static @Nullable AccessibilityNodeInfoCompat getMatchingDescendant( AccessibilityNodeInfoCompat node, Filter filter) { - final HashSet visitedNodes = new HashSet<>(); - try { - return getMatchingDescendant(node, filter, visitedNodes); - } finally { - recycleNodes(visitedNodes); - } + return getMatchingDescendant(node, filter, new HashSet<>()); } - /** Returns all descendants that match filter. Caller must recycle returned nodes. */ + /** Returns all descendants that match filter. */ public static @Nullable List getMatchingDescendantsOrRoot( @Nullable AccessibilityNodeInfoCompat node, Filter filter) { if (node == null) { return null; } - HashSet visitedNodes = new HashSet<>(); List matches = new ArrayList<>(); - try { - getMatchingDescendants(node, filter, /* matchRoot= */ true, visitedNodes, matches); - return matches; - } finally { - recycleNodes(visitedNodes); - } + getMatchingDescendants(node, filter, /* matchRoot= */ true, new HashSet<>(), matches); + return matches; } /** @@ -1601,9 +1441,8 @@ public static int countMatchingAncestors( * @param filter The filter to match the nodes against. * @param matchRoot Flag that allows match with root node. * @param visitedNodes The set of nodes already visited, for protection against loops. This will - * be modified. Caller is responsible to recycle the nodes. - * @param matches The list of nodes matching filter. This will be appended to. Caller is - * responsible to recycle this. + * be modified. + * @param matches The list of nodes matching filter. This will be appended to. */ private static void getMatchingDescendants( @Nullable AccessibilityNodeInfoCompat node, @@ -1620,27 +1459,22 @@ private static void getMatchingDescendants( if (visitedNodes.contains(node)) { return; } else { - visitedNodes.add(AccessibilityNodeInfoCompat.obtain(node)); // Caller must recycle + visitedNodes.add(node); } // If node matches filter... collect node. if (matchRoot && filter.accept(node)) { - matches.add(AccessibilityNodeInfoCompat.obtain(node)); // Caller must recycle + matches.add(node); } // For each child of node... int childCount = node.getChildCount(); for (int i = 0; i < childCount; ++i) { - AccessibilityNodeInfoCompat child = node.getChild(i); // Must recycle + AccessibilityNodeInfoCompat child = node.getChild(i); if (child == null) { continue; } - try { - // Recurse on child. - getMatchingDescendants(child, filter, /* matchRoot= */ true, visitedNodes, matches); - } finally { - child.recycle(); - } + getMatchingDescendants(child, filter, /* matchRoot= */ true, visitedNodes, matches); } } @@ -1656,22 +1490,14 @@ public static boolean isScrollable(AccessibilityNodeInfoCompat node) { // translation from the DOM to the AccessibilityNodeInfo.) To avoid labeling views that don't // support scrolling (e.g. REFERTO), check for the explicit presence of // AccessibilityActions. - if (BuildVersionUtils.isM() || BuildVersionUtils.isAtLeastN()) { - return supportsAnyAction( - node, - AccessibilityAction.ACTION_SCROLL_FORWARD, - AccessibilityAction.ACTION_SCROLL_BACKWARD, - AccessibilityAction.ACTION_SCROLL_DOWN, - AccessibilityAction.ACTION_SCROLL_UP, - AccessibilityAction.ACTION_SCROLL_RIGHT, - AccessibilityAction.ACTION_SCROLL_LEFT); - } else { - // Directional scrolling is not available pre-M. - return supportsAnyAction( - node, - AccessibilityAction.ACTION_SCROLL_FORWARD, - AccessibilityAction.ACTION_SCROLL_BACKWARD); - } + return supportsAnyAction( + node, + AccessibilityAction.ACTION_SCROLL_FORWARD, + AccessibilityAction.ACTION_SCROLL_BACKWARD, + AccessibilityAction.ACTION_SCROLL_DOWN, + AccessibilityAction.ACTION_SCROLL_UP, + AccessibilityAction.ACTION_SCROLL_RIGHT, + AccessibilityAction.ACTION_SCROLL_LEFT); } /** @@ -1732,49 +1558,36 @@ public static boolean isTopLevelScrollItem(AccessibilityNodeInfoCompat node) { return false; } - AccessibilityNodeInfoCompat parent = null; - AccessibilityNodeInfoCompat grandparent = null; - - try { - parent = node.getParent(); - if (parent == null) { - // Not a child node of anything. - return false; - } - - // Certain scrollable views in M's Android TV SetupWraith are permanently broken and - // won't ever be fixed because the setup wizard is bundled. This affects <= M only. - if (!BuildVersionUtils.isAtLeastN() && FILTER_BROKEN_LISTS_TV_M.accept(parent)) { - return false; - } - - // Drop down lists (spinners) are not included to retain the old behavior of focusing on - // the spinner itself rather than on the single visible item. - // A spinner being scrollable is disingenuous since the scrollable list inside isn't exposed - // without interaction. - // TODO: Remove this check? - if (Role.getRole(parent) == Role.ROLE_DROP_DOWN_LIST) { - return false; - } + AccessibilityNodeInfoCompat parent = node.getParent(); + if (parent == null) { + // Not a child node of anything. + return false; + } - // A node with a scrollable parent is a top level scroll item. - if (isScrollable(parent)) { - return true; - } + // Drop down lists (spinners) are not included to retain the old behavior of focusing on + // the spinner itself rather than on the single visible item. + // A spinner being scrollable is disingenuous since the scrollable list inside isn't exposed + // without interaction. + // TODO: Remove this check? + if (Role.getRole(parent) == Role.ROLE_DROP_DOWN_LIST) { + return false; + } - @Role.RoleName int parentRole = Role.getRole(parent); - // Note that ROLE_DROP_DOWN_LIST(Spinner) is not accepted. - // RecyclerView is classified as a list or grid based on its CollectionInfo. - // These parents may not be scrollable in some cases, like if the list is too short to be - // scrolled, but their children should still be considered top level scroll items. - return parentRole == Role.ROLE_LIST - || parentRole == Role.ROLE_GRID - || parentRole == Role.ROLE_SCROLL_VIEW - || parentRole == Role.ROLE_HORIZONTAL_SCROLL_VIEW - || nodeMatchesAnyClassByType(parent, CLASS_TOUCHWIZ_TWADAPTERVIEW); - } finally { - recycleNodes(parent, grandparent); + // A node with a scrollable parent is a top level scroll item. + if (isScrollable(parent)) { + return true; } + + @Role.RoleName int parentRole = Role.getRole(parent); + // Note that ROLE_DROP_DOWN_LIST(Spinner) is not accepted. + // RecyclerView is classified as a list or grid based on its CollectionInfo. + // These parents may not be scrollable in some cases, like if the list is too short to be + // scrolled, but their children should still be considered top level scroll items. + return parentRole == Role.ROLE_LIST + || parentRole == Role.ROLE_GRID + || parentRole == Role.ROLE_SCROLL_VIEW + || parentRole == Role.ROLE_HORIZONTAL_SCROLL_VIEW + || nodeMatchesAnyClassByType(parent, CLASS_TOUCHWIZ_TWADAPTERVIEW); } public static boolean hasAncestor( @@ -1791,13 +1604,7 @@ public boolean accept(AccessibilityNodeInfoCompat node) { } }; - AccessibilityNodeInfoCompat foundAncestor = getMatchingAncestor(node, filter); - if (foundAncestor != null) { - foundAncestor.recycle(); - return true; - } - - return false; + return (getMatchingAncestor(node, filter) != null); } public static boolean hasDescendant( @@ -1814,13 +1621,7 @@ public boolean accept(AccessibilityNodeInfoCompat node) { } }; - AccessibilityNodeInfoCompat foundAncestor = getMatchingDescendant(node, filter); - if (foundAncestor != null) { - foundAncestor.recycle(); - return true; - } - - return false; + return (getMatchingDescendant(node, filter) != null); } /** @@ -1895,16 +1696,6 @@ public static boolean nodeMatchesClassByName( * @param nodes The nodes to recycle. */ public static void recycleNodes(Collection nodes) { - if (nodes == null) { - return; - } - - for (AccessibilityNodeInfoCompat node : nodes) { - if (node != null) { - node.recycle(); - } - } - nodes.clear(); } @@ -1913,34 +1704,14 @@ public static void recycleNodes(Collection nodes) { * * @param nodes The nodes to recycle. */ - public static void recycleNodes(@Nullable AccessibilityNodeInfo... nodes) { - if (nodes == null) { - return; - } - - for (AccessibilityNodeInfo node : nodes) { - if (node != null) { - node.recycle(); - } - } - } + public static void recycleNodes(@Nullable AccessibilityNodeInfo... nodes) {} /** * Recycles the given nodes. * * @param nodes The nodes to recycle. */ - public static void recycleNodes(@Nullable AccessibilityNodeInfoCompat... nodes) { - if (nodes == null) { - return; - } - - for (AccessibilityNodeInfoCompat node : nodes) { - if (node != null) { - node.recycle(); - } - } - } + public static void recycleNodes(@Nullable AccessibilityNodeInfoCompat... nodes) {} /** * Returns {@code true} if the node supports at least one of the specified actions. This method @@ -2046,119 +1817,45 @@ public static AccessibilityNodeInfoCompat searchFromBfs( final ArrayDeque queue = new ArrayDeque<>(); Set visitedNodes = new HashSet<>(); - queue.add(AccessibilityNodeInfoCompat.obtain(node)); + queue.add(node); - try { - while (!queue.isEmpty()) { - final AccessibilityNodeInfoCompat item = queue.removeFirst(); - visitedNodes.add(item); + while (!queue.isEmpty()) { + final AccessibilityNodeInfoCompat item = queue.removeFirst(); + visitedNodes.add(item); - if (filterToSkip != null && filterToSkip.accept(item)) { - item.recycle(); - continue; - } + if (filterToSkip != null && filterToSkip.accept(item)) { + continue; + } - if (filter.accept(item)) { - return item; - } + if (filter.accept(item)) { + return item; + } - final int childCount = item.getChildCount(); + final int childCount = item.getChildCount(); - for (int i = 0; i < childCount; i++) { - final AccessibilityNodeInfoCompat child = item.getChild(i); + for (int i = 0; i < childCount; i++) { + final AccessibilityNodeInfoCompat child = item.getChild(i); - if (child != null && !visitedNodes.contains(child)) { - queue.addLast(child); - } + if (child != null && !visitedNodes.contains(child)) { + queue.addLast(child); } - item.recycle(); - } - } finally { - while (!queue.isEmpty()) { - queue.removeFirst().recycle(); } } - return null; } - /** Safely obtains a copy of node. Caller must recycle returned node info. */ + /** Safely obtains a copy of node. */ public static @Nullable AccessibilityNodeInfoCompat obtain(AccessibilityNodeInfoCompat node) { return (node == null) ? null : AccessibilityNodeInfoCompat.obtain(node); } - /** Safely obtains a copy of node. Caller must recycle returned node info. */ - public static @Nullable AccessibilityNodeInfo obtain(AccessibilityNodeInfo node) { - return (node == null) ? null : AccessibilityNodeInfo.obtain(node); - } - - /** - * Replaces a node with a refreshed node. - * - * @param node A source node which may be stale, and which will be recycled. - * @return A refreshed node, which the caller must recycle. - */ - public static AccessibilityNodeInfoCompat replaceWithFreshNode(AccessibilityNodeInfoCompat node) { - try { - return AccessibilityNodeInfoUtils.refreshNode(node); - } finally { - AccessibilityNodeInfoUtils.recycleNodes(node); - } - } - /** * Returns a fresh copy of {@code node} with properties that are less likely to be stale. Returns * {@code null} if the node can't be found anymore. */ public static @Nullable AccessibilityNodeInfoCompat refreshNode( AccessibilityNodeInfoCompat node) { - if (node == null) { - return null; - } - - AccessibilityNodeInfoCompat nodeCopy = AccessibilityNodeInfoCompat.obtain(node); - if (nodeCopy.refresh()) { - return nodeCopy; - } else { - nodeCopy.recycle(); - return null; - } - } - - /** - * Returns a fresh copy of node by traversing the given window for a similar node. For example, - * the node that you want might be in a popup window that has closed and re-opened, causing the - * accessibility IDs of its views to be different. Note: you must recycle the node that is - * returned from this method. - */ - public static @Nullable AccessibilityNodeInfoCompat refreshNodeFuzzy( - final AccessibilityNodeInfoCompat node, AccessibilityWindowInfo window) { - if (window == null || node == null) { - return null; - } - - AccessibilityNodeInfo root = AccessibilityWindowInfoUtils.getRoot(window); - if (root == null) { - return null; - } - - Filter similarFilter = - new Filter() { - @Override - public boolean accept(AccessibilityNodeInfoCompat other) { - return other != null - && TextUtils.equals( - AccessibilityNodeInfoUtils.getText(node), - AccessibilityNodeInfoUtils.getText(other)); - } - }; - - AccessibilityNodeInfoCompat rootCompat = AccessibilityNodeInfoUtils.toCompat(root); - try { - return getMatchingDescendant(rootCompat, similarFilter); - } finally { - rootCompat.recycle(); - } + return ((node == null) || !node.refresh()) ? null : node; } /** @@ -2169,7 +1866,6 @@ public boolean accept(AccessibilityNodeInfoCompat other) { * @param fromCharIndex start index of the queried text range. * @param toCharIndex end index of the queried text range. */ - @TargetApi(Build.VERSION_CODES.O) public static @Nullable List getTextLocations( AccessibilityNodeInfoCompat node, int fromCharIndex, int toCharIndex) { return getTextLocations( @@ -2187,10 +1883,9 @@ public boolean accept(AccessibilityNodeInfoCompat other) { * @param fromCharIndex start index of the queried text range. * @param toCharIndex end index of the queried text range. */ - @TargetApi(Build.VERSION_CODES.O) public static @Nullable List getTextLocations( AccessibilityNodeInfoCompat node, CharSequence text, int fromCharIndex, int toCharIndex) { - if (node == null || !BuildVersionUtils.isAtLeastO()) { + if (node == null) { return null; } @@ -2233,9 +1928,8 @@ public boolean accept(AccessibilityNodeInfoCompat other) { } /** Returns true if the node supports text location data. */ - @TargetApi(Build.VERSION_CODES.O) public static boolean supportsTextLocation(AccessibilityNodeInfoCompat node) { - if (!BuildVersionUtils.isAtLeastO() || node == null) { + if (node == null) { return false; } AccessibilityNodeInfo info = node.unwrap(); @@ -2277,15 +1971,9 @@ private static boolean areBoundsIdenticalToWindow(AccessibilityNodeInfoCompat no return windowBounds.equals(nodeBounds); } - /** - * Returns the node to which the given node's window is anchored, if there is an anchor. Note: you - * must recycle the node that is returned from this method. - */ + /** Returns the node to which the given node's window is anchored, if there is an anchor. */ public static @Nullable AccessibilityNodeInfoCompat getAnchor( @Nullable AccessibilityNodeInfoCompat node) { - if (!BuildVersionUtils.isAtLeastN()) { - return null; - } if (node == null) { return null; @@ -2313,12 +2001,12 @@ private static boolean areBoundsIdenticalToWindow(AccessibilityNodeInfoCompat no * Analyses if the edit text has no text. * *

        If there is a text field with hint text and no text, {@link - * AccessibilityNodeInfoUtils.getText()} returns hint text. Hence this method checks for {@link + * AccessibilityNodeInfoUtils#getText()} returns hint text. Hence this method checks for {@link * AccessibilityNodeInfo#ACTION_SET_SELECTION} to disregard the hint text. */ public static boolean isEmptyEditTextRegardlessOfHint( @Nullable AccessibilityNodeInfoCompat node) { - if (node == null || !(node.isEditable())) { + if (node == null || !node.isEditable()) { return false; } @@ -2328,6 +2016,22 @@ public static boolean isEmptyEditTextRegardlessOfHint( return !supportsAction(node, AccessibilityNodeInfo.ACTION_SET_SELECTION); } + /** * Checks if node represents non-editable selectable text. */ + public static boolean isNonEditableSelectableText(AccessibilityNodeInfoCompat node) { + if (FeatureSupport.supportsIsTextSelectable()) { + return !node.isEditable() && node.unwrap().isTextSelectable(); + } + return false; + } + + /** * Checks if node represents selectable text. Editable text is selectable. */ + public static boolean isTextSelectable(AccessibilityNodeInfoCompat node) { + boolean isEditable = Role.getRole(node) == Role.ROLE_EDIT_TEXT || node.isEditable(); + boolean isNonEditableSelectableText = + AccessibilityNodeInfoUtils.isNonEditableSelectableText(node); + return isEditable || isNonEditableSelectableText; + } + /** * Gets a list of URLs contained within an {@link AccessibilityNodeInfoCompat}. * @@ -2405,7 +2109,6 @@ public static int getMovementGranularity(AccessibilityNodeInfoCompat node) { return node.getMovementGranularities(); } - @TargetApi(Build.VERSION_CODES.O) public static CharSequence getHintText(AccessibilityNodeInfoCompat node) { CharSequence hintText = node.getHintText(); if (TextUtils.isEmpty(hintText)) { @@ -2426,23 +2129,17 @@ public static CharSequence getHintText(AccessibilityNodeInfoCompat node) { private static HashMap initActionIds() { HashMap actionIdHashMap = new HashMap<>(); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - actionIdHashMap.put( - AccessibilityAction.ACTION_SHOW_ON_SCREEN.getId(), "ACTION_SHOW_ON_SCREEN"); - actionIdHashMap.put( - AccessibilityAction.ACTION_SCROLL_TO_POSITION.getId(), "ACTION_SCROLL_TO_POSITION"); - actionIdHashMap.put(AccessibilityAction.ACTION_SCROLL_UP.getId(), "ACTION_SCROLL_UP"); - actionIdHashMap.put(AccessibilityAction.ACTION_SCROLL_LEFT.getId(), "ACTION_SCROLL_LEFT"); - actionIdHashMap.put(AccessibilityAction.ACTION_SCROLL_DOWN.getId(), "ACTION_SCROLL_DOWN"); - actionIdHashMap.put(AccessibilityAction.ACTION_SCROLL_RIGHT.getId(), "ACTION_SCROLL_RIGHT"); - actionIdHashMap.put(AccessibilityAction.ACTION_CONTEXT_CLICK.getId(), "ACTION_CONTEXT_CLICK"); - } - if (BuildVersionUtils.isAtLeastN()) { - actionIdHashMap.put(AccessibilityAction.ACTION_SET_PROGRESS.getId(), "ACTION_SET_PROGRESS"); - } - if (BuildVersionUtils.isAtLeastO()) { - actionIdHashMap.put(AccessibilityAction.ACTION_MOVE_WINDOW.getId(), "ACTION_MOVE_WINDOW"); - } + actionIdHashMap.put(AccessibilityAction.ACTION_SHOW_ON_SCREEN.getId(), "ACTION_SHOW_ON_SCREEN"); + actionIdHashMap.put( + AccessibilityAction.ACTION_SCROLL_TO_POSITION.getId(), "ACTION_SCROLL_TO_POSITION"); + actionIdHashMap.put(AccessibilityAction.ACTION_SCROLL_UP.getId(), "ACTION_SCROLL_UP"); + actionIdHashMap.put(AccessibilityAction.ACTION_SCROLL_LEFT.getId(), "ACTION_SCROLL_LEFT"); + actionIdHashMap.put(AccessibilityAction.ACTION_SCROLL_DOWN.getId(), "ACTION_SCROLL_DOWN"); + actionIdHashMap.put(AccessibilityAction.ACTION_SCROLL_RIGHT.getId(), "ACTION_SCROLL_RIGHT"); + actionIdHashMap.put(AccessibilityAction.ACTION_CONTEXT_CLICK.getId(), "ACTION_CONTEXT_CLICK"); + actionIdHashMap.put(AccessibilityAction.ACTION_SET_PROGRESS.getId(), "ACTION_SET_PROGRESS"); + actionIdHashMap.put(AccessibilityAction.ACTION_MOVE_WINDOW.getId(), "ACTION_MOVE_WINDOW"); + if (BuildVersionUtils.isAtLeastP()) { actionIdHashMap.put(AccessibilityAction.ACTION_SHOW_TOOLTIP.getId(), "ACTION_SHOW_TOOLTIP"); actionIdHashMap.put(AccessibilityAction.ACTION_HIDE_TOOLTIP.getId(), "ACTION_HIDE_TOOLTIP"); @@ -2555,7 +2252,7 @@ public static String toStringShort(@Nullable AccessibilityNodeInfoCompat node) { StringBuilderUtils.optionalTag("clickable", isClickable(node)), StringBuilderUtils.optionalTag("longClickable", isLongClickable(node)), StringBuilderUtils.optionalTag("password", node.isPassword()), - StringBuilderUtils.optionalTag("textEntryKey", isTextEntryKey(node)), + StringBuilderUtils.optionalTag("textEntryKey", node.isTextEntryKey()), StringBuilderUtils.optionalTag("scrollable", isScrollable(node)), StringBuilderUtils.optionalTag( "heading", FeatureSupport.isHeadingWorks() && node.isHeading()), @@ -2628,66 +2325,6 @@ public static boolean hasMinimumPixelsVisibleOnScreen(AccessibilityNodeInfoCompa && (Math.abs(visibleBounds.width()) >= MIN_VISIBLE_PIXELS)); } - // TODO Remove them when androidx.core library is available. - /** - * Returns whether node represents a text entry key that is part of a keyboard or keypad. - * - * @param node The node being checked. - * @return {@code true} if the node is text entry key. library is available. - */ - public static boolean isTextEntryKey(AccessibilityNodeInfoCompat node) { - - return BuildVersionUtils.isAtLeastQ() - ? node.unwrap().isTextEntryKey() - : getBooleanProperty(node, BOOLEAN_MASK_IS_TEXT_ENTRY_KEY); - } - - /** - * @param node The node being checked. - * @param property the property sets in {@code node} - * @return true if set it successfully. - */ - private static boolean getBooleanProperty(AccessibilityNodeInfoCompat node, int property) { - Bundle extras = node.getExtras(); - if (extras == null) { - return false; - } else { - return (extras.getInt(BOOLEAN_PROPERTY_KEY, 0) & property) == property; - } - } - - // TODO Remove them when androidx.core library is available. - /** - * Sets whether the node represents a text entry key that is part of a keyboard or keypad. We add - * this method because {@code androidx.core.view.accessibility} is not available in g3.It is only - * for testing. - * - *

        Note: Cannot be called from an {@link - * android.accessibilityservice.AccessibilityService}. This class is made immutable before being - * delivered to an AccessibilityService. - * - * @param node The node being checked. - * @param isTextEntryKey {@code true} if the node is a text entry key, {@code false} otherwise. - */ - public static void setTextEntryKey(AccessibilityNodeInfoCompat node, boolean isTextEntryKey) { - if (BuildVersionUtils.isAtLeastQ()) { - node.unwrap().setTextEntryKey(isTextEntryKey); - } else { - setBooleanProperty(node, BOOLEAN_MASK_IS_TEXT_ENTRY_KEY, isTextEntryKey); - } - } - - private static void setBooleanProperty( - AccessibilityNodeInfoCompat node, int property, boolean value) { - Bundle extras = node.getExtras(); - if (extras != null) { - int booleanProperties = extras.getInt(BOOLEAN_PROPERTY_KEY, 0); - booleanProperties &= ~property; - booleanProperties |= value ? property : 0; - extras.putInt(BOOLEAN_PROPERTY_KEY, booleanProperties); - } - } - /** * Returns the progress percentage from the node. The value will be in the range [0, 100]. * @@ -2770,12 +2407,7 @@ public static boolean isInWindow( return false; } - AccessibilityNodeInfoCompat root = windowInfoCompat.getRoot(); - try { - return hasDescendant(root, checkingNode); - } finally { - recycleNodes(root); - } + return hasDescendant(windowInfoCompat.getRoot(), checkingNode); } /** Checks whether the given node is still in the window. */ @@ -2785,12 +2417,7 @@ public static boolean isInWindow( return false; } - AccessibilityNodeInfoCompat root = AccessibilityNodeInfoCompat.wrap(windowInfo.getRoot()); - try { - return hasDescendant(root, checkingNode); - } finally { - recycleNodes(root); - } + return hasDescendant(toCompat(windowInfo.getRoot()), checkingNode); } /** @@ -2798,40 +2425,26 @@ public static boolean isInWindow( * *

        On M devices, the return value is always false if the node is an item in ListView or * GridView but not in WebView. - * - *

        Note: Caller is responsible for recycling the node-argument. */ // TODO On pre-N devices, the framework ListView/GridView will mark non-headers // as headers. The workaround should be removed when TalkBack doesn't support android M. public static boolean isHeading(AccessibilityNodeInfoCompat node) { if (!FeatureSupport.isHeadingWorks()) { AccessibilityNodeInfoCompat collectionRoot = getCollectionRoot(node); - try { - if (nodeIsListOrGrid(collectionRoot) && !WebInterfaceUtils.isWebContainer(collectionRoot)) { - return false; - } - } finally { - AccessibilityNodeInfoUtils.recycleNodes(collectionRoot); + if (nodeIsListOrGrid(collectionRoot) && !WebInterfaceUtils.isWebContainer(collectionRoot)) { + return false; } } return node.isHeading(); } - /** - * Returns a collection root. - * - *

        Note: Caller is responsible for recycling the returned node. - */ + /** Returns a collection root. */ public static @Nullable AccessibilityNodeInfoCompat getCollectionRoot( AccessibilityNodeInfoCompat node) { return AccessibilityNodeInfoUtils.getSelfOrMatchingAncestor(node, FILTER_COLLECTION); } - /** - * Checks if given node is ListView or GirdView. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Checks if given node is ListView or GirdView. */ public static boolean nodeIsListOrGrid(@Nullable AccessibilityNodeInfoCompat node) { return nodeMatchesAnyClassName(node, CLASS_LISTVIEW, CLASS_GRIDVIEW); } @@ -2877,11 +2490,7 @@ public abstract static class ViewResourceName { public abstract String viewIdName(); - /** - * Creates a ViewResourceName instance by {@link AccessibilityNodeInfoCompat}. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Creates a ViewResourceName instance by {@link AccessibilityNodeInfoCompat}. */ public static @Nullable ViewResourceName create(AccessibilityNodeInfoCompat node) { String resourceName = node.getViewIdResourceName(); if (TextUtils.isEmpty(resourceName)) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityServiceCompatUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityServiceCompatUtils.java index b944bfd2e..d2345281a 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityServiceCompatUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityServiceCompatUtils.java @@ -20,10 +20,8 @@ import android.accessibilityservice.AccessibilityService; import android.accessibilityservice.AccessibilityServiceInfo; import android.accessibilityservice.FingerprintGestureController; -import android.annotation.TargetApi; import android.content.ComponentName; import android.content.Context; -import android.os.Build; import android.util.SparseArray; import android.view.Display; import android.view.accessibility.AccessibilityManager; @@ -70,11 +68,17 @@ private Constants() {} ACCESSIBILITY_SUITE_PACKAGE_NAME, "com.google.android.accessibility.brailleime.BrailleIme"); + /** The name of the Braille keyboard settings activity. */ + public static final ComponentName BRAILLE_KEYBOARD_SETTINGS = + new ComponentName( + ACCESSIBILITY_SUITE_PACKAGE_NAME, + "com.google.android.accessibility.brailleime.settings.BrailleImePreferencesActivity"); + /** The name of the Braille display settings activity. */ public static final ComponentName BRAILLE_DISPLAY_SETTINGS = new ComponentName( ACCESSIBILITY_SUITE_PACKAGE_NAME, - "com.google.android.accessibility.braille.brailledisplay.BrailleDisplaySettingsActivity"); + "com.google.android.accessibility.braille.brailledisplay.settings.BrailleDisplaySettingsActivity"); } /** @return root node of the Application window */ @@ -93,13 +97,9 @@ private Constants() {} public static @Nullable String getActiveWindowPackageName(AccessibilityService service) { @Nullable AccessibilityNodeInfoCompat rootNode = getRootInActiveWindow(service); - try { - return ((rootNode == null) || (rootNode.getPackageName() == null)) - ? null - : rootNode.getPackageName().toString(); - } finally { - AccessibilityNodeInfoUtils.recycleNodes(rootNode); - } + return ((rootNode == null) || (rootNode.getPackageName() == null)) + ? null + : rootNode.getPackageName().toString(); } /** @@ -178,9 +178,7 @@ public static void forEachWindowInfoListOnAllDisplays( if (rootInActiveWindow == null) { return null; } - AccessibilityWindowInfo window = AccessibilityNodeInfoUtils.getWindow(rootInActiveWindow); - rootInActiveWindow.recycle(); - return window; + return AccessibilityNodeInfoUtils.getWindow(rootInActiveWindow); } /** Returns whether input method window is on the screen. */ @@ -239,7 +237,6 @@ public static String gestureIdToString(int gestureId) { * @param fingerprintGestureId The fingerprint gesture Id * @return The string representative of the fingeprint gesture */ - @TargetApi(Build.VERSION_CODES.O) public static String fingerprintGestureIdToString(int fingerprintGestureId) { switch (fingerprintGestureId) { case FingerprintGestureController.FINGERPRINT_GESTURE_SWIPE_LEFT: diff --git a/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityWindow.java b/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityWindow.java index f8a551925..f11560f97 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityWindow.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityWindow.java @@ -16,8 +16,6 @@ package com.google.android.accessibility.utils; -import android.annotation.TargetApi; -import android.os.Build; import android.view.accessibility.AccessibilityWindowInfo; import androidx.annotation.IntDef; import androidx.annotation.Nullable; @@ -34,13 +32,9 @@ * *

          *
        • handling null windows - *
        • recycling *
        • using compat vs bare methods *
        • using correct methods for various android versions *
        - * - *

        Currently, AccessibilityWindowInfo is not always recycled from - * AccessibilityNodeInfo.getWindow(), and never recycled from AccessibilityService.getWindows() */ public class AccessibilityWindow { @@ -83,17 +77,10 @@ public class AccessibilityWindow { private AccessibilityWindowInfoCompat windowCompat; - /** Name of calling method that recycled this window. */ - private String recycledBy; - /////////////////////////////////////////////////////////////////////////////////////// // Construction - /** - * Takes ownership of window*Arg. Does not allow all-null arguments, because call chaining is - * already impossible, because intermediate objects have to be recycled. Caller must recycle - * returned AccessibilityWindow. - */ + /** Takes ownership of window*Arg. Does not allow all-null arguments. */ @Nullable public static AccessibilityWindow takeOwnership( @Nullable AccessibilityWindowInfo windowBareArg, @@ -107,10 +94,10 @@ public static AccessibilityWindow takeOwnership( * result should be null. Method is protected so that it can be called by sub-classes without * duplicating null-checking logic. * - * @param windowBareArg The wrapped window info. Caller may retain responsibility to recycle. - * @param windowCompatArg The wrapped window info. Caller may retain responsibility to recycle. + * @param windowBareArg The wrapped window info. + * @param windowCompatArg The wrapped window info. * @param factory Creates instances of AccessibilityWindow or sub-classes. - * @return AccessibilityWindow instance, that caller must recycle. + * @return AccessibilityWindow instance. */ @Nullable protected static T construct( @@ -149,84 +136,14 @@ public AccessibilityWindow create() { // Recycling public final synchronized boolean isRecycled() { - return (recycledBy != null); - } - - /** Recycles non-null windows. */ - public static void recycle(String caller, @Nullable AccessibilityWindow... windows) { - if (windows == null) { - return; - } - - for (AccessibilityWindow window : windows) { - if (window != null) { - window.recycle(caller); - } - } + return false; } - /** Recycles non-null windows and empties collection. */ - public static void recycle(String caller, @Nullable Collection windows) { - if (windows == null) { - return; - } - - for (AccessibilityWindow window : windows) { - if (window != null) { - window.recycle(caller); - } - } + public static void recycle(String caller, @Nullable AccessibilityWindow... windows) {} - windows.clear(); - } - - /** - * Recycles window, or errors if already recycled. Cannot run at the same time as isRecycled(), - * and caller should not try to run recycle() at the same time as any other member function. - */ - public final synchronized void recycle(String caller) { + public static void recycle(String caller, @Nullable Collection windows) {} - // Check for double-recycling. - if (recycledBy == null) { - recycledBy = caller; - } else { - logOrThrow("AccessibilityWindow is already recycled by %s then by %s", recycledBy, caller); - } - - // Recycle window infos. - if (windowCompat != null) { - recycle(windowCompat, caller); - } - if (windowBare != null) { - recycle(windowBare, caller); - } - } - - private final void recycle(AccessibilityWindowInfo window, String caller) { - try { - window.recycle(); - } catch (IllegalStateException e) { - logOrThrow( - e, - "Caught IllegalStateException from accessibility framework with %s trying to recycle" - + " window %s", - caller, - window); - } - } - - private final void recycle(AccessibilityWindowInfoCompat window, String caller) { - try { - window.recycle(); - } catch (IllegalStateException e) { - logOrThrow( - e, - "Caught IllegalStateException from accessibility framework with %s trying to recycle" - + " window %s", - caller, - window); - } - } + public final synchronized void recycle(String caller) {} /** Overridable for testing. */ protected boolean isDebug() { @@ -238,21 +155,14 @@ protected boolean isDebug() { // https://developer.android.com/reference/android/view/accessibility/AccessibilityWindowInfo private AccessibilityWindowInfo getBare() { - if (isRecycled()) { - throwError("getBare() called on window already recycled by %s", recycledBy); - } return windowBare; } private AccessibilityWindowInfoCompat getCompat() { - if (isRecycled()) { - throwError("getCompat() called on window already recycled by %s", recycledBy); - } return windowCompat; } public final boolean isActive() { - // TODO: If window already recycled, throw name of recycler. AccessibilityWindowInfoCompat compat = getCompat(); return (compat == null) ? getBare().isActive() : compat.isActive(); } @@ -263,7 +173,6 @@ public final boolean isFocused() { } /** Returns flag whether window is picture-in-picture, or null if flag not available. */ - @TargetApi(Build.VERSION_CODES.O) @Nullable public final Boolean isInPictureInPictureMode() { AccessibilityWindowInfo bare = getBare(); @@ -302,7 +211,6 @@ public final int getType() { return (compat == null) ? TYPE_UNKNOWN : compat.getType(); } - /** Returns root node info, which caller must recycle. */ @Nullable public final AccessibilityNode getRoot() { AccessibilityWindowInfoCompat compat = getCompat(); @@ -333,24 +241,6 @@ public final Boolean isWindowContentVisible() { /////////////////////////////////////////////////////////////////////////////////////// // Error methods - @FormatMethod - private void logOrThrow(@FormatString String format, Object... parameters) { - if (isDebug()) { - throwError(format, parameters); - } else { - logError(format, parameters); - } - } - - private void logOrThrow(IllegalStateException exception, String format, Object... parameters) { - if (isDebug()) { - throw exception; - } else { - logError(format, parameters); - logError("%s", exception); - } - } - protected void logError(String format, Object... parameters) { LogUtils.e(TAG, format, parameters); } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityWindowInfoUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityWindowInfoUtils.java index c8d286378..ba9fad7ae 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityWindowInfoUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/AccessibilityWindowInfoUtils.java @@ -74,16 +74,12 @@ public int compare(AccessibilityWindowInfo windowA, AccessibilityWindowInfo wind } else { // Get bounds from root view, because some window bounds may be inaccurate on older android. AccessibilityNodeInfo root = getRoot(window); - try { - if (root == null) { - return null; - } - Rect bounds = new Rect(); - root.getBoundsInScreen(bounds); - return bounds; - } finally { - AccessibilityNodeInfoUtils.recycleNodes(root); + if (root == null) { + return null; } + Rect bounds = new Rect(); + root.getBoundsInScreen(bounds); + return bounds; } } @@ -124,14 +120,9 @@ public static boolean isWindowContentVisible(AccessibilityWindowInfo window) { return false; } AccessibilityNodeInfo root = getRoot(window); - boolean isVisible = (root != null) && root.isVisibleToUser(); - if (root != null) { - root.recycle(); - } - return isVisible; + return (root != null) && root.isVisibleToUser(); } - /** Returns root node-info that caller must recycle. */ public static @Nullable AccessibilityNodeInfoCompat getRootCompat(AccessibilityWindowInfo w) { return AccessibilityNodeInfoUtils.toCompat(getRoot(w)); } @@ -245,12 +236,8 @@ public static int getDisplayId(@NonNull AccessibilityWindowInfo windowInfo) { for (int i = 0; i < window.getChildCount(); i++) { AccessibilityWindowInfo windowInfo = window.getChild(i); node = AccessibilityWindowInfoUtils.getAnchor(windowInfo); - try { - if (node != null && anchor.equals(node.unwrap())) { - return windowInfo; - } - } finally { - AccessibilityNodeInfoUtils.recycleNodes(node); + if (node != null && anchor.equals(node.unwrap())) { + return windowInfo; } } return null; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/BasePreferencesActivity.java b/utils/src/main/java/com/google/android/accessibility/utils/BasePreferencesActivity.java index 6292fb5a0..a3fc89350 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/BasePreferencesActivity.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/BasePreferencesActivity.java @@ -53,6 +53,14 @@ protected void prepareActionBar(@Nullable Drawable icon) { /** Disables to expand action bar */ protected void disableExpandActionBar() {} + /** Hides the back button (or home) inside the action bar */ + protected void hideBackButton() { + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setDisplayHomeAsUpEnabled(false); + } + } + /** * Gets Identifier of the container whose fragment(s) at the activity should use. * diff --git a/utils/src/main/java/com/google/android/accessibility/utils/BuildVersionUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/BuildVersionUtils.java index ad6852347..363565427 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/BuildVersionUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/BuildVersionUtils.java @@ -18,6 +18,7 @@ import android.os.Build; import androidx.annotation.ChecksSdkIntAtLeast; +import androidx.core.os.BuildCompat; /** * This file provides a wrapper for the Build versions. Everytime an android version number gets @@ -64,9 +65,14 @@ public static boolean isAtLeastS() { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.S; } - @ChecksSdkIntAtLeast(api = 32) + @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.S_V2) + public static boolean isAtLeastS2() { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.S_V2; + } + + @ChecksSdkIntAtLeast(api = 33) public static boolean isAtLeastT() { // Build.VERSION_CODES.TIRAMISU is not open-sourced yet. - return Build.VERSION.SDK_INT > Build.VERSION_CODES.S; + return Build.VERSION.SDK_INT > Build.VERSION_CODES.S_V2 || BuildCompat.isAtLeastT(); } } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/CollectionState.java b/utils/src/main/java/com/google/android/accessibility/utils/CollectionState.java index 78ae5c32f..144ca19d1 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/CollectionState.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/CollectionState.java @@ -16,7 +16,6 @@ package com.google.android.accessibility.utils; -import android.os.Build; import android.util.SparseArray; import android.view.accessibility.AccessibilityEvent; import androidx.annotation.IntDef; @@ -75,10 +74,6 @@ public class CollectionState { public static final int ALIGNMENT_VERTICAL = 0; public static final int ALIGNMENT_HORIZONTAL = 1; - static final String EVENT_ROW = "AccessibilityNodeInfo.CollectionItemInfo.rowIndex"; - static final String EVENT_COLUMN = "AccessibilityNodeInfo.CollectionItemInfo.columnIndex"; - static final String EVENT_HEADING = "AccessibilityNodeInfo.CollectionItemInfo.heading"; - @CollectionTransition private int mCollectionTransition = NAVIGATE_NONE; @RowColumnTransition private int mRowColumnTransition = TYPE_NONE; private @Nullable AccessibilityNodeInfoCompat mCollectionRoot; @@ -87,8 +82,6 @@ public class CollectionState { private SparseArray mRowHeaders = new SparseArray<>(); private SparseArray mColumnHeaders = new SparseArray<>(); private int mCollectionLevel = -1; - private boolean mShouldComputeHeaders = false; - private boolean mShouldComputeNumbering = false; private static final Filter FILTER_HIERARCHICAL_COLLECTION = new Filter() { @@ -117,14 +110,6 @@ public boolean accept(AccessibilityNodeInfoCompat node) { } }; - private static final Filter FILTER_WEBVIEW = - new Filter() { - @Override - public boolean accept(AccessibilityNodeInfoCompat node) { - return node != null && Role.getRole(node) == Role.ROLE_WEB_VIEW; - } - }; - /** * Base interface for internal collection item state. It should be kept private because clients of * the CollectionState should not need polymorphism for ListItemState/TableItemState. On the other @@ -145,13 +130,10 @@ public static class ListItemState implements ItemState { private final boolean mHeading; /** The index of the list item. */ private final int mIndex; - /** Whether the index should be displayed; used to work around a framework bug pre-N. */ - private final boolean mDisplayIndex; - public ListItemState(boolean heading, int index, boolean displayIndex) { + public ListItemState(boolean heading, int index) { mHeading = heading; mIndex = index; - mDisplayIndex = displayIndex; } @Override @@ -174,11 +156,7 @@ public boolean isHeading() { } public int getIndex() { - if (mDisplayIndex) { - return mIndex; - } else { - return -1; - } + return mIndex; } } @@ -244,22 +222,18 @@ public static class TableItemState implements ItemState { private final int mRowIndex; /** The column index. */ private final int mColumnIndex; - /** Whether the indices should be displayed; used to work around a framework bug pre-N. */ - private final boolean mDisplayIndices; public TableItemState( @TableHeadingType int heading, @Nullable CharSequence rowName, @Nullable CharSequence columnName, int rowIndex, - int columnIndex, - boolean displayIndices) { + int columnIndex) { mHeading = heading; mRowName = rowName; mColumnName = columnName; mRowIndex = rowIndex; mColumnIndex = columnIndex; - mDisplayIndices = displayIndices; } @Override @@ -295,19 +269,11 @@ public int getHeadingType() { } public int getRowIndex() { - if (mDisplayIndices) { - return mRowIndex; - } else { - return -1; - } + return mRowIndex; } public int getColumnIndex() { - if (mDisplayIndices) { - return mColumnIndex; - } else { - return -1; - } + return mColumnIndex; } } @@ -342,9 +308,7 @@ public CharSequence getCollectionRoleDescription() { } public int getCollectionRowCount() { - if (mCollectionRoot == null - || mCollectionRoot.getCollectionInfo() == null - || !mShouldComputeNumbering) { + if (mCollectionRoot == null || mCollectionRoot.getCollectionInfo() == null) { return -1; } @@ -352,9 +316,7 @@ public int getCollectionRowCount() { } public int getCollectionColumnCount() { - if (mCollectionRoot == null - || mCollectionRoot.getCollectionInfo() == null - || !mShouldComputeNumbering) { + if (mCollectionRoot == null || mCollectionRoot.getCollectionInfo() == null) { return -1; } @@ -363,7 +325,7 @@ public int getCollectionColumnCount() { @CollectionAlignment public int getCollectionAlignment() { - if (mCollectionRoot == null || !mShouldComputeNumbering) { + if (mCollectionRoot == null) { return ALIGNMENT_VERTICAL; } else { return getCollectionAlignmentInternal(mCollectionRoot.getCollectionInfo()); @@ -402,9 +364,7 @@ public boolean doesCollectionExist() { } private static @Nullable ListItemState getListItemState( - AccessibilityNodeInfoCompat collectionRoot, - AccessibilityNodeInfoCompat announcedNode, - boolean computeNumbering) { + AccessibilityNodeInfoCompat collectionRoot, AccessibilityNodeInfoCompat announcedNode) { if (collectionRoot == null || collectionRoot.getCollectionInfo() == null) { return null; } @@ -431,7 +391,7 @@ public boolean doesCollectionExist() { index = getColumnIndex(item, collection); } - return new ListItemState(heading, index, computeNumbering); + return new ListItemState(heading, index); } /** @@ -455,14 +415,10 @@ public boolean doesCollectionExist() { * pages. Its descendants include {@code announcedNode} * @param announcedNode the node that was given accessibility focus. It is or is a child of a page * item that belongs to the pager defined by {@code collectionRoot} - * @param computeHeaders is {@code true} if {@link - * #shouldComputeHeaders(AccessibilityNodeInfoCompat)} returns {@code true} * @return */ private static @Nullable PagerItemState extractPagerItemState( - AccessibilityNodeInfoCompat collectionRoot, - AccessibilityNodeInfoCompat announcedNode, - boolean computeHeaders) { + AccessibilityNodeInfoCompat collectionRoot, AccessibilityNodeInfoCompat announcedNode) { if ((collectionRoot == null) || (collectionRoot.getCollectionInfo() == null)) { return null; } @@ -484,7 +440,7 @@ public boolean doesCollectionExist() { CollectionInfoCompat collection = collectionRoot.getCollectionInfo(); CollectionItemInfoCompat item = collectionItem.getCollectionItemInfo(); - boolean heading = computeHeaders && collectionItem.isHeading(); + boolean heading = collectionItem.isHeading(); int rowIndex = getRowIndex(item, collection); int columnIndex = getColumnIndex(item, collection); @@ -510,9 +466,7 @@ public boolean doesCollectionExist() { AccessibilityNodeInfoCompat collectionRoot, AccessibilityNodeInfoCompat announcedNode, SparseArray rowHeaders, - SparseArray columnHeaders, - boolean computeHeaders, - boolean computeNumbering) { + SparseArray columnHeaders) { if (collectionRoot == null || collectionRoot.getCollectionInfo() == null) { return null; } @@ -531,14 +485,13 @@ public boolean doesCollectionExist() { CollectionInfoCompat collection = collectionRoot.getCollectionInfo(); CollectionItemInfoCompat item = collectionItem.getCollectionItemInfo(); - int heading = computeHeaders ? getTableHeading(collectionItem, item, collection) : TYPE_NONE; + int heading = getTableHeading(collectionItem, item, collection); int rowIndex = getRowIndex(item, collection); int columnIndex = getColumnIndex(item, collection); CharSequence rowName = rowIndex != -1 ? rowHeaders.get(rowIndex) : null; CharSequence columnName = columnIndex != -1 ? columnHeaders.get(columnIndex) : null; - return new TableItemState( - heading, rowName, columnName, rowIndex, columnIndex, computeNumbering); + return new TableItemState(heading, rowName, columnName, rowIndex, columnIndex); } /** @@ -620,30 +573,19 @@ public void updateCollectionInformation( case NAVIGATE_ENTER: { // Only recompute workarounds once per collection. - mShouldComputeHeaders = shouldComputeHeaders(newCollectionRoot); - mShouldComputeNumbering = shouldComputeNumbering(newCollectionRoot); mCollectionLevel = getCollectionLevelInternal(newCollectionRoot); ItemState newItemState = null; if (Role.getRole(newCollectionRoot) == Role.ROLE_GRID) { // Cache the row and column headers. - updateTableHeaderInfo( - newCollectionRoot, mRowHeaders, mColumnHeaders, mShouldComputeHeaders); + updateTableHeaderInfo(newCollectionRoot, mRowHeaders, mColumnHeaders); newItemState = - getTableItemState( - newCollectionRoot, - announcedNode, - mRowHeaders, - mColumnHeaders, - mShouldComputeHeaders, - mShouldComputeNumbering); + getTableItemState(newCollectionRoot, announcedNode, mRowHeaders, mColumnHeaders); } else if (Role.getRole(newCollectionRoot) == Role.ROLE_LIST) { - newItemState = - getListItemState(newCollectionRoot, announcedNode, mShouldComputeNumbering); + newItemState = getListItemState(newCollectionRoot, announcedNode); } else if (Role.getRole(newCollectionRoot) == Role.ROLE_PAGER) { - newItemState = - extractPagerItemState(newCollectionRoot, announcedNode, mShouldComputeHeaders); + newItemState = extractPagerItemState(newCollectionRoot, announcedNode); } // Row and column change only if we enter and there is collection item information. @@ -663,19 +605,11 @@ public void updateCollectionInformation( ItemState newItemState = null; if (Role.getRole(newCollectionRoot) == Role.ROLE_GRID) { newItemState = - getTableItemState( - newCollectionRoot, - announcedNode, - mRowHeaders, - mColumnHeaders, - mShouldComputeHeaders, - mShouldComputeNumbering); + getTableItemState(newCollectionRoot, announcedNode, mRowHeaders, mColumnHeaders); } else if (Role.getRole(newCollectionRoot) == Role.ROLE_LIST) { - newItemState = - getListItemState(newCollectionRoot, announcedNode, mShouldComputeNumbering); + newItemState = getListItemState(newCollectionRoot, announcedNode); } else if (Role.getRole(newCollectionRoot) == Role.ROLE_PAGER) { - newItemState = - extractPagerItemState(newCollectionRoot, announcedNode, mShouldComputeHeaders); + newItemState = extractPagerItemState(newCollectionRoot, announcedNode); } // Determine if the row and/or column has changed. @@ -719,15 +653,10 @@ public void updateCollectionInformation( private static void updateTableHeaderInfo( AccessibilityNodeInfoCompat collectionRoot, SparseArray rowHeaders, - SparseArray columnHeaders, - boolean computeHeaders) { + SparseArray columnHeaders) { rowHeaders.clear(); columnHeaders.clear(); - if (!computeHeaders) { - return; - } - if (collectionRoot == null || collectionRoot.getCollectionInfo() == null) { return; } @@ -911,49 +840,4 @@ private static boolean hasMultipleItems(int rows, int columns) { return true; } - /** - * Don't compute headers if: (1) API level is pre-N, and (2) the collection root is not a - * descendant of a WebView, and (3) the collection root is itself a ListView or GridView. - * - *

        Under these circumstances, the framework ListView/GridView will mark headers as non-headers - * and vice-versa. - */ - private static boolean shouldComputeHeaders(@NonNull AccessibilityNodeInfoCompat collectionRoot) { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { - if (!AccessibilityNodeInfoUtils.hasMatchingAncestor(collectionRoot, FILTER_WEBVIEW)) { - // TODO: Convert to use Role. - // Bugs exist in specific classes, so check class names and not roles. - if (AccessibilityNodeInfoUtils.nodeIsListOrGrid(collectionRoot)) { - return false; - } - } - } - - return true; - } - - /** - * Don't compute indices or row/column counts if: (1) API level is pre-N, (2) the collection root - * is not a descendant of a WebView, and (3) the collection root is not a pager. - * - *

        Item indices are broken in some major first-party apps that use "spacer" items in - * collections; this check makes sure no apps in the wild are affected. TODO: Re-evaluate - * this check before N release to see if it needs to be extended to N. - * - *

        Always compute for pagers. The ability to have pagers with collections was introduced after - * these bugs, and visually pagers should not have "spacer" items. - */ - private static boolean shouldComputeNumbering( - @NonNull AccessibilityNodeInfoCompat collectionRoot) { - if (Role.getRole(collectionRoot) == Role.ROLE_PAGER) { - return true; - } - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { - if (!AccessibilityNodeInfoUtils.hasMatchingAncestor(collectionRoot, FILTER_WEBVIEW)) { - return false; - } - } - - return true; - } } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/DiagnosticOverlayController.java b/utils/src/main/java/com/google/android/accessibility/utils/DiagnosticOverlayController.java index 8cac6f3ea..aa52c29c5 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/DiagnosticOverlayController.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/DiagnosticOverlayController.java @@ -1,25 +1,16 @@ package com.google.android.accessibility.utils; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.accessibility.utils.DiagnosticOverlayUtils.DiagnosticType; -import com.google.errorprone.annotations.FormatMethod; -import com.google.errorprone.annotations.FormatString; /** Interface for appending logs to controller */ public interface DiagnosticOverlayController { - /** - * Receives and appends log to controller - * - * @param format The format of incoming log - * @param args The log and other debugging objects - */ - // TODO - need to create new data structure for log records - @FormatMethod - void appendLog(@FormatString String format, Object... args); - /** * Receives and appends the category of {@link DiagnosticType} and related debugging objects * {@code args} */ - void appendLog(@DiagnosticType Integer diagnosticInfo, Object... args); + void appendLog(@DiagnosticType Integer diagnosticInfo, AccessibilityNodeInfoCompat node); + + void appendLog(@DiagnosticType Integer diagnosticInfo, AccessibilityNode node); } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/DiagnosticOverlayUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/DiagnosticOverlayUtils.java index dbb9309dd..1c2162438 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/DiagnosticOverlayUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/DiagnosticOverlayUtils.java @@ -1,6 +1,7 @@ package com.google.android.accessibility.utils; import androidx.annotation.IntDef; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import org.checkerframework.checker.nullness.qual.Nullable; @@ -14,6 +15,7 @@ public class DiagnosticOverlayUtils { public static final int FOCUS_FAIL_SAME_WINDOW_BOUNDS_CHILDREN = 2; public static final int FOCUS_FAIL_NOT_VISIBLE = 3; public static final int SEARCH_FOCUS_FAIL = 4; + public static final int REFOCUS_PATH = 5; /** * Types defining what category of debugging controller needs to handle based on information sent @@ -25,7 +27,8 @@ public class DiagnosticOverlayUtils { FOCUS_FAIL_NOT_SPEAKABLE, FOCUS_FAIL_SAME_WINDOW_BOUNDS_CHILDREN, FOCUS_FAIL_NOT_VISIBLE, - SEARCH_FOCUS_FAIL + SEARCH_FOCUS_FAIL, + REFOCUS_PATH }) @Retention(RetentionPolicy.SOURCE) public @interface DiagnosticType {}; @@ -44,9 +47,16 @@ public static void setDiagnosticOverlayController( * Receives and forwards the category of {@link DiagnosticType} and related debugging objects * {@code args} to the controller. */ - public static void appendLog(@DiagnosticType Integer diagnosticInfo, Object... args) { + public static void appendLog( + @DiagnosticType Integer diagnosticInfo, AccessibilityNodeInfoCompat node) { if (diagnosticOverlayController != null) { - diagnosticOverlayController.appendLog(diagnosticInfo, args); + diagnosticOverlayController.appendLog(diagnosticInfo, node); + } + } + + public static void appendLog(@DiagnosticType Integer diagnosticInfo, AccessibilityNode node) { + if (diagnosticOverlayController != null) { + diagnosticOverlayController.appendLog(diagnosticInfo, node); } } } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/EditTextActionHistory.java b/utils/src/main/java/com/google/android/accessibility/utils/EditTextActionHistory.java index 874802796..fc113c464 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/EditTextActionHistory.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/EditTextActionHistory.java @@ -17,8 +17,12 @@ package com.google.android.accessibility.utils; import android.os.SystemClock; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -/** Maintains a history of when EditText actions occurred. */ +/** + * Maintains a history of when EditText actions or selection of {@link + * AccessibilityNodeInfoUtils#isNonEditableSelectableText(AccessibilityNodeInfoCompat)} occurred. + */ public class EditTextActionHistory { /** Read-only interface, for use by event-interpreters. */ diff --git a/utils/src/main/java/com/google/android/accessibility/utils/Event.java b/utils/src/main/java/com/google/android/accessibility/utils/Event.java index 89905a50c..d3e6b19c1 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/Event.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/Event.java @@ -112,29 +112,6 @@ public Event create() { } }; - /////////////////////////////////////////////////////////////////////////////////////// - // Recycling - - /** - * Returns whether the wrapped event is already recycled. - * - *

        TODO: Remove once all dependencies have been removed. - * - * @deprecated Accessibility is discontinuing recycling. Function will return false. - */ - @Deprecated - public final synchronized boolean isRecycled() { - return false; - } - - /** - * Recycles the wrapped node & window. Errors if called more than once. - * - * @deprecated Accessibility is discontinuing recycling. - */ - @Deprecated - public final synchronized void recycle(String caller) {} - /////////////////////////////////////////////////////////////////////////////////////// // AccessibilityEvent/Compat methods. Also see: // https://developer.android.com/reference/android/view/accessibility/AccessibilityEvent diff --git a/utils/src/main/java/com/google/android/accessibility/utils/FeatureSupport.java b/utils/src/main/java/com/google/android/accessibility/utils/FeatureSupport.java index 96ed253f7..dd044f098 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/FeatureSupport.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/FeatureSupport.java @@ -20,10 +20,12 @@ import static android.content.Context.VIBRATOR_SERVICE; import android.Manifest; +import android.accessibilityservice.AccessibilityService; import android.accessibilityservice.AccessibilityServiceInfo; import android.annotation.SuppressLint; import android.app.UiModeManager; import android.content.Context; +import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Configuration; import android.hardware.Sensor; @@ -34,10 +36,14 @@ import android.util.Log; import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityWindowInfo; +import androidx.annotation.Nullable; +import com.google.android.accessibility.utils.AccessibilityServiceCompatUtils.Constants; import com.google.android.libraries.accessibility.utils.log.LogUtils; /** Methods to check hardware and software support for operating system features. */ public final class FeatureSupport { + @Nullable private static Boolean brailleDisplaySettingsActivityPresent = null; + @Nullable private static Boolean brailleKeyboardSettingsActivityPresent = null; public static boolean isWatch(Context context) { return context @@ -64,11 +70,6 @@ public static boolean isPhoneOrTablet(Context context) { return (!isWatch(context) && !isArc() && !isTv(context)); } - /** Returns {@code true} if the device supports accessibility shortcut. */ - public static boolean hasAccessibilityShortcut(Context context) { - return isPhoneOrTablet(context) && BuildVersionUtils.isAtLeastO(); - } - public static boolean useSpeakPasswordsServicePref() { return BuildVersionUtils.isAtLeastO(); } @@ -113,7 +114,12 @@ public static boolean supportVibrationEffect() { return BuildVersionUtils.isAtLeastO(); } - public static boolean disableAnimation() { + /** Return whether enable/disable IME is supported on this device. */ + public static boolean supportEnableDisableIme() { + return BuildVersionUtils.isAtLeastT(); + } + + public static boolean supportsUserDisablingOfGlobalAnimations() { return BuildVersionUtils.isAtLeastP(); } @@ -153,8 +159,8 @@ public static boolean supportContentDescriptionInReplacementSpan() { return BuildVersionUtils.isAtLeastR(); } - /** Returns {@code true} if the device supports system actions. */ - public static boolean supportSystemActions(Context context) { + /** Returns {@code true} if the device supports to get system actions. */ + public static boolean supportGetSystemActions(Context context) { return BuildVersionUtils.isAtLeastR() && !isWatch(context); } @@ -181,16 +187,34 @@ public static boolean supportMagnificationController() { * onMagnificationChanged listener doesn't support this yet. To prevent user confusing, this is * blocked after S. */ - // TODO: framework support onMagnificationChanged() for Window magnification at next - // Android. public static boolean supportAnnounceMagnificationChanged() { + // TODO Add VERSION_CODES.S_V2 after SDK_INT for T is available. return BuildVersionUtils.isAtLeastN() && Build.VERSION.SDK_INT != VERSION_CODES.S; } + /** + * Returns {@code true} if AccessibilityService and the device supports window magnification + * feature. AccessibilityService can control window magnification by new API since T. + */ + public static boolean supportWindowMagnification(Context context) { + return BuildVersionUtils.isAtLeastT() + && context + .getPackageManager() + .hasSystemFeature(PackageManager.FEATURE_WINDOW_MAGNIFICATION); + } + public static boolean isBoundsScaledUpByMagnifier() { return BuildVersionUtils.isAtLeastOMR1(); } + /** + * Returns {@code true} if TalkBack handles the window state change event that requires pane + * title. + */ + public static boolean windowStateChangeRequiresPane() { + return BuildVersionUtils.isAtLeastT(); + } + public static boolean supportMultiDisplay() { return BuildVersionUtils.isAtLeastR(); } @@ -242,6 +266,10 @@ public static boolean supportSettingsTheme() { return BuildVersionUtils.isAtLeastS(); } + public static boolean supportSpeechState() { + return BuildVersionUtils.isAtLeastT(); + } + /** * Provides a Talkback menu item to manually enter or change a percentage value for seek controls. * This functionality is only available on Android N and later. REFERTO. @@ -269,6 +297,11 @@ public static boolean isMultiFingerGestureSupported() { != null; } + /** Returns true if the platform supports FLAG_SERVICE_HANDLES_DOUBLE_TAP. */ + public static boolean doesServiceHandleDoubleTap() { + return BuildVersionUtils.isAtLeastR(); + } + /** * From Android S and forward, platform extends the multi-finger gestures with * GESTURE_2_FINGER_TRIPLE_TAP_AND_HOLD(43) GESTURE_3_FINGER_SINGLE_TAP_AND_HOLD(44) @@ -297,6 +330,16 @@ public static boolean supportLongVersionCode() { return BuildVersionUtils.isAtLeastP(); } + /** Returns whether the android-version supports AccessibilityEvent.getScrollDeltaX/Y() */ + public static boolean scrollDelta() { + return BuildVersionUtils.isAtLeastP(); + } + + /** Returns whether the android-version supports AccessibilityEvent.getWindowChanges() */ + public static boolean windowChanges() { + return BuildVersionUtils.isAtLeastP(); + } + /** * Supports accessibility button from Android O. * * @@ -321,6 +364,26 @@ public static boolean supportProximitySensor(Context context) { != null; } + /** Returns {@code true} if the device has braille keyboard supported. */ + public static boolean supportBrailleKeyboard(Context context) { + if (brailleKeyboardSettingsActivityPresent == null) { + Intent activityIntent = new Intent().setComponent(Constants.BRAILLE_KEYBOARD_SETTINGS); + brailleKeyboardSettingsActivityPresent = + activityIntent.resolveActivityInfo(context.getPackageManager(), 0) != null; + } + return brailleKeyboardSettingsActivityPresent; + } + + /** Returns {@code true} if the device has braille display supported. */ + public static boolean supportBrailleDisplay(Context context) { + if (brailleDisplaySettingsActivityPresent == null) { + Intent activityIntent = new Intent().setComponent(Constants.BRAILLE_DISPLAY_SETTINGS); + brailleDisplaySettingsActivityPresent = + activityIntent.resolveActivityInfo(context.getPackageManager(), 0) != null; + } + return brailleDisplaySettingsActivityPresent; + } + /** * Returns {@code true} if the order of receiving touch interaction event and hover event is NOT * guaranteed. @@ -343,4 +406,19 @@ public static boolean hoverEventOutOfOrder() { public static boolean logcatIncludePsi() { return BuildConfig.DEBUG || (LogUtils.getLogLevel() < Log.ERROR); } + + /** Returns {@code true} if the device is running at least API 32 */ + public static boolean supportDragAndDrop() { + return BuildVersionUtils.isAtLeastS2(); + } + + /** Returns {@code true} if the device supports animation off by Accessibility service. */ + public static boolean supportsServiceControlOfGlobalAnimations() { + return BuildVersionUtils.isAtLeastT(); + } + + /** Returns {@code true} if the device supports AccessibilityNodeInfo#isTextSelectable */ + public static boolean supportsIsTextSelectable() { + return BuildVersionUtils.isAtLeastT(); + } } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/FocusFinder.java b/utils/src/main/java/com/google/android/accessibility/utils/FocusFinder.java index f0167e2e6..fef8df349 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/FocusFinder.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/FocusFinder.java @@ -48,6 +48,11 @@ public FocusFinder(AccessibilityService service) { this.service = service; } + /** Returns the view that has accessibility-focus. */ + public @Nullable AccessibilityNodeInfoCompat findAccessibilityFocus() { + return getAccessibilityFocusNode(service, false); + } + /** Finds the view that has the specified focus type. The type is defined in {@link FocusType}. */ public @Nullable AccessibilityNodeInfoCompat findFocusCompat(@FocusType int focusType) { switch (focusType) { @@ -67,53 +72,44 @@ public FocusFinder(AccessibilityService service) { * focus is found, it allows to return the root node of the active window. * * @param fallbackOnRoot true for returning the root node if no focus is found. - *

        Note: Caller is responsible for recycling the returned node. */ public static @Nullable AccessibilityNodeInfoCompat getAccessibilityFocusNode( AccessibilityService service, boolean fallbackOnRoot) { - AccessibilityNodeInfo focused = null; - AccessibilityNodeInfo root = null; - - try { - AccessibilityNodeInfo ret = null; - focused = service.findFocus(AccessibilityNodeInfo.FOCUS_ACCESSIBILITY); - if (focused == null) { - // Find the focused node from the root of the active window, as a alternative method if - // couldn't find the focused node by AccessibilityService. - root = service.getRootInActiveWindow(); - if (root != null) { - focused = root.findFocus(AccessibilityNodeInfo.FOCUS_ACCESSIBILITY); - } + AccessibilityNodeInfo ret = null; + AccessibilityNodeInfo focused = service.findFocus(AccessibilityNodeInfo.FOCUS_ACCESSIBILITY); + if (focused == null) { + // Find the focused node from the root of the active window, as a alternative method if + // couldn't find the focused node by AccessibilityService. + AccessibilityNodeInfo root = service.getRootInActiveWindow(); + if (root != null) { + focused = root.findFocus(AccessibilityNodeInfo.FOCUS_ACCESSIBILITY); } + } - if (focused != null) { - // If the focused node is from WebView, we still need to return it even though it's not - // visible to user. REFERTO for details. - if (focused.isVisibleToUser() - || WebInterfaceUtils.isWebContainer(AccessibilityNodeInfoUtils.toCompat(focused))) { - ret = focused; - focused = null; - } + if (focused != null) { + // If the focused node is from WebView, we still need to return it even though it's not + // visible to user. REFERTO for details. + if (focused.isVisibleToUser() + || WebInterfaceUtils.isWebContainer(AccessibilityNodeInfoUtils.toCompat(focused))) { + ret = focused; + focused = null; } + } - if (ret == null && fallbackOnRoot) { - ret = service.getRootInActiveWindow(); - if (ret == null) { - LogUtils.e(TAG, "No current window root"); - } + if (ret == null && fallbackOnRoot) { + ret = service.getRootInActiveWindow(); + if (ret == null) { + LogUtils.e(TAG, "No current window root"); } + } - if (ret != null) { - // When AccessibilityNodeProvider is used, the returned node may be stale. - boolean exist = ret.refresh(); - if (!exist) { - AccessibilityNodeInfoUtils.recycleNodes(ret); - return null; - } - return AccessibilityNodeInfoUtils.toCompat(ret); + if (ret != null) { + // When AccessibilityNodeProvider is used, the returned node may be stale. + boolean exist = ret.refresh(); + if (!exist) { + return null; } - } finally { - AccessibilityNodeInfoUtils.recycleNodes(focused, root); + return AccessibilityNodeInfoUtils.toCompat(ret); } return null; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/ImageContents.java b/utils/src/main/java/com/google/android/accessibility/utils/ImageContents.java index 1420daf7a..cff10c33d 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/ImageContents.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/ImageContents.java @@ -39,11 +39,7 @@ public ImageContents(LabelManager labelManager, ImageCaptionStorage imageCaption this.imageCaptionStorage = imageCaptionStorage; } - /** - * Retrieves custom labels from the database. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Retrieves custom labels from the database. */ public @Nullable String getLabel(AccessibilityNodeInfoCompat node) { if (labelManager == null) { return null; @@ -52,11 +48,7 @@ public ImageContents(LabelManager labelManager, ImageCaptionStorage imageCaption return (label == null || label.getText() == null) ? null : label.getText(); } - /** - * Retrieves the results of image captions from the cache. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Retrieves the results of image captions from the cache. */ public @Nullable CharSequence getCaptionResult(AccessibilityNodeInfoCompat node) { if (imageCaptionStorage == null) { return null; @@ -67,11 +59,7 @@ public ImageContents(LabelManager labelManager, ImageCaptionStorage imageCaption : captionResult.getOcrText(); } - /** - * Retrieves the localized label of the detected icon which matches the specified node. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Retrieves the localized label of the detected icon which matches the specified node. */ public @Nullable CharSequence getDetectedIconLabel( Locale locale, AccessibilityNodeInfoCompat node) { if (imageCaptionStorage == null) { @@ -93,21 +81,13 @@ public ImageContents(LabelManager labelManager, ImageCaptionStorage imageCaption detectedIconLabel = imageNode.getDetectedIconLabel(); } } else { - AccessibilityNode wrapNode = AccessibilityNode.obtainCopy(node); - try { - imageCaptionStorage.updateDetectedIconLabel(wrapNode, detectedIconLabel); - } finally { - AccessibilityNode.recycle("ImageContents.getDetectedIconLabel()", wrapNode); - } + imageCaptionStorage.updateDetectedIconLabel( + AccessibilityNode.obtainCopy(node), detectedIconLabel); } return detectedIconLabel; } - /** - * Checks if the node needs a label. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Checks if the node needs a label. */ public boolean needsLabel(AccessibilityNodeInfoCompat node) { return labelManager != null && labelManager.needsLabel(node); } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyboardUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/KeyboardUtils.java similarity index 85% rename from utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyboardUtils.java rename to utils/src/main/java/com/google/android/accessibility/utils/KeyboardUtils.java index f83dd5f93..f15d2a09a 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/KeyboardUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/KeyboardUtils.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.utils.keyboard; +package com.google.android.accessibility.utils; import android.accessibilityservice.AccessibilityService; import android.content.ComponentName; @@ -23,7 +23,6 @@ import android.text.TextUtils; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; -import com.google.android.accessibility.utils.AccessibilityServiceCompatUtils; import java.util.ArrayList; import java.util.List; @@ -76,6 +75,21 @@ public static String getEnabledImeId(Context context, String packageName) { return ""; } + /** Gets id of first {@link InputMethodInfo} whose package matches {@code packageName}. */ + public static String getImeId(Context context, String packageName) { + InputMethodManager inputMethodManager = + (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + if (inputMethodManager != null) { + List inputMethodInfoList = inputMethodManager.getInputMethodList(); + for (InputMethodInfo inputMethodInfo : inputMethodInfoList) { + if (inputMethodInfo.getPackageName().equals(packageName)) { + return inputMethodInfo.getId(); + } + } + } + return ""; + } + /** * Returns next enabled ime id. If it's the tail of enabled list, return the first enabled ime. * Empty if it's the only enabled ime. diff --git a/utils/src/main/java/com/google/android/accessibility/utils/Performance.java b/utils/src/main/java/com/google/android/accessibility/utils/Performance.java index dee42f8ab..de9961f72 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/Performance.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/Performance.java @@ -746,8 +746,7 @@ public static class EventId { private final int mEventSubtype; /** - * Create a small event identifier for tracking event through processing stages, even after - * AccessibilityEvent has been recycled. + * Create a small event identifier for tracking event through processing stages. * * @param time Time in milliseconds. * @param type Event object type. diff --git a/utils/src/main/java/com/google/android/accessibility/utils/PreferencesActivity.java b/utils/src/main/java/com/google/android/accessibility/utils/PreferencesActivity.java index e6dadf51b..3453fcba9 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/PreferencesActivity.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/PreferencesActivity.java @@ -45,6 +45,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { if (FeatureSupport.isTv(this)) { disableExpandActionBar(); + hideBackButton(); } if (supportHatsSurvey()) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/Role.java b/utils/src/main/java/com/google/android/accessibility/utils/Role.java index 1544d50a6..e19552d0b 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/Role.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/Role.java @@ -20,11 +20,9 @@ import android.widget.ProgressBar; import android.widget.SeekBar; import androidx.annotation.IntDef; -import androidx.core.view.accessibility.AccessibilityEventCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.CollectionInfoCompat; -import androidx.core.view.accessibility.AccessibilityRecordCompat; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import org.checkerframework.checker.nullness.qual.Nullable; @@ -141,13 +139,7 @@ public static int getSourceRole(AccessibilityEvent event) { } // Extract event's source node, and map source node class to role. - AccessibilityRecordCompat eventRecord = AccessibilityEventCompat.asRecord(event); - AccessibilityNodeInfoCompat source = eventRecord.getSource(); - try { - return getRole(source); - } finally { - AccessibilityNodeInfoUtils.recycleNodes(source); - } + return getRole(event.getSource()); } /** Find role from source event's class name string. */ @@ -242,7 +234,7 @@ public static int getRole(@Nullable AccessibilityNodeInfoCompat node) { } // We check Text entry key from property instead of class, so it needs to be in the beginning. - if (AccessibilityNodeInfoUtils.isTextEntryKey(node)) { + if (node.isTextEntryKey()) { return ROLE_TEXT_ENTRY_KEY; } CharSequence className = node.getClassName(); diff --git a/utils/src/main/java/com/google/android/accessibility/utils/ServiceStateListener.java b/utils/src/main/java/com/google/android/accessibility/utils/ServiceStateListener.java index 85e4edc63..fff523e4e 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/ServiceStateListener.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/ServiceStateListener.java @@ -28,14 +28,12 @@ public interface ServiceStateListener { final int SERVICE_STATE_INACTIVE = 0; /** The state of the service when it initialized and active. */ final int SERVICE_STATE_ACTIVE = 1; - /** The state of the service when it has been suspended by the user. */ - final int SERVICE_STATE_SUSPENDED = 2; /** * The state of the service when it is in the process of beeing shut down by the user. Unhandled * exceptions will be logged in this state but will not be passed on to the system's unhandled * exception handler. */ - final int SERVICE_STATE_SHUTTING_DOWN = 3; + final int SERVICE_STATE_SHUTTING_DOWN = 2; void onServiceStateChanged(int newState); } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/SettingsUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/SettingsUtils.java index 8af4782df..6aaf6a3bf 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/SettingsUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/SettingsUtils.java @@ -53,10 +53,10 @@ public static boolean isAccessibilityServiceEnabled(Context context, String pack * false. */ public static boolean isAnimationDisabled(Context context) { - return FeatureSupport.disableAnimation() - && (0 == getGlobalInt(context, Settings.Global.WINDOW_ANIMATION_SCALE)) - && (0 == getGlobalInt(context, Settings.Global.TRANSITION_ANIMATION_SCALE)) - && (0 == getGlobalInt(context, Settings.Global.ANIMATOR_DURATION_SCALE)); + return FeatureSupport.supportsUserDisablingOfGlobalAnimations() + && (0 == getGlobalFloat(context, Settings.Global.WINDOW_ANIMATION_SCALE)) + && (0 == getGlobalFloat(context, Settings.Global.TRANSITION_ANIMATION_SCALE)) + && (0 == getGlobalFloat(context, Settings.Global.ANIMATOR_DURATION_SCALE)); } /** @@ -79,8 +79,7 @@ public static boolean requestWriteSettingsPermission(Context context) { } /** Returns value of constants in Settings.Global. */ - private static int getGlobalInt(Context context, String constantName) { - int value = Settings.Global.getInt(context.getContentResolver(), constantName, -1); - return value; + private static float getGlobalFloat(Context context, String constantName) { + return Settings.Global.getFloat(context.getContentResolver(), constantName, -1); } } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/SpannableUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/SpannableUtils.java index f3dfe2b1d..370028ee0 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/SpannableUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/SpannableUtils.java @@ -16,7 +16,6 @@ package com.google.android.accessibility.utils; -import android.os.Build; import android.os.LocaleList; import android.os.PersistableBundle; import android.text.ParcelableSpan; @@ -32,7 +31,6 @@ import android.util.Log; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.libraries.accessibility.utils.log.LogUtils; -import java.util.Locale; import java.util.Set; import org.checkerframework.checker.nullness.qual.Nullable; @@ -188,24 +186,16 @@ public static void stripTargetSpanFromText(CharSequence text, Class spanC // Extra data. if (span instanceof LocaleSpan) { LocaleSpan localeSpan = (LocaleSpan) span; - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { - Locale locale = localeSpan.getLocale(); - if (locale != null) { - stringBuilder.append(" locale="); - stringBuilder.append(locale); - } - } else { - LocaleList localeList = localeSpan.getLocales(); - int size = localeList.size(); - if (size > 0) { - stringBuilder.append(" locale=["); - for (int i = 0; i < size - 1; i++) { - stringBuilder.append(localeList.get(i)); - stringBuilder.append(","); - } - stringBuilder.append(localeList.get(size - 1)); - stringBuilder.append("]"); + LocaleList localeList = localeSpan.getLocales(); + int size = localeList.size(); + if (size > 0) { + stringBuilder.append(" locale=["); + for (int i = 0; i < size - 1; i++) { + stringBuilder.append(localeList.get(i)); + stringBuilder.append(","); } + stringBuilder.append(localeList.get(size - 1)); + stringBuilder.append("]"); } } else if (span instanceof TtsSpan) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/Supplier.java b/utils/src/main/java/com/google/android/accessibility/utils/Supplier.java new file mode 100644 index 000000000..a3aa1b440 --- /dev/null +++ b/utils/src/main/java/com/google/android/accessibility/utils/Supplier.java @@ -0,0 +1,11 @@ +package com.google.android.accessibility.utils; + +import com.google.errorprone.annotations.CheckReturnValue; + +/** Compat version of {@link java.util.function.Supplier} */ +@CheckReturnValue +public interface Supplier { + + /** Gets a result. */ + T get(); +} diff --git a/utils/src/main/java/com/google/android/accessibility/utils/TreeDebug.java b/utils/src/main/java/com/google/android/accessibility/utils/TreeDebug.java index 8c13c5121..9a44aa738 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/TreeDebug.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/TreeDebug.java @@ -19,9 +19,11 @@ import android.accessibilityservice.AccessibilityService; import android.graphics.Rect; import android.text.TextUtils; +import android.view.accessibility.AccessibilityNodeInfo; import android.view.accessibility.AccessibilityWindowInfo; import androidx.annotation.NonNull; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import com.google.android.accessibility.utils.compat.CompatUtils; import com.google.android.accessibility.utils.traversal.OrderedTraversalStrategy; import com.google.android.libraries.accessibility.utils.log.LogUtils; import java.util.HashSet; @@ -49,7 +51,6 @@ public static void logNodeTrees(List windows) { AccessibilityNodeInfoCompat root = AccessibilityNodeInfoUtils.toCompat(AccessibilityWindowInfoUtils.getRoot(window)); logNodeTree(root); - AccessibilityNodeInfoUtils.recycleNodes(root); } } @@ -61,9 +62,6 @@ public static void logNodeTree(@Nullable AccessibilityNodeInfoCompat node) { HashSet seen = new HashSet<>(); logNodeTree(AccessibilityNodeInfoCompat.obtain(node), "", seen); - for (AccessibilityNodeInfoCompat n : seen) { - n.recycle(); - } } private static void logNodeTree( @@ -99,6 +97,19 @@ private static void appendSimpleName(StringBuilder sb, CharSequence fullName) { sb.append(fullName, dotIndex, fullName.length()); } + // FocusActionRecord.getUniqueIdViaReflection() is used temporarily. TODO: call + // AccessibilityNodeInfoCompat.getUniqueId() instead. + private static String getUniqueIdViaReflection(AccessibilityNodeInfoCompat nodeInfo) { + if (nodeInfo == null) { + return null; + } + return (String) + CompatUtils.invoke( + nodeInfo.unwrap(), + /* defaultValue= */ null, + CompatUtils.getMethod(AccessibilityNodeInfo.class, "getUniqueId")); + } + /** Gets a description of the properties of a node. */ public static CharSequence nodeDebugDescription(AccessibilityNodeInfoCompat node) { StringBuilder sb = new StringBuilder(); @@ -110,6 +121,13 @@ public static CharSequence nodeDebugDescription(AccessibilityNodeInfoCompat node sb.append("??"); } + String uniqueId = getUniqueIdViaReflection(node); + if (uniqueId != null) { + sb.append(":U("); + sb.append(uniqueId); + sb.append(")"); + } + if (!node.isVisibleToUser()) { sb.append(":invisible"); } @@ -272,7 +290,6 @@ public static void logOrderedTraversalTree(List windows AccessibilityNodeInfoCompat root = AccessibilityNodeInfoUtils.toCompat(AccessibilityWindowInfoUtils.getRoot(window)); logOrderedTraversalTree(root); - AccessibilityNodeInfoUtils.recycleNodes(root); } } @@ -283,7 +300,6 @@ private static void logOrderedTraversalTree(@Nullable AccessibilityNodeInfoCompa } OrderedTraversalStrategy orderTraversalStrategy = new OrderedTraversalStrategy(node); orderTraversalStrategy.dumpTree(); - orderTraversalStrategy.recycle(); } /** diff --git a/utils/src/main/java/com/google/android/accessibility/utils/WebInterfaceUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/WebInterfaceUtils.java index e9dd3f13c..6dd91d978 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/WebInterfaceUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/WebInterfaceUtils.java @@ -113,13 +113,9 @@ public boolean accept(AccessibilityNodeInfoCompat node) { if (node == null) { return false; } - AccessibilityNodeInfoCompat parent = node.getParent(); - try { - return Role.getRole(node) == Role.ROLE_WEB_VIEW - && Role.getRole(parent) != Role.ROLE_WEB_VIEW; - } finally { - AccessibilityNodeInfoUtils.recycleNodes(parent); - } + + return Role.getRole(node) == Role.ROLE_WEB_VIEW + && Role.getRole(node.getParent()) != Role.ROLE_WEB_VIEW; } }; @@ -188,7 +184,7 @@ public static boolean performNavigationByDOMObject( /** * Gets supported html elements, such as HEADING, LANDMARK, LINK and LIST, by - * AccessibilityNodeInfoCompat. Caller retains ownership of node, caller must recycle this node. + * AccessibilityNodeInfoCompat. * * @param node The node containing supported html elements * @return supported html elements @@ -374,19 +370,10 @@ public static boolean hasLegacyWebContent(AccessibilityNodeInfoCompat node) { // ChromeVox does not have sub elements, so if the parent element also has web content // this cannot be ChromeVox. - AccessibilityNodeInfoCompat parent = node.getParent(); - if (supportsWebActions(parent)) { - if (parent != null) { - parent.recycle(); - } - + if (supportsWebActions(node.getParent())) { return false; } - if (parent != null) { - parent.recycle(); - } - // ChromeVox never has child elements return node.getChildCount() == 0; } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/WindowUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/WindowUtils.java index e3a5318bc..608c3b86d 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/WindowUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/WindowUtils.java @@ -21,6 +21,7 @@ import android.content.res.Configuration; import android.graphics.Insets; import android.graphics.Rect; +import android.hardware.display.DisplayManager; import android.text.TextUtils; import android.util.DisplayMetrics; import android.view.Display; @@ -32,6 +33,9 @@ import android.view.accessibility.AccessibilityWindowInfo; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; /** Utility functions for system-UI windows. */ public class WindowUtils { @@ -127,6 +131,51 @@ && isRoughEqual(rect.bottom, metrics.heightPixels)) { return false; } + /** + * Returns {@code true} if the input system window is a system bar window, for example status bar, + * navigation bar and caption bar. And this method supports multi-display feature. + * + * @param context context + * @param window the target window to check + * @see android.view.WindowInsets.Type + */ + public static boolean isSystemBar( + @NonNull Context context, @NonNull AccessibilityWindowInfo window) { + if (window.getType() != AccessibilityWindowInfo.TYPE_SYSTEM) { + return false; + } + if (!FeatureSupport.supportReportingInsetsByZOrder()) { + return isNavigationBar(context, window) || isStatusBar(context, window); + } + + final WindowManager windowManager; + int displayId = AccessibilityWindowInfoUtils.getDisplayId(window); + if (displayId == Display.DEFAULT_DISPLAY) { + windowManager = context.getSystemService(WindowManager.class); + } else { + DisplayManager displayManager = context.getSystemService(DisplayManager.class); + Display display = displayManager.getDisplay(displayId); + final Context displayContext = context.createDisplayContext(display); + windowManager = displayContext.getSystemService(WindowManager.class); + } + WindowMetrics windowMetrics = windowManager.getCurrentWindowMetrics(); + Rect windowBoundsExcludedSystemBars = new Rect(windowMetrics.getBounds()); + Insets windowInsets = + windowMetrics.getWindowInsets().getInsetsIgnoringVisibility(WindowInsets.Type.systemBars()); + windowBoundsExcludedSystemBars.inset(windowInsets); + + // The systemBar window should not intersect or overlap the non-systemBar window. + // While on the foldable phone, the navigation bar window would have 1dp overlaps with + // non-systemBar window due to the rounded corner. + Rect windowBounds = new Rect(); + window.getBoundsInScreen(windowBounds); + if (Rect.intersects(windowBoundsExcludedSystemBars, windowBounds)) { + return !windowBoundsExcludedSystemBars.contains(windowBounds); + } else { + return true; + } + } + /** * Gets the global window insets from the window metrics. * @@ -149,13 +198,17 @@ public static Insets getWindowInsets(WindowMetrics windowMetrics) { */ public static boolean rootChildMatchesResId(AccessibilityService service, int resId) { AccessibilityNodeInfo root = service.getRootInActiveWindow(); - try { - return (root != null) - && WindowUtils.isChildNodeResId( - service, AccessibilityNodeInfoUtils.getWindow(root), resId); - } finally { - AccessibilityNodeInfoUtils.recycleNodes(root); - } + return (root != null) + && WindowUtils.isChildNodeResId(service, AccessibilityNodeInfoUtils.getWindow(root), resId); + } + + /** Gets the list of all displays. */ + @NonNull + public static List getAllDisplays(Context context) { + List displays = + Arrays.asList(context.getSystemService(DisplayManager.class).getDisplays()); + displays.removeAll(Collections.singletonList(null)); + return displays; } /** Return true if {@code resId} is the resource ID of child node. */ @@ -170,26 +223,18 @@ private static boolean isChildNodeResId( return false; } - AccessibilityNodeInfo node = null; - try { - for (int i = 0; i < root.getChildCount(); i++) { - node = root.getChild(i); - if (node == null) { - continue; - } - boolean result = - TextUtils.equals( - node.getViewIdResourceName(), context.getResources().getResourceName(resId)); - AccessibilityNodeInfoUtils.recycleNodes(node); - node = null; - if (result) { - return true; - } + for (int i = 0; i < root.getChildCount(); i++) { + AccessibilityNodeInfo node = root.getChild(i); + if (node == null) { + continue; + } + + if (TextUtils.equals( + node.getViewIdResourceName(), context.getResources().getResourceName(resId))) { + return true; } - return false; - } finally { - AccessibilityNodeInfoUtils.recycleNodes(node, root); } + return false; } /** Return {@code true} if {@code intA} is equal to {@code intB} roughly. */ diff --git a/utils/src/main/java/com/google/android/accessibility/utils/accessibilitybutton/AccessibilityButtonMonitor.java b/utils/src/main/java/com/google/android/accessibility/utils/accessibilitybutton/AccessibilityButtonMonitor.java index 87505913d..9df09f144 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/accessibilitybutton/AccessibilityButtonMonitor.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/accessibilitybutton/AccessibilityButtonMonitor.java @@ -3,10 +3,8 @@ import android.accessibilityservice.AccessibilityButtonController; import android.accessibilityservice.AccessibilityService; import android.accessibilityservice.AccessibilityServiceInfo; -import android.annotation.TargetApi; import android.content.Context; import android.hardware.display.DisplayManager; -import android.os.Build; import android.os.Message; import android.view.Display; import android.view.accessibility.AccessibilityManager; @@ -111,7 +109,6 @@ public AccessibilityButtonMonitor(@NonNull AccessibilityService service) { displayManager = (DisplayManager) mService.getSystemService(Context.DISPLAY_SERVICE); } - @TargetApi(Build.VERSION_CODES.O) public void initAccessibilityButton(@NonNull AccessibilityButtonMonitorCallback callback) { mCallback = callback; if (!FeatureSupport.supportAccessibilityButton()) { @@ -182,7 +179,6 @@ public void onAvailabilityChanged( } } - @TargetApi(Build.VERSION_CODES.O) public void shutdown() { if (!FeatureSupport.supportAccessibilityButton()) { return; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageCaptionStorage.java b/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageCaptionStorage.java index 2957048ff..9186be212 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageCaptionStorage.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageCaptionStorage.java @@ -62,11 +62,7 @@ public void setIconAnnotationsDetector(IconAnnotationsDetector iconAnnotationsDe this.iconAnnotationsDetector = iconAnnotationsDetector; } - /** - * Retrieves the localized label of the detected icon which matches the specified node. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Retrieves the localized label of the detected icon which matches the specified node. */ @Nullable public CharSequence getDetectedIconLabel(Locale locale, AccessibilityNodeInfoCompat node) { return (iconAnnotationsDetector == null) @@ -74,30 +70,18 @@ public CharSequence getDetectedIconLabel(Locale locale, AccessibilityNodeInfoCom : iconAnnotationsDetector.getIconLabel(locale, node); } - /** - * Retrieves image caption results for the specified node. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Retrieves image caption results for the specified node. */ @Nullable public ImageNode getCaptionResults(AccessibilityNodeInfoCompat node) { AccessibilityNode wrapNode = AccessibilityNode.obtainCopy(node); - try { - @Nullable ImageNode imageNode = findImageNode(wrapNode); - if (imageNode == null || !imageNode.isIconLabelStable() || !imageNode.isValid()) { - return null; - } - return imageNode; - } finally { - AccessibilityNode.recycle("ImageManager.getNodeText()", wrapNode); + @Nullable ImageNode imageNode = findImageNode(wrapNode); + if (imageNode == null || !imageNode.isIconLabelStable() || !imageNode.isValid()) { + return null; } + return imageNode; } - /** - * Stores the OCR result for the specified node in the cache. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Stores the OCR result for the specified node in the cache. */ public void updateCharacterCaptionResult(AccessibilityNode node, CharSequence result) { if (!ImageCaptionStorage.isStorable(node) || TextUtils.isEmpty(result)) { LogUtils.v(TAG, "Character caption result (" + result + ") should not be stored."); @@ -114,11 +98,7 @@ public void updateCharacterCaptionResult(AccessibilityNode node, CharSequence re imageNodes.put(imageNode); } - /** - * Stores the label of the detected icons for the specified node in the cache. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Stores the label of the detected icons for the specified node in the cache. */ public void updateDetectedIconLabel(AccessibilityNode node, CharSequence detectedIconLabel) { if (!ImageCaptionStorage.isStorable(node) || TextUtils.isEmpty(detectedIconLabel)) { LogUtils.v(TAG, "DetectedIconLabel (" + detectedIconLabel + ") should not be stored."); @@ -135,8 +115,6 @@ public void updateDetectedIconLabel(AccessibilityNode node, CharSequence detecte /** * Marks the OCR text and the detected icon label for the specific node as invalid in the cache. - * - *

        Note: Caller is responsible for recycling the node-argument. */ public void invalidateCaptionForNode(AccessibilityNode node) { if (!ImageCaptionStorage.isStorable(node)) { @@ -149,11 +127,7 @@ public void invalidateCaptionForNode(AccessibilityNode node) { } } - /** - * Checks if node has a resource name with a package name and is not in the collection. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Checks if node has a resource name with a package name and is not in the collection. */ public static boolean isStorable(AccessibilityNode node) { @Nullable final ViewResourceName viewResourceName = node.getPackageNameAndViewId(); return viewResourceName != null @@ -164,8 +138,6 @@ public static boolean isStorable(AccessibilityNode node) { /** * Retrieves the related {@link ImageNode} for the specified node. The returned ImageNode will be * regarded as the newest element. - * - *

        Note: Caller is responsible for recycling the node-argument. */ @Nullable private ImageNode findImageNode(AccessibilityNode node) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageCaptionUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageCaptionUtils.java index c8df53975..3b7665ec1 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageCaptionUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageCaptionUtils.java @@ -37,22 +37,14 @@ public class ImageCaptionUtils { private ImageCaptionUtils() {} - /** - * Checks if the node needs image captions. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Checks if the node needs image captions. */ public static boolean needImageCaption( Context context, @Nullable AccessibilityNodeInfoCompat node) { return isCaptionable(context, node) && TextUtils.isEmpty(AccessibilityNodeInfoUtils.getNodeText(node)); } - /** - * Checks if the node can be captioned. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Checks if the node can be captioned. */ public static boolean isCaptionable(Context context, @Nullable AccessibilityNodeInfoCompat node) { if (node == null || !FeatureSupport.canTakeScreenShotByAccessibilityService()) { return false; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageNode.java b/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageNode.java index 2ded6b831..76a1087b1 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageNode.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/caption/ImageNode.java @@ -46,11 +46,7 @@ public abstract class ImageNode { */ private boolean isIconLabelStable = true; - /** - * Creates an instance of {@link ImageNode} without the results of image captions. - * - *

        Note: Caller is responsible for recycling the node-argument. - */ + /** Creates an instance of {@link ImageNode} without the results of image captions. */ static @Nullable ImageNode create(AccessibilityNode node) { final @Nullable ViewResourceName viewResourceName = node.getPackageNameAndViewId(); if (viewResourceName == null) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/feedbackpolicy/AbstractAccessibilityHintsManager.java b/utils/src/main/java/com/google/android/accessibility/utils/feedbackpolicy/AbstractAccessibilityHintsManager.java index e6652cde0..9e476f316 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/feedbackpolicy/AbstractAccessibilityHintsManager.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/feedbackpolicy/AbstractAccessibilityHintsManager.java @@ -154,7 +154,7 @@ public void postHintForSelector(CharSequence hint) { /** Data-structure that holds a variety of hint data. */ protected static class HintInfo { /** The source node whose hint will be read by the utterance complete action. */ - @Nullable private AccessibilityNodeInfoCompat pendingHintSource; + private @Nullable AccessibilityNodeInfoCompat pendingHintSource; /** * Whether the current hint is a forced feedback. Set to {@code true} if the hint corresponds to * accessibility focus that was not genenerated from unknown source for audioplayback and @@ -172,12 +172,12 @@ protected static class HintInfo { private int pendingHintEventType; /** A hint about screen whose hint will be read by the utterance complete action. */ - @Nullable private CharSequence pendingScreenHint; + private @Nullable CharSequence pendingScreenHint; /** * A hint about selector (quick menu) whose hint will be read by the utterance complete action. */ - @Nullable private CharSequence pendingSelectorHint; + private @Nullable CharSequence pendingSelectorHint; public HintInfo() {} @@ -243,8 +243,7 @@ public void setPendingSelectorHint(@Nullable CharSequence selectorHint) { pendingSelectorHint = selectorHint; } - @Nullable - public CharSequence getPendingSelectorHint() { + public @Nullable CharSequence getPendingSelectorHint() { return pendingSelectorHint; } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/feedbackpolicy/ScrollFeedbackManager.java b/utils/src/main/java/com/google/android/accessibility/utils/feedbackpolicy/ScrollFeedbackManager.java index daa585278..2d18361cc 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/feedbackpolicy/ScrollFeedbackManager.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/feedbackpolicy/ScrollFeedbackManager.java @@ -189,8 +189,6 @@ protected boolean isDuplicateScrollEventOrAutoScroll(AccessibilityEvent event) { return true; } - // The behavior of put() for an existing key is unspecified, so we can't - // recycle the old or new key nodes. cachedFromValues.put(eventId, fromIndex); cachedItemCounts.put(eventId, itemCount); @@ -202,6 +200,8 @@ protected boolean isDuplicateScrollEventOrAutoScroll(AccessibilityEvent event) { * * @param event The source event. */ + // incompatible argument for parameter source of getDescriptionForPageEvent. + @SuppressWarnings("nullness:argument") private void handleScrollFeedback( AccessibilityEvent event, Performance.@Nullable EventId eventId) { final CharSequence text; @@ -218,10 +218,6 @@ private void handleScrollFeedback( flags = 0; } - if (source != null) { - source.recycle(); - } - if (TextUtils.isEmpty(text)) { return; } @@ -293,20 +289,14 @@ private void handleScrollFeedback( CharSequence title = null; for (int i = 0; i < numChildren; ++i) { AccessibilityNodeInfoCompat child = nodeCompat.getChild(i); - if (child != null) { - try { - if (child.isVisibleToUser()) { - if (title == null) { - // Try to roughly match RulePagerPage, which uses getNodeText - // (but completely matching all the time is not critical). - title = AccessibilityNodeInfoUtils.getNodeText(child); - } else { - // Multiple visible children, abort. - return null; - } - } - } finally { - child.recycle(); + if (child != null && child.isVisibleToUser()) { + if (title == null) { + // Try to roughly match RulePagerPage, which uses getNodeText + // (but completely matching all the time is not critical). + title = AccessibilityNodeInfoUtils.getNodeText(child); + } else { + // Multiple visible children, abort. + return null; } } } @@ -334,8 +324,6 @@ public void handleMessage(Message msg, ScrollFeedbackManager parent) { break; default: // fall out } - - event.recycle(); } /** Posts the delayed scroll position feedback. Call this for every VIEW_SCROLLED event. */ @@ -364,9 +352,6 @@ private void postScrollFeedback( } else { sendMessageDelayed(msg, DELAY_SCROLL_FEEDBACK); } - if (source != null) { - source.recycle(); - } } /** Removes any pending scroll position feedback. Call this for every event. */ diff --git a/utils/src/main/java/com/google/android/accessibility/utils/gestures/GestureManifold.java b/utils/src/main/java/com/google/android/accessibility/utils/gestures/GestureManifold.java new file mode 100644 index 000000000..5ae09405e --- /dev/null +++ b/utils/src/main/java/com/google/android/accessibility/utils/gestures/GestureManifold.java @@ -0,0 +1,319 @@ +/* + * Copyright (C) 2021s The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.android.accessibility.utils.gestures; + +import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_DOUBLE_TAP; +import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_DOUBLE_TAP_AND_HOLD; +import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SINGLE_TAP; +import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_DOWN; +import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_LEFT; +import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_RIGHT; +import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_SWIPE_UP; +import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_TRIPLE_TAP; +import static android.accessibilityservice.AccessibilityService.GESTURE_2_FINGER_TRIPLE_TAP_AND_HOLD; +import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_DOUBLE_TAP; +import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_DOUBLE_TAP_AND_HOLD; +import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SINGLE_TAP; +import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SINGLE_TAP_AND_HOLD; +import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_DOWN; +import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_LEFT; +import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_RIGHT; +import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_SWIPE_UP; +import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_TRIPLE_TAP; +import static android.accessibilityservice.AccessibilityService.GESTURE_3_FINGER_TRIPLE_TAP_AND_HOLD; +import static android.accessibilityservice.AccessibilityService.GESTURE_4_FINGER_DOUBLE_TAP; +import static android.accessibilityservice.AccessibilityService.GESTURE_4_FINGER_DOUBLE_TAP_AND_HOLD; +import static android.accessibilityservice.AccessibilityService.GESTURE_4_FINGER_SINGLE_TAP; +import static android.accessibilityservice.AccessibilityService.GESTURE_4_FINGER_SWIPE_DOWN; +import static android.accessibilityservice.AccessibilityService.GESTURE_4_FINGER_SWIPE_LEFT; +import static android.accessibilityservice.AccessibilityService.GESTURE_4_FINGER_SWIPE_RIGHT; +import static android.accessibilityservice.AccessibilityService.GESTURE_4_FINGER_SWIPE_UP; +import static android.accessibilityservice.AccessibilityService.GESTURE_4_FINGER_TRIPLE_TAP; +import static android.accessibilityservice.AccessibilityService.GESTURE_DOUBLE_TAP; +import static android.accessibilityservice.AccessibilityService.GESTURE_DOUBLE_TAP_AND_HOLD; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_DOWN; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_DOWN_AND_LEFT; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_DOWN_AND_RIGHT; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_DOWN_AND_UP; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_LEFT; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_LEFT_AND_DOWN; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_LEFT_AND_RIGHT; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_LEFT_AND_UP; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_RIGHT; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_RIGHT_AND_DOWN; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_RIGHT_AND_LEFT; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_RIGHT_AND_UP; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_UP; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_UP_AND_DOWN; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_UP_AND_LEFT; +import static android.accessibilityservice.AccessibilityService.GESTURE_SWIPE_UP_AND_RIGHT; +import static com.google.android.accessibility.utils.gestures.Swipe.DOWN; +import static com.google.android.accessibility.utils.gestures.Swipe.LEFT; +import static com.google.android.accessibility.utils.gestures.Swipe.RIGHT; +import static com.google.android.accessibility.utils.gestures.Swipe.UP; + +import android.accessibilityservice.AccessibilityGestureEvent; +import android.content.Context; +import android.os.Build; +import android.view.MotionEvent; +import androidx.annotation.RequiresApi; +import com.google.android.libraries.accessibility.utils.log.LogUtils; +import java.util.ArrayList; +import java.util.List; + +/** + * This class coordinates a series of individual gesture matchers to serve as a unified gesture + * detector. Gesture matchers are tied to a single gesture. It calls listener callback functions + * when a gesture starts or completes. + */ +@RequiresApi(Build.VERSION_CODES.TIRAMISU) +public class GestureManifold implements GestureMatcher.StateChangeListener { + private static final String LOG_TAG = "GestureManifold"; + + private final List gestures = new ArrayList<>(); + private final Context context; + private final int displayId; + // Listener to be notified of gesture start and end. + private Listener listener; + // Whether multi-finger gestures are enabled. + boolean multiFingerGesturesEnabled; + // Whether the two-finger passthrough is enabled when multi-finger gestures are enabled. + private boolean twoFingerPassthroughEnabled; + // A list of all the multi-finger gestures, for easy adding and removal. + private final List multiFingerGestures = new ArrayList<>(); + // A list of two-finger swipes, for easy adding and removal when turning on or off two-finger + // passthrough. + private final List twoFingerSwipes = new ArrayList<>(); + + public GestureManifold(Context context, Listener listener, int displayId) { + this.context = context; + this.listener = listener; + this.displayId = displayId; + multiFingerGesturesEnabled = false; + twoFingerPassthroughEnabled = false; + // Set up gestures. + // Start with double tap. + gestures.add(new MultiTap(context, 2, GESTURE_DOUBLE_TAP, this)); + gestures.add(new MultiTapAndHold(context, 2, GESTURE_DOUBLE_TAP_AND_HOLD, this)); + // Second-finger double tap. + gestures.add(new SecondFingerMultiTap(context, 2, GESTURE_DOUBLE_TAP, this)); + // One-direction swipes. + gestures.add(new Swipe(context, RIGHT, GESTURE_SWIPE_RIGHT, this)); + gestures.add(new Swipe(context, LEFT, GESTURE_SWIPE_LEFT, this)); + gestures.add(new Swipe(context, UP, GESTURE_SWIPE_UP, this)); + gestures.add(new Swipe(context, DOWN, GESTURE_SWIPE_DOWN, this)); + // Two-direction swipes. + gestures.add(new Swipe(context, LEFT, RIGHT, GESTURE_SWIPE_LEFT_AND_RIGHT, this)); + gestures.add(new Swipe(context, LEFT, UP, GESTURE_SWIPE_LEFT_AND_UP, this)); + gestures.add(new Swipe(context, LEFT, DOWN, GESTURE_SWIPE_LEFT_AND_DOWN, this)); + gestures.add(new Swipe(context, RIGHT, UP, GESTURE_SWIPE_RIGHT_AND_UP, this)); + gestures.add(new Swipe(context, RIGHT, DOWN, GESTURE_SWIPE_RIGHT_AND_DOWN, this)); + gestures.add(new Swipe(context, RIGHT, LEFT, GESTURE_SWIPE_RIGHT_AND_LEFT, this)); + gestures.add(new Swipe(context, DOWN, UP, GESTURE_SWIPE_DOWN_AND_UP, this)); + gestures.add(new Swipe(context, DOWN, LEFT, GESTURE_SWIPE_DOWN_AND_LEFT, this)); + gestures.add(new Swipe(context, DOWN, RIGHT, GESTURE_SWIPE_DOWN_AND_RIGHT, this)); + gestures.add(new Swipe(context, UP, DOWN, GESTURE_SWIPE_UP_AND_DOWN, this)); + gestures.add(new Swipe(context, UP, LEFT, GESTURE_SWIPE_UP_AND_LEFT, this)); + gestures.add(new Swipe(context, UP, RIGHT, GESTURE_SWIPE_UP_AND_RIGHT, this)); + // Set up multi-finger gestures to be enabled later. + // Two-finger taps. + multiFingerGestures.add( + new MultiFingerMultiTap(this.context, 2, 1, GESTURE_2_FINGER_SINGLE_TAP, this)); + multiFingerGestures.add( + new MultiFingerMultiTap(this.context, 2, 2, GESTURE_2_FINGER_DOUBLE_TAP, this)); + multiFingerGestures.add( + new MultiFingerMultiTapAndHold( + this.context, 2, 2, GESTURE_2_FINGER_DOUBLE_TAP_AND_HOLD, this)); + multiFingerGestures.add( + new MultiFingerMultiTap(this.context, 2, 3, GESTURE_2_FINGER_TRIPLE_TAP, this)); + multiFingerGestures.add( + new MultiFingerMultiTapAndHold( + this.context, 2, 3, GESTURE_2_FINGER_TRIPLE_TAP_AND_HOLD, this)); + // Three-finger taps. + multiFingerGestures.add( + new MultiFingerMultiTap(this.context, 3, 1, GESTURE_3_FINGER_SINGLE_TAP, this)); + multiFingerGestures.add( + new MultiFingerMultiTap(this.context, 3, 2, GESTURE_3_FINGER_DOUBLE_TAP, this)); + multiFingerGestures.add( + new MultiFingerMultiTapAndHold( + this.context, 3, 1, GESTURE_3_FINGER_SINGLE_TAP_AND_HOLD, this)); + multiFingerGestures.add( + new MultiFingerMultiTapAndHold( + this.context, 3, 2, GESTURE_3_FINGER_DOUBLE_TAP_AND_HOLD, this)); + multiFingerGestures.add( + new MultiFingerMultiTap(this.context, 3, 3, GESTURE_3_FINGER_TRIPLE_TAP, this)); + multiFingerGestures.add( + new MultiFingerMultiTapAndHold( + this.context, 3, 3, GESTURE_3_FINGER_TRIPLE_TAP_AND_HOLD, this)); + multiFingerGestures.add( + new MultiFingerMultiTap(this.context, 3, 3, GESTURE_3_FINGER_TRIPLE_TAP, this)); + // Four-finger taps. + multiFingerGestures.add( + new MultiFingerMultiTap(this.context, 4, 1, GESTURE_4_FINGER_SINGLE_TAP, this)); + multiFingerGestures.add( + new MultiFingerMultiTap(this.context, 4, 2, GESTURE_4_FINGER_DOUBLE_TAP, this)); + multiFingerGestures.add( + new MultiFingerMultiTapAndHold( + this.context, 4, 2, GESTURE_4_FINGER_DOUBLE_TAP_AND_HOLD, this)); + multiFingerGestures.add( + new MultiFingerMultiTap(this.context, 4, 3, GESTURE_4_FINGER_TRIPLE_TAP, this)); + // Two-finger swipes. + twoFingerSwipes.add(new MultiFingerSwipe(context, 2, DOWN, GESTURE_2_FINGER_SWIPE_DOWN, this)); + twoFingerSwipes.add(new MultiFingerSwipe(context, 2, LEFT, GESTURE_2_FINGER_SWIPE_LEFT, this)); + twoFingerSwipes.add( + new MultiFingerSwipe(context, 2, RIGHT, GESTURE_2_FINGER_SWIPE_RIGHT, this)); + twoFingerSwipes.add(new MultiFingerSwipe(context, 2, UP, GESTURE_2_FINGER_SWIPE_UP, this)); + multiFingerGestures.addAll(twoFingerSwipes); + // Three-finger swipes. + multiFingerGestures.add( + new MultiFingerSwipe(context, 3, DOWN, GESTURE_3_FINGER_SWIPE_DOWN, this)); + multiFingerGestures.add( + new MultiFingerSwipe(context, 3, LEFT, GESTURE_3_FINGER_SWIPE_LEFT, this)); + multiFingerGestures.add( + new MultiFingerSwipe(context, 3, RIGHT, GESTURE_3_FINGER_SWIPE_RIGHT, this)); + multiFingerGestures.add(new MultiFingerSwipe(context, 3, UP, GESTURE_3_FINGER_SWIPE_UP, this)); + // Four-finger swipes. + multiFingerGestures.add( + new MultiFingerSwipe(context, 4, DOWN, GESTURE_4_FINGER_SWIPE_DOWN, this)); + multiFingerGestures.add( + new MultiFingerSwipe(context, 4, LEFT, GESTURE_4_FINGER_SWIPE_LEFT, this)); + multiFingerGestures.add( + new MultiFingerSwipe(context, 4, RIGHT, GESTURE_4_FINGER_SWIPE_RIGHT, this)); + multiFingerGestures.add(new MultiFingerSwipe(context, 4, UP, GESTURE_4_FINGER_SWIPE_UP, this)); + } + + /** + * Processes a motion event. + * + * @param event The event as received from the previous entry in the event stream. + * @return True if the event has been appropriately handled by the gesture manifold and related + * callback functions, false if it should be handled further by the calling function. + */ + public boolean onMotionEvent(MotionEvent event) { + for (GestureMatcher matcher : gestures) { + if (matcher.getState() != GestureMatcher.STATE_GESTURE_CANCELED) { + LogUtils.v(LOG_TAG, matcher.toString()); + matcher.onMotionEvent(event); + LogUtils.v(LOG_TAG, matcher.toString()); + if (matcher.getState() == GestureMatcher.STATE_GESTURE_COMPLETED) { + // Here we just return. The actual gesture dispatch is done in + // onStateChanged(). + // No need to process this event any further. + return true; + } + } + } + return false; + } + + public void clear() { + for (GestureMatcher matcher : gestures) { + matcher.clear(); + } + } + + /** + * Listener that receives notifications of the state of the gesture detector. Listener functions + * are called as a result of onMotionEvent(). The current MotionEvent in the context of these + * functions is the event passed into onMotionEvent. + */ + public interface Listener { + + /** Called when the system has decided the event stream is a potential gesture. */ + void onGestureStarted(); + + /** + * Called when an event stream is recognized as a gesture. + * + * @param gestureEvent Information about the gesture. + */ + void onGestureCompleted(AccessibilityGestureEvent gestureEvent); + + /** Called when the system has decided an event stream doesn't match any known gesture. */ + void onGestureCancelled(); + } + + @Override + public void onStateChanged(int gestureId, int state, MotionEvent event) { + if (state == GestureMatcher.STATE_GESTURE_STARTED) { + listener.onGestureStarted(); + } else if (state == GestureMatcher.STATE_GESTURE_COMPLETED) { + onGestureCompleted(gestureId, event); + } else if (state == GestureMatcher.STATE_GESTURE_CANCELED) { + // We only want to call the cancelation callback if there are no other pending + // detectors. + for (GestureMatcher matcher : gestures) { + if (matcher.getState() == GestureMatcher.STATE_GESTURE_STARTED) { + return; + } + } + listener.onGestureCancelled(); + } + } + + private void onGestureCompleted(int gestureId, MotionEvent event) { + // Note that gestures that complete immediately call clear() from onMotionEvent. + // Gestures that complete on a delay call clear() here. + AccessibilityGestureEvent gestureEvent = + new AccessibilityGestureEvent(gestureId, displayId, new ArrayList()); + listener.onGestureCompleted(gestureEvent); + for (GestureMatcher matcher : gestures) { + if (matcher.getGestureId() != gestureId) { + matcher.cancelGesture(event); + } + } + } + + public boolean isMultiFingerGesturesEnabled() { + return multiFingerGesturesEnabled; + } + + public void setMultiFingerGesturesEnabled(boolean mode) { + if (multiFingerGesturesEnabled != mode) { + multiFingerGesturesEnabled = mode; + if (mode) { + gestures.addAll(multiFingerGestures); + } else { + gestures.removeAll(multiFingerGestures); + } + } + } + + public boolean isTwoFingerPassthroughEnabled() { + return twoFingerPassthroughEnabled; + } + + public void setTwoFingerPassthroughEnabled(boolean mode) { + if (twoFingerPassthroughEnabled != mode) { + twoFingerPassthroughEnabled = mode; + if (!mode) { + multiFingerGestures.addAll(twoFingerSwipes); + if (multiFingerGesturesEnabled) { + gestures.addAll(twoFingerSwipes); + } + } else { + multiFingerGestures.removeAll(twoFingerSwipes); + gestures.removeAll(twoFingerSwipes); + } + } + } + + /** + * Returns the current list of motion events. It is the caller's responsibility to copy the list + * if they want it to persist after a call to clear(). + */ +} diff --git a/utils/src/main/java/com/google/android/accessibility/utils/gestures/GestureMatcher.java b/utils/src/main/java/com/google/android/accessibility/utils/gestures/GestureMatcher.java index 26b98ce16..2a1d14391 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/gestures/GestureMatcher.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/gestures/GestureMatcher.java @@ -214,7 +214,7 @@ protected final void startGesture(MotionEvent event) { } /** Indicates this stream of motion events can no longer match this gesture. */ - protected final void cancelGesture(MotionEvent event) { + public final void cancelGesture(MotionEvent event) { setState(STATE_GESTURE_CANCELED, event); } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/gestures/MultiFingerMultiTap.java b/utils/src/main/java/com/google/android/accessibility/utils/gestures/MultiFingerMultiTap.java index 980d18c3c..573372c73 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/gestures/MultiFingerMultiTap.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/gestures/MultiFingerMultiTap.java @@ -34,7 +34,7 @@ class MultiFingerMultiTap extends GestureMatcher { // The target number of taps. final int mTargetTapCount; // The target number of fingers. - final int mTargetFingerCount; + final int targetFingerCount; // The acceptable distance between two taps of a finger. private int doubleTapSlop; private int doubleTapTimeout; @@ -66,17 +66,17 @@ class MultiFingerMultiTap extends GestureMatcher { GestureMatcher.StateChangeListener listener) { super(gestureId, new Handler(context.getMainLooper()), listener); mTargetTapCount = taps; - mTargetFingerCount = fingers; + targetFingerCount = fingers; doubleTapSlop = ViewConfiguration.get(context).getScaledDoubleTapSlop() * fingers; doubleTapTimeout = ViewConfiguration.getDoubleTapTimeout(); - tapTimeout = ViewConfiguration.getTapTimeout(); + tapTimeout = targetFingerCount * ViewConfiguration.getTapTimeout(); touchSlop = ViewConfiguration.get(context).getScaledTouchSlop() * fingers; - bases = new PointF[mTargetFingerCount]; + bases = new PointF[targetFingerCount]; for (int i = 0; i < bases.length; i++) { bases[i] = new PointF(); } - excludedPointsForDownSlopChecked = new ArrayList<>(mTargetFingerCount); + excludedPointsForDownSlopChecked = new ArrayList<>(targetFingerCount); clear(); } @@ -126,11 +126,14 @@ protected void onDown(MotionEvent event) { @Override protected void onUp(MotionEvent event) { - long timeDelta = event.getEventTime() - lastDownTime; + // Because this is a multi-finger gesture, we must have received ACTION_POINTER_UP before this + // so we calculate timeDelta relative to lastUpTime. + long timeDelta = event.getEventTime() - lastUpTime; if (timeDelta > tapTimeout) { cancelGesture(event); return; } + lastUpTime = event.getEventTime(); final PointF nearest = findNearestPoint(event, touchSlop, false); if ((getState() == STATE_GESTURE_STARTED || getState() == STATE_CLEAR) && null != nearest) { // Increase current tap count when the user have all fingers lifted @@ -160,7 +163,7 @@ protected void onUp(MotionEvent event) { protected void onMove(MotionEvent event) { // Outside the touch slop if (null == findNearestPoint(event, touchSlop, false)) { - // cancelGesture(event); + cancelGesture(event); } } @@ -177,7 +180,7 @@ protected void onPointerDown(MotionEvent event) { final int currentFingerCount = event.getPointerCount(); // Accept down only before target number of fingers are down // or the finger count is not more than target. - if ((currentFingerCount > mTargetFingerCount) || isTargetFingerCountReached) { + if ((currentFingerCount > targetFingerCount) || isTargetFingerCountReached) { isTargetFingerCountReached = false; cancelGesture(event); return; @@ -192,7 +195,7 @@ protected void onPointerDown(MotionEvent event) { if ((getState() == STATE_GESTURE_STARTED || getState() == STATE_CLEAR) && nearest != null) { // The user have all fingers down within the tap timeout since first finger down, // setting the timeout for fingers to be lifted. - if (currentFingerCount == mTargetFingerCount) { + if (currentFingerCount == targetFingerCount) { isTargetFingerCountReached = true; } // Update pointer location to nearest one as a new base for next slop check. @@ -214,7 +217,9 @@ protected void onPointerUp(MotionEvent event) { if (getState() == STATE_GESTURE_STARTED || getState() == STATE_CLEAR) { // Needs more fingers lifted within the tap timeout // after reaching the target number of fingers are down. - long timeDelta = event.getEventTime() - lastDownTime; + // Calculate timeDelta relative to whichever baseline is most recent, lastUpTime or + // lastDownTime. + long timeDelta = event.getEventTime() - Math.max(lastDownTime, lastUpTime); if (timeDelta > tapTimeout) { cancelGesture(event); return; @@ -228,7 +233,7 @@ protected void onPointerUp(MotionEvent event) { @Override public String getGestureName() { final StringBuilder builder = new StringBuilder(); - builder.append(mTargetFingerCount).append("-Finger "); + builder.append(targetFingerCount).append("-Finger "); if (mTargetTapCount == 1) { builder.append("Single"); } else if (mTargetTapCount == 2) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/gestures/MultiFingerMultiTapAndHold.java b/utils/src/main/java/com/google/android/accessibility/utils/gestures/MultiFingerMultiTapAndHold.java index 68bb15f7d..711a78f85 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/gestures/MultiFingerMultiTapAndHold.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/gestures/MultiFingerMultiTapAndHold.java @@ -56,7 +56,7 @@ protected void onUp(MotionEvent event) { @Override public String getGestureName() { final StringBuilder builder = new StringBuilder(); - builder.append(mTargetFingerCount).append("-Finger "); + builder.append(targetFingerCount).append("-Finger "); if (mTargetTapCount == 1) { builder.append("Single"); } else if (mTargetTapCount == 2) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/input/InputModeManager.java b/utils/src/main/java/com/google/android/accessibility/utils/input/InputModeManager.java index 4f4fa1d9f..d53b61575 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/input/InputModeManager.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/input/InputModeManager.java @@ -35,7 +35,8 @@ public class InputModeManager implements ServiceKeyEventListener { INPUT_MODE_KEYBOARD, INPUT_MODE_TV_REMOTE, // INPUT_MODE_NON_ALPHABETIC_KEYBOARD will be used for numeric keypads built into phones. - INPUT_MODE_NON_ALPHABETIC_KEYBOARD + INPUT_MODE_NON_ALPHABETIC_KEYBOARD, + INPUT_MODE_BRAILLE_DISPLAY }) public @interface InputMode {} @@ -44,6 +45,7 @@ public class InputModeManager implements ServiceKeyEventListener { public static final int INPUT_MODE_KEYBOARD = 1; public static final int INPUT_MODE_TV_REMOTE = 2; public static final int INPUT_MODE_NON_ALPHABETIC_KEYBOARD = 3; + public static final int INPUT_MODE_BRAILLE_DISPLAY = 4; @InputMode private int mInputMode = INPUT_MODE_UNKNOWN; @@ -57,7 +59,6 @@ public void setInputMode(@InputMode int inputMode) { if (inputMode == INPUT_MODE_UNKNOWN) { return; } - mInputMode = inputMode; } @@ -93,6 +94,8 @@ public static String inputModeToString(@InputMode int inputMode) { return "INPUT_MODE_TV_REMOTE"; case INPUT_MODE_NON_ALPHABETIC_KEYBOARD: return "INPUT_MODE_NON_ALPHABETIC_KEYBOARD"; + case INPUT_MODE_BRAILLE_DISPLAY: + return "INPUT_MODE_BRAILLE_DISPLAY"; default: return "INPUT_MODE_UNKNOWN"; } diff --git a/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/PreferenceProvider.java b/utils/src/main/java/com/google/android/accessibility/utils/input/PreferenceProvider.java similarity index 94% rename from uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/PreferenceProvider.java rename to utils/src/main/java/com/google/android/accessibility/utils/input/PreferenceProvider.java index 6898aafc5..f4ae4fec5 100644 --- a/uiunderstanding/src/main/java/com/google/android/accessibility/uiunderstanding/PreferenceProvider.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/input/PreferenceProvider.java @@ -14,7 +14,7 @@ * the License. */ -package com.google.android.accessibility.uiunderstanding; +package com.google.android.accessibility.utils.input; import com.google.errorprone.annotations.CheckReturnValue; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/input/ScrollActionRecord.java b/utils/src/main/java/com/google/android/accessibility/utils/input/ScrollActionRecord.java new file mode 100644 index 000000000..a63990c81 --- /dev/null +++ b/utils/src/main/java/com/google/android/accessibility/utils/input/ScrollActionRecord.java @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2022 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.utils.input; + +import android.view.accessibility.AccessibilityEvent; +import androidx.annotation.IntDef; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import com.google.android.accessibility.utils.AccessibilityNode; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import org.checkerframework.checker.nullness.qual.Nullable; + +/** + * Record about a scroll-action. Used to match {@link AccessibilityEvent#TYPE_VIEW_SCROLLED} to + * action. + */ +public class ScrollActionRecord { + + ////////////////////////////////////////////////////////////////////////////////////// + // Constants + + // Calling features that caused scroll + public static final String FOCUS = "FOCUS"; + + // User actions that caused scroll + public static final int ACTION_UNKNOWN = 0; + public static final int ACTION_AUTO_SCROLL = 1; + public static final int ACTION_SCROLL_COMMAND = 2; + public static final int ACTION_MANUAL_SCROLL = 3; + + /** Source action types that result in scroll events. */ + @IntDef({ACTION_UNKNOWN, ACTION_AUTO_SCROLL, ACTION_SCROLL_COMMAND, ACTION_MANUAL_SCROLL}) + @Retention(RetentionPolicy.SOURCE) + public @interface UserAction {} + + public static String userActionToString(@UserAction int action) { + switch (action) { + case ACTION_AUTO_SCROLL: + return "ACTION_AUTO_SCROLL"; + case ACTION_SCROLL_COMMAND: + return "ACTION_SCROLL_SHORTCUT"; + case ACTION_MANUAL_SCROLL: + return "ACTION_MANUAL_SCROLL"; + case ACTION_UNKNOWN: + default: + return "ACTION_UNKNOWN"; + } + } + + ////////////////////////////////////////////////////////////////////////////////////// + // Member data + + public final int scrollInstanceId; + @UserAction public final int userAction; + + /** + * During transition from AccessibilityNodeInfoCompat to AccessibilityNode, some callers provide + * AccessibilityNode, others provide compat -- either works. AutoScrollRecord recyles node. + */ + @Nullable public final AccessibilityNode scrolledNode; + + // TODO: Switch focus-management to use AccessibilityNode, and remove this + // redundant field. + @Nullable public final AccessibilityNodeInfoCompat scrolledNodeCompat; + + // SystemClock.uptimeMillis(), used to compare with AccessibilityEvent.getEventTime(). + public final long autoScrolledTime; + public final @Nullable String scrollSource; + + ////////////////////////////////////////////////////////////////////////////////////// + // Construction + + /** Creates scroll-record, with copy of node. Caller keeps ownership of scrolledNode/Compat. */ + public ScrollActionRecord( + int scrollInstanceId, + @Nullable AccessibilityNode scrolledNode, + @Nullable AccessibilityNodeInfoCompat scrolledNodeCompat, + @UserAction int userAction, + long autoScrolledTime, + @Nullable String scrollSource) { + this.scrollInstanceId = scrollInstanceId; + this.userAction = userAction; + this.scrolledNode = scrolledNode; + this.scrolledNodeCompat = scrolledNodeCompat; + this.autoScrolledTime = autoScrolledTime; + this.scrollSource = scrollSource; + } + + ////////////////////////////////////////////////////////////////////////////////////// + // Methods + + public boolean scrolledNodeMatches(@Nullable AccessibilityNodeInfoCompat node) { + if (node == null) { + return false; + } + if (scrolledNodeCompat != null) { + return scrolledNodeCompat.equals(node); + } else if (scrolledNode != null) { + return scrolledNode.equalTo(node); + } else { + return false; + } + } + + public void refresh() { + if (scrolledNode != null) { + scrolledNode.refresh(); + } + if (scrolledNodeCompat != null) { + scrolledNodeCompat.refresh(); + } + } +} diff --git a/talkback/src/main/java/com/google/android/accessibility/talkback/ScrollEventInterpreter.java b/utils/src/main/java/com/google/android/accessibility/utils/input/ScrollEventInterpreter.java similarity index 79% rename from talkback/src/main/java/com/google/android/accessibility/talkback/ScrollEventInterpreter.java rename to utils/src/main/java/com/google/android/accessibility/utils/input/ScrollEventInterpreter.java index 38686ebc3..855607858 100644 --- a/talkback/src/main/java/com/google/android/accessibility/talkback/ScrollEventInterpreter.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/input/ScrollEventInterpreter.java @@ -14,32 +14,34 @@ * the License. */ -package com.google.android.accessibility.talkback; +package com.google.android.accessibility.utils.input; +import static android.view.accessibility.AccessibilityEvent.TYPE_VIEW_SCROLLED; +import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.os.Build.VERSION_CODES; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; -import androidx.annotation.IntDef; import androidx.annotation.VisibleForTesting; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.talkback.actor.AutoScrollActor.AutoScrollRecord; -import com.google.android.accessibility.talkback.interpreters.AutoScrollInterpreter; import com.google.android.accessibility.utils.AccessibilityEventListener; import com.google.android.accessibility.utils.AccessibilityEventUtils; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.BuildVersionUtils; import com.google.android.accessibility.utils.Performance.EventId; +import com.google.android.accessibility.utils.Supplier; +import com.google.android.accessibility.utils.input.ScrollActionRecord.UserAction; +import com.google.android.accessibility.utils.monitor.AudioPlaybackMonitor; +import com.google.android.accessibility.utils.monitor.TouchMonitor; import com.google.android.accessibility.utils.traversal.TraversalStrategy; import com.google.android.accessibility.utils.traversal.TraversalStrategy.SearchDirectionOrUnknown; import com.google.android.accessibility.utils.traversal.TraversalStrategyUtils; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Objects; +import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; /** @@ -49,39 +51,20 @@ *

        Usage: Register as a {@link ScrollEventHandler} to listen to interpreted scroll events. */ public class ScrollEventInterpreter implements AccessibilityEventListener { - public static final int ACTION_UNKNOWN = 0; - public static final int ACTION_AUTO_SCROLL = 1; - public static final int ACTION_SCROLL_SHORTCUT = 2; - public static final int ACTION_MANUAL_SCROLL = 3; - private static final int SCROLL_NOISE_RANGE = 15; - /** Source action types that result in scroll events. */ - @IntDef({ACTION_UNKNOWN, ACTION_AUTO_SCROLL, ACTION_SCROLL_SHORTCUT, ACTION_MANUAL_SCROLL}) - @Retention(RetentionPolicy.SOURCE) - public @interface UserAction {} - - public static String userActionToString(@UserAction int action) { - switch (action) { - case ACTION_AUTO_SCROLL: - return "ACTION_AUTO_SCROLL"; - case ACTION_SCROLL_SHORTCUT: - return "ACTION_SCROLL_SHORTCUT"; - case ACTION_MANUAL_SCROLL: - return "ACTION_MANUAL_SCROLL"; - default: - return "ACTION_UNKNOWN"; - } - } + private static final int SCROLL_NOISE_RANGE = 15; /** Contains interpreted information in addition to {@link AccessibilityEvent}. */ public static class ScrollEventInterpretation { public static final ScrollEventInterpretation DEFAULT_INTERPRETATION = new ScrollEventInterpretation( - ACTION_UNKNOWN, + ScrollActionRecord.ACTION_UNKNOWN, TraversalStrategy.SEARCH_FOCUS_UNKNOWN, /* hasValidIndex= */ false, /* isDuplicateEvent= */ false, + /* isFromScrollable= */ false, + /* isMediaPlayerAutoScroll= */ false, SCROLL_INSTANCE_ID_UNDEFINED); /** Source {@link UserAction} that leads to the scroll event. */ @@ -98,6 +81,9 @@ public static class ScrollEventInterpretation { /** Sets to {@code true} if the event reports the same scroll position as the previous event. */ public final boolean isDuplicateEvent; + public final boolean isFromScrollable; + public final boolean isMediaPlayerAutoScroll; + /** * Created at {@link #onScrollActionCompat(int, AccessibilityNodeInfoCompat, long)} to identify * auto scroll action. @@ -110,11 +96,15 @@ public ScrollEventInterpretation( @SearchDirectionOrUnknown int scrollDirection, boolean hasValidIndex, boolean isDuplicateEvent, + boolean isFromScrollable, + boolean isMediaPlayerAutoScroll, int scrollInstanceId) { this.userAction = userAction; this.scrollDirection = scrollDirection; this.hasValidIndex = hasValidIndex; this.isDuplicateEvent = isDuplicateEvent; + this.isFromScrollable = isFromScrollable; + this.isMediaPlayerAutoScroll = isMediaPlayerAutoScroll; this.scrollInstanceId = scrollInstanceId; } @@ -122,11 +112,13 @@ public ScrollEventInterpretation( public String toString() { StringBuilder sb = new StringBuilder(); sb.append("ScrollEventInterpretation{"); - sb.append("userAction=").append(userActionToString(userAction)); + sb.append("userAction=").append(ScrollActionRecord.userActionToString(userAction)); sb.append(", scrollDirection=") .append(TraversalStrategyUtils.directionToString(scrollDirection)); sb.append(", hasValidIndex=").append(hasValidIndex); sb.append(", isDuplicateEvent=").append(isDuplicateEvent); + sb.append(", isFromScrollable=").append(isFromScrollable); + sb.append(", isMediaPlayerAutoScroll=").append(isMediaPlayerAutoScroll); sb.append(", scrollInstanceId=").append(scrollInstanceId); sb.append('}'); return sb.toString(); @@ -185,6 +177,9 @@ public int getTimeoutMillis() { } } + ////////////////////////////////////////////////////////////////////////////////////////// + // Constants + /** Undefined scroll position index. */ private static final int INDEX_UNDEFINED = -1; @@ -197,30 +192,46 @@ public int getTimeoutMillis() { | AccessibilityEvent.TYPE_VIEW_SCROLLED | AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED; + ////////////////////////////////////////////////////////////////////////////////////////// + // Member data + + // Inputs + private Supplier scrollActorState; + private final @Nullable AudioPlaybackMonitor audioPlaybackMonitor; + private final @NonNull TouchMonitor touchMonitor; + /** Maps from scrollable node id to scroll position information. */ private final HashMap cachedPositionInfo = new HashMap<>(); + // Outputs private final List listeners = new ArrayList<>(); - private final ActorState actorState; + ////////////////////////////////////////////////////////////////////////////////////////// + // Construction - public ScrollEventInterpreter(ActorState actorState) { - this.actorState = actorState; + public ScrollEventInterpreter( + @Nullable AudioPlaybackMonitor audioPlaybackMonitor, @NonNull TouchMonitor touchMonitor) { + this.audioPlaybackMonitor = audioPlaybackMonitor; + this.touchMonitor = touchMonitor; } - public void setAutoScrollInterpreter(AutoScrollInterpreter autoScrollInterpreter) { - addListener(autoScrollInterpreter); + public void setScrollActorState(Supplier scrollActorState) { + this.scrollActorState = scrollActorState; } public void addListener(ScrollEventHandler listener) { listeners.add(listener); } + ////////////////////////////////////////////////////////////////////////////////////////// + // Methods + @Override public int getEventTypes() { return MASK_EVENTS; } + @SuppressLint("SwitchIntDef") // Only a subset of event-types are handled. @Override public void onAccessibilityEvent(AccessibilityEvent event, EventId eventId) { switch (event.getEventType()) { @@ -278,7 +289,7 @@ private ScrollEventInterpretation interpret(AccessibilityEvent event) { @UserAction final int userAction; final int scrollInstanceId; - @Nullable AutoScrollRecord autoScrollRecord = isFromAutoScrollAction(event); + @Nullable ScrollActionRecord autoScrollRecord = isFromAutoScrollAction(event); if (autoScrollRecord == null) { scrollInstanceId = SCROLL_INSTANCE_ID_UNDEFINED; // Note that TYPE_WINDOW_CONTENT_CHANGED events can also be interpreted as manual scroll @@ -291,8 +302,8 @@ private ScrollEventInterpretation interpret(AccessibilityEvent event) { // fine-grained manual scroll callback. userAction = scrollDirection == TraversalStrategy.SEARCH_FOCUS_UNKNOWN - ? ACTION_UNKNOWN - : ACTION_MANUAL_SCROLL; + ? ScrollActionRecord.ACTION_UNKNOWN + : ScrollActionRecord.ACTION_MANUAL_SCROLL; } else { scrollInstanceId = autoScrollRecord.scrollInstanceId; userAction = autoScrollRecord.userAction; @@ -300,15 +311,22 @@ private ScrollEventInterpretation interpret(AccessibilityEvent event) { final boolean hasValidIndex = hasValidIndex(event); final boolean isDuplicateEvent = hasValidIndex && isDuplicateEvent(sourceNodeIdentifier, event); + final boolean isMediaPlayerAutoScroll = isAutomaticMediaScrollEvent(event); + final boolean isFromScrollable = isFromScrollable(event); return new ScrollEventInterpretation( - userAction, scrollDirection, hasValidIndex, isDuplicateEvent, scrollInstanceId); + userAction, + scrollDirection, + hasValidIndex, + isDuplicateEvent, + isFromScrollable, + isMediaPlayerAutoScroll, + scrollInstanceId); } /** Returns AutoScrollRecord if the {@code event} is resulted from cached auto-scroll action. */ - private @Nullable AutoScrollRecord isFromAutoScrollAction(AccessibilityEvent event) { - @Nullable - AutoScrollRecord autoScrollRecord = actorState.getScrollerState().getAutoScrollRecord(); + private @Nullable ScrollActionRecord isFromAutoScrollAction(AccessibilityEvent event) { + @Nullable ScrollActionRecord autoScrollRecord = scrollActorState.get(); if (autoScrollRecord == null) { return null; } @@ -322,8 +340,7 @@ private ScrollEventInterpretation interpret(AccessibilityEvent event) { return null; } - AccessibilityNodeInfoCompat node = null; - node = AccessibilityNodeInfoUtils.toCompat(event.getSource()); + AccessibilityNodeInfoCompat node = AccessibilityEventUtils.sourceCompat(event); return autoScrollRecord.scrolledNodeMatches(node) ? autoScrollRecord : null; } @@ -390,19 +407,19 @@ private boolean isDuplicateEvent(NodeIdentifier sourceNodeIdentifier, Accessibil return (positionInfo != null) && positionInfo.equals(new PositionInfo(event)); } - private boolean hasValidIndex(AccessibilityEvent event) { + private static boolean hasValidIndex(AccessibilityEvent event) { return hasValidAdapterViewIndex(event) || hasValidScrollViewIndex(event) || AccessibilityEventUtils.hasValidScrollDelta(event); } - private boolean hasValidAdapterViewIndex(AccessibilityEvent event) { + private static boolean hasValidAdapterViewIndex(AccessibilityEvent event) { return (event.getFromIndex() != INDEX_UNDEFINED) && (event.getToIndex() != INDEX_UNDEFINED) && (event.getItemCount() > 0); } - private boolean hasValidScrollViewIndex(AccessibilityEvent event) { + private static boolean hasValidScrollViewIndex(AccessibilityEvent event) { return (event.getScrollX() > INDEX_UNDEFINED || event.getScrollY() > INDEX_UNDEFINED) && (event.getMaxScrollX() > 0 || event.getMaxScrollY() > 0); } @@ -416,6 +433,34 @@ private void cacheScrollPositionInfo(AccessibilityEvent event) { cachedPositionInfo.put(new NodeIdentifier(sourceNode), new PositionInfo(event)); } + /** + * Whether the scroll event was probably generated automatically by playing media. + * + *

        Particularly for videos with captions enabled, new scroll events fire every second or so. + * Earcons should not play for these events because they don't provide useful information and are + * distracting. + */ + private boolean isAutomaticMediaScrollEvent(@NonNull AccessibilityEvent event) { + if (event.getEventType() != TYPE_VIEW_SCROLLED) { + return false; + } + // TODO: Investigate a more accurate way to determine whether a scroll event was + // user initiated or initiated by playing media. + return audioPlaybackMonitor != null + && audioPlaybackMonitor.isPlaybackSourceActive( + AudioPlaybackMonitor.PlaybackSource.USAGE_MEDIA) + && !touchMonitor.isUserTouchingScreen(); + } + + private static boolean isFromScrollable(@NonNull AccessibilityEvent event) { + if (event.getEventType() != TYPE_VIEW_SCROLLED) { + return false; + } + @Nullable AccessibilityNodeInfoCompat source = AccessibilityEventUtils.sourceCompat(event); + // If we cannot check source validity, assume that it's scrollable. + return (source == null) || source.isScrollable(); + } + /** Caches scroll position from {@link AccessibilityEvent}. */ private static class PositionInfo { private final int fromIndex; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/input/SelectionEventInterpreter.java b/utils/src/main/java/com/google/android/accessibility/utils/input/SelectionEventInterpreter.java new file mode 100644 index 000000000..0728687f8 --- /dev/null +++ b/utils/src/main/java/com/google/android/accessibility/utils/input/SelectionEventInterpreter.java @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.utils.input; + +import static android.view.accessibility.AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED; +import static android.view.accessibility.AccessibilityEvent.TYPE_VIEW_SELECTED; +import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED; +import static com.google.android.accessibility.utils.Role.ROLE_CHECK_BOX; +import static com.google.android.accessibility.utils.StringBuilderUtils.optionalTag; + +import android.os.SystemClock; +import android.view.accessibility.AccessibilityEvent; +import androidx.annotation.VisibleForTesting; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import com.google.android.accessibility.utils.AccessibilityEventUtils; +import com.google.android.accessibility.utils.Consumer; +import com.google.android.accessibility.utils.Performance.EventId; +import com.google.android.accessibility.utils.Role; +import com.google.android.accessibility.utils.StringBuilderUtils; +import java.util.ArrayList; +import java.util.List; +import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.nullness.qual.Nullable; + +/** Intended for interpreting special cases involving selection-type events. */ +public final class SelectionEventInterpreter { + private static final int WINDOW_TRANSITION_PERIOD_MILLISECONDS = 100; + private static final String TAG = "SelectionInterpreter"; + + /** Data-structure containing raw-event and interpretation, sent to listeners. */ + public static class Interpretation { + public final AccessibilityEvent event; + public final EventId eventId; + public final boolean isTransitional; + public final boolean isSelected; // Selected versus de-selected + + public Interpretation( + AccessibilityEvent event, + @NonNull EventId eventId, + boolean isTransitional, + boolean isSelected) { + this.event = event; + this.eventId = eventId; + this.isTransitional = isTransitional; + this.isSelected = isSelected; + } + + @Override + public String toString() { + return StringBuilderUtils.joinFields( + eventId.toString(), + optionalTag("transition", isTransitional), + optionalTag("selected", isSelected)); + } + } + + private long windowChangeTimeInMillis = -1; + private final List> listeners = new ArrayList<>(); + + public SelectionEventInterpreter() {} + + public void addListener(Consumer listener) { + listeners.add(listener); + } + + public void interpret(AccessibilityEvent event, EventId eventId) { + int eventType = event.getEventType(); + boolean selected = false; + + if (eventType == AccessibilityEvent.TYPE_WINDOWS_CHANGED) { + windowChangeTimeInMillis = SystemClock.uptimeMillis(); + return; + } else if (eventType == TYPE_WINDOW_CONTENT_CHANGED) { + // Upon deselection, View.setSelected() only sends TYPE_WINDOW_CONTENT_CHANGED, not + // TYPE_VIEW_SELECTED. + if (event.getContentChangeTypes() != CONTENT_CHANGE_TYPE_UNDEFINED) { + return; + } + @Nullable AccessibilityNodeInfoCompat source = AccessibilityEventUtils.sourceCompat(event); + if (Role.getRole(source) != ROLE_CHECK_BOX) { + return; + } + if ((source == null) || source.isSelected()) { + return; // Only need to check TYPE_WINDOW_CONTENT_CHANGED for de-selection. + } + } else if (eventType == TYPE_VIEW_SELECTED) { + @Nullable AccessibilityNodeInfoCompat source = AccessibilityEventUtils.sourceCompat(event); + selected = (source != null) && source.isSelected(); + } else { + return; + } + + // TYPE_VIEW_SELECTED events triggered within 100ms of a window change are labeled as + // transitional. + Interpretation interpretation = + new Interpretation(event, eventId, isWithinWindowTransitionPeriod(), selected); + for (Consumer listener : listeners) { + listener.accept(interpretation); + } + } + + @VisibleForTesting + boolean isWithinWindowTransitionPeriod() { + return SystemClock.uptimeMillis() - windowChangeTimeInMillis + <= WINDOW_TRANSITION_PERIOD_MILLISECONDS; + } +} diff --git a/utils/src/main/java/com/google/android/accessibility/utils/input/SpeechStateMonitor.java b/utils/src/main/java/com/google/android/accessibility/utils/input/SpeechStateMonitor.java new file mode 100644 index 000000000..e7f7a621c --- /dev/null +++ b/utils/src/main/java/com/google/android/accessibility/utils/input/SpeechStateMonitor.java @@ -0,0 +1,141 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.google.android.accessibility.utils.input; + +import static android.view.accessibility.AccessibilityEvent.SPEECH_STATE_LISTENING_END; +import static android.view.accessibility.AccessibilityEvent.SPEECH_STATE_LISTENING_START; +import static android.view.accessibility.AccessibilityEvent.SPEECH_STATE_SPEAKING_END; +import static android.view.accessibility.AccessibilityEvent.SPEECH_STATE_SPEAKING_START; +import static android.view.accessibility.AccessibilityEvent.TYPE_SPEECH_STATE_CHANGE; + +import android.annotation.TargetApi; +import android.os.SystemClock; +import android.text.TextUtils; +import android.view.accessibility.AccessibilityEvent; +import androidx.annotation.IntDef; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.util.HashMap; +import java.util.Map; +import org.checkerframework.checker.nullness.qual.Nullable; + +/** + * Monitors the event TYPE_SPEECH_STATE_CHANGE from the other applications to start or stop Talkback + * speaking or listening. + */ +@TargetApi(33) +public class SpeechStateMonitor { + /** The possible states from the other applications which SpeechStateMonitor keeps. */ + @IntDef({SPEECH_STATE_SPEAKING_START, SPEECH_STATE_LISTENING_START}) + @Retention(RetentionPolicy.SOURCE) + public @interface ReadSpeechState {} + + // The max time of valid speech state. After that, the speech state will be regarded as invalid. + private static final int MAX_CHECK_STATE_MILLISEC = 300000; + + private final HashMap packageToLastState = new HashMap<>(); + + // The last up time of speech state from the same package name. + private long lastSpeechUptimeMillisec = 0; + + /** Read-only interface for reading speech state. */ + // public final State state = new State(); + public int getEventTypes() { + return TYPE_SPEECH_STATE_CHANGE; + } + + public void onAccessibilityEvent(AccessibilityEvent event) { + if (event.getEventType() != TYPE_SPEECH_STATE_CHANGE) { + return; + } + String senderPackage = event.getPackageName().toString(); + if (TextUtils.isEmpty(senderPackage)) { + return; + } + int changeTypes = event.getSpeechStateChangeTypes(); + + @Nullable StateTimeStamp oldState = packageToLastState.get(senderPackage); + + if ((oldState != null) + && (((changeTypes == SPEECH_STATE_SPEAKING_END) + && (oldState.getState() == SPEECH_STATE_SPEAKING_START)) + || ((changeTypes == SPEECH_STATE_LISTENING_END) + && (oldState.getState() == SPEECH_STATE_LISTENING_START)))) { + packageToLastState.remove(senderPackage); + } + if ((changeTypes == SPEECH_STATE_SPEAKING_START) + || (changeTypes == SPEECH_STATE_LISTENING_START)) { + lastSpeechUptimeMillisec = SystemClock.uptimeMillis(); + packageToLastState.put( + senderPackage, new StateTimeStamp(changeTypes, lastSpeechUptimeMillisec)); + } + } + + public boolean isSpeaking() { + return isStateValid(SPEECH_STATE_SPEAKING_START); + } + + public boolean isListening() { + return isStateValid(SPEECH_STATE_LISTENING_START); + } + + private boolean isAnyStateValid() { + long currentSpeechMillisec; + for (Map.Entry s : packageToLastState.entrySet()) { + currentSpeechMillisec = SystemClock.uptimeMillis() - s.getValue().getTimestamp(); + if ((currentSpeechMillisec < MAX_CHECK_STATE_MILLISEC)) { + return true; + } + } + return false; + } + + private boolean isStateValid(@ReadSpeechState int state) { + long currentTimeGapMillisec; + for (Map.Entry s : packageToLastState.entrySet()) { + currentTimeGapMillisec = SystemClock.uptimeMillis() - s.getValue().getTimestamp(); + if ((currentTimeGapMillisec < MAX_CHECK_STATE_MILLISEC) + && (s.getValue().getState() == state)) { + return true; + } + } + + if (!packageToLastState.isEmpty() && !isAnyStateValid()) { + packageToLastState.clear(); + } + + return false; + } + + private static class StateTimeStamp { + + @ReadSpeechState private final int state; + private final long uptimeMillisec; + + StateTimeStamp(@ReadSpeechState int state, long uptimeMillisec) { + this.state = state; + this.uptimeMillisec = uptimeMillisec; + } + + int getState() { + return state; + } + + long getTimestamp() { + return uptimeMillisec; + } + } +} diff --git a/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventFilter.java b/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventFilter.java index 969378a90..dc28f013b 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventFilter.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventFilter.java @@ -166,16 +166,12 @@ public void filterAndSendInterpretation( // empty edit text is focused, in which case we need to manually update the index. AccessibilityNodeInfoCompat source = AccessibilityNodeInfoUtils.toCompat(event.getSource()); - try { - if (source != null) { - if (AccessibilityNodeInfoUtils.isEmptyEditTextRegardlessOfHint(source)) { - textEventHistory.setLastFromIndex(0); - textEventHistory.setLastToIndex(0); - textEventHistory.setLastNode(AccessibilityNodeInfoUtils.obtain(source.unwrap())); - } + if (source != null) { + if (AccessibilityNodeInfoUtils.isEmptyEditTextRegardlessOfHint(source)) { + textEventHistory.setLastFromIndex(0); + textEventHistory.setLastToIndex(0); + textEventHistory.setLastNode(source.unwrap()); } - } finally { - AccessibilityNodeInfoUtils.recycleNodes(source); } } return; @@ -383,7 +379,6 @@ private boolean shouldDropTextSelectionEvent(AccessibilityEvent event) { final AccessibilityRecordCompat record = AccessibilityEventCompat.asRecord(event); final AccessibilityNodeInfoCompat source = record.getSource(); boolean isFocused = source != null && source.isFocused(); - AccessibilityNodeInfoUtils.recycleNodes(source); if (!isFocused) { LogUtils.d(TAG, "Dropped text-selection event from non-focused field"); return true; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventHistory.java b/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventHistory.java index 87d3f9c62..d7ba93b58 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventHistory.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventHistory.java @@ -19,7 +19,6 @@ import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; import com.google.android.accessibility.utils.AccessibilityEventUtils; -import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.libraries.accessibility.utils.log.LogUtils; import org.checkerframework.checker.nullness.qual.Nullable; @@ -93,7 +92,6 @@ public void setLastTextChangePackageName(CharSequence name) { return mLastTextChangePackageName; } - /** Caller must recycle event. */ public void setLastKeptTextSelection(@Nullable AccessibilityEvent event) { mLastKeptTextSelection = AccessibilityEventUtils.replaceWithCopy(mLastKeptTextSelection, event); traceSet("LastKeptTextSelection", "(object)"); @@ -121,23 +119,16 @@ public int getLastToIndex() { return mLastToIndex; } - /** TextEventHistory will recycle newNode. */ public void setLastNode(@Nullable AccessibilityNodeInfo newNode) { - try { - AccessibilityNodeInfoUtils.recycleNodes(mLastNode); - mLastNode = newNode; - newNode = null; - traceSet("LastNode", "(object)"); - } finally { - AccessibilityNodeInfoUtils.recycleNodes(newNode); - } + mLastNode = newNode; + newNode = null; + traceSet("LastNode", "(object)"); } public @Nullable AccessibilityNodeInfo getLastNode() { return mLastNode; } - /** Caller must recycle newEvent. */ // incompatible types in assignment. @SuppressWarnings("nullness:assignment") public void setLastProcessedEvent(AccessibilityEvent newEvent) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventInterpreter.java b/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventInterpreter.java index 169ee87ca..ddf381dbf 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventInterpreter.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/input/TextEventInterpreter.java @@ -18,9 +18,7 @@ import static com.google.android.accessibility.utils.input.TextEventHistory.NO_INDEX; -import android.annotation.TargetApi; import android.content.Context; -import android.os.Build; import android.text.SpannableString; import android.text.TextUtils; import android.text.style.TtsSpan; @@ -28,7 +26,6 @@ import android.view.accessibility.AccessibilityNodeInfo; import androidx.annotation.VisibleForTesting; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; -import com.google.android.accessibility.uiunderstanding.PreferenceProvider; import com.google.android.accessibility.utils.AccessibilityEventUtils; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; import com.google.android.accessibility.utils.BuildVersionUtils; @@ -41,6 +38,7 @@ import com.google.android.accessibility.utils.output.SpeechCleanupUtils; import com.google.android.libraries.accessibility.utils.log.LogUtils; import java.util.List; +import java.util.regex.Pattern; import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; @@ -48,10 +46,12 @@ * Looks at current event & event history, to more specifically determine current event type, and to * extract important pieces of event data. */ -@TargetApi(Build.VERSION_CODES.M) + public class TextEventInterpreter { private static final String TAG = "TextEventInterpreter"; + // The (?s)/DOTALL is for the line termination support; when user clicks Enter in EditText. + private static final Pattern PUNCTUATION_PATTERN = Pattern.compile("(?s).*[\\p{Punct}]$"); /////////////////////////////////////////////////////////////////////////////////// // Inner classes @@ -87,8 +87,8 @@ public interface SelectionStateReader { // Member variables private final Context mContext; - @Nullable private final TextCursorTracker textCursorTracker; - @Nullable private final SelectionStateReader selectionStateReader; + private final @Nullable TextCursorTracker textCursorTracker; + private final @Nullable SelectionStateReader selectionStateReader; private final InputModeManager mInputModeManager; private final ActorStateProvider actorStateProvider; private final PreferenceProvider preferenceProvider; @@ -215,6 +215,8 @@ public void interpret(@NonNull AccessibilityEvent event, @Nullable EventId event return interpretation; } + // dereference of possibly-null reference event.getBeforeText() + @SuppressWarnings("nullness:dereference.of.nullable") private TextEventInterpretation interpretTextChange(AccessibilityEvent event) { // Default to original event type. int eventType = event.getEventType(); @@ -338,6 +340,8 @@ private TextEventInterpretation interpretTextChange(AccessibilityEvent event) { * *

        Fortunately, password field at lock screen doesn't have this issue. */ + // incompatible argument for parameter node of isPinEntry. + @SuppressWarnings("nullness:argument") private static boolean isJunkyCharacterReplacedByBulletInUnlockPinEntry( AccessibilityEvent event) { if (!BuildVersionUtils.isAtLeastP() @@ -357,7 +361,7 @@ private TextEventInterpretation interpretSelectionChange(AccessibilityEvent even final boolean isGranularTraversal = (event.getEventType() == AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY); - @Nullable final CharSequence text; + final @Nullable CharSequence text; if (isGranularTraversal) { // Gets text from node instead of event to prevent missing locale spans. @Nullable AccessibilityNodeInfoCompat nodeToAnnounce = @@ -551,7 +555,7 @@ private TextEventInterpretation interpretSelectionChange(AccessibilityEvent even // Visible for testing only. protected void setHistoryLastNode(AccessibilityEvent event) { - mHistory.setLastNode(event.getSource()); // TextEventHistory will recycle source node. + mHistory.setLastNode(event.getSource()); } //////////////////////////////////////////////////////////////////////////////////////// @@ -581,8 +585,7 @@ private static boolean isValid(AccessibilityEvent event) { return ((beforeText.length() + diff) == afterText.length()); } - @Nullable - private static CharSequence getRemovedText(AccessibilityEvent event) { + private static @Nullable CharSequence getRemovedText(AccessibilityEvent event) { final CharSequence beforeText = event.getBeforeText(); if (beforeText == null) { return null; @@ -608,8 +611,7 @@ private static CharSequence getRemovedText(AccessibilityEvent event) { * @param event * @return the added text. */ - @Nullable - private static CharSequence getAddedText(AccessibilityEvent event) { + private static @Nullable CharSequence getAddedText(AccessibilityEvent event) { final List textList = event.getText(); // noinspection ConstantConditions if (textList == null || textList.size() > 1) { @@ -652,7 +654,7 @@ private boolean appendLastWordIfNeeded( AccessibilityEvent event, TextEventInterpretation interpretation) { final CharSequence text = getEventText(event); final CharSequence addedText = getAddedText(event); - final int fromIndex = event.getFromIndex(); + int fromIndex = event.getFromIndex(); if (fromIndex > text.length()) { LogUtils.w(TAG, "Received event with invalid fromIndex: %s", event); @@ -663,11 +665,15 @@ private boolean appendLastWordIfNeeded( if (addedText != null) { int trimmedLength = TextUtils.getTrimmedLength(addedText); if (trimmedLength > 0) { - return false; + if (!PUNCTUATION_PATTERN.matcher(text).matches()) { + return false; + } else { + // Skip the trailing punctuation. + fromIndex = text.length() - 1; + } } } - - final int breakIndex = getPrecedingWhitespace(text, fromIndex); + final int breakIndex = getPrecedingWhitespaceOrPunctuation(mContext, text, fromIndex); final CharSequence word = text.subSequence(breakIndex, fromIndex); // Did the user just type a word? @@ -692,8 +698,9 @@ private static CharSequence getEventText(AccessibilityEvent event) { return eventText.get(0); } - /** Returns index of first whitespace preceding fromIndex. */ - private static int getPrecedingWhitespace(CharSequence text, int fromIndex) { + /** Returns index of first whitespace or punctuation preceding fromIndex. */ + private static int getPrecedingWhitespaceOrPunctuation( + Context context, CharSequence text, int fromIndex) { if (fromIndex > text.length()) { fromIndex = text.length(); } @@ -701,6 +708,10 @@ private static int getPrecedingWhitespace(CharSequence text, int fromIndex) { if (Character.isWhitespace(text.charAt(i))) { return i; } + if (SpeechCleanupUtils.characterToName(context, text.charAt(i)) != null) { + // The preceding punctuation is not preserved. + return i + 1; + } } return 0; @@ -713,8 +724,7 @@ protected boolean sourceEqualsLastNode(AccessibilityEvent event) { return (source != null) && source.equals(lastNode); } - @Nullable - private CharSequence getUnselectedText( + private @Nullable CharSequence getUnselectedText( boolean isPassword, @Nullable CharSequence text, int fromIndex, @@ -729,8 +739,7 @@ private CharSequence getUnselectedText( } } - @Nullable - private CharSequence getSelectedText( + private @Nullable CharSequence getSelectedText( boolean isPassword, @Nullable CharSequence text, int fromIndex, @@ -758,8 +767,7 @@ private CharSequence getSelectedText( * @return the requested subsequence or an alternate description for passwords, or null if range * is invalid. */ - @Nullable - private CharSequence getSubsequence( + private @Nullable CharSequence getSubsequence( boolean isPassword, @Nullable CharSequence text, int from, int to) { if (isPassword && !preferenceProvider.shouldSpeakPasswords()) { if (to - from == 1) { @@ -773,8 +781,7 @@ private CharSequence getSubsequence( } // REFERTO. Remove only TtsSpans marked up beyond the boundary of traversed text. - @Nullable - public static CharSequence getSubsequenceWithSpans( + public static @Nullable CharSequence getSubsequenceWithSpans( @Nullable CharSequence text, int from, int to) { if (text == null) { return null; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/input/WindowEventInterpreter.java b/utils/src/main/java/com/google/android/accessibility/utils/input/WindowEventInterpreter.java index 3d337860d..36336ae2e 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/input/WindowEventInterpreter.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/input/WindowEventInterpreter.java @@ -412,7 +412,7 @@ public boolean isSupportedWindowStateChange(AccessibilityEvent event) { return false; } - if (BuildVersionUtils.isAtLeastT()) { + if (FeatureSupport.windowStateChangeRequiresPane()) { switch (event.getContentChangeTypes()) { case AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_APPEARED: case AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_DISAPPEARED: @@ -542,14 +542,10 @@ private InterpretationAndRoles interpretInternal(AccessibilityEvent event, int d // Sets the bounds of the source node when the source node of the event is available AccessibilityNode sourceNode = AccessibilityNode.takeOwnership(event.getSource()); - try { - if (sourceNode != null) { - Rect rect = new Rect(); - sourceNode.getBoundsInScreen(rect); - interpretation.setSourceBoundsInScreen(rect); - } - } finally { - AccessibilityNode.recycle("WindowEventInterpreter.interpretInternal", sourceNode); + if (sourceNode != null) { + Rect rect = new Rect(); + sourceNode.getBoundsInScreen(rect); + interpretation.setSourceBoundsInScreen(rect); } // Collect old window information into interpretation. @@ -771,6 +767,8 @@ private void setNewWindowInterpretation(int windowId, WindowInterpretation inter /** Updates anchor node role for interpretation if the source window has an anchor node. */ private void updateAnchorNodeRole(AccessibilityEvent event, EventInterpretation interpretation) { + // incompatible argument for parameter node of getWindow. + @SuppressWarnings("nullness:argument") AccessibilityWindowInfo sourceWindow = AccessibilityNodeInfoUtils.getWindow(event.getSource()); if (sourceWindow == null) { return; @@ -906,7 +904,6 @@ private void updateWindowTitlesImp( AccessibilityNodeInfoUtils.toCompat(event.getSource()); if (accessibilityNodeInfoCompat != null) { accessibilityPaneTitle = accessibilityNodeInfoCompat.getPaneTitle(); - accessibilityNodeInfoCompat.recycle(); } if (TextUtils.isEmpty(accessibilityPaneTitle)) { accessibilityPaneTitle = @@ -970,7 +967,6 @@ private static boolean sourceAncestorHasPane(AccessibilityEvent event) { * work around to make them could be announced. */ // TODO : define the behavior of non-active floating windows in TalkBack - @TargetApi(Build.VERSION_CODES.O) private static boolean shouldAnnounceWindowStateChange(AccessibilityEvent event) { if (event.getEventType() != AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) { throw new IllegalStateException(); @@ -1063,7 +1059,6 @@ private void updateWindowRoles( boolean isOverlayOnEditTextSupported = !BuildVersionUtils.isAtLeastO(); AccessibilityNodeInfo root = AccessibilityWindowInfoUtils.getRoot(window); boolean isTalkbackOverlay = (Role.getRole(root) == Role.ROLE_TALKBACK_EDIT_TEXT_OVERLAY); - AccessibilityNodeInfoUtils.recycleNodes(root); // Only add overlay window not shown by talkback. if (!isOverlayOnEditTextSupported || !isTalkbackOverlay) { accessibilityOverlayWindows.add(window); @@ -1273,7 +1268,6 @@ private CharSequence getWindowTitleForFeedback(int windowId, @Nullable CharSeque AccessibilityWindowInfoUtils.getRoot(accessibilityWindowInfo); if (rootNode != null) { packageName = rootNode.getPackageName(); - rootNode.recycle(); } break; } @@ -1311,15 +1305,10 @@ private static int getWindowType(AccessibilityEvent event) { AccessibilityWindowInfoCompat windowInfoCompat = AccessibilityNodeInfoUtils.getWindow(nodeInfoCompat); if (windowInfoCompat == null) { - nodeInfoCompat.recycle(); return WINDOW_TYPE_NONE; } - int windowType = windowInfoCompat.getType(); - windowInfoCompat.recycle(); - nodeInfoCompat.recycle(); - - return windowType; + return windowInfoCompat.getType(); } private static List getAllWindows(AccessibilityService service) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/DefaultKeyComboModel.java b/utils/src/main/java/com/google/android/accessibility/utils/keyboard/DefaultKeyComboModel.java deleted file mode 100644 index 3b2b9b561..000000000 --- a/utils/src/main/java/com/google/android/accessibility/utils/keyboard/DefaultKeyComboModel.java +++ /dev/null @@ -1,604 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package com.google.android.accessibility.utils.keyboard; - -import android.content.Context; -import android.content.SharedPreferences; -import android.view.KeyEvent; -import androidx.annotation.Nullable; -import com.google.android.accessibility.utils.FeatureSupport; -import com.google.android.accessibility.utils.R; -import com.google.android.accessibility.utils.SharedPreferencesUtils; -import java.util.Map; -import java.util.TreeMap; - -/** Default key combo model. */ -public class DefaultKeyComboModel implements KeyComboModel { - public static final String PREF_KEY_PREFIX = "default_key_combo_model"; - - private final Context mContext; - private final boolean mIsArc; - private final Map mKeyComboCodeMap = new TreeMap<>(); - private final KeyComboPersister mPersister; - - private int mTriggerModifier = KeyEvent.META_ALT_ON; - - public DefaultKeyComboModel(Context context) { - mContext = context; - mIsArc = FeatureSupport.isArc(); - mPersister = new KeyComboPersister(context, PREF_KEY_PREFIX); - - loadTriggerModifierFromPreferences(); - addKeyCombos(); - } - - private void loadTriggerModifierFromPreferences() { - SharedPreferences prefs = SharedPreferencesUtils.getSharedPreferences(mContext); - int defaultTriggerModifier = - mIsArc - ? R.string.trigger_modifier_meta_entry_value - : R.string.trigger_modifier_alt_entry_value; - - if (!prefs.contains(getPreferenceKeyForTriggerModifier())) { - // Store default value in preferences to show it in preferences UI. - prefs - .edit() - .putString( - getPreferenceKeyForTriggerModifier(), mContext.getString(defaultTriggerModifier)) - .apply(); - } - - String triggerModifier = - prefs.getString( - getPreferenceKeyForTriggerModifier(), mContext.getString(defaultTriggerModifier)); - if (triggerModifier.equals(mContext.getString(R.string.trigger_modifier_alt_entry_value))) { - mTriggerModifier = KeyEvent.META_ALT_ON; - } else if (triggerModifier.equals( - mContext.getString(R.string.trigger_modifier_meta_entry_value))) { - mTriggerModifier = KeyEvent.META_META_ON; - } - } - - private void addKeyCombos() { - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_perform_click)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_perform_long_click)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_other_read_from_top)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_other_read_from_next_item)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_other_talkback_context_menu)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_other_custom_actions)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_other_language_options)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_other_toggle_search)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_global_back)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_default)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_default)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_up)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_down)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_first)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_last)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_word)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_word)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_character)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_character)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_button)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_button)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_control)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_control)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_checkbox)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_checkbox)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_aria_landmark)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_aria_landmark)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_edit_field)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_edit_field)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_focusable_item)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_focusable_item)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_graphic)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_graphic)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_1)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_1)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_2)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_2)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_3)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_3)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_4)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_4)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_5)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_5)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_6)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_6)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_list_item)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_list_item)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_link)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_link)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_list)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_list)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_table)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_table)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_combobox)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_combobox)); - if (!mIsArc) { - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_next_window)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_navigate_previous_window)); - } - if (mIsArc) { - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_open_manage_keyboard_shortcuts)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_open_talkback_settings)); - } - if (!mIsArc) { - if (!FeatureSupport.hasAccessibilityShortcut(mContext)) { - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_global_suspend)); - } - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_global_home)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_global_recents)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_global_notifications)); - addKeyCombo(mContext.getString(R.string.keycombo_shortcut_global_play_pause_media)); - addKeyCombo( - mContext.getString(R.string.keycombo_shortcut_global_scroll_forward_reading_menu)); - addKeyCombo( - mContext.getString(R.string.keycombo_shortcut_global_scroll_backward_reading_menu)); - addKeyCombo( - mContext.getString(R.string.keycombo_shortcut_global_adjust_reading_settings_previous)); - addKeyCombo( - mContext.getString(R.string.keycombo_shortcut_global_adjust_reading_setting_next)); - } - } - - private void addKeyCombo(String key) { - if (!mPersister.contains(key)) { - mPersister.saveKeyCombo(key, getDefaultKeyComboCode(key)); - } - - mKeyComboCodeMap.put(key, mPersister.getKeyComboCode(key)); - } - - @Override - public int getTriggerModifier() { - return mTriggerModifier; - } - - public String getTriggerModifierName() { - SharedPreferences prefs = SharedPreferencesUtils.getSharedPreferences(mContext); - String triggerModifier = - prefs.getString( - getPreferenceKeyForTriggerModifier(), - mContext.getString(R.string.trigger_modifier_alt_entry_value)); - String TriggerModifierName = ""; - - if (triggerModifier.equals(mContext.getString(R.string.trigger_modifier_alt_entry_value))) { - TriggerModifierName = mContext.getString(R.string.keycombo_key_modifier_alt); - } else if (triggerModifier.equals( - mContext.getString(R.string.trigger_modifier_meta_entry_value))) { - TriggerModifierName = mContext.getString(R.string.keycombo_key_modifier_meta); - } - - return TriggerModifierName; - } - - @Override - public void notifyTriggerModifierChanged() { - loadTriggerModifierFromPreferences(); - } - - @Override - public String getPreferenceKeyForTriggerModifier() { - return mContext.getString(R.string.pref_default_keymap_trigger_modifier_key); - } - - @Override - public Map getKeyComboCodeMap() { - return mKeyComboCodeMap; - } - - @Nullable - @Override - public String getKeyForKeyComboCode(long keyComboCode) { - for (Map.Entry entry : mKeyComboCodeMap.entrySet()) { - if (entry.getValue() == keyComboCode) { - return entry.getKey(); - } - } - - return null; - } - - @Override - public long getKeyComboCodeForKey(String key) { - if (key != null && mKeyComboCodeMap.containsKey(key)) { - return mKeyComboCodeMap.get(key); - } else { - return KEY_COMBO_CODE_UNASSIGNED; - } - } - - @Override - public long getDefaultKeyComboCode(String key) { - if (key == null) { - return KEY_COMBO_CODE_UNASSIGNED; - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_perform_click))) { - if (mIsArc) { - return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_SPACE); - } else { - return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_ENTER); - } - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_perform_long_click))) { - if (mIsArc) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_SPACE); - } else { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_ENTER); - } - } - - if (!FeatureSupport.hasAccessibilityShortcut(mContext) - && key.equals(mContext.getString(R.string.keycombo_shortcut_global_suspend))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_Z); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_read_from_top))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_ENTER); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_read_from_next_item))) { - return KeyComboManager.getKeyComboCode( - KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_ENTER); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_talkback_context_menu))) { - if (mIsArc) { - return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_ENTER); - } else { - return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_SPACE); - } - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_custom_actions))) { - if (mIsArc) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_ENTER); - } else { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_SPACE); - } - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_language_options))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_L); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_other_toggle_search))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_SLASH); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_home))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_H); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_recents))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_R); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_back))) { - return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_DEL); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_notifications))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_N); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_global_play_pause_media))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_SPACE); - } - - if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_scroll_forward_reading_menu))) { - return KeyComboManager.getKeyComboCode( - KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_DOWN); - } - - if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_scroll_backward_reading_menu))) { - return KeyComboManager.getKeyComboCode( - KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_UP); - } - - if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_adjust_reading_settings_previous))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_UP); - } - - if (key.equals( - mContext.getString(R.string.keycombo_shortcut_global_adjust_reading_setting_next))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_DOWN); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_default))) { - return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_DPAD_RIGHT); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_default))) { - return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_DPAD_LEFT); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_up))) { - return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_DPAD_UP); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_down))) { - return KeyComboManager.getKeyComboCode(NO_MODIFIER, KeyEvent.KEYCODE_DPAD_DOWN); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_first))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_LEFT); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_last))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_RIGHT); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_word))) { - return KeyComboManager.getKeyComboCode( - KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_RIGHT); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_word))) { - return KeyComboManager.getKeyComboCode( - KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_LEFT); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_character))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_RIGHT); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_character))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_DPAD_LEFT); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_button))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_B); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_button))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_B); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_control))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_C); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_control))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_C); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_checkbox))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_X); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_checkbox))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_X); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_aria_landmark))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_D); - } - - if (key.equals( - mContext.getString(R.string.keycombo_shortcut_navigate_previous_aria_landmark))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_D); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_edit_field))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_E); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_edit_field))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_E); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_focusable_item))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_F); - } - - if (key.equals( - mContext.getString(R.string.keycombo_shortcut_navigate_previous_focusable_item))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_F); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_graphic))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_G); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_graphic))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_G); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_H); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_H); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_1))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_1); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_1))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_1); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_2))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_2); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_2))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_2); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_3))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_3); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_3))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_3); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_4))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_4); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_4))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_4); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_5))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_5); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_5))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_5); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_heading_6))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_6); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_heading_6))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_6); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_list_item))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_I); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_list_item))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_I); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_link))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_L); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_link))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_L); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_list))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_O); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_list))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_O); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_table))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_T); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_table))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_T); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_combobox))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_Z); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_combobox))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_SHIFT_ON, KeyEvent.KEYCODE_Z); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_next_window))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_DOWN); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_navigate_previous_window))) { - return KeyComboManager.getKeyComboCode(KeyEvent.META_CTRL_ON, KeyEvent.KEYCODE_DPAD_UP); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_open_manage_keyboard_shortcuts))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_K); - } - - if (key.equals(mContext.getString(R.string.keycombo_shortcut_open_talkback_settings))) { - return KeyComboManager.getKeyComboCode(KeyComboModel.NO_MODIFIER, KeyEvent.KEYCODE_0); - } - - return KEY_COMBO_CODE_UNASSIGNED; - } - - @Override - public void saveKeyComboCode(String key, long keyComboCode) { - mPersister.saveKeyCombo(key, keyComboCode); - mKeyComboCodeMap.put(key, keyComboCode); - } - - @Override - public void clearKeyComboCode(String key) { - saveKeyComboCode(key, KEY_COMBO_CODE_UNASSIGNED); - } - - @Override - public boolean isEligibleKeyComboCode(long keyComboCode) { - if (keyComboCode == KEY_COMBO_CODE_UNASSIGNED) { - return true; - } - - // Do not allow to set key combo which is consisted only with modifiers. - int keyCode = KeyComboManager.getKeyCode(keyComboCode); - if (KeyEvent.isModifierKey(keyCode) || keyCode == KeyEvent.KEYCODE_UNKNOWN) { - return false; - } - - // It's not allowed to use trigger modifier as part of key combo code. - return (KeyComboManager.getModifier(keyComboCode) & getTriggerModifier()) == 0; - } - - @Override - public String getDescriptionOfEligibleKeyCombo() { - return mContext.getString( - R.string.keycombo_assign_dialog_default_keymap_instruction, getTriggerModifierName()); - } - - @Override - public void updateVersion(int previousVersion) { - if (previousVersion < 50200001) { - // From version 50200001, we've renamed keycombo_shortcut_navigate_next and - // keycombo_shortcut_navigate_previous to keycombo_shortcut_navigate_next_default and - // keycombo_shortcut_navigate_previous_default respectively. - moveKeyComboPreferenceValue( - mContext.getString(R.string.keycombo_shortcut_navigate_next), - mContext.getString(R.string.keycombo_shortcut_navigate_next_default)); - moveKeyComboPreferenceValue( - mContext.getString(R.string.keycombo_shortcut_navigate_previous), - mContext.getString(R.string.keycombo_shortcut_navigate_previous_default)); - } - } - - /** - * Move key combo preference value from fromKey to toKey. Original value in fromKey is deleted. - */ - private void moveKeyComboPreferenceValue(String fromKey, String toKey) { - if (!mPersister.contains(fromKey)) { - return; - } - - saveKeyComboCode(toKey, mPersister.getKeyComboCode(fromKey)); - mPersister.remove(fromKey); - } -} diff --git a/utils/src/main/java/com/google/android/accessibility/utils/monitor/AudioPlaybackMonitor.java b/utils/src/main/java/com/google/android/accessibility/utils/monitor/AudioPlaybackMonitor.java index fd80814c3..1324c4cc9 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/monitor/AudioPlaybackMonitor.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/monitor/AudioPlaybackMonitor.java @@ -16,13 +16,11 @@ package com.google.android.accessibility.utils.monitor; -import android.annotation.TargetApi; import android.content.Context; import android.media.AudioAttributes; import android.media.AudioManager; import android.media.AudioManager.AudioPlaybackCallback; import android.media.AudioPlaybackConfiguration; -import android.os.Build; import com.google.android.accessibility.utils.BuildVersionUtils; import java.util.List; import org.checkerframework.checker.nullness.qual.Nullable; @@ -66,12 +64,11 @@ public String getName() { private final @Nullable Context context; private @Nullable AudioManager audioManager; - @Nullable private final AudioPlaybackCallback audioPlaybackCallback; + private final @Nullable AudioPlaybackCallback audioPlaybackCallback; - @Nullable private AudioPlaybackStateChangedListener listener; + private @Nullable AudioPlaybackStateChangedListener listener; private boolean isPlaying = false; - @TargetApi(Build.VERSION_CODES.O) public AudioPlaybackMonitor(Context context) { this.context = context; if (BuildVersionUtils.isAtLeastO()) { @@ -124,7 +121,6 @@ public boolean isPlaybackSourceActive(PlaybackSource source) { return false; } - @TargetApi(Build.VERSION_CODES.O) public void onResumeInfrastructure() { if (audioPlaybackCallback != null) { isPlaying = false; @@ -136,7 +132,6 @@ public void onResumeInfrastructure() { } } - @TargetApi(Build.VERSION_CODES.O) public void onSuspendInfrastructure() { if (audioPlaybackCallback != null) { @Nullable AudioManager audioManagerNow = getAudioManager(); @@ -167,7 +162,6 @@ public String getStatusSummary() { return result; } - @TargetApi(Build.VERSION_CODES.O) private static boolean containsAudioPlaybackSources(List configs) { if (configs == null) { return false; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/monitor/MediaRecorderMonitor.java b/utils/src/main/java/com/google/android/accessibility/utils/monitor/MediaRecorderMonitor.java index 2c169c474..3937d2365 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/monitor/MediaRecorderMonitor.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/monitor/MediaRecorderMonitor.java @@ -19,12 +19,10 @@ import static android.media.MediaRecorder.AudioSource.MIC; import static android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION; -import android.annotation.TargetApi; import android.content.Context; import android.media.AudioManager; import android.media.AudioManager.AudioRecordingCallback; import android.media.AudioRecordingConfiguration; -import android.os.Build; import com.google.android.accessibility.utils.BuildVersionUtils; import com.google.android.accessibility.utils.compat.media.AudioSystemCompatUtils; import java.util.List; @@ -84,7 +82,6 @@ public boolean isVoiceRecognitionActive() { } } - @TargetApi(Build.VERSION_CODES.N) public void onResumeInfrastructure() { if ((audioRecordingCallback != null) && (audioManager != null)) { isRecording = false; @@ -92,7 +89,6 @@ public void onResumeInfrastructure() { } } - @TargetApi(Build.VERSION_CODES.N) public void onSuspendInfrastructure() { if ((audioRecordingCallback != null) && (audioManager != null)) { audioManager.unregisterAudioRecordingCallback(audioRecordingCallback); @@ -103,7 +99,6 @@ public void setMicrophoneStateChangedListener(MicrophoneStateChangedListener lis this.listener = listener; } - @TargetApi(Build.VERSION_CODES.N) private static boolean containsAudioSources(List configs) { if (configs == null) { return false; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/monitor/TouchMonitor.java b/utils/src/main/java/com/google/android/accessibility/utils/monitor/TouchMonitor.java new file mode 100644 index 000000000..6adfe0ab9 --- /dev/null +++ b/utils/src/main/java/com/google/android/accessibility/utils/monitor/TouchMonitor.java @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2022 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.utils.monitor; + +import static android.view.accessibility.AccessibilityEvent.TYPE_TOUCH_INTERACTION_END; +import static android.view.accessibility.AccessibilityEvent.TYPE_TOUCH_INTERACTION_START; + +import android.view.accessibility.AccessibilityEvent; +import com.google.android.accessibility.utils.Consumer; +import com.google.errorprone.annotations.CheckReturnValue; +import java.util.ArrayList; +import org.checkerframework.checker.nullness.qual.NonNull; + +/** Monitors touch-events, and can report changes or current touch state. */ +@CheckReturnValue // see go/why-crv +public class TouchMonitor { + + /////////////////////////////////////////////////////////////////////////////////// + // Member data + + private boolean isUserTouchingScreen = false; + private final @NonNull ArrayList<@NonNull Consumer> listeners = new ArrayList<>(); + + /////////////////////////////////////////////////////////////////////////////////// + // Construction + + public void addListener(@NonNull Consumer listener) { + listeners.add(listener); + } + + /////////////////////////////////////////////////////////////////////////////////// + // Methods + public int getEventTypes() { + return TYPE_TOUCH_INTERACTION_START | TYPE_TOUCH_INTERACTION_END; + } + + public void onAccessibilityEvent(@NonNull AccessibilityEvent event) { + + boolean wasUserTouchingScreen = isUserTouchingScreen; + + int eventType = event.getEventType(); + if (eventType == TYPE_TOUCH_INTERACTION_START) { + // TODO: When double tapping on screen, touch interaction start/end events might + // be sent in reversed order. We might need a more reliable way to detect touch start/end + // actions. + isUserTouchingScreen = true; + } else if (eventType == TYPE_TOUCH_INTERACTION_END) { + isUserTouchingScreen = false; + } + + // Notify listeners that touch-state changed. + if (wasUserTouchingScreen != isUserTouchingScreen) { + for (@NonNull Consumer listener : listeners) { + listener.accept(isUserTouchingScreen); + } + } + } + + public boolean isUserTouchingScreen() { + return isUserTouchingScreen; + } +} diff --git a/utils/src/main/java/com/google/android/accessibility/utils/ocr/OcrController.java b/utils/src/main/java/com/google/android/accessibility/utils/ocr/OcrController.java index 886b7c3b6..622ad15df 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/ocr/OcrController.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/ocr/OcrController.java @@ -104,7 +104,7 @@ public void shutdown() { * @param image The {@link Bitmap} containing the screenshot. * @param ocrInfos Provides some information of {@link AccessibilityNodeInfoCompat} nodes * representing the on-screen {@link android.view.View}s whose screenshots we want to extract - * text from using OCR. Caller retains responsibility to recycle them. + * text from using OCR. * @param filter Only the nodes which are accepted by the filter will be recognized. */ public void recognizeTextForNodes( diff --git a/utils/src/main/java/com/google/android/accessibility/utils/ocr/OcrInfo.java b/utils/src/main/java/com/google/android/accessibility/utils/ocr/OcrInfo.java index 497fcd981..bae45ef23 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/ocr/OcrInfo.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/ocr/OcrInfo.java @@ -31,7 +31,6 @@ public class OcrInfo { public final AccessibilityNodeInfoCompat node; @Nullable public List textBlocks; - /** Caller retains responsibility to recycle the node. */ public OcrInfo(AccessibilityNodeInfoCompat node) { this.node = node; } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/output/FailoverTextToSpeech.java b/utils/src/main/java/com/google/android/accessibility/utils/output/FailoverTextToSpeech.java index 589c694ed..e2b4bf6a9 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/output/FailoverTextToSpeech.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/output/FailoverTextToSpeech.java @@ -16,7 +16,6 @@ package com.google.android.accessibility.utils.output; -import android.annotation.TargetApi; import android.content.BroadcastReceiver; import android.content.ComponentCallbacks; import android.content.ContentResolver; @@ -28,7 +27,6 @@ import android.media.AudioAttributes; import android.media.AudioManager; import android.net.Uri; -import android.os.Build; import android.os.Bundle; import android.os.Message; import android.os.PowerManager; @@ -1046,7 +1044,6 @@ public void onStart(String utteranceId) { } } - @TargetApi(Build.VERSION_CODES.N) // This callback will only be called on N+. @Override public void onAudioAvailable(String utteranceId, byte[] audio) { // onAudioAvailable() is usually called many times per utterance, @@ -1054,7 +1051,6 @@ public void onAudioAvailable(String utteranceId, byte[] audio) { updatePerformanceMetrics(utteranceId); } - @TargetApi(Build.VERSION_CODES.O) @Override public void onRangeStart(String utteranceId, int start, int end, int frame) { if (mShouldHandleTtsCallbackInMainThread) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/output/FeedbackController.java b/utils/src/main/java/com/google/android/accessibility/utils/output/FeedbackController.java index 664131514..fdbb33e0e 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/output/FeedbackController.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/output/FeedbackController.java @@ -24,6 +24,7 @@ import android.media.AudioAttributes; import android.media.AudioManager; import android.media.SoundPool; +import android.os.SystemClock; import android.os.VibrationEffect; import android.os.Vibrator; import android.util.SparseIntArray; @@ -32,13 +33,18 @@ import com.google.android.accessibility.utils.Performance.EventId; import com.google.android.accessibility.utils.R; import com.google.android.libraries.accessibility.utils.log.LogUtils; +import java.util.HashMap; import java.util.HashSet; import java.util.Set; +import org.checkerframework.checker.nullness.qual.NonNull; import org.checkerframework.checker.nullness.qual.Nullable; /** A feedback controller that caches sounds for quicker playback. */ public class FeedbackController { + ////////////////////////////////////////////////////////////////////////////////////////// + // Constants + private static final String TAG = "FeedbackController"; /** Default stream for audio feedback. */ @@ -50,6 +56,11 @@ public class FeedbackController { /** Maximum number of concurrent audio streams. */ private static final int MAX_STREAMS = 10; + public static final long NO_SEPARATION = 0; + + ////////////////////////////////////////////////////////////////////////////////////////// + // Member data + /** The parent context. */ private final Context mContext; @@ -73,6 +84,11 @@ public class FeedbackController { private final Set mHapticFeedbackListeners = new HashSet<>(); + private final @NonNull HashMap resIdToLastPlayUptimeMillisec = new HashMap<>(); + + ////////////////////////////////////////////////////////////////////////////////////////// + // Construction + public FeedbackController(Context context) { this(context, createSoundPool(), (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE)); } @@ -84,6 +100,9 @@ public FeedbackController(Context context, SoundPool soundPool, Vibrator vibrato mVibrator = vibrator; } + ////////////////////////////////////////////////////////////////////////////////////////// + // Methods + /** * Plays the vibration pattern associated with the given resource ID. * @@ -149,6 +168,28 @@ public void playAuditory(int resId, @Nullable EventId eventId) { playAuditory(resId, 1.0f /* rate */, 1.0f /* volume */, eventId); } + /** Plays audio-resource only if it has not been played in the last separationMillisec. */ + public void playAuditory( + int resId, + final float rate, + float volume, + @Nullable EventId eventId, + long separationMillisec) { + if (separationMillisec != NO_SEPARATION) { + @Nullable Long lastPlayUptimeMillisec = resIdToLastPlayUptimeMillisec.get(resId); + long nowUptimeMillisec = SystemClock.uptimeMillis(); + // If time to play... update last-play-time... else... skip playing. + if ((lastPlayUptimeMillisec == null) + || (separationMillisec < nowUptimeMillisec - lastPlayUptimeMillisec)) { + resIdToLastPlayUptimeMillisec.put(resId, nowUptimeMillisec); + } else { + return; + } + } + + playAuditory(resId, rate, volume, eventId); + } + /** * Plays the auditory feedback associated with the given resource ID using the specified rate, * volume, and panning. diff --git a/utils/src/main/java/com/google/android/accessibility/utils/output/SpeechControllerImpl.java b/utils/src/main/java/com/google/android/accessibility/utils/output/SpeechControllerImpl.java index 3bf0fb26a..aee20c5f9 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/output/SpeechControllerImpl.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/output/SpeechControllerImpl.java @@ -22,7 +22,6 @@ import static java.lang.Math.min; import android.annotation.SuppressLint; -import android.annotation.TargetApi; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; @@ -30,7 +29,6 @@ import android.media.AudioFocusRequest; import android.media.AudioManager; import android.media.AudioRecordingConfiguration; -import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.SystemClock; @@ -1600,19 +1598,16 @@ private static int parseUtteranceId(String utteranceId) { * * @see #handleSpeechCompleted(int status) */ - @TargetApi(Build.VERSION_CODES.N) private void handleSpeechStarting() { for (SpeechController.Observer observer : mObservers) { observer.onSpeechStarting(); } boolean useAudioFocus = mUseAudioFocus; - if (BuildVersionUtils.isAtLeastN()) { - List recordConfigurations = - mAudioManager.getActiveRecordingConfigurations(); - if (recordConfigurations.size() != 0) { - useAudioFocus = false; - } + List recordConfigurations = + mAudioManager.getActiveRecordingConfigurations(); + if (!recordConfigurations.isEmpty()) { + useAudioFocus = false; } if (useAudioFocus) { @@ -1928,7 +1923,10 @@ private void onUtteranceCompleted( // completion. This means we interrupted a previous utterance and // can safely ignore this callback. LogUtils.v( - TAG, "Interrupted %d with %s", utteranceIndex, mCurrentFeedbackItem.getUtteranceId()); + TAG, + "Interrupted %d with %s", + utteranceIndex, + (mCurrentFeedbackItem == null) ? null : mCurrentFeedbackItem.getUtteranceId()); return; } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/traversal/DirectionalTraversalStrategy.java b/utils/src/main/java/com/google/android/accessibility/utils/traversal/DirectionalTraversalStrategy.java index f9ee021aa..dc7d89f60 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/traversal/DirectionalTraversalStrategy.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/traversal/DirectionalTraversalStrategy.java @@ -22,7 +22,6 @@ import android.graphics.Rect; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import com.google.android.accessibility.utils.AccessibilityNodeInfoUtils; -import com.google.android.accessibility.utils.BuildVersionUtils; import com.google.android.accessibility.utils.Filter; import com.google.android.accessibility.utils.FocusFinder; import com.google.android.accessibility.utils.WebInterfaceUtils; @@ -72,14 +71,6 @@ public DirectionalTraversalStrategy(AccessibilityNodeInfoCompat root, FocusFinde mRootRectPadded.inset(fudge, fudge); processNodes(mRoot, false /* forceRefresh */); - - // Before N, sometimes AccessibilityNodeInfo is not properly updated after transitions - // occur. This was fixed in a system framework change for N. REFERTO for context. - // To work-around, manually refresh AccessibilityNodeInfo if it initially - // looks like there's nothing to focus on. - if (mFocusables.isEmpty() && !BuildVersionUtils.isAtLeastN()) { - processNodes(mRoot, true /* forceRefresh */); - } } /** @@ -264,15 +255,6 @@ public Map getSpeakingNodesCache() { return null; } - /** - * TODO: Remove once all dependencies have been removed. - * - * @deprecated Accessibility is discontinuing recycling. - */ - @Override - @Deprecated - public void recycle() {} - /** * Returns the bounding rect of the given node for directional navigation purposes. Any node that * is a container of a focusable node will be reduced to a strip at its very top edge. diff --git a/utils/src/main/java/com/google/android/accessibility/utils/traversal/OrderedTraversalStrategy.java b/utils/src/main/java/com/google/android/accessibility/utils/traversal/OrderedTraversalStrategy.java index cbb8e66e9..248e7d07f 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/traversal/OrderedTraversalStrategy.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/traversal/OrderedTraversalStrategy.java @@ -47,11 +47,6 @@ public OrderedTraversalStrategy(AccessibilityNodeInfoCompat rootNode) { mController.initOrder(mRootNode, false); } - /** @deprecated Accessibility is discontinuing recycling. */ - @Override - @Deprecated - public void recycle() {} - @Override public Map getSpeakingNodesCache() { return mSpeakingNodesCache; diff --git a/utils/src/main/java/com/google/android/accessibility/utils/traversal/SimpleTraversalStrategy.java b/utils/src/main/java/com/google/android/accessibility/utils/traversal/SimpleTraversalStrategy.java index b41501b81..df8b74a47 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/traversal/SimpleTraversalStrategy.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/traversal/SimpleTraversalStrategy.java @@ -67,7 +67,4 @@ public class SimpleTraversalStrategy implements TraversalStrategy { public Map getSpeakingNodesCache() { return null; } - - @Override - public void recycle() {} } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/traversal/SpannableTraversalUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/traversal/SpannableTraversalUtils.java index ced581e97..17cf4a06d 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/traversal/SpannableTraversalUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/traversal/SpannableTraversalUtils.java @@ -39,7 +39,7 @@ public static boolean hasTargetSpanInNodeTreeDescription( Set visitedNode = new HashSet<>(); try { return searchSpannableStringsInNodeTree( - AccessibilityNodeInfoUtils.obtain(node), // Root node. + node, // Root node. visitedNode, // Visited nodes. null, // Result list. No need to collect result here. targetSpanClass // Target span class @@ -48,10 +48,7 @@ public static boolean hasTargetSpanInNodeTreeDescription( } } - /** - * Collects SpannableStrings with target span within the node tree description. Caller should - * recycle {@code node}. - */ + /** Collects SpannableStrings with target span within the node tree description. */ public static void collectSpannableStringsWithTargetSpanInNodeDescriptionTree( AccessibilityNodeInfoCompat node, Class targetSpanClass, diff --git a/utils/src/main/java/com/google/android/accessibility/utils/traversal/TraversalStrategy.java b/utils/src/main/java/com/google/android/accessibility/utils/traversal/TraversalStrategy.java index 5550d6b65..0d4f2dbad 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/traversal/TraversalStrategy.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/traversal/TraversalStrategy.java @@ -96,14 +96,4 @@ public interface TraversalStrategy { * @return speaking node cache map. Could be null if cache is not used by traversal strategy */ public Map getSpeakingNodesCache(); - - /** - * When there is no need in traversal strategy object it must be recycled before garbage collected - * - *

        TODO: Remove once all dependencies have been removed. - * - * @deprecated Accessibility is discontinuing recycling. - */ - @Deprecated - public void recycle(); } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/traversal/TraversalStrategyUtils.java b/utils/src/main/java/com/google/android/accessibility/utils/traversal/TraversalStrategyUtils.java index e959609b2..723d1ff30 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/traversal/TraversalStrategyUtils.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/traversal/TraversalStrategyUtils.java @@ -296,7 +296,7 @@ public static boolean isAutoScrollEdgeListItem( * * @param cursor Node to check. * @param scrollableNode The scrollable container that for checking the cursor is at the edge or - * not. Caller is responsible to recycle it. + * not. * @param ignoreDescendantsOfCursor Whether to ignore descendants of cursor when search down the * node tree. * @param direction The direction in which to move from the cursor. @@ -431,7 +431,7 @@ public boolean accept(AccessibilityNodeInfoCompat node) { AccessibilityNodeInfoCompat initialNode = traversalStrategy.focusInitial(root, direction); if (nodeFilter.accept(initialNode)) { - return AccessibilityNodeInfoUtils.obtain(initialNode); + return initialNode; } return TraversalStrategyUtils.searchFocus( traversalStrategy, initialNode, direction, nodeFilter); diff --git a/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoublePlayPauseButtonShortPressPatternMatcher.java b/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoublePlayPauseButtonShortPressPatternMatcher.java index 84f2613e3..1f4a1aa03 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoublePlayPauseButtonShortPressPatternMatcher.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoublePlayPauseButtonShortPressPatternMatcher.java @@ -33,7 +33,7 @@ public class DoublePlayPauseButtonShortPressPatternMatcher extends VolumeButtonP public DoublePlayPauseButtonShortPressPatternMatcher() { super( - VolumeButtonPatternDetector.SHORT_DOUBLE_PRESS_PARTTERN, + VolumeButtonPatternDetector.SHORT_DOUBLE_PRESS_PATTERN, VolumeButtonPatternDetector.PLAY_PAUSE); } diff --git a/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoubleVolumeButtonLongPressPatternMatcher.java b/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoubleVolumeButtonLongPressPatternMatcher.java deleted file mode 100644 index a799f284a..000000000 --- a/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoubleVolumeButtonLongPressPatternMatcher.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright 2015 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package com.google.android.accessibility.utils.volumebutton; - -import android.os.SystemClock; -import android.view.KeyEvent; -import android.view.ViewConfiguration; -import androidx.annotation.Nullable; - -/** A {@link VolumeButtonPatternMatcher} to detect long pressing on both volume up and down keys. */ -public class DoubleVolumeButtonLongPressPatternMatcher extends VolumeButtonPatternMatcher { - - private static final int LONG_PRESS_TIMEOUT = ViewConfiguration.getLongPressTimeout(); - - @Nullable private VolumeButtonAction mVolumeUpAction; - @Nullable private VolumeButtonAction mVolumeDownAction; - - public DoubleVolumeButtonLongPressPatternMatcher() { - super( - VolumeButtonPatternDetector.TWO_BUTTONS_LONG_PRESS_PATTERN, - VolumeButtonPatternDetector.TWO_BUTTONS); - } - - @Override - public void onKeyEvent(KeyEvent keyEvent) { - if (keyEvent.getKeyCode() != KeyEvent.KEYCODE_VOLUME_DOWN - && keyEvent.getKeyCode() != KeyEvent.KEYCODE_VOLUME_UP) { - return; - } - - if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) { - handleActionDownEvent(keyEvent); - } else { - handleActionUpEvent(keyEvent); - } - } - - private void handleActionDownEvent(KeyEvent event) { - VolumeButtonAction action = createAction(event); - if (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) { - mVolumeUpAction = action; - } else { - mVolumeDownAction = action; - } - } - - private void handleActionUpEvent(KeyEvent event) { - VolumeButtonAction action; - if (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) { - action = mVolumeUpAction; - } else { - action = mVolumeDownAction; - } - - if (action != null) { - action.pressed = false; - action.endTimestamp = event.getEventTime(); - } - } - - @Override - public boolean checkMatch() { - long uptime = SystemClock.uptimeMillis(); - if (mVolumeUpAction == null || mVolumeDownAction == null) { - return false; - } - - long doubleButtonStartTimestamp = - Math.max(mVolumeUpAction.startTimestamp, mVolumeDownAction.startTimestamp); - long upButtonEndTimestamp = mVolumeUpAction.pressed ? uptime : mVolumeUpAction.endTimestamp; - long downButtonEndTimestamp = - mVolumeDownAction.pressed ? uptime : mVolumeDownAction.endTimestamp; - long doubleButtonEndTimestamp = Math.min(upButtonEndTimestamp, downButtonEndTimestamp); - return doubleButtonEndTimestamp - doubleButtonStartTimestamp > LONG_PRESS_TIMEOUT; - } - - @Override - public void clear() { - mVolumeUpAction = null; - mVolumeDownAction = null; - } -} diff --git a/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoubleVolumeButtonThreeShortPressPatternMatcher.java b/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoubleVolumeButtonThreeShortPressPatternMatcher.java deleted file mode 100644 index faa225140..000000000 --- a/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/DoubleVolumeButtonThreeShortPressPatternMatcher.java +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright 2015 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package com.google.android.accessibility.utils.volumebutton; - -import android.view.KeyEvent; -import android.view.ViewConfiguration; -import androidx.annotation.Nullable; -import java.util.concurrent.TimeUnit; - -/** Matches 3 short presses on both volume buttons. */ -public class DoubleVolumeButtonThreeShortPressPatternMatcher extends VolumeButtonPatternMatcher { - - private static final long MULTIPLE_TAP_TIMEOUT = TimeUnit.MINUTES.toMillis(1); - private static final long LONG_PRESS_TIMEOUT = ViewConfiguration.getLongPressTimeout(); - - private int mDoubleButtonPresses; - private long mLastDoubleButtonPressEndTimestamp; - @Nullable private VolumeButtonAction mLastVolumeUpAction; - @Nullable private VolumeButtonAction mLastVolumeDownAction; - - public DoubleVolumeButtonThreeShortPressPatternMatcher() { - super( - VolumeButtonPatternDetector.TWO_BUTTONS_THREE_PRESS_PATTERN, - VolumeButtonPatternDetector.TWO_BUTTONS); - } - - @Override - public void onKeyEvent(KeyEvent keyEvent) { - if (keyEvent.getKeyCode() != KeyEvent.KEYCODE_VOLUME_DOWN - && keyEvent.getKeyCode() != KeyEvent.KEYCODE_VOLUME_UP) { - return; - } - - if (interruptActionSequence(keyEvent)) { - clear(); - } - - if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) { - handleActionDownEvent(keyEvent); - } else { - handleActionUpEvent(keyEvent); - } - - updateCounters(); - } - - private void handleActionDownEvent(KeyEvent event) { - VolumeButtonAction action = createAction(event); - if (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) { - mLastVolumeUpAction = action; - } else { - mLastVolumeDownAction = action; - } - } - - private void handleActionUpEvent(KeyEvent event) { - VolumeButtonAction action; - if (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) { - action = mLastVolumeUpAction; - } else { - action = mLastVolumeDownAction; - } - - if (action != null) { - action.pressed = false; - action.endTimestamp = event.getEventTime(); - } - } - - private boolean interruptActionSequence(KeyEvent keyEvent) { - if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) { - return isDownEventInterruptsActionSequence(keyEvent); - } else { - return isUpEventInterruptsActionSequence(keyEvent); - } - } - - private boolean isDownEventInterruptsActionSequence(KeyEvent keyEvent) { - if (mDoubleButtonPresses != 0 - && keyEvent.getEventTime() - mLastDoubleButtonPressEndTimestamp > MULTIPLE_TAP_TIMEOUT) { - // too long timeout between previous double volume buttons pushes - return true; - } - - VolumeButtonAction otherAction = getOtherAction(keyEvent); - //noinspection RedundantIfStatement - if (otherAction != null && !otherAction.pressed) { - // other button was released before current action pressed - return true; - } - - return false; - } - - private boolean isUpEventInterruptsActionSequence(KeyEvent keyEvent) { - VolumeButtonAction currentAction = getCurrentAction(keyEvent); - VolumeButtonAction otherAction = getOtherAction(keyEvent); - if (currentAction == null) { - // up on non-pressed button - return true; - } - - if (otherAction == null) { - // click detected while other button was not pressed - return true; - } - - //noinspection RedundantIfStatement - if (keyEvent.getEventTime() - currentAction.startTimestamp > LONG_PRESS_TIMEOUT) { - // button was pressed too long - return true; - } - - return false; - } - - @Nullable - private VolumeButtonAction getCurrentAction(KeyEvent keyEvent) { - if (keyEvent.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) { - return mLastVolumeUpAction; - } else { - return mLastVolumeDownAction; - } - } - - @Nullable - private VolumeButtonAction getOtherAction(KeyEvent keyEvent) { - if (keyEvent.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) { - return mLastVolumeDownAction; - } else { - return mLastVolumeUpAction; - } - } - - private void updateCounters() { - if (mLastVolumeUpAction != null - && !mLastVolumeUpAction.pressed - && mLastVolumeDownAction != null - && !mLastVolumeDownAction.pressed) { - mDoubleButtonPresses++; - mLastDoubleButtonPressEndTimestamp = - Math.max(mLastVolumeUpAction.endTimestamp, mLastVolumeDownAction.endTimestamp); - mLastVolumeUpAction = null; - mLastVolumeDownAction = null; - } - } - - @Override - public boolean checkMatch() { - return mDoubleButtonPresses >= 3; - } - - @Override - public void clear() { - mDoubleButtonPresses = 0; - mLastDoubleButtonPressEndTimestamp = 0; - mLastVolumeUpAction = null; - mLastVolumeDownAction = null; - } -} diff --git a/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/VolumeButtonPatternDetector.java b/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/VolumeButtonPatternDetector.java index 116deb5e0..5f45c917b 100644 --- a/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/VolumeButtonPatternDetector.java +++ b/utils/src/main/java/com/google/android/accessibility/utils/volumebutton/VolumeButtonPatternDetector.java @@ -36,20 +36,12 @@ public class VolumeButtonPatternDetector { /** Constants denoting different sequences of pushing the volume buttons. */ - @IntDef({ - SHORT_PRESS_PATTERN, - LONG_PRESS_PATTERN, - SHORT_DOUBLE_PRESS_PARTTERN, - TWO_BUTTONS_LONG_PRESS_PATTERN, - TWO_BUTTONS_THREE_PRESS_PATTERN - }) + @IntDef({SHORT_PRESS_PATTERN, LONG_PRESS_PATTERN, SHORT_DOUBLE_PRESS_PATTERN}) public @interface ButtonSequence {} public static final int SHORT_PRESS_PATTERN = 1; public static final int LONG_PRESS_PATTERN = 2; - public static final int TWO_BUTTONS_LONG_PRESS_PATTERN = 3; - public static final int TWO_BUTTONS_THREE_PRESS_PATTERN = 4; - public static final int SHORT_DOUBLE_PRESS_PARTTERN = 5; + public static final int SHORT_DOUBLE_PRESS_PATTERN = 3; /** Constants denoting different combinations of the volume buttons. */ @IntDef({VOLUME_UP, VOLUME_DOWN, TWO_BUTTONS, PLAY_PAUSE}) @@ -85,8 +77,6 @@ public VolumeButtonPatternDetector(Context context) { patternMatchers.add(new SingleVolumeButtonPressPatternMatcher(LONG_PRESS_PATTERN, VOLUME_UP)); patternMatchers.add(new SingleVolumeButtonPressPatternMatcher(LONG_PRESS_PATTERN, VOLUME_DOWN)); patternMatchers.add(new SingleVolumeButtonPressPatternMatcher(LONG_PRESS_PATTERN, PLAY_PAUSE)); - patternMatchers.add(new DoubleVolumeButtonLongPressPatternMatcher()); - patternMatchers.add(new DoubleVolumeButtonThreeShortPressPatternMatcher()); } public boolean onKeyEvent(KeyEvent keyEvent) { diff --git a/utils/src/main/java/com/google/android/accessibility/utils/widget/NonScrollableListView.java b/utils/src/main/java/com/google/android/accessibility/utils/widget/NonScrollableListView.java new file mode 100644 index 000000000..b7276b2b7 --- /dev/null +++ b/utils/src/main/java/com/google/android/accessibility/utils/widget/NonScrollableListView.java @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2022 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.google.android.accessibility.utils.widget; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.ListView; + +/** + * A {@link ListView} whose height is the sum of all items' height. The ListView can be inside a + * ScrollView to prevent nested scrolling. + */ +public class NonScrollableListView extends ListView { + public NonScrollableListView(Context context) { + super(context); + } + + public NonScrollableListView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public NonScrollableListView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public NonScrollableListView( + Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + // The size and mode of measure specification are stored in an integer. There are three modes, + // so 2 bits represents the mode and the rest represents the size. + int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); + super.onMeasure(widthMeasureSpec, expandSpec); + } +} diff --git a/utils/src/main/res/values-af/strings.xml b/utils/src/main/res/values-af/strings.xml index dcfc4b1dc..aaedbb4af 100644 --- a/utils/src/main/res/values-af/strings.xml +++ b/utils/src/main/res/values-af/strings.xml @@ -1,7 +1,5 @@ - Karakters %1$d tot %2$d - Karakter %1$d titelloos het gekopieer, %1$s hoofletter %1$s diff --git a/utils/src/main/res/values-am/strings.xml b/utils/src/main/res/values-am/strings.xml index a761ff406..83a47b8a9 100644 --- a/utils/src/main/res/values-am/strings.xml +++ b/utils/src/main/res/values-am/strings.xml @@ -1,7 +1,5 @@ - ከ%1$d እስከ %2$d ያሉ ቁምፊዎች - ቁምፊ %1$d ርዕስ አልባ ተቀድቷል፣ %1$s አቢይ ሆሄ %1$s diff --git a/utils/src/main/res/values-ar/strings.xml b/utils/src/main/res/values-ar/strings.xml index c0cbadd5a..59dd57883 100644 --- a/utils/src/main/res/values-ar/strings.xml +++ b/utils/src/main/res/values-ar/strings.xml @@ -1,7 +1,5 @@ - الأحرف %1$d إلى %2$d - الرمز %1$d بلا عنوان تم نسخ %1$s حرف %1$s كبير diff --git a/utils/src/main/res/values-as/strings.xml b/utils/src/main/res/values-as/strings.xml index 81389e7d2..54f1aa6be 100644 --- a/utils/src/main/res/values-as/strings.xml +++ b/utils/src/main/res/values-as/strings.xml @@ -1,7 +1,5 @@ - %1$d ৰ পৰা %2$dলৈ বৰ্ণসমূহ - বৰ্ণ %1$d শিৰোনামবিহীন প্ৰতিলিপি কৰা হ’ল, %1$s বৰফলা %1$s diff --git a/utils/src/main/res/values-az/strings.xml b/utils/src/main/res/values-az/strings.xml index 3b261b303..6a08b6b51 100644 --- a/utils/src/main/res/values-az/strings.xml +++ b/utils/src/main/res/values-az/strings.xml @@ -1,7 +1,5 @@ - %1$d səhifədən %2$d səhifəyə simvollar - Simvol %1$d başlıqsız kopyalandı, %1$s böyük %1$s diff --git a/utils/src/main/res/values-b+es+419/strings.xml b/utils/src/main/res/values-b+es+419/strings.xml index 27e4427a4..fa2add0af 100644 --- a/utils/src/main/res/values-b+es+419/strings.xml +++ b/utils/src/main/res/values-b+es+419/strings.xml @@ -1,7 +1,5 @@ - Caracteres %1$d a %2$d - Carácter %1$d sin título se copió %1$s %1$s mayúscula diff --git a/utils/src/main/res/values-b+sr+Latn/strings.xml b/utils/src/main/res/values-b+sr+Latn/strings.xml index b00f6cb96..b57e90371 100644 --- a/utils/src/main/res/values-b+sr+Latn/strings.xml +++ b/utils/src/main/res/values-b+sr+Latn/strings.xml @@ -1,7 +1,5 @@ - Znakovi %1$d do %2$d - %1$d. znak nenaslovljeno kopirano, %1$s veliko %1$s diff --git a/utils/src/main/res/values-be/strings.xml b/utils/src/main/res/values-be/strings.xml index e96388cca..c93a076cf 100644 --- a/utils/src/main/res/values-be/strings.xml +++ b/utils/src/main/res/values-be/strings.xml @@ -1,7 +1,5 @@ - Сімвалы з %1$d да %2$d - Сімвал %1$d без назвы скапіравана: %1$s вялікая літара %1$s diff --git a/utils/src/main/res/values-bg/strings.xml b/utils/src/main/res/values-bg/strings.xml index b0e516ae1..19a8abecd 100644 --- a/utils/src/main/res/values-bg/strings.xml +++ b/utils/src/main/res/values-bg/strings.xml @@ -1,7 +1,5 @@ - Избрахте знаците от %1$d до %2$d - Знак %1$d без заглавие копирахте текста „%1$s“ главна буква %1$s diff --git a/utils/src/main/res/values-bn/strings.xml b/utils/src/main/res/values-bn/strings.xml index 88b80f999..bfc154ce2 100644 --- a/utils/src/main/res/values-bn/strings.xml +++ b/utils/src/main/res/values-bn/strings.xml @@ -1,7 +1,5 @@ - %1$d থেকে %2$d পর্যন্ত অক্ষরগুলি - %1$d অক্ষর শিরোনামহীন %1$s কপি করা হয়েছে বড় হাতের %1$s diff --git a/utils/src/main/res/values-bs/strings.xml b/utils/src/main/res/values-bs/strings.xml index 43e75df08..3cab08647 100644 --- a/utils/src/main/res/values-bs/strings.xml +++ b/utils/src/main/res/values-bs/strings.xml @@ -1,7 +1,5 @@ - Znakovi od %1$d do %2$d - Znak %1$d Neimenovano kopirano, %1$s Veliko %1$s diff --git a/utils/src/main/res/values-ca/strings.xml b/utils/src/main/res/values-ca/strings.xml index 7bf2f4895..4add0be81 100644 --- a/utils/src/main/res/values-ca/strings.xml +++ b/utils/src/main/res/values-ca/strings.xml @@ -1,7 +1,5 @@ - Caràcters de %1$d a %2$d - Caràcter %1$d sense títol s\'ha copiat %1$s %1$s majúscula diff --git a/utils/src/main/res/values-cs/strings.xml b/utils/src/main/res/values-cs/strings.xml index 9d4108bb0..02e31e65d 100644 --- a/utils/src/main/res/values-cs/strings.xml +++ b/utils/src/main/res/values-cs/strings.xml @@ -1,7 +1,5 @@ - Znaky %1$d až %2$d - Znak %1$d bez názvu zkopírováno, %1$s velké %1$s diff --git a/utils/src/main/res/values-da/strings.xml b/utils/src/main/res/values-da/strings.xml index f785f2331..244f5d3eb 100644 --- a/utils/src/main/res/values-da/strings.xml +++ b/utils/src/main/res/values-da/strings.xml @@ -1,7 +1,5 @@ - Tegn %1$d til %2$d - Tegnet %1$d unavngivet kopieret, %1$s stort %1$s diff --git a/utils/src/main/res/values-de/strings.xml b/utils/src/main/res/values-de/strings.xml index 5c548bbfa..39b171bdf 100644 --- a/utils/src/main/res/values-de/strings.xml +++ b/utils/src/main/res/values-de/strings.xml @@ -1,7 +1,5 @@ - Zeichen %1$d bis %2$d - Zeichen %1$d Ohne Titel Kopiert, %1$s großes %1$s diff --git a/utils/src/main/res/values-el/strings.xml b/utils/src/main/res/values-el/strings.xml index 162afa05f..237925792 100644 --- a/utils/src/main/res/values-el/strings.xml +++ b/utils/src/main/res/values-el/strings.xml @@ -1,7 +1,5 @@ - Χαρακτήρες %1$d έως %2$d - Χαρακτήρας %1$d χωρίς τίτλο έγινε αντιγραφή, %1$s κεφαλαίο %1$s diff --git a/utils/src/main/res/values-en-rAU/strings.xml b/utils/src/main/res/values-en-rAU/strings.xml index fb5f30ae7..e32693762 100644 --- a/utils/src/main/res/values-en-rAU/strings.xml +++ b/utils/src/main/res/values-en-rAU/strings.xml @@ -1,7 +1,5 @@ - Characters %1$d to %2$d - Character %1$d untitled copied, %1$s capital %1$s diff --git a/utils/src/main/res/values-en-rGB/strings.xml b/utils/src/main/res/values-en-rGB/strings.xml index fb5f30ae7..e32693762 100644 --- a/utils/src/main/res/values-en-rGB/strings.xml +++ b/utils/src/main/res/values-en-rGB/strings.xml @@ -1,7 +1,5 @@ - Characters %1$d to %2$d - Character %1$d untitled copied, %1$s capital %1$s diff --git a/utils/src/main/res/values-en-rIN/strings.xml b/utils/src/main/res/values-en-rIN/strings.xml index fb5f30ae7..e32693762 100644 --- a/utils/src/main/res/values-en-rIN/strings.xml +++ b/utils/src/main/res/values-en-rIN/strings.xml @@ -1,7 +1,5 @@ - Characters %1$d to %2$d - Character %1$d untitled copied, %1$s capital %1$s diff --git a/utils/src/main/res/values-es/strings.xml b/utils/src/main/res/values-es/strings.xml index e7c9a0f20..1c594a299 100644 --- a/utils/src/main/res/values-es/strings.xml +++ b/utils/src/main/res/values-es/strings.xml @@ -1,7 +1,5 @@ - Caracteres del %1$d al %2$d - Carácter %1$d sin título Se ha copiado %1$s %1$s mayúscula diff --git a/utils/src/main/res/values-et/strings.xml b/utils/src/main/res/values-et/strings.xml index f07abbcf7..b6258472d 100644 --- a/utils/src/main/res/values-et/strings.xml +++ b/utils/src/main/res/values-et/strings.xml @@ -1,7 +1,5 @@ - Tähemärgid %1$d kuni %2$d - Tähemärk %1$d pealkirjata kopeeritud, %1$s suurtäht %1$s diff --git a/utils/src/main/res/values-eu/strings.xml b/utils/src/main/res/values-eu/strings.xml index 0542907c5..1221976f0 100644 --- a/utils/src/main/res/values-eu/strings.xml +++ b/utils/src/main/res/values-eu/strings.xml @@ -1,7 +1,5 @@ - %1$d eta %2$d arteko karaktereak - %1$d karakterea izengabea kopiatu da %1$s %1$s maiuskula diff --git a/utils/src/main/res/values-fa/strings.xml b/utils/src/main/res/values-fa/strings.xml index 60ddf1bf3..cc6c6a686 100644 --- a/utils/src/main/res/values-fa/strings.xml +++ b/utils/src/main/res/values-fa/strings.xml @@ -1,7 +1,5 @@ - نویسه‌های %1$d تا %2$d - نویسه %1$d بدون عنوان کپی شد، %1$s %1$s بزرگ diff --git a/utils/src/main/res/values-fa/strings_symbols.xml b/utils/src/main/res/values-fa/strings_symbols.xml index 01388a6b0..6c391565d 100644 --- a/utils/src/main/res/values-fa/strings_symbols.xml +++ b/utils/src/main/res/values-fa/strings_symbols.xml @@ -42,8 +42,8 @@ نقطه ویرگول خط اریب فاصله - قلاب سمت چپ - قلاب سمت راست + قلاب چپ + قلاب راست جذر علامت تجاری زیرخط diff --git a/utils/src/main/res/values-fi/strings.xml b/utils/src/main/res/values-fi/strings.xml index 2b530b98c..666f2f112 100644 --- a/utils/src/main/res/values-fi/strings.xml +++ b/utils/src/main/res/values-fi/strings.xml @@ -1,7 +1,5 @@ - Merkistä %1$d merkkiin %2$d - Merkki %1$d nimetön kopioitu, %1$s iso kirjain %1$s diff --git a/utils/src/main/res/values-fil/strings.xml b/utils/src/main/res/values-fil/strings.xml index 1a057a680..b1341ee4f 100644 --- a/utils/src/main/res/values-fil/strings.xml +++ b/utils/src/main/res/values-fil/strings.xml @@ -1,7 +1,5 @@ - Character %1$d hanggang %2$d - Character %1$d walang pamagat nakopya, %1$s malaking %1$s diff --git a/utils/src/main/res/values-fr-rCA/strings.xml b/utils/src/main/res/values-fr-rCA/strings.xml index 4615183b5..950b99dcc 100644 --- a/utils/src/main/res/values-fr-rCA/strings.xml +++ b/utils/src/main/res/values-fr-rCA/strings.xml @@ -1,7 +1,5 @@ - Caractères %1$d à %2$d - Caractère %1$d sans titre copié, %1$s %1$s majuscule diff --git a/utils/src/main/res/values-fr/strings.xml b/utils/src/main/res/values-fr/strings.xml index d58a922fa..b6f36b51c 100644 --- a/utils/src/main/res/values-fr/strings.xml +++ b/utils/src/main/res/values-fr/strings.xml @@ -1,7 +1,5 @@ - Caractères %1$d à %2$d - Caractère %1$d sans titre Le texte \"%1$s\" a été copié. %1$s majuscule diff --git a/utils/src/main/res/values-gl/strings.xml b/utils/src/main/res/values-gl/strings.xml index 43768a8fb..fc54ad269 100644 --- a/utils/src/main/res/values-gl/strings.xml +++ b/utils/src/main/res/values-gl/strings.xml @@ -1,7 +1,5 @@ - Caracteres do %1$d ao %2$d - Carácter %1$d sen título copiouse %1$s %1$s maiúsculo diff --git a/utils/src/main/res/values-gu/strings.xml b/utils/src/main/res/values-gu/strings.xml index 6bc276947..15401feeb 100644 --- a/utils/src/main/res/values-gu/strings.xml +++ b/utils/src/main/res/values-gu/strings.xml @@ -1,7 +1,5 @@ - %1$d થી %2$d સુધીના અક્ષર - અક્ષર %1$d અનામાંકિત %1$s, કૉપિ કર્યું કેપિટલ %1$s diff --git a/utils/src/main/res/values-hi/strings.xml b/utils/src/main/res/values-hi/strings.xml index ec8e8a4fd..d2b0b6190 100644 --- a/utils/src/main/res/values-hi/strings.xml +++ b/utils/src/main/res/values-hi/strings.xml @@ -1,7 +1,5 @@ - वर्ण %1$d से %2$d तक - वर्ण %1$d शीर्षक रहित कॉपी किया गया, %1$s कैपिटल %1$s diff --git a/utils/src/main/res/values-hr/strings.xml b/utils/src/main/res/values-hr/strings.xml index 7200d9815..2afac0b27 100644 --- a/utils/src/main/res/values-hr/strings.xml +++ b/utils/src/main/res/values-hr/strings.xml @@ -1,7 +1,5 @@ - Znakovi od %1$d do %2$d - Znak %1$d bez naslova kopirano, %1$s veliko slovo %1$s diff --git a/utils/src/main/res/values-hu/strings.xml b/utils/src/main/res/values-hu/strings.xml index 3e163d5e9..9ed5ab3af 100644 --- a/utils/src/main/res/values-hu/strings.xml +++ b/utils/src/main/res/values-hu/strings.xml @@ -1,7 +1,5 @@ - Karakterek %1$d és %2$d között - Karakter: %1$d névtelen másolva, %1$s nagy %1$s diff --git a/utils/src/main/res/values-hy/strings.xml b/utils/src/main/res/values-hy/strings.xml index 3ae413a26..65feda035 100644 --- a/utils/src/main/res/values-hy/strings.xml +++ b/utils/src/main/res/values-hy/strings.xml @@ -1,7 +1,5 @@ - %1$d-ից մինչև %2$d նիշեր - %1$d նիշ անվերնագիր պատճենվել է, %1$s մեծատառ %1$s diff --git a/utils/src/main/res/values-id/strings.xml b/utils/src/main/res/values-id/strings.xml index 7c6baf08f..36b1725af 100644 --- a/utils/src/main/res/values-id/strings.xml +++ b/utils/src/main/res/values-id/strings.xml @@ -1,7 +1,5 @@ - Dari karakter %1$d hingga %2$d - Karakter %1$d tanpa judul %1$s disalin huruf besar %1$s diff --git a/utils/src/main/res/values-in/strings.xml b/utils/src/main/res/values-in/strings.xml index 7c6baf08f..36b1725af 100644 --- a/utils/src/main/res/values-in/strings.xml +++ b/utils/src/main/res/values-in/strings.xml @@ -1,7 +1,5 @@ - Dari karakter %1$d hingga %2$d - Karakter %1$d tanpa judul %1$s disalin huruf besar %1$s diff --git a/utils/src/main/res/values-is/strings.xml b/utils/src/main/res/values-is/strings.xml index 340a89f21..697986ba6 100644 --- a/utils/src/main/res/values-is/strings.xml +++ b/utils/src/main/res/values-is/strings.xml @@ -1,7 +1,5 @@ - Stafir %1$d til %2$d - Stafur %1$d ónefnt afritað, %1$s hástafurinn %1$s diff --git a/utils/src/main/res/values-it/strings.xml b/utils/src/main/res/values-it/strings.xml index b2184807e..0d85d04a2 100644 --- a/utils/src/main/res/values-it/strings.xml +++ b/utils/src/main/res/values-it/strings.xml @@ -1,7 +1,5 @@ - Caratteri da %1$d a %2$d - Carattere %1$d senza titolo copiato, %1$s %1$s maiuscola diff --git a/utils/src/main/res/values-iw/strings.xml b/utils/src/main/res/values-iw/strings.xml index 4c61f78bf..30bf2710d 100644 --- a/utils/src/main/res/values-iw/strings.xml +++ b/utils/src/main/res/values-iw/strings.xml @@ -1,7 +1,5 @@ - תווים %1$d עד %2$d - תו %1$d ללא שם מועתק, %1$s %1$s גדולה diff --git a/utils/src/main/res/values-ja/strings.xml b/utils/src/main/res/values-ja/strings.xml index b34954929..ac9f9b95d 100644 --- a/utils/src/main/res/values-ja/strings.xml +++ b/utils/src/main/res/values-ja/strings.xml @@ -1,7 +1,5 @@ - 文字 %1$d~%2$d - %1$d文字目 無題 コピーしました、%1$s 大文字の%1$s diff --git a/utils/src/main/res/values-ka/strings.xml b/utils/src/main/res/values-ka/strings.xml index af00e09f3..9c13e3a2b 100644 --- a/utils/src/main/res/values-ka/strings.xml +++ b/utils/src/main/res/values-ka/strings.xml @@ -1,7 +1,5 @@ - სიმბოლო %1$d-დან %2$d-მდე - სიმბოლო %1$d უსათაურო დაკოპირებულია, %1$s მაღალი რეგისტრის %1$s diff --git a/utils/src/main/res/values-kk/strings.xml b/utils/src/main/res/values-kk/strings.xml index 85138cd98..43fff84c5 100644 --- a/utils/src/main/res/values-kk/strings.xml +++ b/utils/src/main/res/values-kk/strings.xml @@ -1,7 +1,5 @@ - %1$d-%2$d таңбалары - \"%1$d\" таңбасы атаусыз көшірілді, %1$s бас %1$s diff --git a/utils/src/main/res/values-km/strings.xml b/utils/src/main/res/values-km/strings.xml index 783c3f54d..1267c2914 100644 --- a/utils/src/main/res/values-km/strings.xml +++ b/utils/src/main/res/values-km/strings.xml @@ -1,7 +1,5 @@ - តួអក្សរ %1$d ទៅ %2$d - តួអក្សរ %1$d គ្មានចំណងជើង បានថតចម្លង %1$s អក្សរ​ធំ %1$s diff --git a/utils/src/main/res/values-kn/strings.xml b/utils/src/main/res/values-kn/strings.xml index d94121cb0..d55d0c38d 100644 --- a/utils/src/main/res/values-kn/strings.xml +++ b/utils/src/main/res/values-kn/strings.xml @@ -1,7 +1,5 @@ - %1$d ದಿಂದ %2$d ಅಕ್ಷರಗಳು - ಅಕ್ಷರ %1$d ಶೀರ್ಷಿಕೆರಹಿತ %1$s ನಕಲಿಸಲಾಗಿದೆ ದೊಡ್ಡಕ್ಷರ %1$s diff --git a/utils/src/main/res/values-ko/strings.xml b/utils/src/main/res/values-ko/strings.xml index 604af52c4..f6541a634 100644 --- a/utils/src/main/res/values-ko/strings.xml +++ b/utils/src/main/res/values-ko/strings.xml @@ -1,7 +1,5 @@ - %1$d부터 %2$d까지의 문자 - 문자 %1$d 제목 없음 %1$s 복사 완료 대문자 %1$s diff --git a/utils/src/main/res/values-ky/strings.xml b/utils/src/main/res/values-ky/strings.xml index 465ad0ca2..e3754058a 100644 --- a/utils/src/main/res/values-ky/strings.xml +++ b/utils/src/main/res/values-ky/strings.xml @@ -1,7 +1,5 @@ - %1$d – %2$d белги - Белги %1$d аталышсыз %1$s көчүрүлдү баш тамга %1$s diff --git a/utils/src/main/res/values-lo/strings.xml b/utils/src/main/res/values-lo/strings.xml index 5eeeb65e7..b24cd268d 100644 --- a/utils/src/main/res/values-lo/strings.xml +++ b/utils/src/main/res/values-lo/strings.xml @@ -1,7 +1,5 @@ - ຕົວອັກສອນຈາກ %1$d ຫາ %2$d - ຕົວອັກສອນ %1$d ບໍ່ມີຊື່ ສຳເນົາແລ້ວ, %1$s ໂຕ​ພິມ​ໃຫຍ່ %1$s diff --git a/utils/src/main/res/values-lt/strings.xml b/utils/src/main/res/values-lt/strings.xml index d155e1fc0..545b10a73 100644 --- a/utils/src/main/res/values-lt/strings.xml +++ b/utils/src/main/res/values-lt/strings.xml @@ -1,7 +1,5 @@ - Simboliai nuo %1$d iki %2$d - %1$d simbolis be pavadinimo nukopijuota, %1$s %1$s didžioji diff --git a/utils/src/main/res/values-lv/strings.xml b/utils/src/main/res/values-lv/strings.xml index ba05b1740..09e107146 100644 --- a/utils/src/main/res/values-lv/strings.xml +++ b/utils/src/main/res/values-lv/strings.xml @@ -1,7 +1,5 @@ - Rakstzīmes no %1$d līdz %2$d - Rakstzīme %1$d bez nosaukuma nokopēts, %1$s lielais burts %1$s diff --git a/utils/src/main/res/values-mk/strings.xml b/utils/src/main/res/values-mk/strings.xml index d21c272ee..3dc9c0948 100644 --- a/utils/src/main/res/values-mk/strings.xml +++ b/utils/src/main/res/values-mk/strings.xml @@ -1,7 +1,5 @@ - Знаци %1$d до %2$d - Знакот %1$d без наслов копирано, %1$s голема буква %1$s diff --git a/utils/src/main/res/values-ml/strings.xml b/utils/src/main/res/values-ml/strings.xml index e6995a031..25133ea65 100644 --- a/utils/src/main/res/values-ml/strings.xml +++ b/utils/src/main/res/values-ml/strings.xml @@ -1,7 +1,5 @@ - %1$d മുതൽ %2$d വരെയുള്ള പ്രതീകങ്ങൾ - പ്രതീകം %1$d പേരില്ലാത്തത് പകർത്തി, %1$s വലിയക്ഷരം %1$s diff --git a/utils/src/main/res/values-mn/strings.xml b/utils/src/main/res/values-mn/strings.xml index 355c011dd..b23f5da4a 100644 --- a/utils/src/main/res/values-mn/strings.xml +++ b/utils/src/main/res/values-mn/strings.xml @@ -1,7 +1,5 @@ - %1$d-с %2$d тэмдэгт - Тэмдэгт %1$d гарчиггүй хуулсан, %1$s том %1$s diff --git a/utils/src/main/res/values-mr/strings.xml b/utils/src/main/res/values-mr/strings.xml index 72e8d3afb..cbbb56732 100644 --- a/utils/src/main/res/values-mr/strings.xml +++ b/utils/src/main/res/values-mr/strings.xml @@ -1,7 +1,5 @@ - %1$d पासून %2$d पर्यंत वर्ण - वर्ण %1$d अशीर्षकांकित %1$s, कॉपी केला कॅपिटल %1$s diff --git a/utils/src/main/res/values-ms/strings.xml b/utils/src/main/res/values-ms/strings.xml index 5379aeeaf..974c98a8d 100644 --- a/utils/src/main/res/values-ms/strings.xml +++ b/utils/src/main/res/values-ms/strings.xml @@ -1,7 +1,5 @@ - Aksara %1$d hingga %2$d - Aksara %1$d tidak bertajuk disalin, %1$s huruf besar %1$s diff --git a/utils/src/main/res/values-my/strings.xml b/utils/src/main/res/values-my/strings.xml index e03a1ec6c..dcc8a7804 100644 --- a/utils/src/main/res/values-my/strings.xml +++ b/utils/src/main/res/values-my/strings.xml @@ -1,7 +1,5 @@ - စကားလုံး %1$d ကနေ %2$d - စာလုံး %1$d ခေါင်းစဉ်မသိ %1$s ကို ကူးပြီးပါပြီ။ စာလုံးကြီး %1$s @@ -33,7 +31,7 @@ ခေါင်းစီးများ ထိန်းချုပ်မှုများ လင့်ခ်များ - %1$s နှစ်ခုထပ်၍ကြည့်ခြင်း + %1$s တစ်ခုပေါ်တစ်ခုထပ်၍ ဖွင့်ခြင်း %1$s က အပေါ်၊ %2$s က အောက် %1$s က ဘယ်ဘက်၊ %2$s က ညာဘက် %1$s က ညာဘက်၊ %2$s က ဘယ်ဘက် diff --git a/utils/src/main/res/values-nb/strings.xml b/utils/src/main/res/values-nb/strings.xml index 68c96433d..22a6d672f 100644 --- a/utils/src/main/res/values-nb/strings.xml +++ b/utils/src/main/res/values-nb/strings.xml @@ -1,7 +1,5 @@ - Tegn %1$d til %2$d - Tegn %1$d uten navn kopiert, %1$s stor %1$s diff --git a/utils/src/main/res/values-ne/strings.xml b/utils/src/main/res/values-ne/strings.xml index ccc5c92dc..17e726257 100644 --- a/utils/src/main/res/values-ne/strings.xml +++ b/utils/src/main/res/values-ne/strings.xml @@ -1,7 +1,5 @@ - %2$d देखि %1$d सम्मका वर्णहरू - वर्ण %1$d शीर्षक नभएको प्रतिलिपि बनाइयो, %1$s ठुलो %1$s diff --git a/utils/src/main/res/values-nl/strings.xml b/utils/src/main/res/values-nl/strings.xml index ba3433a90..17dcef44b 100644 --- a/utils/src/main/res/values-nl/strings.xml +++ b/utils/src/main/res/values-nl/strings.xml @@ -1,7 +1,5 @@ - Tekens %1$d tot %2$d - Teken %1$d naamloos gekopieerd, %1$s hoofdletter %1$s diff --git a/utils/src/main/res/values-no/strings.xml b/utils/src/main/res/values-no/strings.xml index 68c96433d..22a6d672f 100644 --- a/utils/src/main/res/values-no/strings.xml +++ b/utils/src/main/res/values-no/strings.xml @@ -1,7 +1,5 @@ - Tegn %1$d til %2$d - Tegn %1$d uten navn kopiert, %1$s stor %1$s diff --git a/utils/src/main/res/values-or/strings.xml b/utils/src/main/res/values-or/strings.xml index 8f1bf9175..1a4ff206f 100644 --- a/utils/src/main/res/values-or/strings.xml +++ b/utils/src/main/res/values-or/strings.xml @@ -1,7 +1,5 @@ - %1$d ରୁ %2$d ବର୍ଣ୍ଣ - %1$dଟି ବର୍ଣ୍ଣ ବେନାମୀ କପୀ ହେଲା, %1$s %1$s ବଡ଼ ଅକ୍ଷର diff --git a/utils/src/main/res/values-pa/strings.xml b/utils/src/main/res/values-pa/strings.xml index 87ce1c17c..b1c7173c8 100644 --- a/utils/src/main/res/values-pa/strings.xml +++ b/utils/src/main/res/values-pa/strings.xml @@ -1,7 +1,5 @@ - ਅੱਖਰ %1$d ਤੋਂ %2$d - ਚਿੰਨ੍ਹ %1$d ਬਿਨਾਂ ਸਿਰਲੇਖ ਕਾਪੀ ਕੀਤੀ ਗਈ, %1$s ਕੈਪੀਟਲ %1$s diff --git a/utils/src/main/res/values-pl/strings.xml b/utils/src/main/res/values-pl/strings.xml index 21fedb512..3f4515eba 100644 --- a/utils/src/main/res/values-pl/strings.xml +++ b/utils/src/main/res/values-pl/strings.xml @@ -1,7 +1,5 @@ - Znaki od %1$d do %2$d - Znak %1$d bez tytułu tekst skopiowany, %1$s wielka litera %1$s diff --git a/utils/src/main/res/values-pt-rBR/strings.xml b/utils/src/main/res/values-pt-rBR/strings.xml index c414ba1dc..c6eea4e3e 100644 --- a/utils/src/main/res/values-pt-rBR/strings.xml +++ b/utils/src/main/res/values-pt-rBR/strings.xml @@ -1,7 +1,5 @@ - Caracteres de %1$d a %2$d - Caractere %1$d sem título copiado, %1$s %1$s em letra maiúscula diff --git a/utils/src/main/res/values-pt-rPT/strings.xml b/utils/src/main/res/values-pt-rPT/strings.xml index 7cd481487..90a422969 100644 --- a/utils/src/main/res/values-pt-rPT/strings.xml +++ b/utils/src/main/res/values-pt-rPT/strings.xml @@ -1,7 +1,5 @@ - Carateres de %1$d a %2$d - Caráter %1$d sem nome copiado, %1$s %1$s maiúsculo diff --git a/utils/src/main/res/values-pt/strings.xml b/utils/src/main/res/values-pt/strings.xml index c414ba1dc..c6eea4e3e 100644 --- a/utils/src/main/res/values-pt/strings.xml +++ b/utils/src/main/res/values-pt/strings.xml @@ -1,7 +1,5 @@ - Caracteres de %1$d a %2$d - Caractere %1$d sem título copiado, %1$s %1$s em letra maiúscula diff --git a/utils/src/main/res/values-ro/strings.xml b/utils/src/main/res/values-ro/strings.xml index d5f7db0a8..288d2e758 100644 --- a/utils/src/main/res/values-ro/strings.xml +++ b/utils/src/main/res/values-ro/strings.xml @@ -1,7 +1,5 @@ - Caracterele de la %1$d la %2$d - Caracterul %1$d fără titlu copiat, %1$s %1$s mare diff --git a/utils/src/main/res/values-ru/strings.xml b/utils/src/main/res/values-ru/strings.xml index 16b109e74..301ac00e2 100644 --- a/utils/src/main/res/values-ru/strings.xml +++ b/utils/src/main/res/values-ru/strings.xml @@ -1,7 +1,5 @@ - Символы %1$d‒%2$d - Символ \"%1$d\" без названия Скопирован текст \"%1$s\" прописная буква %1$s. diff --git a/utils/src/main/res/values-si/strings.xml b/utils/src/main/res/values-si/strings.xml index 5327d9d27..d35ad84f7 100644 --- a/utils/src/main/res/values-si/strings.xml +++ b/utils/src/main/res/values-si/strings.xml @@ -1,7 +1,5 @@ - %1$d සිට %2$d දක්වා අනුලකුණු - අනුලකුණ %1$d නම් කර නැත පිටපත් කරන ලදී, %1$s මහකුර %1$s diff --git a/utils/src/main/res/values-sk/strings.xml b/utils/src/main/res/values-sk/strings.xml index 9ce3a66b8..d7288a60a 100644 --- a/utils/src/main/res/values-sk/strings.xml +++ b/utils/src/main/res/values-sk/strings.xml @@ -1,7 +1,5 @@ - Znaky %1$d až %2$d - Znak %1$d bez názvu skopírované, %1$s veľké %1$s diff --git a/utils/src/main/res/values-sl/strings.xml b/utils/src/main/res/values-sl/strings.xml index 0fe55ad73..295247dbb 100644 --- a/utils/src/main/res/values-sl/strings.xml +++ b/utils/src/main/res/values-sl/strings.xml @@ -1,7 +1,5 @@ - Znaki od %1$d do %2$d - Znak %1$d brez naslova kopirano, %1$s velika črka %1$s diff --git a/utils/src/main/res/values-sq/strings.xml b/utils/src/main/res/values-sq/strings.xml index 475f37cce..15da5bdd8 100644 --- a/utils/src/main/res/values-sq/strings.xml +++ b/utils/src/main/res/values-sq/strings.xml @@ -1,7 +1,5 @@ - Karakteret nga %1$d deri në %2$d - Karakteri %1$d pa titull u kopjua, %1$s %1$s e madhe diff --git a/utils/src/main/res/values-sr/strings.xml b/utils/src/main/res/values-sr/strings.xml index d9a1d4397..ad3badd47 100644 --- a/utils/src/main/res/values-sr/strings.xml +++ b/utils/src/main/res/values-sr/strings.xml @@ -1,7 +1,5 @@ - Знакови %1$d до %2$d - %1$d. знак ненасловљено копирано, %1$s велико %1$s diff --git a/utils/src/main/res/values-sv/strings.xml b/utils/src/main/res/values-sv/strings.xml index 8010a0432..f76d50d82 100644 --- a/utils/src/main/res/values-sv/strings.xml +++ b/utils/src/main/res/values-sv/strings.xml @@ -1,7 +1,5 @@ - Tecken från %1$d till %2$d - Tecken %1$d namnlös kopierade, %1$s versalt %1$s diff --git a/utils/src/main/res/values-sw/strings.xml b/utils/src/main/res/values-sw/strings.xml index 4ec71ac8a..a5f999de1 100644 --- a/utils/src/main/res/values-sw/strings.xml +++ b/utils/src/main/res/values-sw/strings.xml @@ -1,7 +1,5 @@ - Herufi %1$d hadi %2$d - Herufi %1$d Jina halijawekwa %1$s, yamenakiliwa herufi kubwa %1$s diff --git a/utils/src/main/res/values-ta/strings.xml b/utils/src/main/res/values-ta/strings.xml index a9ed3586e..c1fa3a3ee 100644 --- a/utils/src/main/res/values-ta/strings.xml +++ b/utils/src/main/res/values-ta/strings.xml @@ -1,7 +1,5 @@ - %1$d இலிருந்து %2$d வரையிலான எழுத்துக்குறிகள் - எழுத்துக்குறி %1$d பெயரிடப்படாதது %1$s நகலெடுக்கப்பட்டது பேரெழுத்து %1$s diff --git a/utils/src/main/res/values-te/strings.xml b/utils/src/main/res/values-te/strings.xml index f3b9f2938..c9159eb65 100644 --- a/utils/src/main/res/values-te/strings.xml +++ b/utils/src/main/res/values-te/strings.xml @@ -1,7 +1,5 @@ - అక్షరాలు %1$d నుండి %2$d వరకు - అక్షరం %1$d శీర్షిక లేనిది %1$s, కాపీ చేయబడింది క్యాపిటల్ %1$s diff --git a/utils/src/main/res/values-th/strings.xml b/utils/src/main/res/values-th/strings.xml index 21382dbb5..11d8b44c0 100644 --- a/utils/src/main/res/values-th/strings.xml +++ b/utils/src/main/res/values-th/strings.xml @@ -1,7 +1,5 @@ - ตัว %1$d จนถึงตัว %2$d - อักขระตัวที่ %1$d ไม่มีชื่อ คัดลอก %1$s แล้ว ตัวพิมพ์ใหญ่ %1$s diff --git a/utils/src/main/res/values-tl/strings.xml b/utils/src/main/res/values-tl/strings.xml index 1a057a680..b1341ee4f 100644 --- a/utils/src/main/res/values-tl/strings.xml +++ b/utils/src/main/res/values-tl/strings.xml @@ -1,7 +1,5 @@ - Character %1$d hanggang %2$d - Character %1$d walang pamagat nakopya, %1$s malaking %1$s diff --git a/utils/src/main/res/values-tr/strings.xml b/utils/src/main/res/values-tr/strings.xml index 22bc7690a..58aa4f419 100644 --- a/utils/src/main/res/values-tr/strings.xml +++ b/utils/src/main/res/values-tr/strings.xml @@ -1,7 +1,5 @@ - %1$d. ile %2$d. arasındaki karakterler - %1$d. karakter başlıksız kopyalandı, %1$s büyük harf %1$s diff --git a/utils/src/main/res/values-uk/strings.xml b/utils/src/main/res/values-uk/strings.xml index 4b08b5d9b..c359e2a66 100644 --- a/utils/src/main/res/values-uk/strings.xml +++ b/utils/src/main/res/values-uk/strings.xml @@ -1,7 +1,5 @@ - Символи від %1$d до %2$d - Символ %1$d без назви скопійовано: %1$s велика літера %1$s diff --git a/utils/src/main/res/values-ur/strings.xml b/utils/src/main/res/values-ur/strings.xml index d3d464454..c9498c917 100644 --- a/utils/src/main/res/values-ur/strings.xml +++ b/utils/src/main/res/values-ur/strings.xml @@ -1,7 +1,5 @@ - %1$d سے %2$d کریکٹرز - کریکٹر %1$d بلا عنوان کاپی ہو گیا، %1$s بڑا حرف %1$s diff --git a/utils/src/main/res/values-uz/strings.xml b/utils/src/main/res/values-uz/strings.xml index ac9df77d1..29b144830 100644 --- a/utils/src/main/res/values-uz/strings.xml +++ b/utils/src/main/res/values-uz/strings.xml @@ -1,7 +1,5 @@ - Belgilar: %1$d – %2$d - %1$d-belgi sarlavhasiz nusxa ko‘chirildi: %1$s bosh harf: %1$s diff --git a/utils/src/main/res/values-vi/strings.xml b/utils/src/main/res/values-vi/strings.xml index c278f677c..63af6e1a6 100644 --- a/utils/src/main/res/values-vi/strings.xml +++ b/utils/src/main/res/values-vi/strings.xml @@ -1,7 +1,5 @@ - Ký tự từ %1$d đến %2$d - Ký tự %1$d không có tiêu đề đã sao chép, %1$s chữ hoa %1$s @@ -24,7 +22,7 @@ Dòng Đoạn Cửa sổ - Địa danh + Mốc Đầu đề Danh sách Đường liên kết diff --git a/utils/src/main/res/values-watch/styles.xml b/utils/src/main/res/values-watch/styles.xml index 6960b24ae..265729e78 100644 --- a/utils/src/main/res/values-watch/styles.xml +++ b/utils/src/main/res/values-watch/styles.xml @@ -20,15 +20,14 @@ @color/a11y_colorAccent @color/a11y_alert_dialog_bg_color false - @style/A11yDialogButtonStyle - @style/A11yDialogButtonStyle - @style/A11yDialogButtonStyle + @style/A11yDialogButtonStyle diff --git a/utils/src/main/res/values-zh-rCN/strings.xml b/utils/src/main/res/values-zh-rCN/strings.xml index bf9cd4bdb..04eb6b121 100644 --- a/utils/src/main/res/values-zh-rCN/strings.xml +++ b/utils/src/main/res/values-zh-rCN/strings.xml @@ -1,7 +1,5 @@ - 第 %1$d 到 %2$d 个字符 - 字符 %1$d 无标题 已复制,%1$s 大写的 %1$s diff --git a/utils/src/main/res/values-zh-rHK/strings.xml b/utils/src/main/res/values-zh-rHK/strings.xml index a1b751fa8..1b44ef6a4 100644 --- a/utils/src/main/res/values-zh-rHK/strings.xml +++ b/utils/src/main/res/values-zh-rHK/strings.xml @@ -1,7 +1,5 @@ - 第 %1$d 到第 %2$d 個字元 - 第 %1$d 個字元 無標題 已經複製:%1$s 大寫:%1$s diff --git a/utils/src/main/res/values-zh-rTW/strings.xml b/utils/src/main/res/values-zh-rTW/strings.xml index b08647d66..20f1bd21f 100644 --- a/utils/src/main/res/values-zh-rTW/strings.xml +++ b/utils/src/main/res/values-zh-rTW/strings.xml @@ -1,7 +1,5 @@ - 第 %1$d 到 %2$d 個字元 - 字元 %1$d 未命名 已複製,%1$s 大寫 %1$s diff --git a/utils/src/main/res/values-zu/strings.xml b/utils/src/main/res/values-zu/strings.xml index 19acbaa84..7c8366ae7 100644 --- a/utils/src/main/res/values-zu/strings.xml +++ b/utils/src/main/res/values-zu/strings.xml @@ -1,7 +1,5 @@ - Izinhlamvu kusukela ku-%1$d ukuya ku-%2$d - Uhlamvu olungu-%1$d okungenasihloko kukopishiwe, %1$s usonhlamvukazi %1$s diff --git a/utils/src/main/res/values/colors.xml b/utils/src/main/res/values/colors.xml index 1bf4ff0f0..916254e7b 100644 --- a/utils/src/main/res/values/colors.xml +++ b/utils/src/main/res/values/colors.xml @@ -24,6 +24,7 @@ @color/a11y_colorAccent @color/a11y_colorAccentFocused @color/google_black + @color/google_grey500 @color/google_black diff --git a/utils/src/main/res/values/donottranslate.xml b/utils/src/main/res/values/donottranslate.xml index 494afbd11..40e539e6b 100644 --- a/utils/src/main/res/values/donottranslate.xml +++ b/utils/src/main/res/values/donottranslate.xml @@ -1,90 +1,5 @@ - - pref_select_keymap - pref_default_keymap_trigger_modifier - - classic_keymap - default_keymap - - trigger_modifier_alt - trigger_modifier_meta - - keycombo_shortcut_navigate_next - keycombo_shortcut_navigate_previous - keycombo_shortcut_navigate_next_default - keycombo_shortcut_navigate_previous_default - keycombo_shortcut_navigate_first - keycombo_shortcut_navigate_last - keycombo_shortcut_perform_click - keycombo_shortcut_perform_long_click - keycombo_shortcut_global_back - keycombo_shortcut_global_home - keycombo_shortcut_global_recents - keycombo_shortcut_global_notifications - keycombo_shortcut_global_suspend - keycombo_shortcut_global_play_pause_media - keycombo_shortcut_global_scroll_forward_reading_menu - keycombo_shortcut_global_scroll_backward_reading_menu - keycombo_shortcut_global_adjust_reading_settings_previous - keycombo_shortcut_global_adjust_reading_setting_next - keycombo_shortcut_granularity_increase - keycombo_shortcut_granularity_decrease - keycombo_shortcut_other_read_from_top - keycombo_shortcut_other_read_from_next_item - keycombo_shortcut_other_toggle_search - keycombo_shortcut_other_global_context_menu - keycombo_shortcut_other_custom_actions - keycombo_shortcut_other_language_options - keycombo_shortcut_navigate_up - keycombo_shortcut_navigate_down - keycombo_shortcut_navigate_next_word - keycombo_shortcut_navigate_previous_word - keycombo_shortcut_navigate_next_character - keycombo_shortcut_navigate_previous_character - keycombo_shortcut_navigate_next_button - keycombo_shortcut_navigate_previous_button - keycombo_shortcut_navigate_next_control - keycombo_shortcut_navigate_previous_control - keycombo_shortcut_navigate_next_checkbox - keycombo_shortcut_navigate_previous_checkbox - keycombo_shortcut_navigate_next_aria_landmark - keycombo_shortcut_navigate_previous_aria_landmark - keycombo_shortcut_navigate_next_edit_field - keycombo_shortcut_navigate_previous_edit_field - keycombo_shortcut_navigate_next_focusable_item - keycombo_shortcut_navigate_previous_focusable_item - keycombo_shortcut_navigate_next_graphic - keycombo_shortcut_navigate_previous_graphic - keycombo_shortcut_navigate_next_heading - keycombo_shortcut_navigate_previous_heading - keycombo_shortcut_navigate_next_heading_1 - keycombo_shortcut_navigate_previous_heading_1 - keycombo_shortcut_navigate_next_heading_2 - keycombo_shortcut_navigate_previous_heading_2 - keycombo_shortcut_navigate_next_heading_3 - keycombo_shortcut_navigate_previous_heading_3 - keycombo_shortcut_navigate_next_heading_4 - keycombo_shortcut_navigate_previous_heading_4 - keycombo_shortcut_navigate_next_heading_5 - keycombo_shortcut_navigate_previous_heading_5 - keycombo_shortcut_navigate_next_heading_6 - keycombo_shortcut_navigate_previous_heading_6 - keycombo_shortcut_navigate_next_list_item - keycombo_shortcut_navigate_previous_list_item - keycombo_shortcut_navigate_next_link - keycombo_shortcut_navigate_previous_link - keycombo_shortcut_navigate_next_list - keycombo_shortcut_navigate_previous_list - keycombo_shortcut_navigate_next_table - keycombo_shortcut_navigate_previous_table - keycombo_shortcut_navigate_next_combobox - keycombo_shortcut_navigate_previous_combobox - keycombo_shortcut_navigate_next_window - keycombo_shortcut_navigate_previous_window - keycombo_shortcut_open_manage_keyboard_shortcuts - keycombo_shortcut_open_talkback_settings - 6 pref_log_level diff --git a/utils/src/main/res/values/google_colors.xml b/utils/src/main/res/values/google_colors.xml index 80a84ef2b..bd2c6e76d 100644 --- a/utils/src/main/res/values/google_colors.xml +++ b/utils/src/main/res/values/google_colors.xml @@ -30,5 +30,7 @@ #8AB4F8 #1a73e8 #174ea6 - + #ffdadce0 + #ffee675c + #ffc5221f diff --git a/utils/src/main/res/values/strings.xml b/utils/src/main/res/values/strings.xml index c8f3d0066..2b1f39de4 100644 --- a/utils/src/main/res/values/strings.xml +++ b/utils/src/main/res/values/strings.xml @@ -39,31 +39,6 @@ Description: This is spoken to the user. [CHAR LIMIT="NONE"] --> Using %1$s - - - Press key combination to set new shortcut. It must contain at least ALT or Control key. - - Press key combination with %1$s modifier key to set new shortcut. - - Unassigned - - - Shift - - Alt - - Ctrl - - Search - - Arrow Right - - Arrow Left - - Arrow Up - - Arrow Down - Default diff --git a/utils/src/main/res/values/styles.xml b/utils/src/main/res/values/styles.xml index 27a7dd817..d62561822 100644 --- a/utils/src/main/res/values/styles.xml +++ b/utils/src/main/res/values/styles.xml @@ -35,6 +35,14 @@ 14sp + + +