powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / android многоязычность
25 сообщений из 114, страница 1 из 5
android многоязычность
    #38676478
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим не сложно с помощью if задать несколько вариантов надписей на кнопке. Но как определить какой язык главный на тедефоне клиента?
...
Рейтинг: 0 / 0
android многоязычность
    #38676509
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для этого есть ресурсы, не нужно изобретать велосипедов.

а если хотите узнать текущую то - Locale.getDefault().getLanguage(), например.

или гуглить, решений там несколько, все тривиальные.
...
Рейтинг: 0 / 0
android многоязычность
    #38676646
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джибсдля этого есть ресурсы, не нужно изобретать велосипедов.
+1. Для глобального - папка values, для русского - values-ru и т.д.
...
Рейтинг: 0 / 0
android многоязычность
    #38676648
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял уже спасибо
...
Рейтинг: 0 / 0
android многоязычность
    #38676688
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ïîíÿë óæå ñïàñèáî
...
Рейтинг: 0 / 0
android многоязычность
    #38695399
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В сети нашёл что надо использовать разные values-xx папки

Spanish, /values-es/strings.xml:
French, /values-fr/strings.xml:

А где поглядеть список буквенных сокрашений для различных стран?

Израиль к примеру IL или HEB(Hebrew - Иврит)
...
Рейтинг: 0 / 0
android многоязычность
    #38695439
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stackoverflow.com/questions/7973023/what-is-the-list-of-supported-languages-locales-on-android

P.S. Студия сама подсказывает при добавлении values, эклипс с адт тоже должен, по идее.
...
Рейтинг: 0 / 0
android многоязычность
    #38695533
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ссылку.

Hebrew, Israel (iw_IL)

тоесто преставлять надо только iw или полностью Hebrew, Israel (iw_IL)* ??
...
Рейтинг: 0 / 0
android многоязычность
    #38695613
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Areostar, не знаю как в эклипсе, вот так это делается в студии:
Правая кнопка мыши -> New -> Android resource directory
Выбираю Resource type "values", ниже слева добавляю Region и вижу все доступные коды.

Тебе нужен iw.
...
Рейтинг: 0 / 0
android многоязычность
    #38696963
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за скрин
...
Рейтинг: 0 / 0
android многоязычность
    #38707382
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой проект dxgettext для локализации приложений. В делфи я его широко использую, есть его версия и под java. Для перевода есть редактор poEdit. Думаю его намного удобнее использовать чем родной андроидный локализатор.
...
Рейтинг: 0 / 0
android многоязычность
    #38707421
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийДумаю его намного удобнее использовать чем родной андроидный локализатор.
На самом деле вряд-ли. Поясню: в студии достаточно создать что-нибудь отличное от values, например values-ru. Затем в коде просто объявлять любые не существующие переменные вида R.string.action_some_title, жамкать Alt+Enter и спокойно добавлять значение на русском в удобном диалоговом окне. Затем уже, когда код будет более менее правдоподобен конечному виду, можно и values привести к нужному виду (обычно к английскому).
...
Рейтинг: 0 / 0
android многоязычность
    #38709428
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное никогда не пользовались dxgettext? Смысл этого проекта в том что он может выбрать все строковые ресурсы для перевода в отдельный файл, этот файл передается человеку-переводчику, который с помощью poEdit в удобном виде переводит текст (т.е. они видит табличку с 2-мя колонками, слева н-р руские фразы, а справа на том языке, который он переводит), есть там и подгрузка новых данных без потери переведенных, потом из этого редактора выгружается другой файл, который и подключается в программу с помощью своей поддержки, которая автоматически заменяет в памяти программы строковый ресурс (поиск по фразе) на соответствующий перевод.
А в андроиде - пробовал в эклипсе - так там что нужно передать переводчику - сами файлы со строковыми ресурсами и у него поедет крыша или же он чего так отредактирует что нарушит структуру. Или я не прав?
...
Рейтинг: 0 / 0
android многоязычность
    #38709544
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разве переводчику что то нужно давать ?

