Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internationalize ServeRest #50

Open
PauloGoncalvesBH opened this issue Jun 12, 2020 · 12 comments
Open

Internationalize ServeRest #50

PauloGoncalvesBH opened this issue Jun 12, 2020 · 12 comments
Labels
enhancement New feature or request

Comments

@PauloGoncalvesBH
Copy link
Member

PauloGoncalvesBH commented Jun 12, 2020

Internationalize ServeRest

Internationalization will make it possible to increase the number of contributors and users.

Being in Portuguese it is already having 200 daily downloads, with the internationalization the number of downloads should increase considerably.

Besides, there is no project in English that provides REST server in an easy way as the serverest containing the main verbs and settings.

It is necessary to translate all tests, routes, schemas, functions, variables, documentation, help and response of the routes.

@PauloGoncalvesBH PauloGoncalvesBH added the enhancement New feature or request label Jun 12, 2020
@PauloGoncalvesBH
Copy link
Member Author

Issue ainda não implementada pois ainda não sei como serão as novas rotas.

As alternativas que pensei?

  • As rotas serão alteradas para br/ e as novas em inglês vão para en/
  • As rotas serão todas alteradas para inglês (nome do recurso e o corpo)

Ambas as opções irão gerar breaking change

@PauloGoncalvesBH PauloGoncalvesBH added the wontfix This will not be worked on label Jul 8, 2020
@leandromuto
Copy link
Contributor

Is this the right time to bring this issue back? 😁

@PauloGoncalvesBH
Copy link
Member Author

PauloGoncalvesBH commented May 18, 2021

Será criada nova documentação e rotas a partir da /en.

É preciso:

  1. Entender como centralizar os textos das respostas das requests em um JSON e fornecer ele como material de tradução.
  2. Como fazer um de/para das propriedades do JSON das respostas
    1. Será criado novo banco separado e em inglês?
    2. Será mantido o mesmo banco, fazendo o de/para dos dados?

Após a tradução é preciso criar post no dev.to divulgando o ServeRest.

Traduções que serão feitas posteriormente:
3. Traduzir o README
4. Traduzir o CONTRIBUTING.md
5. Traduzir o código de conduta (CODE_OF_CONDUCT.md) > Basta pegar o texto original em inglês e alterar o e-mail e nome.
6. Traduzir os 2 templates dentro de .github/ISSUE_TEMPLATE

Irei criar issue para cada um, agrupando em um milestone.

@leandromuto
Copy link
Contributor

Sei que é importante pensar no quão acessível é o conteúdo para pessoas brasileiras não falantes da língua inglesa, mas tem algum outro motivo para manter uma rota para cada língua?

@PauloGoncalvesBH
Copy link
Member Author

eu não vejo impedimento de ter rota para ambas, o que tem em mente?

@leandromuto
Copy link
Contributor

Talvez mudar tudo para inglês e não manter uma tradução em português, assim evitaria os pontos mencionados e outros possíveis problemas que não estão no radar.

1. Entender como centralizar os textos das respostas das requests em um JSON e fornecer ele como material de tradução.

2. Como fazer um de/para das propriedades do JSON das respostas
   
   1. Será criado novo banco separado e em inglês?
   2. Será mantido o mesmo banco, fazendo o de/para dos dados?

@PauloGoncalvesBH PauloGoncalvesBH removed the wontfix This will not be worked on label May 18, 2021
@PauloGoncalvesBH
Copy link
Member Author

@leandromuto o problema dessa abordagem é que gerar breaking change, além do ServeRest passar a não ser mais tão acessível para o público BR.
Gostaria de manter o PT-BR e EN, mas ainda estou em dúvida sobre se será uma nova rota /en ou outra estratégia. Se tiver mais argumentos para embasar do porquê ser todo em inglês pode enviar, ainda não estou firme no meu posicionamento.

@leandromuto
Copy link
Contributor

Acredito que de qualquer modo causará uma braking change, pois todos os lugares que utilizam o ServeRest não passam a língua desejada.

E, ao invés de criar uma rota /en, não seria melhor passar um Accepted-Language no header e por default ser Inglês? Mais sobre Accepted-Language.

@edumaxsantos
Copy link
Collaborator

Como o projeto iniciou em português, acredito que o default, ao menos agora, deveria ser o português.

Existe também uma outra alternativa além das citadas, utilizar um query parameter indicando a lang desejada. Entendo que usando Accepted-Language seria mais "restful", porém vejo um certo padrão em APIs de utilizar query para selecionar o idioma.

Um outro tópico que queria trazer aqui é a refatoração de código que já estou fazendo. Penso que esse momento já seria adequado para refatorar o código também para o inglês, visando a possibilidade de novos colaboradores que não falem português.

@PauloGoncalvesBH
Copy link
Member Author

@edumaxsantos a parte do código já começar a ser traduzido faz total sentido, vou olhar para a parte de traduzir a documentação.

@edumaxsantos
Copy link
Collaborator

Certo! Parte dos controllers já tem código em inglês. Vou continuar a migração do idioma e posso auxiliar na documentação também

@edumaxsantos
Copy link
Collaborator

Fiz alguns commits na branch refactoring/produtos-controller que inicia uma transição do código para inglês.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants