Kitty Опубликовано 8 сентября, 2016 Поделиться Опубликовано 8 сентября, 2016 Подскажите, пожалуйста, ссылку на справочную систему, как в андроиде создать мультиязычное приложение? Если телефон на английском, грузим английские строки, если на русском - грузим в интерфейс русские строки... Спасибо. Цитата Ссылка на комментарий
0 AngryOwl Опубликовано 8 сентября, 2016 Поделиться Опубликовано 8 сентября, 2016 В общем я тупо вырезал часть из своего проекта. И создал маленький демо-проект. Работает везде! Хоть на Винде, хоть на Маке, хоть на Андроиде. Думаю - разберетесь. Тем-более, что там все очень просто. В демке сделал только два языка (в моем проекте их 11). Все в Ini-файлах, работает очень быстро. P.S. Все желающие могут использовать как хотят. Можете что-то добавлять, исправлять и т.д. Ну и не забываем делиться с другими... P.P.S. Позже выложу приложение (GUI) для редактирования файлов языков. С автоматическим переводчиком и прочими мелочами, упрощающими редактирование. Test_Translator.zip Kitty, Rusland, Andrey Efimov и 6 других 9 Цитата Ссылка на комментарий
0 AngryOwl Опубликовано 8 сентября, 2016 Поделиться Опубликовано 8 сентября, 2016 Как обещал - приложение для создания, редактирования, автоматического перевода и сохранения Ini-файлов с переводами для локализации своих приложений. Для примера есть два файлики (Lang.en и Lang.ru) и другие файлы, содержание которых всем будет понятно) Все, вроде, просто) P.S. Все желающие могут использовать как хотят. Можете что-то добавлять, исправлять и т.д. Ну и не забываем делиться с другими...)) P.P.S. - делалось уже давно, под XE7. Кто захочет под XE10 - думаю все будет крайне просто переделать. SLLanguage.zip DimArt, zairkz, Kitty и 4 других 7 Цитата Ссылка на комментарий
0 AngryOwl Опубликовано 8 сентября, 2016 Поделиться Опубликовано 8 сентября, 2016 И еще, друзья! Делалось это все для себя, для личного пользования, а не для "распространения") Так-что не обессудьте - если где "говнокод") Сами поправите кому как нравится) Заодно может поделитесь интересными мыслями и идеями. Если кому что не понятно - подскажу. rareMax, zairkz, Kitty и 1 другой 4 Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 30 сентября, 2016 Поделиться Опубликовано 30 сентября, 2016 в книжке "Д. Л. Осипов. - Delphi. Программирование для Windows, OS X, iOS и Android (Профессиональное программирование) - 2014" есть глава про TLang. Цитата Ссылка на комментарий
0 AngryOwl Опубликовано 30 сентября, 2016 Поделиться Опубликовано 30 сентября, 2016 5 минут назад, chaplin.u@gmail.com сказал: в книжке "Д. Л. Осипов. - Delphi. Программирование для Windows, OS X, iOS и Android (Профессиональное программирование) - 2014" есть глава про TLang. Есть. И? Вы пользовались TLang? Полноценно, или так... "поиграться"? Не хочу обидеть эмбаркадеро, - но это самый бестолковый и самый косячный компонент... rareMax 1 Цитата Ссылка на комментарий
0 chaplin.u@gmail.com Опубликовано 30 сентября, 2016 Поделиться Опубликовано 30 сентября, 2016 да. попробовал. вроде работает. а что там не будет работать если нужно самому сделать перевод всех слов и записать в файл. программа смотрит какой язык системы и берёт твой перевод. только вот BiDiMode не срабатывает. Цитата Ссылка на комментарий
0 Модераторы Andrey Efimov Опубликовано 30 сентября, 2016 Модераторы Поделиться Опубликовано 30 сентября, 2016 Вот тема Многоязыковое приложение с примерами и решениями, выбирайте любое. Kitty 1 Цитата Ссылка на комментарий
0 janovskis Опубликовано 5 октября, 2016 Поделиться Опубликовано 5 октября, 2016 У меня вопрос к Алексу. Я попробовал тест пример, все работает, попробовал второй проект с редактором, немного странно, но тоже работает. Я не понял, как можно новый язык добавить в ресурсы? (может и глупый вопрос, но простите). А еще у меня общий вопрос, все переводит , но это все простые компоненты, например в тест примере не работает, если я ListBox делаю с деталями, детали остаются не переведенными. И вообще не ясно как переводить с данным инструментом тексты, которые не прикреплены к компонентам? Цитата Ссылка на комментарий
0 AngryOwl Опубликовано 5 октября, 2016 Поделиться Опубликовано 5 октября, 2016 "новый язык добавить в ресурсы?" - из возможных? просто пропишите его аналогично в RC файлик (в демо-примере все есть) Что касается всего, что является "не простым компонентом" или просто нужным текстом - переводите используя GetValue, которая использует перевод из файла, с соответствующим индексом. Цитата Ссылка на комментарий
0 janovskis Опубликовано 6 октября, 2016 Поделиться Опубликовано 6 октября, 2016 (изменено) Если честно, то не очень понятно. В RC прописал, перевод сделал (кстати очень странно, так и не понял окончательно как делаются переводы СВОИХ файлов), в тексте программы тоже внес изменения. Появился мой язык, но почему то испортился русский. А насчет "непростых компонент" я имел в виду сложный текст. Данный переводчик работает с четкой привязкой. Текст----> Перевод, а если текст состоит из нескольких кусков каждый из которых должен бытъ переведен отдельно???? Например : Страна: Россия Страна: Англия Соответственно : Country: Russia Country: England Изменено 6 октября, 2016 пользователем janovskis Цитата Ссылка на комментарий
0 krapotkin Опубликовано 6 октября, 2016 Поделиться Опубликовано 6 октября, 2016 я исходил из проверенного факта, что если косяки в нативе есть , то их не исправить, а время уйдет, сделал полностью свой банальный словарик каждая форма при старте вызывает процедуру localize() где я меняю все что нужно на всю работу ушло дня 3 в мобильном приложении ~15 форм / 30 модулей. Cтрана: Россия разбивать на две строки ессно Цитата Ссылка на комментарий
0 AngryOwl Опубликовано 6 октября, 2016 Поделиться Опубликовано 6 октября, 2016 (изменено) [janovskis] "а если текст состоит из нескольких кусков каждый из которых должен бытъ переведен отдельно?" ну так просто создайте в файлах перевода строки (типа): в lang.ru 1000=Страна: 1001=Россия 1002=Англия в lang.en 1000=Country: 1001=Russia 1002=England а в программе пишите (допустим компонент на который надо вывести надпись label1 = TLabel): label1 := Format('%s %s', [GetValue(1000, 'Страна:'), GetValue(1001, 'Россия')]); // ну или другой код страны ... // ну можно чуть проще)) label1 := Format('%s %s', [GetValue(1000), GetValue(1001)]); и все... З.Ы. и никакой "четкой привязки"... любые тексты, выводить можно куда угодно и как угодно... Изменено 6 октября, 2016 пользователем AlexG Steepe_Hare 1 Цитата Ссылка на комментарий
Вопрос
Kitty
Подскажите, пожалуйста, ссылку на справочную систему, как в андроиде создать мультиязычное приложение? Если телефон на английском, грузим английские строки, если на русском - грузим в интерфейс русские строки...
Спасибо.
Ссылка на комментарий
12 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.