|
android многоязычность
|
|||
---|---|---|---|
#18+
Допустим не сложно с помощью if задать несколько вариантов надписей на кнопке. Но как определить какой язык главный на тедефоне клиента? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2014, 10:58 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
для этого есть ресурсы, не нужно изобретать велосипедов. а если хотите узнать текущую то - Locale.getDefault().getLanguage(), например. или гуглить, решений там несколько, все тривиальные. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2014, 12:11 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Джибсдля этого есть ресурсы, не нужно изобретать велосипедов. +1. Для глобального - папка values, для русского - values-ru и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2014, 17:40 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Понял уже спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2014, 17:48 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
ÏîÃВГѓВїГѓВ« óæå ГѓВ±ГѓВЇГѓВ ГѓВ±ГѓВЁГѓВЎГѓВ® ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2014, 20:35 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
В сети нашёл что надо использовать разные values-xx папки Spanish, /values-es/strings.xml: French, /values-fr/strings.xml: А где поглядеть список буквенных сокрашений для различных стран? Израиль к примеру IL или HEB(Hebrew - Иврит) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2014, 17:39 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
stackoverflow.com/questions/7973023/what-is-the-list-of-supported-languages-locales-on-android P.S. Студия сама подсказывает при добавлении values, эклипс с адт тоже должен, по идее. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2014, 19:20 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Спасибо за ссылку. Hebrew, Israel (iw_IL) тоесто преставлять надо только iw или полностью Hebrew, Israel (iw_IL)* ?? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2014, 22:48 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Areostar, не знаю как в эклипсе, вот так это делается в студии: Правая кнопка мыши -> New -> Android resource directory Выбираю Resource type "values", ниже слева добавляю Region и вижу все доступные коды. Тебе нужен iw. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2014, 08:40 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Спасибо за скрин ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2014, 15:39 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Есть такой проект dxgettext для локализации приложений. В делфи я его широко использую, есть его версия и под java. Для перевода есть редактор poEdit. Думаю его намного удобнее использовать чем родной андроидный локализатор. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2014, 15:38 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийДумаю его намного удобнее использовать чем родной андроидный локализатор. На самом деле вряд-ли. Поясню: в студии достаточно создать что-нибудь отличное от values, например values-ru. Затем в коде просто объявлять любые не существующие переменные вида R.string.action_some_title, жамкать Alt+Enter и спокойно добавлять значение на русском в удобном диалоговом окне. Затем уже, когда код будет более менее правдоподобен конечному виду, можно и values привести к нужному виду (обычно к английскому). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2014, 16:23 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Наверное никогда не пользовались dxgettext? Смысл этого проекта в том что он может выбрать все строковые ресурсы для перевода в отдельный файл, этот файл передается человеку-переводчику, который с помощью poEdit в удобном виде переводит текст (т.е. они видит табличку с 2-мя колонками, слева н-р руские фразы, а справа на том языке, который он переводит), есть там и подгрузка новых данных без потери переведенных, потом из этого редактора выгружается другой файл, который и подключается в программу с помощью своей поддержки, которая автоматически заменяет в памяти программы строковый ресурс (поиск по фразе) на соответствующий перевод. А в андроиде - пробовал в эклипсе - так там что нужно передать переводчику - сами файлы со строковыми ресурсами и у него поедет крыша или же он чего так отредактирует что нарушит структуру. Или я не прав? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2014, 19:05 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
разве переводчику что то нужно давать ? это уже ваша работа, воткнуть тексты в ресурсы. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2014, 22:18 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийИли я не прав? dxgettext не видел, но встроенные средства так или иначе равны. Когда-то я писал клон jimm-а и для него была разработана утилита, в которой на мой взгляд наиболее удобно сделана возможность создавать переводы. В ней выбирался оригинал (англ), и дополнялся переводом. Т.е. было три столбца: название переменной (используется в коде), английская версия и перевод. Если dxgettext нечто подобное, то можно глянуть. Остальное, на мой взгляд, не стоит внимания. Особенно выдирающее сообщения из исходных кодов, т.к. там много служебной информации, которая не может быть переведена, таких как log.*, интенты и акции. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 09:17 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
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] ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 09:59 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Плюс dxgettext в том что он выбирает для перевода только уникальные фразы - т.е. если у вас много кнопок с тектом "нажать сюда" - то к переводчику попадет только ОДНА эта фраза. А то что вы надеетесь самостоятельно при помощи онлайн переводчика перевести программу на 20 языков - это все туфта - нужен профессиональный переводчик, а они используют только poEdit. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 10:03 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийСам редактор переводов смотрите в приложенной картинке. GNU Gettext for Delphi and C++ Builder к яве не имеет отношения. Микола Питерскийнужен профессиональный переводчик, а они используют только poEdit Боюсь, что это оффтоп в теме про яву и андроид в частности, т.к. это отклонение от стандарта локализации . У указанного ПО слишком узкое направление и до андроида оно не дотягивает, чуть меньше, чем полностью. Не учитывает ни размера экрана, ни его положения, ни способа управления и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 10:45 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanМикола ПитерскийСам редактор переводов смотрите в приложенной картинке. GNU Gettext for Delphi and C++ Builder к яве не имеет отношения. Микола Питерскийнужен профессиональный переводчик, а они используют только poEdit Боюсь, что это оффтоп в теме про яву и андроид в частности, т.к. это отклонение от стандарта локализации . У указанного ПО слишком узкое направление и до андроида оно не дотягивает, чуть меньше, чем полностью. Не учитывает ни размера экрана, ни его положения, ни способа управления и т.д. Так ты смотри Gettext for Java - в сети есть пример использования его под Java. В делфи есть свой встроенный локализатор еще со времен делфи7 - так что кое-кто тоже может сказать - что это "отклонение от стандартов". И не понял - причем здесь размер экрана и т.д. (русский текст всегда длиннее иностранного)? Декомпилируй Навител навигатор для АНДРОИДА и увидишь что они используют именно .mo файлы для локализации из этой программы poEdit, а не андроидную стандартную локализацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 11:38 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерский и увидишь что они используют именно .mo файлы для локализации из этой программы poEdit, а не андроидную стандартную локализацию. дак в чём проблема? Если студия не умеет делать импорт экспорт обычного текстовика-файла с переводом, то это проблема студии. Или умеет? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 11:44 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийИ не понял - причем здесь размер экрана и т.д. (русский текст всегда длиннее иностранного)? Я-же привел ссылку. Какой смысл продолжать беседу, если не известны даже азы? Хинт: в андроиде встроенный механизм автовыбора необходимых ресурсов. Условия их выбора можно подсмотреть по ссылке или на картинке ниже. Грубо говоря подключаемый языковой ресурс может зависеть от всех перечисленных условий. Например с ландшафте подхватится полный текст, а в портрете - сокращенный и т.д. Навител не лучший пример ПО для андроида, его явно писали с оглядкой на поддержу для большого брата. Тут он придаток, а не основной проект. Как и 2гис. Оба этих приложения стоило с самого начала писать с оглядкой не на ББ, а на целевое устройство. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 11:47 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadman, Вот нагуглил: http://www.alek.ws/blog/2014/Apr/08/gnu-gettext-in-java.html Добавлю что есть gettext и для PHP - так что это очень удобный проект - просто его надо попробовать и поработать в нем и все "Стандартные" локализации после него идут лесом. poEdit - это не просто редактор - это программа-переводчик - т.е. вы один раз переводите фразу и она сохраняется в базе и потом автоматом переводится такая же фраза, ну там много таких класных фишек и это надо пробовать. Файлик .mo - это скомпиленый для одного языка перевод и он затем обрабатывается средством поддержки в соответствующем языке, т.е. могут автоматически заменяться фразы, найденные в этом файле или же принудительно через функцию _("Привет мой свет!"). ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 11:54 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanХинт: в андроиде встроенный механизм автовыбора необходимых ресурсов. Условия их выбора можно подсмотреть по ссылке или на картинке ниже. Грубо говоря подключаемый языковой ресурс может зависеть от всех перечисленных условий. Например с ландшафте подхватится полный текст, а в портрете - сокращенный и т.д. Ну так это и хорошо - у тебя есть стандартный файл локализации ТОЛЬКО для русского языка для портрета и ланшафта. Н-р "Выводит список" и "Вывод списка с подробной информацией". При повороте экрана грузится сотвествующий ресурс, затем срабатывает поддержка gnugettext и переводит эти соотвесттвующие фразы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 12:05 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийПри повороте экрана Чтобы прикрутить левую фичу мне придется писать больше кода: 1. Загрузка текстов, что в свою очередь меня лишает использования методов, где указывается идентификатор строки. 2. Обработка смены конфигурации, где еще и определять при каких условиях какой файл подгружать. С этим прекрасно сам андроид справляется, лучше чем большинство начинающих программистов для андроида. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 12:31 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanМикола ПитерскийПри повороте экрана Чтобы прикрутить левую фичу мне придется писать больше кода: 1. Загрузка текстов, что в свою очередь меня лишает использования методов, где указывается идентификатор строки. 2. Обработка смены конфигурации, где еще и определять при каких условиях какой файл подгружать. С этим прекрасно сам андроид справляется, лучше чем большинство начинающих программистов для андроида. 1. Никто не запрещает по прежнему использовать идентификатор строки 2. Обрабатывать ничего не надо - андроид сам это сделает - тут вмешательство минимально - в событии старта активности вызываем метод gnutext который определит язык в системе и он сам будет знать какой файлик (класс жавы) подгрузить, затем когда все ресурсы загрузятся вызывам другую функцию, которая и выполнит перевод всех строковых ресурсов, эту же функцию вызываем н-р в событии поворота устр-ва. Можете использовать попрежнему строковые ресурсы, а можно и без них _('Привет'). Так что вмешаетельства в ваш код тут вообще минимальны. Если кто смог с эклипса перелезть на студию - то легко сможет освоить и эту систему. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 12:53 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийПри повороте экрана грузится сотвествующий ресурс, затем срабатывает поддержка gnugettext и переводит эти соотвесттвующие фразы. Если кто не понял - при повороте экрана все происходит как и раньше - андроид грузит ваш родной строковый ресурс локализации, который по умолчанию, т.е. добавлять как раньше для других языков эти ресурсы уже не надо - т.к. перевод будет делать gnutext по своим файлам *.mo, которые преобразуются в соответсвующий класс java. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:01 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийЕсли кто не понял Я не понял, можно пример кода с минимальным вмешательством, где выбирается файл хотя-бы по ориентации экрана? А то смахивает на общение слепого с глухим. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:04 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanМикола ПитерскийЕсли кто не понял Я не понял, можно пример кода с минимальным вмешательством, где выбирается файл хотя-бы по ориентации экрана? А то смахивает на общение слепого с глухим. Во это точно - я тоже хотел так написать :) Ничего из gnutext дополнительно не выбирается см. предыдущее мое сообщение, все остается как и было - андроид сам подгружает нужный ресурс и лишь потом gnutext просматривает все "значения строк" и изменяет если найдет в своем .mo файле строки на соответсвующие переводу. А все остается как и было раньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:13 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерскийандроид сам подгружает нужный ресурс и лишь потом gnutext просматривает все Это ничего не пояснило. Вот примеры вызовов: Код: java 1. 2.
Андроид сам подгрузил строку из нужного ресурса, я указал только константу. Как оно переведет мне это? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:20 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadman, если подробно - то откомпилированные файлы *.mo , полученные из программы переводчика средствами утилит gnugettex переводятся в жава классы, н-р было 20 файлов языков, получилось 20 жава классов (я все это дело проверил - классы формирует нормально), вы эти классы подключаете к проекту, подключаете gnugettex и вызываете его функцию, которая определит какой жава клас вызывать (в зависимости от языка системы). В любых событиях, которые подгружают новые ресурсы вы после загрузки этих ресурсов вызываете функцию, которая перебирает все строковые ресурсы и заменяет их из из соответствующего класса-перевода. Вроде все. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:26 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийВ любых событиях, которые подгружают новые ресурсы вы после загрузки этих ресурсов вызываете функцию, которая перебирает все строковые ресурсы и заменяет их из из соответствующего класса-перевода. Вроде все. В общем, как я и думал, она не будет работать, если указывать R-константы и не сможет сама определить конфигурацию устройства. Я погуглил на предмет применения её на андроид-девайсах, её используют те, кто привык её использовать на ББ и/или портирует большие проекты на смарты/планшеты. Еще раз: в этом коде константы R.string.*, они числовые, а не строковые: wadman Код: java 1. 2.
И строки тут будут выбираться средой в зависимости от условий (см. выше) из разных строковых ресурсов. gnugettext не осилит такое на автомате. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:33 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
да уж, столько геморроя из-за ничего ) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:36 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanМикола Питерскийандроид сам подгружает нужный ресурс и лишь потом gnutext просматривает все Это ничего не пояснило. Вот примеры вызовов: Код: java 1. 2.
Андроид сам подгрузил строку из нужного ресурса, я указал только константу. Как оно переведет мне это? Конкретно для этого случая: Код: java 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:36 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерскийwadmanпропущено... Это ничего не пояснило. Вот примеры вызовов: Код: java 1. 2.
Андроид сам подгрузил строку из нужного ресурса, я указал только константу. Как оно переведет мне это? Конкретно для этого случая: Код: java 1. 2.
ошибся - вот так: Код: java 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:38 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийКонкретно для этого случая: Еще один вопросик: опыт применения имеется или это теоретическое применение (в этом примере)? :) Это точно работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:39 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadman Код: java 1. 2.
И строки тут будут выбираться средой в зависимости от условий (см. выше) из разных строковых ресурсов. gnugettext не осилит такое на автомате. Не понял в чем проблема? Сдесь же андроид и выбирает строку в зависимости от условий (положения, разрешения и т.д.) Код: java 1.
а затем уже срабатываеет функция gnugettext, которая и выполнит перевод: Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:45 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийА в андроиде - пробовал в эклипсе - так там что нужно передать переводчику - сами файлы со строковыми ресурсами и у него поедет крыша или же он чего так отредактирует что нарушит структуру. Или я не прав? можно посмотреть сюда gettext несомненно хороший инструмент, но создатели андроида решили реализовать локализацию иначе, поэтому на прикручивание gettext имхо уйдет намного больше сил, чем на альтернативное решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:47 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийНе понял в чем проблема? Проблема в том, что андроид выберет строку где-то у себя внутри, как таковой строки здесь не будет. Здесь одна из констант автоматически сгенерированного файла R.java: Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:50 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanМикола ПитерскийКонкретно для этого случая: Еще один вопросик: опыт применения имеется или это теоретическое применение (в этом примере)? :) Это точно работает? В делфи давно использую - все корректно работает. В андроиде не вижу проблем - классы жава с соответсвующими переводами лично получил и проверил, далее реализовать не пробовал т.к. мультиязычных приложений пока нет, может появятся только через год т.к. сейчас в основном пишу на делфи, пхп и остальное связанное с вэб. Это на первый взгляд кажется что это гемор - но один раз проделав понимаешь насколько это просто и естественно. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:51 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийЭто на первый взгляд кажется что это гемор - но один раз проделав понимаешь насколько это просто и естественно. Как я и писал, для андроида это не лучший выбор. К тому же неполноценно работающий. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:52 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола, я выражу свой вопрос кодом Код: xml 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 13:58 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
chpashaМикола, я выражу свой вопрос кодом Код: xml 1.
делаем функцию, которая переберет все классы TextView и переведет их строковые ресурсы, естественно это при выводе на экран, далее повторяем эту функцию во всех событиях, связанных с повторным чтением ресурсов. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 14:04 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерскийделаем функцию, которая переберет все классы TextView Это компилируется в бинарный xml, где соответственно тоже заменится числом, которое я указал выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 14:08 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерскийделаем функцию, которая переберет все классы TextView у нас не только классы TextView, есть и другие контролы со строками, например Spinner. представляешь себе задержу на старте и при каждом повороте экрана, нужную на рекурсивный поиск всех контролов и замену их текста? кроме того у нас еще есть plurals, т.е. строка которая пойдет переводчику будет выглядеть как "%s попугаев", а в TextView на момент вызова gettext уже будет стоять "38 попугаев" и все это ради возможности иметь отдельный файл для переводчика? я тебе сходу придумаю кучу способов не париться так жестко. один из них (кошерный) я уже запостил выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 14:16 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanЭто компилируется в бинарный xml, где соответственно тоже заменится числом, которое я указал выше. он имеет в виду где-то на onPostCreate и на onConfigurationChanged сканить все контейнеры и контейнеры в контейнерах на предмет TextView, брать их getText() и менять его на _(getText()) . з.ы. кстати кроме этого хозяйства у нас еще есть куча соплей в виде actionbar, navigationbar и наверняка чего-то еще, про что я сразу и не вспомнил. все это тоже придется при старте и поворотах перекопать. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 14:20 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
з.ы. с plurals я прогнал, их просто так в xml не всунешь ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 14:22 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
chpashaи все это ради возможности иметь отдельный файл для переводчика? Есть такой инструмент: Google translate toolkit, если разобраться, то толковая штука, в т.ч. позволяет отправлять файлы ресурсов профессионалам или делиться с друзьями для совместного перевода. Гугл думает о своих. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 14:28 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanЕсть такой инструмент: Google translate toolkit ну так 16381797 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 14:39 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanchpashaи все это ради возможности иметь отдельный файл для переводчика? Есть такой инструмент: Google translate toolkit, если разобраться, то толковая штука, в т.ч. позволяет отправлять файлы ресурсов профессионалам или делиться с друзьями для совместного перевода. Гугл думает о своих. :) Да - только там: • Android Resource (.xml) • Application Resource Bundle (.arb) • Chrome Extension (.json) • GNU gettext-based (.po) Вот последняя строка это и есть .po файл, который генерирует gettext для редактора poEdit. И в гугле знают что это классная вещь:) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 14:52 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийВот последняя строка это и есть .po файл, который генерирует gettext для редактора poEdit. И в гугле знают что это классная вещь:) Чтобы перейти на современные рельсы нормальный разработчик обязан побеспокоиться о старых/предыдущих версиях и их предшественниках и обеспечить их поддержку. Это логично. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 14:56 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийВот последняя строка это и есть .po файл, который генерирует gettext для редактора poEdit. И в гугле знают что это классная вещь:)но почему-то к андроиду ее не прикрутили ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 15:00 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
chpashaМикола ПитерскийВот последняя строка это и есть .po файл, который генерирует gettext для редактора poEdit. И в гугле знают что это классная вещь:)но почему-то к андроиду ее не прикрутили К делфи и пхп тоже ее не прикрутили. Насчет того что медленно будет выводится приложение при повороте экрана из-за перевода - врядли - одно дело изменять объекты в памяти - а другое производить дисковое чтение из анроидных ресурсов и также перерисовывать контролы с новым текстом. Меня не столько напрягает невозможность иметь отдельный файл для перевода, как вероятность многократного дублирования текста в контролах приложения н-р "Название, закрыть и т.д" их может быть много одинаковых в контролах с разными идентификаторами и они разбросаны по файлу ресурсов и при переводе надо проделывать лишнюю работу, также вы отдали на перевод файл с ресурсом и вдруг решили переименовать идентификатор этой строки - все основной файл переведенным уже нельзя заменить, аналогично вы добавили новый контрол в этом случае тоже нельзя файлы менять, а надо ручками найти изменения и их добавить. Всех этих недостатков нет в gnugettext. А может я и не прав - т.к. есть пока в андроиде небольшой опыт и только в эклипсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 15:15 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийА может я и не прав - т.к. есть пока в андроиде небольшой опыт и только в эклипсе. Есть правила и рекомендации, как называть приватные переменные, как называть кнопки, окна, пункты меню и как называть переменные для их текстового представления и т.п. И следуя им, дублирование текста избегается само собой. Мне кажется, что для андроида это надуманная проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 15:34 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Вот мне не нравится эклипс по причине - если я пишу одноязычное приложение и пытаюсь текст контрола написать прямо в исходнике - то он этот текст подчеркивает (как в настройках отключить эту проверку для всего приложения я не нашел) и предлагает поместить его в файл ресурсов и соответственно мне надо придумать название идентификатора этого текста в ресурсе - т.е. много лишней работы, которую я не люблю делать. И кроме того почему ему (эклипсу) не пройтись по всем строковым ресурсам и не сказать что уже есть такой ресурс с текстом "название:" и не предложить в исходнике присвоить контролу этот идентификатор? Может в студии это сделано лучше? Год назад смотрел студию - там у меня она висла при создании проекта - т.е. я ее так и не увидел в действии. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 16:17 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийВот мне не нравится эклипс по причине Это не эклипс, а ADT, который так или иначе пишут те-же или при плотном сотрудничестве с ними, кто и андроид-студию пишет. Так что и наследие и одинаковое поведение - норма. В т.ч. и перенос текста в ресурсы. Как я и писал ранее, я сразу пишу константу вида R.string.* а тут зависит от того, что мне нужно, если меню, то action_, если заголовок окна, то title_ и т.п. В общем-то далее просто смотришь в списке, что есть похожего и либо пишешь несуществующее название константы (и далее создаешь её тут же из диалогового окна), либо выбираешь из того, что есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 16:23 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийВот мне не нравится эклипс по причине - если я пишу одноязычное приложение и пытаюсь текст контрола написать прямо в исходнике - то он этот текст подчеркивает (как в настройках отключить эту проверку для всего приложения я не нашел) и предлагает поместить его в файл ресурсов и соответственно мне надо придумать название идентификатора этого текста в ресурсе - т.е. много лишней работы не так уж и много. может получится так, что через год ты вдруг подумаешь, что тебе нужно многоязычное приложение, и начнешь выискивать строки. вот тебе и пытаются не дать выстрелить в ногу, а ты в свою очередь можешь игнорировать предупреждения. заодно напишешь в одном месте cancel, в другом discard, в третьем exit - по настроению, хотя все три раза хотел return ;) Микола ПитерскийИ кроме того почему ему (эклипсу) не пройтись по всем строковым ресурсам и не сказать что уже есть такой ресурс с текстом "название:" и не предложить в исходнике присвоить контролу этот идентификатор? напиши плагин. расскажешь об ощущениях. Микола ПитерскийМожет в студии это сделано лучше? there is no place like home ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 16:37 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийМеня не столько напрягает невозможность иметь отдельный файл для перевода, как вероятность многократного дублирования текста в контролах приложения н-р "Название, закрыть и т.д" их может быть много одинаковых в контролах с разными идентификаторами и они разбросаны по файлу ресурсов что за ерунда. если я создаю <string name ="close">Закрыть</string> то я для этого и использую ресурсы, что бы не дублировать для каждой кнопки и не писать. да и проще поменять, если вдруг нужно будет что то изменить. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2014, 23:00 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Джибсчто за ерунда имеется в виду, что когда обширная предметная область, можно написать НЕ одно и то же в двух разных местах одними и теми же словами. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2014, 11:17 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
chpashaДжибсчто за ерунда имеется в виду, что когда обширная предметная область, можно написать НЕ одно и то же в двух разных местах одними и теми же словами. Ну да, лишние 100 байт это "проблема" в современном цифровом мире. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2014, 11:53 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanНу да, лишние 100 байт это "проблема" в современном цифровом мире. имеется в виду, что проблема не в самом наличии дубликатов, а в том, что люди, которые будут переводить, станут натыкаться на одни и те же слова по несколько раз подряд. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2014, 12:05 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Установил себе наконец Android Studio 0.8 - по сравнению в эклипсом вещь уже стоящая !!! Мультиязычность тоже сделана классно. Но не понял следующий момент: вот я например создал текстовый ресурс н-р name_offer и его значение "Наименование товара:" и создал для него несколько ресурсов для разных языков - тут все клас, а теперь мне надо переименовать "Наименование товара:" в "Наименование:" - как тут действовать? Открывать ресурс по умолчанию т.е. лезть в values\strings.xml и менять, ручками, а затем вызывать "edit translation" для каждого языка, искать этот ключ там в табличке и переводить или есть какой-то другой лучший способ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 11:55 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерский, открываешь любой ресурс, встаешь на название нужной строки, жмешь Shift+F6 и вводишь новое название. Всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 12:19 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanМикола Питерский, открываешь любой ресурс, встаешь на название нужной строки, жмешь Shift+F6 и вводишь новое название. Всё. Проверил - меняет но не то что мне нужно - если надо поменять name_offer на name_offer_1 - то оно подходит и меняет ид ресурса во всех языковых файлах, но мне надо поменять сам текст переводов во всех языках. Кроме того если в проекте например 1000 многоязычных словосочетаний для 20 языков и надо часто и многократно переименовывать не идентификатор строкового ресурса а сам текст, т.е. в процемме работы переименовываем только для основного языка и только когда надо сделать релиз - только тогда надо каким-то образом найти все "переименованные" тестовые ресурсы в других языках чтобы перевести их. Как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 12:32 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерскийно мне надо поменять сам текст переводов во всех языках. Шутишь? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 12:37 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanМикола Питерскийно мне надо поменять сам текст переводов во всех языках. Шутишь? Да какая тут шутка? Я пока только понял что переименовать значение текстового ресурса нельзя, а только каждый раз создавать новый. Но это же заколебаешся так делать. Если ты переименовал значение тестового ресурса в языке по умолчанию ручками в файле - а в остальных языках это сразу не сделал - то потом не найдеш вот такие "забытые" несоответсвия между основным языком и переводом. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 12:45 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерскийwadmanпропущено... Шутишь? Да какая тут шутка? Я пока только понял что переименовать значение текстового ресурса нельзя, а только каждый раз создавать новый. Но это же заколебаешся так делать. Если ты переименовал значение тестового ресурса в языке по умолчанию ручками в файле - а в остальных языках это сразу не сделал - то потом не найдеш вот такие "забытые" несоответсвия между основным языком и переводом. А то, что потом так же можешь и вовсе забыть перевести? Текстовый xml - это только для тебя, далее он станет "цифровым" и названия значения не будут иметь. Просто создавай новую строку, с новым названием и новым текстом. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 12:48 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерский, imho это будет доделано в след.версиях. Или это вообще не дело платформы, а дело аддонов к ней и приблуд. В принципе, сабж как раз об этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 12:50 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
[quot wadman А то, что потом так же можешь и вовсе забыть перевести? Текстовый xml - это только для тебя, далее он станет "цифровым" и названия значения не будут иметь. Просто создавай новую строку, с новым названием и новым текстом.[/quot] Т.е. если у меня лабель c именем offer_name и он соотвествует значению "наименование" и мне начальник сказал переименовать его в "наименование товара" - то я должен создать новый ресурс н-р offer_name1 со значением "наименование товара", затем он скажет что всетаки лучше переименовать в "номенклатура" то значит опять создаем новый offer_name2 со значением "номенклатура"? А можно как увидеть тогда что "старые" строки нигде не используются и удалить сразу их во всех языковых файлах? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 12:55 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерский, Я думаю, шеф скажет, за один день написать приблуду. Кторая пробежит по файлам и подсветит те строки, которые вообще не исп-тся и т.д. ) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 12:59 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
WebPrj, Я просто в делфи использую для локализации gettext и там это сделано весьма удобно - можно переименовывать строковые ресурсы только в основном языке сколько угодно хотя для них есть уже переводы, а потом перед сборкой релиза, запускаем переводчик для каждого языка и видим сразу в начале списка все "непереведенные" фразы т.е. или совсем непереведенные или те, которые для основного языка были переименованы и ничего там "забыть перевести" не получится. А тут вроде ничего похожего не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 13:04 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерский, Delphi платформе сколько лет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 13:07 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Да еще и надо тратить время на выдумывание английского "идентификатора" строкового ресурса, который должен соответсвовать его содержимому. А вообще можно ли для языка по умочанию использовать русский, а для английского создать дополнительный языковый ресурс (\values-en\)? Ничего там у англоязычных пользователей не перевернется? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 13:09 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
WebPrjМикола Питерский, Delphi платформе сколько лет? Так в делфи ничего подобного нет - это все сторонний проект (gnugettext), который есть и для Жавы. См. эту тему выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 13:13 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийА вообще можно ли для языка по умочанию использовать русский, а для английского создать дополнительный языковый ресурс (\values-en\)? Почему-бы и нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 13:18 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadman, тогда у тебя при отсутствии китайского покажет русский ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 13:20 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийWebPrjМикола Питерский, Delphi платформе сколько лет? Так в делфи ничего подобного нет - это все сторонний проект (gnugettext), который есть и для Жавы. См. эту тему выше. я так и написал - для D сделали, т.к. он старший брат)) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2014, 13:22 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
WebPrjтогда у тебя при отсутствии китайского покажет русский Это уже другой вопрос. Суть в том, что values - ресурс, используемый по умолчанию. Кстати, китайцы не делают из этого проблемы. Смело всё пишут в values и "пусть весь мир подождет" пусть переводят те, кому это нужно. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2014, 11:30 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Как в студии сделать чтобы строковый ресурс в *.java "подсвечивался" и помечался желтым квадратом также как это сделано для .XML. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 10:39 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийКак в студии сделать чтобы строковый ресурс в *.java "подсвечивался" и помечался желтым квадратом также как это сделано для .XML. Ничего не понял... Оно и так подсвечивается, только менее явно (в теме по умолчанию). Цвет задается темой. На рисунке строка с ресурсом и ниже хинт. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 10:56 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Версия студии 1.1 - ничего не подсвечивает. Может и правда от темы зависит - подскажи, пожалуйста, как тему сменить? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 11:05 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийВерсия студии 1.1 - ничего не подсвечивает. А там точно ссылка на ресурс как у меня? У меня впечатление, что там чистый текст... Темы меняются в Settings -> Editor -> Color & Fonts Скачать дополнительные темы отсюда http://www.ideacolorthemes.org/home/ ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 11:11 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
[quot wadman]Микола ПитерскийА там точно ссылка на ресурс как у меня? У меня впечатление, что там чистый текст... Там чистый текст - а я хотел чтоб он подсвечивался - чтоб я знал что перенести в ресурс. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 11:13 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Если там ресурс - то он и в этой теме подсвечивается. На последнюю строчку я щелкнул и появился ресурс. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 11:17 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийwadmanА там точно ссылка на ресурс как у меня? У меня впечатление, что там чистый текст... Там чистый текст - а я хотел чтоб он подсвечивался - чтоб я знал что перенести в ресурс. Хм, строка и так выделяется цветом. К примеру, зеленым, как у тебя. Студия не считает все текстовые строки в исходном коде обязательными для переноса в ресурсы, т.к. там много чего может быть начиная от тэгов, заканчивая отладочной информацией лог ката. Напротив, в xml строки не должны использоваться, потому что xml в принципе ресурс и потому приветствуются ссылки на другие ресурсы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 11:21 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanХм, строка и так выделяется цветом. К примеру, зеленым, как у тебя. Студия не считает все текстовые строки в исходном коде обязательными для переноса в ресурсы, т.к. там много чего может быть начиная от тэгов, заканчивая отладочной информацией лог ката. Напротив, в xml строки не должны использоваться, потому что xml в принципе ресурс и потому приветствуются ссылки на другие ресурсы. Ясно - придется значит "вручную" искать все НУЖНЫЕ строки, которые не в ресурсах и помещать их туда. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 11:25 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
То что они помечены зеленым - это замечательно, но слишком много в проекте .java, кроме того многие части кода свернуты - придется все их ручками разворачивать, просматривать и "лампочкой" помещать их в ресурс. Думал что можно как-то это дело ускорить. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 11:32 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийДумал что можно как-то это дело ускорить. Поиск по двойным кавычкам. Должен заглядывать во все места, и в схлопнутые в том числе. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 11:35 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadman, спаcибо огромное - это то что нужно! Вот я туплю :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 11:38 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Наверное опять туплю - но первый раз всетаки перевожу. Добавил к локализации еще один язык и для него не перевел все строки, при компиляции соответсвенно ошибка с предупреждением об этом - все замечательно, Ноооо... к ошибочке еще куча пояснения с ним и непонятки: Explanation for issues of type "MissingTranslation": If an application has more than one locale, then all the strings declared in one language should also be translated in all other languages. If the string should not be translated, you can add the attribute translatable="false" on the <string> element, or you can define all your non-translatable strings in a resource file called donottranslate.xml. Or, you can ignore the issue with a tools:ignore="MissingTranslation" attribute. Попробовал создать файлик values\donottranslate.xml - поместил туда ресурсы - но они всеравно видны в Translations Editor и они там даже не отмечены как "непереводимые". Ладно создал еще файлик и там ресурс вписал: Код: java 1. 2. 3.
но этот ресурс снова виден в Translations Editor и доступен для перевода. Почему так? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 12:12 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Еще непонятно как с этим Translations Editor работать - у меня куча pref_ которых несколько десятков, которые к переводу не нужны и они помечены так: Код: java 1.
А они в редакторе всеравно торчат. Еще в редакторе сортировка возможна только по полю Key, а как отсортировать по другим полям? Ведь может быть несколько ключей ресурсов с одинаковым содержанием - и эти дубли выходит не найти и надо каждый переводить? Да и в редактор не попадают значения из массивов: Код: java 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 12:30 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийА они в редакторе всеравно торчат. Это как раз логично. Сегодня они непереводимые, завтра - переводимые и наоборот. Какой смысл скрывать? Вот если-бы вдруг в дельфи в дизайне ставишь button.visible = false и кнопка-бы исчезала... Было бы очень весело формочки рисовать, залезая в dfm и возвращать видимость вручную. По остальному не скажу, не сталкивался. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 12:46 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanМикола ПитерскийА они в редакторе всеравно торчат. Это как раз логично. Сегодня они непереводимые, завтра - переводимые и наоборот. Какой смысл скрывать? Вот если-бы вдруг в дельфи в дизайне ставишь button.visible = false и кнопка-бы исчезала... Было бы очень весело формочки рисовать, залезая в dfm и возвращать видимость вручную. Ну так редактор - это табличка, в которой должны поддерживаться сортировка и фильтры - а тут вообще этим и не пахнет. Установил бы я сортировку по значению и убрал-бы все дубли - также редактор должен помочь и все зависимости по ключам перевести на один ключ, установил-бы фильтр на "только переводимые" и видел-бы только нужное для перевода. Поиска тоже в редакторе нет. Одно дело когда простое приложение переводить с несколькими десятками строк, а другое - когда строк сотни, а может и тысячи. Попробовал 10 языков добавить - и ужас - редактор поля вообще крохотными сделал. И как люди переводят? Может есть какой другой редактор? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 12:58 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanЭто как раз логично. Сегодня они непереводимые, завтра - переводимые и наоборот. Какой смысл скрывать? Есть непереводимое навсегда вот: Код: java 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 13:03 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерскийа тут вообще этим и не пахнет. В сплывающем меню на этот счет есть поясняющий текст: Open Translation Editor (Preview) . Нам остается только ждать... :) П.С. На Западе перевод предпочитают отдавать на сторону, а у них свои, более совершенные, средства для удобного процесса перевода. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 13:13 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanМикола Питерскийа тут вообще этим и не пахнет. В сплывающем меню на этот счет есть поясняющий текст: Open Translation Editor (Preview) . Нам остается только ждать... :) П.С. На Западе перевод предпочитают отдавать на сторону, а у них свои, более совершенные, средства для удобного процесса перевода. В делфи для этих целей всегда пользовался редактором poEdit - странно почему гугл если не хочет делать свой нормальный редактор не сделает порт для импорта\экспорта в poEdit. Это в 1000 раз проще чем делать свой редактор уровня poEdit. Проф. переводчики обычно используют только poEdit. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 13:23 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийПроф. переводчики обычно используют только poEdit. У меня дежавю попробуй https://translate.google.com/toolkit ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 13:51 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийНу так редактор - это табличка, в которой должны поддерживаться сортировка и фильтры - а тут вообще этим и не пахнет вообще-то какое-то время назад этого редактора и вовсе не было. потом его добавили в 0.8.7 (кстати по моей наколке). так что, если чего не хватает и можешь обосновать зачем оно тебе - ноги в руки и в багтрекер, смысл тут жаловаться? К слову, желание отключать непереводимые строки и сортировать по переводу вполне разумно (впрочем дубликаты строк можно и по-другому искать, есть соответствующий lint-анализ) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 14:24 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
chpashaесли чего не хватает и можешь обосновать зачем оно тебе - ноги в руки и в багтрекер, смысл тут жаловаться? Многого не хватает - только вот обосновать - по русски даже с трудом не то что по англицки так что остается только жаловаться тут - может кто и напишет в трекер :) chpasha(впрочем дубликаты строк можно и по-другому искать, есть соответствующий lint-анализ) а как? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 15:40 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерскийchpasha(впрочем дубликаты строк можно и по-другому искать, есть соответствующий lint-анализ) а как?Analyze->Run inspection by name -> Android Resource Validation ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 15:54 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
А можно ли каким хитрым способом сократить кол-во этих записей - посредством какой-нибудь ссылки на "родителя"? Код: java 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 16:20 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
chpashaAnalyze->Run inspection by name -> Android Resource Validation попробовал - результат всегда "No suspicious code found (a minute ago)" - хотя "дубли лежат на соседних строках" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 16:24 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола ПитерскийА можно ли каким хитрым способом сократить кол-во этих записей - посредством какой-нибудь ссылки на "родителя"? Код: java 1. 2. 3. 4.
Слушай, при современных ценах на носители печься о паре лишних десятков байт в архиве как-то не с руки... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 16:28 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
да, бес попутал. эта инспекция ищет неиспользуемые строки, на дубликаты ей плевать, сорри. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 16:29 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanСлушай, при современных ценах на носители печься о паре лишних десятков байт в архиве как-то не с руки... Так я не для экономии байтов - а для экономии "времени" переводчика. Они были разбросаны по всему файлу - я их поиском нашел и "сгруппировал" в одно место - в общем еще и группировки по значению не хватает в этом редакторе. А так этих "наименований" было более 10 - переводчик уж точно матюкался бы, а я их сократил до 4. Т.е. проблема найти вот такие "повторы". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 16:36 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Не могу понять как должна происходить "локализация" строк в *.java. Ставлю курсор на строку, жму Alt+Enter, в менюшке выбираю "extract string resource" и мне предлагает ДОБАВИТЬ новый ресурс, но если мне не нужно добавлять - а нужно выбрать из уже существующего ресурса - как это сделать - ручками вбивать - так это мозоли появятся - у меня строки "ошибка" наверное 50 штук будет??? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2015, 11:32 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерский, поиск с заменой не предлагать? Ну и копирование и вставку никто не отменял вместо ручного вбивания. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2015, 11:39 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanМикола Питерский, поиск с заменой не предлагать? Ну и копирование и вставку никто не отменял вместо ручного вбивания. Точно - спасибо. Что-то меня студия совсем расслабила - всмысле мозг размягчила:) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2015, 11:48 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
В приложении основной язык английский и есть русский. Как сделать так, чтобы у пользователей бывшего СССР отображался бы русский язык - н-р если анроид на украинском - то пользователю отображать не английский, а русский??? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 12:04 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
Микола Питерскийн-р если анроид на украинском - то пользователю отображать не английский, а русский??? следи за руками - генерить файл resources-ua с тем же содержимым, что и resources-ru ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 12:39 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
chpashaМикола Питерскийн-р если анроид на украинском - то пользователю отображать не английский, а русский??? следи за руками - генерить файл resources-ua с тем же содержимым, что и resources-ru Блин - а ведь точно :) А то я хотел уже на украинский переводить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 13:46 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
chpashaМикола Питерскийн-р если анроид на украинском - то пользователю отображать не английский, а русский??? следи за руками - генерить файл resources-ua с тем же содержимым, что и resources-ru Кстати, можно научить делать gradle это на этапе сборки, чтоб не поддерживать два и более языковых ресурсов. Как - не скажу. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 13:49 |
|
android многоязычность
|
|||
---|---|---|---|
#18+
wadmanchpashaпропущено... следи за руками - генерить файл resources-ua с тем же содержимым, что и resources-ru Кстати, можно научить делать gradle это на этапе сборки, чтоб не поддерживать два и более языковых ресурсов. Как - не скажу. :) wadman, скажи, пожалуйста, как это сделать? P.S. Лучше день потерять - зато потом за 5 минут долететь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 15:33 |
|
|
start [/forum/topic.php?all=1&fid=13&tid=1331416]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
137ms |
get tp. blocked users: |
2ms |
others: | 267ms |
total: | 496ms |
0 / 0 |