
Комментарии 6
Очень странно, что у вас localise! не является обёрткой над format!.
В разных языках может требоваться разный порядок аргументов. Допустим, в одном языке нужно писать "Здравствуйте ФАМИЛИЯ ИМЯ", а в другом "Здравия желаю ДОЛЖНОСТЬ ФАМИЛИЯ" и как тут быть?
Переводчик в Qt это бездонная дыра нюансов, которые в итоге требуют специального приложения для редактирования файла переводов, и не зря.
Как раз для гибкости localize! не является просто обёрткой над format!. Есть поддержка использования функций в выражениях. В функции может быть любое преобразование данных, в том числе смена места имени и фамилии.
Это демонстрируется в примере в конце статьи - там функция, которая подставляет имя в простой format!, но ничто не мешает добавить в неё любую доп логику
походу дела, в предложении создавать выражение пачками таится нюанс в пропасть, потомучто это может быть просто слайс/слайсы/облака выражений/жаргонов, потомучто получается надо же еще подумать как хранить локаль и как получать доступ к значению локали - слово или выражение наверно, очень интересно
Я не совсем понял, что вы хотели сказать.
Если нужна сложная структура результата localize!, то просто нужно создать выражение с функциями, а не строками и возвращать любые данные.
есть контекстстные вещи, образно можно подгружать облако слов в поддержку введенного контекста, если смотреть на это предугадывающе, тоесть угадать можно по вводу самого слова, а можно формировать и дописывать контекстные облака, срезы получается
получается локализация может быть точной от контекста микро среза смыслов
Как я писал библиотеку для локализации на Rust