это уже ваша работа, воткнуть тексты в ресурсы.
...
Рейтинг: 0 / 0
android многоязычность
    #38709684
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийИли я не прав?
dxgettext не видел, но встроенные средства так или иначе равны. Когда-то я писал клон jimm-а и для него была разработана утилита, в которой на мой взгляд наиболее удобно сделана возможность создавать переводы. В ней выбирался оригинал (англ), и дополнялся переводом. Т.е. было три столбца: название переменной (используется в коде), английская версия и перевод. Если dxgettext нечто подобное, то можно глянуть.

Остальное, на мой взгляд, не стоит внимания. Особенно выдирающее сообщения из исходных кодов, т.к. там много служебной информации, которая не может быть переведена, таких как log.*, интенты и акции.
...
Рейтинг: 0 / 0
android многоязычность
    #38709731
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanМикола ПитерскийИли я не прав?
dxgettext не видел, но встроенные средства так или иначе равны. Когда-то я писал клон jimm-а и для него была разработана утилита, в которой на мой взгляд наиболее удобно сделана возможность создавать переводы. В ней выбирался оригинал (англ), и дополнялся переводом. Т.е. было три столбца: название переменной (используется в коде), английская версия и перевод. Если dxgettext нечто подобное, то можно глянуть.

Остальное, на мой взгляд, не стоит внимания. Особенно выдирающее сообщения из исходных кодов, т.к. там много служебной информации, которая не может быть переведена, таких как log.*, интенты и акции.

Сам редактор переводов смотрите в приложенной картинке.

Что выдирать из исходных кодов легко настраивется в файле-включить и в файле исключить. Вот для делфи из файла ggexclude.cfg :
[exclude-form-class]
TWebBrowser
TdxStatusBar
TrsPropSaver

; FastReport
TfrxReport
TfrxBarCodeView
TfrxGroupHeader
TfrxMasterData
TfrxDBDataSet
TfrxPictureView
TfrxMemoView
TfrxReportPage

[exclude-file]
report.dfm
Wizard.dfm

[exclude-dir]
...
Рейтинг: 0 / 0
android многоязычность
    #38709735
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плюс dxgettext в том что он выбирает для перевода только уникальные фразы - т.е. если у вас много кнопок с тектом "нажать сюда" - то к переводчику попадет только ОДНА эта фраза. А то что вы надеетесь самостоятельно при помощи онлайн переводчика перевести программу на 20 языков - это все туфта - нужен профессиональный переводчик, а они используют только poEdit.
...
Рейтинг: 0 / 0
android многоязычность
    #38709776
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийСам редактор переводов смотрите в приложенной картинке.
GNU Gettext for Delphi and C++ Builder к яве не имеет отношения.
Микола Питерскийнужен профессиональный переводчик, а они используют только poEdit
Боюсь, что это оффтоп в теме про яву и андроид в частности, т.к. это отклонение от стандарта локализации . У указанного ПО слишком узкое направление и до андроида оно не дотягивает, чуть меньше, чем полностью.
Не учитывает ни размера экрана, ни его положения, ни способа управления и т.д.
...
Рейтинг: 0 / 0
android многоязычность
    #38709831
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanМикола ПитерскийСам редактор переводов смотрите в приложенной картинке.
GNU Gettext for Delphi and C++ Builder к яве не имеет отношения.
Микола Питерскийнужен профессиональный переводчик, а они используют только poEdit
Боюсь, что это оффтоп в теме про яву и андроид в частности, т.к. это отклонение от стандарта локализации . У указанного ПО слишком узкое направление и до андроида оно не дотягивает, чуть меньше, чем полностью.
Не учитывает ни размера экрана, ни его положения, ни способа управления и т.д.

Так ты смотри Gettext for Java - в сети есть пример использования его под Java. В делфи есть свой встроенный локализатор еще со времен делфи7 - так что кое-кто тоже может сказать - что это "отклонение от стандартов". И не понял - причем здесь размер экрана и т.д. (русский текст всегда длиннее иностранного)?
Декомпилируй Навител навигатор для АНДРОИДА и увидишь что они используют именно .mo файлы для локализации из этой программы poEdit, а не андроидную стандартную локализацию.
...
Рейтинг: 0 / 0
android многоязычность
    #38709837
