Ещё один способ локализации приложений

Всем добрый день. Я хочу представить на суд общественности (ещё один) простой способ сделать локализацию приложений. Стандартный механизм с ресурсными сборками меня не устраивает по следующим причинам:

  1. Получая значение локализованной строки в коде, очень хочется полагаться на всю мощь ООП и подсказки компилятора. Очень неприятно собрать проект в вечером в пятницу, а утром в субботу получить звонок от впахивающих overtime QA на тему того, что кто-то невнимательный написал GetResource(«asdf») вместо GetResource(«assf»), и теперь что-то падает или отображается неверно, а проект в понедельник уже сдавать в печать …
  2. (В продолжение предыдущего пункта…) Писать string foo = language.Ui.PromtDialog.AdditionalQuestion просто приятнее, чем string foo = Resources.GetResource(«Ui_PromtDialog_AdditionalQuestion»). Да, в том числе и за счёт подсказок компилятора.
  3. Иногда локализовать нужно не строки, а целые объекты. Например, существительное (строка + род М/Ж/С/Мн) и прилагательное (строка М + строка Ж + строка С + строка Мн). Пихать в ресурсы сериализованную строку, а потом доставать и десериализовать каждый раз? Мсье знает толк в извращениях…
  4. Ресурсный файл — это плоский список строк, а хотелось бы, чтобы данные всё-таки имели более сложную иерархическую структуру, по которой не нужно ползать с помощью Ctrl+F.
  5. Создание нового языка должно быть настолько простым, насколько это возможно. Локализовать приложение должен быть способен человек, умеющий обращаться с компьютером и владеющий нужными языками. И ему для этого не нужны ни Visual Studio, ни возня с созданием ресурсных сборок.


Ещё одно обязательное требование — возможность простой привязки к локализации элементов UI. Желательно — одновременно и WPF, и WinForms.
Читать дальше →
Ещё один способ локализации приложений
Source: habrahabr

Пост №3010044

Автор: Mr.Exclusive

P.S.: вот кстати эта массажистка.Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3010044″ }, «headline»: «приколы вконтакте (смешные приколы про вконтакт, статусы) :: картинка с текстом :: интернет», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B0-%D1%81-%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%BC-%D0%B2%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D0%B5-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-3696169.jpeg», «height»: 458, «width»: 396 }, «datePublished»: «2017-03-02T22:08:17+03:00», «dateModified»: «2017-03-02T22:08:17+03:00», «author»: { «@type»: «Person», «name»: «Mr.Exclusive» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «P.S.: вот кстати эта массажистка.» }
Комментировать 
Пост №3010044
Source: Joyreactor

Для OnePlus 3 и 3T стартовало глобальное тестирование Android 7.1.1

Ранее на этой неделе мы писали о том, что компания OnePlus выпустила бета-версию Hydrogen OS на базе Android 7.1.1 Nougat для флагманских смартфонов OnePlus 3 и 3T. Данная прошивка предназначена […]
Для OnePlus 3 и 3T стартовало глобальное тестирование Android 7.1.1
Source: 4pda

Пост №3010032

Автор: _-_-GO-_-_

