Android studio translate text

Содержание
  1. Локализация. חתול מדען (хатуль мадан) — кот учёный
  2. Просмотр и создание локализованных строк в режиме дизайна
  3. Непереводимая игра слов с использованием местных идиоматических выражений
  4. Поддержка письма справа налево
  5. Несколько локалей
  6. How to Create Language Translator in Android using Firebase ML Kit?
  7. What we are going to build in this article?
  8. Step by Step Implementation
  9. Android studio translate text
  10. Share this:
  11. Like this:
  12. Related
  13. 58 responses to “Android Tutorials Import choose android->Existing android code to workspace. Then browse to the translatr folder. After it gets to your workspace, open the Translatr.java and change this
  14. TranslateAnimation и Программная анимация Класс TranslateAnimation наследуется от класса Animation и отвечает за анимацию перемещения объекта. Один из конструкторов класса TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) создаёт анимацию путём указания начальных и конечных координат. Также есть схожий конструктор TranslateAnimation(int fromXType, float fromXValue, int toXType, float toXValue, int fromYType, float fromYValue, int toYType, float toYValue), где дополнительно можно указать тип координат. Тип может принимать одно из следующих значений: Animation.ABSOLUTE — абсолютные координаты (координаты экрана), указываются пиксели Animation.RELATIVE_TO_SELF — значения относительно текущих координат объекта, указываются проценты, где 1.0f это 100% Animation.RELATIVE_TO_PARENT — значения относительно родительских координат, указываются проценты, где 1.0f это 100% Слева направо Простейшая анимация сдвига ImageView слева направо. Пример для кнопки на Kotlin Сверху вниз (XML) Рассмотрим пример перемещения объекта ImageView сверху вниз (падать). В папке res/anim создадим файл falling.xml: Разместим на форме кнопку и ImageView и добавим код: Запускайте проект и любуйтесь эффектом. Усложним проект и заставим падать несколько объектов по очереди. Создадим два новых файла анимации: falling_down.xml falling_up.xml Подготовим разметку из трёх невидимых ImageView: Запустив проект, вы увидите, как сверху будут сыпаться картинки. Движение по диагонали По такому же принципу можно организовать движение по диагонали, изменяя одновременно значения X и Y. Создадим ещё один файл res/anim/slide_diagonal.xml: Хотя эта запись избыточна, можно и так: Разместите в углу экрана ImageView внутри контейнера LinearLayout, чтобы у него была возможность двигаться из угла в угол. Напишем код. Дрожь земли Рассмотрим пример анимации, которая создаёт эффект дрожания. Подобный эффект можно применять в играх и даже в серьёзных приложениях для привлечения внимания. Суть анимации состоит в циклическом повторении операции перемещения объекта за короткий промежуток времени, что создаёт иллюзию дрожания. Создадим папку res/anim, в которой надо создать два файла: shake.xml и cycle_7.xml. shake.xml cycle_7.xml В этом примере мы сдвигаем объект на 10 пикселей и повторяем подобное смещение 7 раз. Этого вполне достаточно для примера. Вы можете придумать свою анимацию. Разместим на поверхности активности кнопку и заставим её дрожать при нажатии. Ничего нам не мешает применить эффект дрожания и к целому экрану (разметка LinearLayout). Добавим пару строчек кода Как видите, ничего сложного здесь нет. Кстати, в документации к Android также используется подобный приём. Предположим, у нас есть два текстовых поля для ввода логина и пин-кода. Если пользователь вводит пин-код, длиной меньше или больше, чем четыре символа — окно ввода сотрясается. При правильном вводе пин-кода переходим на следующее окно. Слайд-шоу Эффект слайд-шоу, когда один элемент выталкивает другой элемент, реализуется двумя анимациями. Вот пример движения слайдов слева направо. Разместите в папке res/anim файлы: Файл out.xml Файл in.xml Такую анимацию можно увидеть в примере с элементом ViewFlipper По значениям атрибутов android:fromXDelta и android:toXDelta можно видеть, что идёт смещение первого объекта от 0% до 100%, а второго объекта от -100% до 0. Если вы хотите использовать анимацию в противоположном направлении, то поменяйте значения на нужные: Используем системные ресурсы анимации В Android есть уже предустановленные ресурсы для анимации эффекта слайд-шоу, поэтому необязательно создавать собственные XML-файлы, если вас устраивают системные параметры для показа слайдов. Код изменится незначительно (из примера Анимация переходов): Источник
  15. Программная анимация
  16. Слева направо
  17. Сверху вниз (XML)
  18. falling_down.xml
  19. falling_up.xml
  20. Движение по диагонали
  21. Дрожь земли
  22. shake.xml
  23. cycle_7.xml
  24. Слайд-шоу
  25. Файл out.xml
  26. Файл in.xml
  27. Используем системные ресурсы анимации

Локализация. חתול מדען (хатуль мадан) — кот учёный

В статье, посвященной ресурсам, мы уже затрагивали эту тему с теоретической точки зрения. Разберем теперь практическую часть. Мы уже умеем пользоваться строковыми ресурсами и меняли строчки, например, Hello, World на Здравствуй, Мир! Но на самом деле это не совсем правильный подход. Для профессионально написанного приложения лучше использовать другой подход. А именно, локализацию.

Что это значит? Мы не будем менять строчку Hello, World, которая будет считаться строкой по умолчанию, а создадим новый локализованный ресурс. Это даст нам дополнительное преимущество, если пользователь запустит приложение на телефоне с английской локалью, то он увидит текст на знакомом ему языке. Если приложение запустит русский пользователь, то он увидит текст на русском языке. Согласитесь — очень удобно.

Напишем приложение, которое будет поддерживать английскую и русскую локализации. По умолчанию будет использоваться английская локализация. В этом случае, если на телефоне не будет найден нужный локализованный ресурс, то будет применяться английский вариант.

Читайте также:  Tiny room stories android

Чтобы не усложнять материал, воспользуемся стандартным приложением, который мы изучали в самом начале. Создадим новый проект «LocaleApp», но на этот раз мы не будем трогать файл strings.xml в каталоге res/values.

Для русской локализации необходимо создать новый подкаталог values-ru в том же каталоге res. Если вы планируете создавать локализацию только для русского языка, то название каталога не трудно запомнить и вы можете создать папку вручную через res | New | Directory. Но вряд ли вы запомните названия других папок. Поэтому покажу способ создания с помощью мастера студии.

Щёлкаем правой кнопкой мыши на папке res и выбираем New | Android resource directory. В диалоговом окне в левой части Available qualifiers: выбираем пункт Locale и переносим его в правую часть Chosen qualifiers: с помощью кнопки с двумя стрелками вправо. В появившейся третьей колонке выбираем нужные языки, например, русский. Вы увидите, что в поле Directory name автоматически появится нужное название папки. Дополнительно вы можете указать и регион в колонке Specific Region Only

В режиме Android вы можете не увидеть созданную папку, поэтому временно переключитесь в режим Project. Скопируйте файл res/values/strings.xml и вставьте его в новую папку. Можете вернуться в прежний режим. Если папка не пуста, то она уже видна.

Изменим его содержание.

В английской версии им соответствуют ресурсы

Запустим приложение и увидим, что текст выводится на русском, если у вас на эмуляторе или реальном устройстве выбраны русские настройки.

Как перейти на американскую локаль? Идём в Настройки→Язык и клавиатура→Выбрать язык. Выбираем английский язык English (United States). Снова запускаем приложение в эмуляторе или на телефоне. Теперь наше приложение будет выглядеть так:

Ресурсы из каталога res/values считаются ресурсами по умолчанию. Они отображаются в том случае, когда система не найдёт ресурсы для текущей локали устройства. В нашем случае, при выборе любого языка, кроме русского будет использоваться res/values. Если мы захотим разделить англичан и американцев, тогда придётся создавать два каталога: res/values-en-rUK и res/values-en-rUS. Обратите внимание, что перед кодом второй части ставится буква ‘r’. Иными словами, мы определяем не только язык, но и регион.

Проведем несколько экспериментов. Удалим из файла res/values-ru/strings.xml строковый ресурс hello_world с текстом Здравствуй, Мир!. Сохраним изменения и запустим проект на устройстве с русским языком. Платформа заменила отсутствующий в локализации ресурс дефолтным английским.

Продолжим опыты и поступим наоборот — удалим теперь ресурс из файла res/values/strings.xml. На устройстве выберем какой-нибудь другой язык, например, итальянский. В этом случае вы увидите что-то непонятное, скорее всего вы получите сообщение об ошибке.

Отсюда можно сделать вывод, что вам необходимо следить за ресурсами по умолчанию. Старайтесь проконтролировать, чтобы ваше приложение всегда содержало все необходимые ресурсы по умолчанию, а уже потом можете начинать локализацию приложения. Для этого вам достаточно будет скопировать файл в новый подкаталог и отредактировать его.

На самом деле локализовать можно не только строковые ресурсы. В разных странах принято рисовать какой-нибудь объект в соответствии со своими традициями, например, изображение почтового ящика. В этом случае вы можете создать каталог /res/drawable-de, в котором будут находиться изображения, предназначенные для немцев.

В коде вы обращаетесь к нужным ресурсам следующим образом:

Система сама подставит нужную строку. Явно указать, что хочется использовать ресурс на конкретном языке, у вас не получится.

Спустя продолжительное время один из читателей подсказал, как всё-таки задействовать локальный ресурс. Объяснять код не буду, сами поймёте, когда наберётесь опыта.

Просмотр и создание локализованных строк в режиме дизайна

Чтобы увидеть, как меняется текст в различных локализованных версиях вашего приложения, необязательно запускать приложение в эмуляторе. Можно в студии на панели инструментов щёлкнуть на значке глобуса и выбрать из выпадающего списка нужный вам пункт (он появится после того, как вы создадите необходимые локализованные ресурсы), и все локализованные строчки сразу поменяются на экране активности.

Можно сразу создать локализованный файл через удобный мастер. Там же в меню есть пункт Edit Translations. , который выводит диалоговое окно со списком уже имеющихся строковых ресурсов из вашей программы (раньше). Вам нужно выбрать язык для перевода, а затем заполнить в таблице нужную колонку.

После того, как вы завершите перевод всех ресурсов, нажимаете на кнопку OK и у вас появится готовая папка с новым файлом strings.xml для выбранной локализации.

Сейчас в студии вместо диалогового окна выводится окно редактора, в котором можно редактировать текст.

Непереводимая игра слов с использованием местных идиоматических выражений

Если вы решили использовать локализацию на разных языках, то можете встретиться с одной проблемой. Предположим, вы перевели только несколько строковых ресурсов и в один прекрасный день решили выложить программу в магазин приложений. Android Studio при сборке подписанного приложения может заругаться, что вы перевели не все строки. Есть два способа обхода проблемы. Вы можете использовать атрибут translatable=»false», чтобы указать среде разработке, что данная строка не требует перевода:

Читайте также:  Get wifi networks android

В окне редактора это сделать проще через флажки в столбце Untranslatable.

Второй вариант — явно указать, что все строки в файле не нужно переводить с помощью tools:ignore=»MissingTranslation».

Есть ещё один вариант, когда непереводимые строки размещаются не в ресурсе strings.xml, а в другом файле под именем donottranslate.xml.

Когда вы исправите строковые ресурсы, то избавьтесь от ошибок через Project | Clean. и попытайтесь собрать приложение заново.

Поддержка письма справа налево

Арабы и некоторые другие народы используют непривычную для европейцев схему написания текстов справа налево. В Android 4.2 появилась поддержка данного режима. В блоге (англ.) Native RTL support in Android 4.2 рассказано о некоторых вещах по этой теме.

Теперь вы можете писать приложение для израильских военкоматов. Русские призывники в интервью офицерам душевного здоровья часто используют сочетание хатуль мадан (חתול מדען). Теперь вы знаете, как локализовать строки пушкинского стихотворения про кота учёного.

Несколько локалей

В Android 7.0 (API 24) пользователь может установить несколько локалей. В этом случае, если не будут найдены ресурсы для первой локали, то будут искаться ресурсы для второй локали. Таким образом, если француз знает два языка, например, французский и испанский, а в приложение не поддерживает французского, но поддерживает испанский, то пользователь увидит текст на испанском, а не на английском.

Источник

How to Create Language Translator in Android using Firebase ML Kit?

In the previous article, we have seen using Language detector in Android using Firebase ML kit. In this article, we will take a look at the implementation of Language translator in Android using Firebase ML Kit in Android.

What we are going to build in this article?

We will be building a simple application in which we will be showing an EditText field and we will add any input to that TextField. Along with that, we will be displaying a Button to translate that text to the German language. After clicking that button our text will be translated to the German language which we can get to see in the text view. A sample video is given below to get an idea about what we are going to do in this article. Note that we are going to implement this project using the Java language.

Attention reader! Don’t stop learning now. Get hold of all the important Machine Learning Concepts with the Machine Learning Foundation Course at a student-friendly price and become industry ready.

Step by Step Implementation

Step 1: Create a New Project

To create a new project in Android Studio please refer to How to Create/Start a New Project in Android Studio. Note that select Java as the programming language.

Step 2: Connect your app to Firebase

After creating a new project in Android Studio connect your app to Firebase. For connecting your app to firebase. Navigate to Tools on the top bar. After that click on Firebase. A new window will open on the right side. Inside that window click on Firebase ML and then click on Use Firebase ML kit in Android. You can see the option in the below screenshot.

After clicking on this option you will get to see the below screen. On this screen click on Connect to Firebase option to connect your app to Firebase. Click on Connect option to connect your app to Firebase and add the below dependency to your build.gradle file.

Step 3: Adding dependency for language translation to build.gradle file

Navigate to the Gradle Scripts > build.gradle(Module:app) and add the below dependency in the dependencies section.

// below two dependency are used for language detection

Step 4: Adding permissions to access the Internet in your Android App

Источник

Android studio translate text

One of my friends is going abroad – to Germany. I thought I’d make her an app that would let her enter what she wants to say in English translate it to German then speak it out.

Here goes:
I am going to be using the Bing Translate API – really cool coz they give u like two million queries, that’s a lot (unfortunately Google translate API isnt free).
First, download this java library. Place this in your libs folder.

Читайте также:  Мой андроид пишет что мало места для

We need the Client Id and Client username from the Microsoft MarkerPlace. Here are the instructions on how to get this.

I am gonna build this:

To get translated text do this:

The Text-To-Speech bit:

And the complete code:

There is a lot you can do, but I am feeling to lazy. Hope you learnt something.

[UPDATE] Check out the App here, I just gave it a better look but its still more or less the same thing described above.

Share this:

Like this:

Posted by Gilbert Kimutai on February 5, 2013 in Uncategorized

58 responses to “Android Tutorials Import choose android->Existing android code to workspace. Then browse to the translatr folder. After it gets to your workspace, open the Translatr.java and change this

the username and client secret you got from Microsoft bing translater site. Tell me if you get any more problems.

May 9, 2013 at 4:28 am

November 30, 2013 at 3:54 am

hello, i tried to download the project and change the id and secret I got from the Microsoft bing translator..My problem is that when I try to run it, it suddenly stopped.. “Unfortunately, Translatr has stopped” please help me

Источник

TranslateAnimation и

Программная анимация

Класс TranslateAnimation наследуется от класса Animation и отвечает за анимацию перемещения объекта.

Один из конструкторов класса TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) создаёт анимацию путём указания начальных и конечных координат.

Также есть схожий конструктор TranslateAnimation(int fromXType, float fromXValue, int toXType, float toXValue, int fromYType, float fromYValue, int toYType, float toYValue), где дополнительно можно указать тип координат. Тип может принимать одно из следующих значений:

  • Animation.ABSOLUTE — абсолютные координаты (координаты экрана), указываются пиксели
  • Animation.RELATIVE_TO_SELF — значения относительно текущих координат объекта, указываются проценты, где 1.0f это 100%
  • Animation.RELATIVE_TO_PARENT — значения относительно родительских координат, указываются проценты, где 1.0f это 100%

Слева направо

Простейшая анимация сдвига ImageView слева направо.

Пример для кнопки на Kotlin

Сверху вниз (XML)

Рассмотрим пример перемещения объекта ImageView сверху вниз (падать). В папке res/anim создадим файл falling.xml:

Разместим на форме кнопку и ImageView и добавим код:

Запускайте проект и любуйтесь эффектом.

Усложним проект и заставим падать несколько объектов по очереди. Создадим два новых файла анимации:

falling_down.xml

falling_up.xml

Подготовим разметку из трёх невидимых ImageView:

Запустив проект, вы увидите, как сверху будут сыпаться картинки.

Движение по диагонали

По такому же принципу можно организовать движение по диагонали, изменяя одновременно значения X и Y. Создадим ещё один файл res/anim/slide_diagonal.xml:

Хотя эта запись избыточна, можно и так:

Разместите в углу экрана ImageView внутри контейнера LinearLayout, чтобы у него была возможность двигаться из угла в угол. Напишем код.

Дрожь земли

Рассмотрим пример анимации, которая создаёт эффект дрожания. Подобный эффект можно применять в играх и даже в серьёзных приложениях для привлечения внимания.

Суть анимации состоит в циклическом повторении операции перемещения объекта за короткий промежуток времени, что создаёт иллюзию дрожания. Создадим папку res/anim, в которой надо создать два файла: shake.xml и cycle_7.xml.

shake.xml

cycle_7.xml

В этом примере мы сдвигаем объект на 10 пикселей и повторяем подобное смещение 7 раз. Этого вполне достаточно для примера. Вы можете придумать свою анимацию.

Разместим на поверхности активности кнопку и заставим её дрожать при нажатии.

Ничего нам не мешает применить эффект дрожания и к целому экрану (разметка LinearLayout). Добавим пару строчек кода

Как видите, ничего сложного здесь нет. Кстати, в документации к Android также используется подобный приём. Предположим, у нас есть два текстовых поля для ввода логина и пин-кода. Если пользователь вводит пин-код, длиной меньше или больше, чем четыре символа — окно ввода сотрясается. При правильном вводе пин-кода переходим на следующее окно.

Слайд-шоу

Эффект слайд-шоу, когда один элемент выталкивает другой элемент, реализуется двумя анимациями. Вот пример движения слайдов слева направо. Разместите в папке res/anim файлы:

Файл out.xml

Файл in.xml

Такую анимацию можно увидеть в примере с элементом ViewFlipper

По значениям атрибутов android:fromXDelta и android:toXDelta можно видеть, что идёт смещение первого объекта от 0% до 100%, а второго объекта от -100% до 0.

Если вы хотите использовать анимацию в противоположном направлении, то поменяйте значения на нужные:

Используем системные ресурсы анимации

В Android есть уже предустановленные ресурсы для анимации эффекта слайд-шоу, поэтому необязательно создавать собственные XML-файлы, если вас устраивают системные параметры для показа слайдов. Код изменится незначительно (из примера Анимация переходов):

Источник

Оцените статью