WebPrj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Микола Питерский и увидишь что они используют именно .mo файлы для локализации из этой программы poEdit, а не андроидную стандартную локализацию.
дак в чём проблема?
Если студия не умеет делать импорт экспорт обычного текстовика-файла с переводом, то это проблема студии.
Или умеет?
...
Рейтинг: 0 / 0
android многоязычность
    #38709846
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийИ не понял - причем здесь размер экрана и т.д. (русский текст всегда длиннее иностранного)?
Я-же привел ссылку. Какой смысл продолжать беседу, если не известны даже азы?

Хинт: в андроиде встроенный механизм автовыбора необходимых ресурсов. Условия их выбора можно подсмотреть по ссылке или на картинке ниже. Грубо говоря подключаемый языковой ресурс может зависеть от всех перечисленных условий. Например с ландшафте подхватится полный текст, а в портрете - сокращенный и т.д.

Навител не лучший пример ПО для андроида, его явно писали с оглядкой на поддержу для большого брата. Тут он придаток, а не основной проект. Как и 2гис. Оба этих приложения стоило с самого начала писать с оглядкой не на ББ, а на целевое устройство.
...
Рейтинг: 0 / 0
android многоязычность
    #38709859
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Вот нагуглил: http://www.alek.ws/blog/2014/Apr/08/gnu-gettext-in-java.html

Добавлю что есть gettext и для PHP - так что это очень удобный проект - просто его надо попробовать и поработать в нем и все "Стандартные" локализации после него идут лесом. poEdit - это не просто редактор - это программа-переводчик - т.е. вы один раз переводите фразу и она сохраняется в базе и потом автоматом переводится такая же фраза, ну там много таких класных фишек и это надо пробовать. Файлик .mo - это скомпиленый для одного языка перевод и он затем обрабатывается средством поддержки в соответствующем языке, т.е. могут автоматически заменяться фразы, найденные в этом файле или же принудительно через функцию _("Привет мой свет!").
...
Рейтинг: 0 / 0
android многоязычность
    #38709874
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanХинт: в андроиде встроенный механизм автовыбора необходимых ресурсов. Условия их выбора можно подсмотреть по ссылке или на картинке ниже. Грубо говоря подключаемый языковой ресурс может зависеть от всех перечисленных условий. Например с ландшафте подхватится полный текст, а в портрете - сокращенный и т.д.


Ну так это и хорошо - у тебя есть стандартный файл локализации ТОЛЬКО для русского языка для портрета и ланшафта. Н-р "Выводит список" и "Вывод списка с подробной информацией". При повороте экрана грузится сотвествующий ресурс, затем срабатывает поддержка gnugettext и переводит эти соотвесттвующие фразы.
...
Рейтинг: 0 / 0
android многоязычность
    #38709915
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийПри повороте экрана
Чтобы прикрутить левую фичу мне придется писать больше кода:
1. Загрузка текстов, что в свою очередь меня лишает использования методов, где указывается идентификатор строки.
2. Обработка смены конфигурации, где еще и определять при каких условиях какой файл подгружать. С этим прекрасно сам андроид справляется, лучше чем большинство начинающих программистов для андроида.
...
Рейтинг: 0 / 0
android многоязычность
    #38709943
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanМикола ПитерскийПри повороте экрана
Чтобы прикрутить левую фичу мне придется писать больше кода:
1. Загрузка текстов, что в свою очередь меня лишает использования методов, где указывается идентификатор строки.
2. Обработка смены конфигурации, где еще и определять при каких условиях какой файл подгружать. С этим прекрасно сам андроид справляется, лучше чем большинство начинающих программистов для андроида.

1. Никто не запрещает по прежнему использовать идентификатор строки
2. Обрабатывать ничего не надо - андроид сам это сделает - тут вмешательство минимально - в событии старта активности вызываем метод gnutext который определит язык в системе и он сам будет знать какой файлик (класс жавы) подгрузить, затем когда все ресурсы загрузятся вызывам другую функцию, которая и выполнит перевод всех строковых ресурсов, эту же функцию вызываем н-р в событии поворота устр-ва.
Можете использовать попрежнему строковые ресурсы, а можно и без них _('Привет'). Так что вмешаетельства в ваш код тут вообще минимальны. Если кто смог с эклипса перелезть на студию - то легко сможет освоить и эту систему.
...
Рейтинг: 0 / 0
25 сообщений из 114, страница 1 из 5
Форумы / Android [игнор отключен] [закрыт для гостей] / android многоязычность
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]