Separar código y texto: pensar en voz alta

El código que la mayoría de nosotros escribimos generalmente contiene más texto: diferentes elementos de interfaz, descripciones, contenido de correos electrónicos, etc. Pero los programadores no todos obtuvimos A en la escuela por escribir. Codificamos bien, pero no todos somos buenos en prosa.





Como resultado, vemos miles de sitios y aplicaciones que se dirigen a los usuarios en un lenguaje poco natural, como: "Caracteres ilegales usados" o "Operación completada con éxito". ¿Con qué frecuencia en su vida, en la calle, dice esas frases? 





¿Qué pasa si intentas separar el código (lógica) y el texto? Las grandes empresas, sin duda, han estado haciendo esto durante mucho tiempo, utilizando algunas de sus propias soluciones, pero para todos los demás, no existe una utilidad o un marco prefabricado. 





Realidad

La realidad actual es que un programador escribe en parte textos él mismo (por ejemplo, los nombres de los botones), en parte toma textos de tareas. Esto es parte del repositorio: se almacena junto con el código, lo que significa que si alguien del equipo necesita arreglar algo, debe comprometerse con el repositorio. No del todo perfecto, esto no es lógica, ¿es solo un fragmento de texto?





@extends('layouts.main')

@section('contents')
    <h2>Welcome home</h2>

    <p>
        We are thrilled to have you back, {{ $user->first_name }}
    </p>

    <a href="{{ route('download-bitcoin') }}" class="btn btn-primary">
        Download my money
    </a>
@endsection
      
      



Problemas

  • Para corregir el texto, debe comprometerse con el repositorio con el código. Para algunos miembros del equipo (empresa), no para los programadores, esto puede ser difícil





  • -





  •  





  • ,





- , .





  1. home.blade.php ( PHP Laravel, )





  2. , - - .





  3. , . .





  4. . - “” - , - .





Laravel, __(), , , .





( Laravel PHP).





  1. , - . , , - .





  2. , API - , . - , , . , CI/CD .





  3. , API. - , . .





  4. -, . . - . product manager, , . 









:





, , - :





@extends('layouts.main')

@section('contents')
    <h2>@lang('Welcome home')</h2>

    <p>
        @lang("We are thrilled to have you back, {$user->first_name}")
    </p>

    <a href="{{ route('download-bitcoin') }}" class="btn btn-primary">
        @lang('Download my money')
    </a>
@endsection
      
      



, , :





  1. - , open-source .





  2. - , . .





  3. La capacidad de implementar tonos de voz alternativos y paralelos en el sitio, según el tipo de usuario (adolescente, madre joven, abuelo, etc.): puede cambiar dinámicamente el estilo de comunicación en el producto. 





Conclusión

Me gustaría escuchar las opiniones de otros desarrolladores, tanto críticas positivas como duras. En teoría, un servicio SaaS de este tipo podría tener una implementación gratuita de código abierto, donde el equipo aloja todo por sí mismo, y un servicio de pago opcional, donde puede solicitar traducciones, revisión ortográfica, etc.








All Articles