Size: a a a

2020 January 28

SM

Sergei Maximov in pro.elixir
Mark
Господа, а можно как-нибудь  из .pot файла, достать строку по ключику?
Ну например:


--- actions.pot

msgid "Hello! Username bla bla bla"


Хочется вот так

defp do_reply({:start, "/start"}), do: gettext("some_key")

а можно только вот так

defp do_reply({:start, "/start"}), do: gettext("Hello! Username bla bla bla")

или брать yml и не придумывать?
Используй "some_key" в качестве msgid
источник

LL

Lama Lover in pro.elixir
Mark
Господа, а можно как-нибудь  из .pot файла, достать строку по ключику?
Ну например:


--- actions.pot

msgid "Hello! Username bla bla bla"


Хочется вот так

defp do_reply({:start, "/start"}), do: gettext("some_key")

а можно только вот так

defp do_reply({:start, "/start"}), do: gettext("Hello! Username bla bla bla")

или брать yml и не придумывать?
Так это же файлы для gettext. Суть в том, что у тебя нет каких-то особенных ключей, а ты везде пишешь на английском, а потом это переводит gettext
источник

SM

Sergei Maximov in pro.elixir
Sergei Maximov
Используй "some_key" в качестве msgid
Но тут преимущества gettext пропадают
источник

VP

Vladimir Potapev in pro.elixir
Ilya Kaznacheev
Спасибо, конечно
Я погуглил, не увидел ни одного мало-мальски знакомого мне сервиса, и поэтому пришел сюда с вопросом
CouchDB поднимается с полпинка на любом хостинге. Там документации более чем подробная.
источник

LL

Lama Lover in pro.elixir
Sergei Maximov
Но тут преимущества gettext пропадают
Именно
источник

M

Mark in pro.elixir
Lama Lover
Так это же файлы для gettext. Суть в том, что у тебя нет каких-то особенных ключей, а ты везде пишешь на английском, а потом это переводит gettext
Хочется и запись короткую и текст структурированный.
Думаю yml тут лучше подойдет. учитывая что из pot так просто не получиться текст по ключу
источник

SM

Sergei Maximov in pro.elixir
Mark
Хочется и запись короткую и текст структурированный.
Думаю yml тут лучше подойдет. учитывая что из pot так просто не получиться текст по ключу
Получится, я написал как
источник

M

Mark in pro.elixir
Sergei Maximov
Получится, я написал как
msgid: "some_key". так ?
источник

SM

Sergei Maximov in pro.elixir
У тебя в po-файлах есть msgid и msgstr. Используй свой короткий ключ в качестве msgid, а сам перевод — в качестве msgstr
источник

LL

Lama Lover in pro.elixir
Mark
Хочется и запись короткую и текст структурированный.
Думаю yml тут лучше подойдет. учитывая что из pot так просто не получиться текст по ключу
yml тут точно не нужен
источник

M

Mark in pro.elixir
Sergei Maximov
У тебя в po-файлах есть msgid и msgstr. Используй свой короткий ключ в качестве msgid, а сам перевод — в качестве msgstr
а msgid не выступает текстом для английского языка? или это msgstr будет значением ?
источник

LL

Lama Lover in pro.elixir
Mark
а msgid не выступает текстом для английского языка? или это msgstr будет значением ?
msgstr будет значением
Если нет msgstr, то значением будет msgid
источник

SM

Sergei Maximov in pro.elixir
Mark
а msgid не выступает текстом для английского языка? или это msgstr будет значением ?
msgid — это и есть твой ключ для перевода. Для дефолтного (английского языка) msgstr по умолчанию пустой, поэтому и испольуется значение msgid
источник

LL

Lama Lover in pro.elixir
Mark
Господа, а можно как-нибудь  из .pot файла, достать строку по ключику?
Ну например:


--- actions.pot

msgid "Hello! Username bla bla bla"


Хочется вот так

defp do_reply({:start, "/start"}), do: gettext("some_key")

а можно только вот так

defp do_reply({:start, "/start"}), do: gettext("Hello! Username bla bla bla")

или брать yml и не придумывать?
Мне всё-таки кажется, что это проблема XY, ну да ладно
источник

M

Mark in pro.elixir
Lama Lover
Мне всё-таки кажется, что это проблема XY, ну да ладно
погоди с XY. Сейчас разберемся
источник

SM

Sergei Maximov in pro.elixir
Mark
Хочется и запись короткую и текст структурированный.
Думаю yml тут лучше подойдет. учитывая что из pot так просто не получиться текст по ключу
Но ты зря так делаешь, ИМХО. Мне кажется, лучше в коде увидеть gettext("Hello! Username bla bla bla") и сразу примерно понять, что увидит пользователь, чем наткнуться на I18n.t('what.is.this.shit.even.supposed.to.mean') и потом чесать репу
источник

M

Mark in pro.elixir
ага, а когда пользователь напишет /help что бы увидеть что бот может делать, например.  Текста в методе будет очень много с пробельными символами и тд.
Мне кажется место тексту явно не внутри метода.
источник

M

Mark in pro.elixir
Sergei Maximov
Но ты зря так делаешь, ИМХО. Мне кажется, лучше в коде увидеть gettext("Hello! Username bla bla bla") и сразу примерно понять, что увидит пользователь, чем наткнуться на I18n.t('what.is.this.shit.even.supposed.to.mean') и потом чесать репу
.
источник

LL

Lama Lover in pro.elixir
Mark
ага, а когда пользователь напишет /help что бы увидеть что бот может делать, например.  Текста в методе будет очень много с пробельными символами и тд.
Мне кажется место тексту явно не внутри метода.
У тебя у бота будут команды на разном языке?
источник

LL

Lama Lover in pro.elixir
Что?
источник