
Судзумия
21.11.2016
17:31:09
Пошёл гуглить эти вещи
Это стандарты локализации/интернационализации. Вопрос лишь в том, как их для го реализовали (удобно ли, например)

Maxim
21.11.2016
17:34:11
Хм, в Awesome нашёл только это: https://github.com/nicksnyder/go-i18n/

Egor
21.11.2016
17:34:25

Maxim
21.11.2016
17:34:41
Т.е. прям только это и всё. Остальное это словари и сервисы перевода.

Google

Egor
21.11.2016
17:38:09
посмотри на gettext

Artem
21.11.2016
18:05:51
кто-нибудь собирает golang на travis ci?

Maxim
21.11.2016
18:06:15

Artem
21.11.2016
18:06:17
свои проекты, имеется ввиду
на гитхабе?

Ivan
21.11.2016
18:06:33

Maxim
21.11.2016
18:07:29
Ну и в настройках репозитория подключить сервис. ВСЁ.

Artem
21.11.2016
18:08:24
у меня тут проблема )
есть у меня файл main.go, в нем импортится условный пакадж "server/utils", который лежит в папке рядом с main.go
когда собираю локально - все ок
когда запускается тревис, он не видит server/utils, падает с ошибкой, что не может загетать депенденси
чот ничего толкового не нагуглил по проблеме, кто-нибудь сталкивался?
то есть структура примерно такая
/
-server
----utils.go
-main.go

Ivan
21.11.2016
18:09:46
import ./server

Чай С Лимоном
21.11.2016
18:09:53
/server
Упс

Google

Artem
21.11.2016
18:10:44
без точки в начале?
тогда локально падает с main.go:7:2: cannot find package "utils" in any of:

Ivan
21.11.2016
18:12:05
Брр, а почему server/utils, когда server?
И вообще, код в студию

Artem
21.11.2016
18:12:53
https://github.com/m0stwanted/repinio-server
"repinio-server/pins"
вот этот импорт не взлетает на тревисе

Ivan
21.11.2016
18:14:26
github.com/m0stwanted/repinio-server/pins
Или ./pins

Artem
21.11.2016
18:14:51
я думал об этом, но что делать с локальной сборкой?

Ivan
21.11.2016
18:15:12

Artem
21.11.2016
18:16:10
ну добавлю я туда локально пару файлов, в репозитории-то их еще не будет

Ivan
21.11.2016
18:16:21
И?

Artem
21.11.2016
18:16:22
постоянно перетыкивать депенденси так себе удовольствие

Ivan
21.11.2016
18:17:00
Стоп, а у тебя в ФС где проект лежит, относительно GOHOME
Тьфу, Gopath

Artem
21.11.2016
18:18:01
/Users/asholokhov/projects/go/src/repinio-server
gopath: /Users/asholokhov/projects/go

Ivan
21.11.2016
18:18:26
ССЗБ

Artem
21.11.2016
18:18:44
нужно директорией выше?)

Lev
21.11.2016
18:19:40
а что мешает создать src/github.com/m0stwanted/repinio-server?

Ivan
21.11.2016
18:20:00

Google

Artem
21.11.2016
18:20:35
я начинал, когда еще не было репозитория
сейчас попробую, спасибо

Ivan
21.11.2016
18:20:42
И?

Lev
21.11.2016
18:21:36
я уж запривык, сразу создаю проект в src/github.com/имяюзера

TheRainwildsKeeper
21.11.2016
18:22:08

Artem
21.11.2016
18:22:20
я только третий день начал ковырять с го, так что пока нет привычки )

Lev
21.11.2016
18:22:21
я знаю, что все мои проекты на го лежат там)

Ivan
21.11.2016
18:22:45

Lev
21.11.2016
18:23:53
если код из одного файла состоит, то тогда, наверное, не принципиально

Ivan
21.11.2016
18:24:41
У меня один пэкедж, изначально был один файл на ~20 строк, один фиг

Artem
21.11.2016
18:27:03

