BimmerGestalt / AAIdrive

Implementations of some Android Auto features as unofficial IDrive apps
MIT License
541 stars 90 forks source link

Needs more translations #27

Closed hufman closed 3 years ago

hufman commented 5 years ago

With Android and BMW being more popular in Europe than in America, this app could benefit from more strings translations. Anyone who wants to contribute should feel free to send a PR!

Another option is to use the CrowdIn service to quickly edit an existing translation. It also has screenshots to show the strings within the UI. If you want to create a new translation this way, just send me a message to add it to the interface for editing.

gemasr commented 4 years ago

I'll do it for Spanish!

Ricki19 commented 4 years ago

Portuguese ones https://github.com/hufman/AndroidAutoIdrive/commit/03e74db8ff541ebc987ac75fd6ffd61daa6fcec0

hufman commented 4 years ago

@Ricki19 thank you for this! Would you be able to convert this to a full Pull Request so I can merge it? Otherwise I could commit it on your behalf, let me know!

Ricki19 commented 4 years ago

Done

jezikk82 commented 4 years ago

Hi, I can prepare polish translation. Please share the template to fill in.

hufman commented 4 years ago

Thanks @jezikk82 ! The basic idea is that you duplicate the English strings.xml file to a new directory (values-pl for Polish) and then edit the values within the xml nodes. You'll find examples of other langues there too! Then you just make a PR of your change and I'll merge it. Thank you so much!

jezikk82 commented 4 years ago

Polish translations. Please compile and send me apk if possible to verify translations.

AndroidAutoIDrive-PL-strings.xml.txt

hufman commented 4 years ago

Thanks! Would you like to make a PR so you can be attributed to it? Or I could try to set the Git commit authorship to you and add it myself. Let me know!

jezikk82 commented 4 years ago

Do it on your own, if successful git commit authorship i'll graceful.

jezikk82 commented 4 years ago

Updated polish lang file.

stringspPL.txt

mfisher224 commented 4 years ago

Russian translation. Hope this helps. stringsRU.txt

hufman commented 4 years ago

Thank you @mfisher224 !

bogdan-calapod commented 4 years ago

Hello there,

I can help with the Romanian one if needed. Should I make a PR or just send the updated file ?

hufman commented 4 years ago

A PR would be perfect! Thanks!

bogdan-calapod commented 4 years ago

Done! Thanks a lot for this great app 😄

hufman commented 4 years ago

Good afternoon! I believe I'm finished building out all the new features for the next release, but they need new translated strings! Please help and update your translations when you get a chance, with everyone's help this next version will be the best one yet. Thank you again for your great contributions! @nfaralli @gemasr @Ricki19 @jezikk82 @mfisher224 @bogdan-calapod @ogakul @RMe588

ogakul commented 4 years ago

German is updated https://github.com/ogakul/AndroidAutoIdrive/commit/fdd26a209abf4a8bdc1a313d68180abc4fa127c4

Very eager to see the next release!

bogdan-calapod commented 4 years ago

Romanian updated. #87 Also very eager to see the next release 😁

RMe588 commented 4 years ago

Dutch = updated!

hufman commented 4 years ago

Latest dev build here! It includes the updated Dutch, German, Polish, and Romanian languages.

mfisher224 commented 4 years ago

Russian attached.

<resources>
    <string name="app_name">AndroidAutoIdrive</string>
    <string name="permlab_accessNotifications"> Доступ к Уведомлениям IDrive</string>
    <string name="permlab_bindNotificationListenerService">Доступ к Уведомлениям IDrive</string>
    <string name="permdesc_accessNotifications">Доступ к Уведомлениям IDrive</string>
    <string name="permdesc_bindNotificationListenerService">Доступ к Уведомлениям IDrive</string>
    <string name="notification_title">Android Auto для IDrive</string>
    <string name="notification_description">Подклучен к Машыне</string>
    <string name="notification_description_chassiscode">Подклучен к %s</string>
    <string name="notification_description_bmw">Подклучен к БМВ</string>
    <string name="notification_description_mini">Подклучен к Мини</string>

    <string name="spawn_test_notification">Пробная Уведомление</string>
    <string name="message_notifications">Уведомления о Сообщениях</string>
    <string name="notification_popups">Всплывающие Уведомления</string>
    <string name="notification_popups_passenger">Всплывающие Уведомления с Пасажиром</string>

    <string name="lbl_popupVersion">Всплывающие уведомления только работают с IDrive4</string>
    <string name="lbl_smsPermission">Доступ машине SMS фотографиям. Текст всегда виден.</string>

 <string name="enable_google_maps">Включить Google Maps</string>
    <string name="lbl_widescreen_map">Широкоэкранные Карты</string>
    <string name="gmapStyleLabel">Стиль Карты</string>
    <string name="lbl_music_apps">Музыкальные Приложения</string>
    <string name="musicAppIcon">Значок Приложения</string>
    <string name="musicAppNowPlaying">Играющие</string>
    <string name="musicAppControllable">Управляемый во Время Работы</string>
    <string name="musicAppConnectable">Полностью Контролируемое</string>
    <string name="musicAppBrowseable">Просматриваемый</string>
    <string name="musicAppSearchable">Доступны для Поиска</string>
    <string name="musicAppUnavailable">Недоступные</string>
    <string name="enable_audio_context">Запросить Аудио Фокус</string>
    <string name="lbl_grant_sessions">Контроль над Активными Музыкальными Приложениями:</string>
    <string name="lbl_grant">Разрешить</string>

  <string name="musicAppNotes_unauthorizedSpotify">Нажмите здесь, чтобы авторизовать доступ Spotify</string>
    <string name="musicAppNotes_oldSpotify">Пожалуйста, понизьте версию Spotify для полной функциональности (просмотр)</string>
    <string name="musicAppNotes_oldSpotifyInstructions">Это приложение может обеспечить полный контроль над Spotify до версии 8.4.96.953. Для полного контроля загрузите старую версию.</string>
    <string name="lbl_ok">Хорошо</string>
    <string name="lbl_cancel">Отмена</string>
    <string name="btn_configure">Настроить ...</string>

    <string name="connectionStatusMissingConnectedApp">Не найдено приложения Connected или Connected Classic</string>
    <string name="connectionStatusWaiting">Ждем подключения к машине</string>

    <string name="nowplaying_notconnected">&lt;Не подключено&gt;</string>
    <string name="nowplaying_unknown">&lt;Неизвестное&gt;</string>

    <string name="txt_setup_bmw_ready">Приложение готово для подключения к БМВ</string>
    <string name="txt_setup_mini_ready">Приложение готово для подключения к Мини</string>
    <string name="txt_setup_discovered_new_bmw">Приложение BMW Connected обнаружено, но для работы этого приложения также необходимо установить приложение Mini Connected Classic:</string>
    <string name="txt_setup_discovered_new_mini">Приложение Mini Connected обнаружено, но для работы этого приложения также необходимо установить приложение BMW Connected Classic:</string>
    <string name="txt_setup_bmw_missing">Не готово к подключению к БМВ:</string>
    <string name="txt_setup_mini_missing">Не готово к подключению к Мини:</string>

    <string name="txt_build_info">Версия сборки: %1$s %2$s</string>
    <string name="txt_bcl_report">Производительность туннеля BCL:</string>
    <string name="txt_car_capabilities">Сообщенные автомобильные возможности:</string>

    <string name="btn_install">Установить</string>
    <string name="btn_install_bmw">Установить BMW Connected Classic</string>
    <string name="btn_install_mini">Установить Mini Connected Classic</string>

  <string name="lbl_advanced_settings">Показать расширенные настройки</string>
    <string name="lbl_assistant">Виртуальный помощник (бета)</string>
    <string name="lbl_assistant_empty">Не найдено</string>
    <string name="notification_assistant_tap">Нажмите, чтобы запустить %s</string>
    <string name="notification_assistant_description">Только необходимо, потому что экран включен</string>
    <string name="donation_title">Понравилось приложение?</string>
    <string name="donation_text">Поддержите нас</string>

    <!-- car app strings -->
    <string name="NOTIFICATIONS_TITLE">Уведомления</string>
    <string name="NOTIFICATIONS_EMPTY_LIST">Нет Уведомлений</string>
    <string name="NOTIFICATION_CLEAR_ACTION">Очищить </string>
    <string name="NOTIFICATION_POPUPS">Всплывающие Уведомления</string>
    <string name="NOTIFICATION_POPUPS_PASSENGER">Всплывающие Уведомления с Пасажиром</string>

    <string name="MAP_ACTION_VIEWMAP">Посмотреть Полную Карту</string>
    <string name="MAP_ACTION_SEARCH">Поиск Места</string>
    <string name="MAP_ACTION_CLEARNAV">Очистить Навигацию</string>

    <string name="MUSIC_APPLIST_TITLE">Приложения</string>
    <string name="MUSIC_APPLIST_EMPTY">&lt;Нет Приложений&gt;</string>
    <string name="MUSIC_CUSTOMACTIONS_TITLE">Действия</string>
    <string name="MUSIC_DISCONNECTED">&lt;Не Подключено &gt;</string>
    <string name="MUSIC_BROWSE_TITLE">Просмотреть</string>
    <string name="MUSIC_BROWSE_EMPTY">&lt;Пусто&gt;</string>
    <string name="MUSIC_BROWSE_LOADING">&lt;Загрузка&gt;</string>
    <string name="MUSIC_BROWSE_SEARCHING">&lt;Ищем&gt;</string>
    <string name="MUSIC_BROWSE_ACTION_JUMPBACK">Назад</string>
    <string name="MUSIC_BROWSE_ACTION_FILTER">Фильтр</string>
    <string name="MUSIC_BROWSE_ACTION_SEARCH">Поиск</string>
    <string name="MUSIC_QUEUE_TITLE">Играющие </string>
    <string name="MUSIC_QUEUE_EMPTY">&lt;Пустая очередь&gt;</string>
    <string name="MUSIC_SKIP_PREVIOUS">Предыдущий</string>
    <string name="MUSIC_SKIP_NEXT">Следующую</string>

    <string name="MUSIC_SPOTIFY_TURN_SHUFFLE_ON">Перемешивать</string>
    <string name="MUSIC_SPOTIFY_REMOVE_FROM_COLLECTION">Не Нравится</string>
    <string name="MUSIC_SPOTIFY_START_RADIO">Сделать Радиостанцию</string>
    <string name="MUSIC_SPOTIFY_TURN_REPEAT_ALL_ON">Повторить Все</string>
    <string name="MUSIC_SPOTIFY_TURN_SHUFFLE_OFF">Не Перемешивать</string>
    <string name="MUSIC_SPOTIFY_TURN_REPEAT_ONE_ON">Повторить Одну</string>
    <string name="MUSIC_SPOTIFY_TURN_REPEAT_ONE_OFF">Выключить Повтор</string>
    <string name="MUSIC_SPOTIFY_ADD_TO_COLLECTION">Нравится</string>

    <string name="MUSIC_SPOTIFY_THUMB_UP">Палец вверх</string>
    <string name="MUSIC_SPOTIFY_THUMBS_UP_SELECTED">Стоит палец вверх</string>
    <string name="MUSIC_SPOTIFY_THUMB_DOWN">Палец вниз</string>
    <string name="MUSIC_SPOTIFY_THUMBS_DOWN_SELECTED">Стоит палец вверх</string>
</resources>
hufman commented 4 years ago

Next dev build, including Russian and some fixes for the Connection Wizard

andreapl commented 4 years ago

Portuguese ones 03e74db

is this one being updated?! i can continue this one

hufman commented 4 years ago

Ah no, that's the Spanish file (values-es), the portuguese file is in values-pt here. Thank you so much!

ogakul commented 3 years ago

Any news regarding next (stable) release?

Also is there anything else besides the translations which the community here could help?

hufman commented 3 years ago

I sincerely apologize for the delay! I accidentally linked together two huge projects to the next release, and it's taking a long time to do both: Vast improvements to Notification functionality, and a basically brand-new phone interface. This new phone interface will have a ton of new strings to translate, trying to self-contain all of the main user setup questions. I'm mostly finished with the Notification functionality and am now focused on rearranging all the phone UI code into this new improved form. I am roughly estimating that the next release should be ready in only about 3 months, and I will definitely ping this thread when the next release is ready for translation!

Having the Latest Build link on the main page relieves some of the pressure to release often, since generous users can experience the latest features while greatly contributing with user testing, and I am sincerely appreciative of all of you! Thank you so very much for your support!

jezikk82 commented 3 years ago

Hi, I found two messages from the app not included in strings.xml, e.g.:

Actual polish translation updated. strings.xml.txt

hufman commented 3 years ago

Thank you @jezikk82! I'll merge those changes in today. The heading for the Assistants tab depends on the number of assistants discovered. This means that the strings.xml uses a <plurals> definition instead of a normal <string> definition. This <plurals> format is also used to calculate the MUSIC_ACTION_SEEK_BACK and MUSIC_ACTION_SEEK_FORWARD strings in the music Actions menu.

jezikk82 commented 3 years ago

You got me wrong, I meant the heading text in Assistant's tab is not in the file, not the plurals form of it. Same with Spotify error message:ACCOUNT_INVALID_CLIENT. You have in code but not in file.

hufman commented 3 years ago

The Assistants heading isn't set directly in the layout due to needing to know the count of Assistants, and because layouts can't reference <plurals> elements. You can see the code setting it here.

Another issue is that the Android Studio Translations Editor only seems to show <string> elements. You'll have to manually add a matching <plurals> element to the values-pl/strings.xml file. Copy them from the default translation, similar to how the German translation looks.

The errors from Spotify are generally passed through without modifications, and the app adds a few explanations for some common errors, as you found in the code. I haven't implemented any code to replace the Spotify error messages, preferring to not hide any useful information that Spotify may be providing and not being confident about handling every possible error. They can't be set in the layout file ahead of time because they are provided by the Spotify response.

unlive74 commented 3 years ago

@hufman Unfortunately, many Russian words are longer than their English brothers (the same problem, for example, with the German language). I'm trying to fit the meaning of the word "Gear", but in Russian this is a "Передача" and it takes at least 8 letters. And the result looks like this:

Screenshot_20210602-094820_AndroidAutoIdrive

By the way, I have no sunroof in my car and the application reminds me of this with an empty line every time. The same goes for the parking brake - I always see the value -0-

hufman commented 3 years ago

Do you refer to the word "Compass" cut off on the right side? I'll try fiddling with the spacing between those columns 👍

Can you expand the Advanced Settings and scroll down to show me what "controls.sunroof" says? The parking brake field is definitely beta, and I'll add that 0 case to hide the line. Is your Last Position field blanked out by you, or just empty due to the car not providing it? I'll add a condition to hide it in that case then. Feel free to post the extra info on #81 too, since it's more related to the new Car Information UI than translations in particular.

hufman commented 3 years ago

I believe the feature development for version 1.3 is complete, so I think all the strings are set and ready to translate while I fix bugs! I want to thank the contributors who have been very quick to update the translation files through CrowdIn as soon as I push a new feature! For the rest of the languages, I think the strings are finalized and ready to be translated before the big release in a few weeks. The CrowdIn interface is an easy option, or PRs can be submitted to update the translation files. I'd also love to see even more languages added! I'm curious to see if the car even supports all of the Asian languages, contact me and let's test it!

hufman commented 3 years ago

Replacing this issue with #377