ссылка на гифкуРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3010032″ }, «headline»: «Бойцовский клуб (Fight Club) :: мистер бин :: самолет :: фильмы :: гиф анимация (гифки — ПРИКОЛЬНЫЕ gif анимашки)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%B3%D0%B8%D1%84%D0%BA%D0%B8-%D0%BC%D0%B8%D1%81%D1%82%D0%B5%D1%80-%D0%B1%D0%B8%D0%BD-%D1%81%D0%B0%D0%BC%D0%BE%D0%BB%D0%B5%D1%82-%D0%91%D0%BE%D0%B9%D1%86%D0%BE%D0%B2%D1%81%D0%BA%D0%B8%D0%B9-%D0%BA%D0%BB%D1%83%D0%B1-3696151.gif», «height»: 432, «width»: 720 }, «datePublished»: «2017-03-02T21:58:56+03:00», «dateModified»: «2017-03-02T21:58:56+03:00», «author»: { «@type»: «Person», «name»: «_-_-GO-_-_» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3010032
Source: Joyreactor

Пост №3010024

Автор: _-_-GO-_-_

https://vk.com/kirythefox?w=wall-74649347_717Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3010024″ }, «headline»: «Foccoon :: Смешные комиксы (веб-комиксы с юмором и их переводы)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/Foccoon-%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%81%D1%8B-3696139.jpeg», «height»: 1024, «width»: 768 }, «datePublished»: «2017-03-02T21:47:11+03:00», «dateModified»: «2017-03-02T21:47:11+03:00», «author»: { «@type»: «Person», «name»: «_-_-GO-_-_» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «https://vk.com/kirythefox?w=wall-74649347_717» }
Комментировать 
Пост №3010024
Source: Joyreactor

Пост №3010012

Автор: psionik1113

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3010012″ }, «headline»: «арт девушка :: Mawa Setiawan :: красивые картинки», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%B0%D1%80%D1%82-%D0%B4%D0%B5%D0%B2%D1%83%D1%88%D0%BA%D0%B0-%D0%BA%D1%80%D0%B0%D1%81%D0%B8%D0%B2%D1%8B%D0%B5-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-Mawa-Setiawan-3696101.jpeg», «height»: 1816, «width»: 1299 }, «datePublished»: «2017-03-02T21:37:11+03:00», «dateModified»: «2017-03-02T21:37:11+03:00», «author»: { «@type»: «Person», «name»: «psionik1113» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3010012
Source: Joyreactor

Пост №3010007

Автор: GatoR

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://Witcher.reactor.cc/post/3010007″ }, «headline»: «Шани (shani) :: Witcher Cosplay :: Witcher Персонажи :: The Witcher (Ведьмак, Witcher, ) :: Lyumos :: продолжение под катом :: фэндомы», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/Witcher-Cosplay-The-Witcher-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-Lyumos-3696086.jpeg», «height»: 1000, «width»: 1500 }, «datePublished»: «2017-03-02T21:32:42+03:00», «dateModified»: «2017-03-02T21:32:42+03:00», «author»: { «@type»: «Person», «name»: «GatoR» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3010007
Source: Joyreactor

Пост №3009994

Автор: Алёшенька

Пацаны, тут кармадрочеры, давайте их сольем, ололо!Навеяло постом Re-l, http://old.reactor.cc/post/3009643, немного накипело.Заебало атеншнвхорство и подсасывание массам школьников Re-l. Какого хера ты создаешь посты со сливом переписок людей которые обратились в администрацию за помощью. Какая нахуй разница кармадрочер он или мать тереза. Лицемерие просто зашкаливает, весь ресурс держится на агрегации интересного и годного контента из интернета в одном месте. Кто создает смешные посты? Кто развлекает людей? Уж не кармадрочеры ли? Я не говорю про трех с половиной местных контент-мэйкеров которые делают свое дело, респект им и уважуха, на них держится вторая половина реактора. Да тут, блядь, каждый второй в той или иной степени кармадрочер, ёпта, я сам себе звезду набил чтоб рекламу не видеть. Отбросим тусовку тега «анон», там своя атмосфера.А ты, Re-l, человека который пришел к тебе с проблемой просто кидаешь на арену против толпы. Причем вы гляньте, блядь, написав 4 варианта и даже не удосужившись написать тот вариант который просил человек и Единую Россию. Вся тусовка администрации так или иначе вышла с анонимных имиджборд, луркоебства и всей этой движухи 2007-2008 года. Реактор явно выигрывает у всяких пикабу, ЯП и прочих контентопомоек некоторым адекватных контингентом и в целом некоторым уклоном на цинизм и распиздяйство, свойственных имиджбордам. И, блядь, администрация решила сделать свой ресурс, со смешными картинками и гифками с котиками продав нахуй все идеи анона, променяв их на лайки и карму, а потом выебывается что «ко-ко-ко, кармадрочеров много». Сиди, Re-l, на своей жордочке и не гони на тех кто «делает» реактор. Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3009994″ }, «headline»: «Пацаны, тут кармадрочеры, давайте их сольем, ололо! / кармадрочер :: администрация :: Re-l :: кармадрочество :: реактор», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/Re-l-%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%BA%D0%B0%D1%80%D0%BC%D0%B0%D0%B4%D1%80%D0%BE%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE-%D0%BA%D0%B0%D1%80%D0%BC%D0%B0%D0%B4%D1%80%D0%BE%D1%87%D0%B5%D1%80-3696064.jpeg», «height»: 230, «width»: 200 }, «datePublished»: «2017-03-02T21:15:02+03:00», «dateModified»: «2017-03-02T21:15:02+03:00», «author»: { «@type»: «Person», «name»: «Алёшенька» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «Навеяло постом Re-l, http://old.reactor.cc/post/3009643, немного накипело. Заебало атеншнвхорство и подсасывание массам школьников Re-l. Какого хера ты создаешь посты со сливом переписок людей которые обратились в администрацию за помощью. Какая нахуй разница кармадрочер он или мать тереза. Лицемери» }
Комментировать 
Пост №3009994
Source: Joyreactor

Пост №3009991

Автор: hellgust97

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://polit.reactor.cc/post/3009991″ }, «headline»: «песочница политоты :: Острый Перец :: политика :: Георгій Ключник :: карикатури», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%9E%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D0%9F%D0%B5%D1%80%D0%B5%D1%86-%D0%BF%D0%BE%D0%BB%D0%B8%D1%82%D0%B8%D0%BA%D0%B0-%D0%BF%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0-%D0%BF%D0%BE%D0%BB%D0%B8%D1%82%D0%BE%D1%82%D1%8B-%D0%93%D0%B5%D0%BE%D1%80%D0%B3%D1%96%D0%B9-%D0%9A%D0%BB%D1%8E%D1%87%D0%BD%D0%B8%D0%BA-3696061.jpeg», «height»: 677, «width»: 1280 }, «datePublished»: «2017-03-02T21:10:46+03:00», «dateModified»: «2017-03-02T21:10:46+03:00», «author»: { «@type»: «Person», «name»: «hellgust97» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3009991
Source: Joyreactor

Вторая после «Тетриса»: Color Lines и её создатели 25 лет спустя

«Color Lines»… Погодите-ка — те самые, с цветными колобками? О чём тут вообще рассказывать? И действительно. Ведь в Color Lines нет ничего примечательного. Никакой сногсшибательной — даже по тем временам […]
Вторая после «Тетриса»: Color Lines и её создатели 25 лет спустя
Source: 4pda