Ivan
21.11.2016
18:28:35
Вообще, мелкие эксперименты - песочница или /tmp/random_name, всё остальное сразу на место

Maxim
22.11.2016
03:12:05
Я в go-i18n багу нашёл. Или нет?
https://github.com/nicksnyder/go-i18n/issues/58
Есть подозрение что я тупой, потому прошу чекнуть и ткнуть меня носом или подтвердить мои опасения пальцами.

Ivan
22.11.2016
05:56:43
https://habrahabr.ru/post/315752/

Судзумия
22.11.2016
07:47:42
Это твоя статья?

Ivan
22.11.2016
07:47:50
Угум-с

Судзумия
22.11.2016
07:48:02
Ну давай посмотрим
Написанное тобой

Google

Kirill
22.11.2016
07:48:14
и в ней я в самом начале, угу

Ivan
22.11.2016
07:48:21
ТГ @tokenizer == Habr t0pep0

Kirill
22.11.2016
07:48:36

Ivan
22.11.2016
07:48:42

Kirill
22.11.2016
07:49:09
?
по медальке "почетный наркоман Golang"

Admin
ERROR: S client not available

Kirill
22.11.2016
07:49:42
или "почетный Goфер-наркоман"

Ivan
22.11.2016
07:50:13
Мне пожалуйста сварить из мета, на проце, который собирает проекты на Go =)

Судзумия
22.11.2016
07:50:36
> при не аккуратном написании кода, возможны слайд эффекты.
Ахах

Kirill
22.11.2016
07:51:16

Судзумия
22.11.2016
07:52:22
Ну, интересная у вас магия, гоферы

Kirill
22.11.2016
08:03:02
можно и покруче
но об этом позже
хотя @tokenizer уже в курсе дела

Ivan
22.11.2016
08:12:24

Судзумия
22.11.2016
08:13:57

Ivan
22.11.2016
08:14:06
Угу
Используешь для мутабельных типов и не подумал головой - ССЗБ
Хотя тут @kirilldanshin подкинул идейку, попытаюсь как ни будь COW запилить )

Google

Судзумия
22.11.2016
08:16:21
Только я не понял, зачем это всё. От интерфейсов к типам приводить?

Kirill
22.11.2016
08:17:27

Ivan
22.11.2016
08:17:29
от пустых интерфейсов к типам

Kirill
22.11.2016
08:18:04
убрать аллокацию при копировании данных из интерфейса в переменную для возврата

Судзумия
22.11.2016
08:18:05
А, как в джаве — от Object
Понял

Никита
22.11.2016
12:56:54
используем
github.com/samuel/go-gettext/gettext
для самое локализации
https://github.com/ngalayko/poeditor-golang
для автоматизации обновления перевода на все платформы
крохотный сервис на 90 строк и 15 строчный скрипт для сбора ключей из кода

hamper ?
23.11.2016
01:32:03
а почему конструкция вот такого вида ошибку выдает? https://play.golang.org/p/R2ob7M0kc2
хм, а вот так работает https://play.golang.org/p/xjQXo_8JHa

Foxcool
23.11.2016
02:55:20
https://gokit.io/examples/

Иван
23.11.2016
03:50:29
@p_hamper там в ошибке все написано, несоответствие типов, ты пытаешься использовать тип *float64 как тип *interface{}, в результате этого происходит ошибка, а во втором случае ты делаешь явное приведение типа float64 к типу interface{}, то есть делая так v := interface{}(x), ты создаешь переменную v типа interface{} со значением 1.2 и теперь &v соответствует типу *interface{} как и у создаваемого слайса, поэтому ошибок нет

hamper ?
23.11.2016
03:51:57
интересно что float64 в interface{} можно сохранить а *float64 в *interface{} нельзя

Kirill
23.11.2016
03:52:07
*float64 != *interface{}, но *float64 == interface{}
не путай interface{} с *interface{}, это разные вещи
в *interface{} ты можешь положить только *interface{}