εμπορεύματα

Οδηγός εντοπισμού Laravel βήμα προς βήμα, σεμινάριο με παραδείγματα

Πώς να τοπικοποιήσετε ένα έργο Laravel, πώς να αναπτύξετε ένα έργο στο Laravel και να το κάνετε χρησιμοποιήσιμο σε πολλές γλώσσες. Σε αυτό το άρθρο βλέπουμε πώς να εργάζεστε με αρχεία μετάφρασης, να δημιουργήσετε μια αλλαγή γλώσσας και πολλά άλλα με παραδείγματα.

Το Laravel είναι μια εφαρμογή σχεδιασμένη να είναι τοπική, να προσαρμόζεται σε διάφορες γλώσσες και πολιτισμούς. Η τοπική προσαρμογή προσαρμόζει διεθνοποιημένες εφαρμογές σε μια συγκεκριμένη γλώσσα μέσω μετάφρασης.

Προϋποθέσεις

  • Σε αυτό το άρθρο θα αναφερθούμε Laravel έκδοση 8.x;
  • Για να ακολουθήσετε με επιτυχία αυτό το σεμινάριο, πρέπει να έχετε τις απαραίτητες γνώσεις της γλώσσας προγραμματισμού PHP και του πλαισίου Laravel.
  • Ο τομέας σας είναι localhost. Εάν όχι, αντικαταστήστε localhost με το δικό σας όνομα τομέα ή διεύθυνση IP (ανάλογα με την εγκατάστασή σας).

Εργασία με αρχεία μετάφρασης

Στο Laravel, όπως και σε πολλά άλλα πλαίσια, μπορούμε να αποθηκεύσουμε μεταφράσεις για διαφορετικές γλώσσες σε ξεχωριστά αρχεία. Υπάρχουν δύο τρόποι οργάνωσης αρχείων μετάφρασης Laravel:

  • Μια παλαιότερη προσέγγιση που αποθηκεύει αρχεία στην ακόλουθη τοποθεσία: resources/lang/{en,fr,ru}/{myfile.php};
  • Μια νέα προσέγγιση που αποθηκεύει αρχεία στην ακόλουθη τοποθεσία: resources/lang/{fr.json, ru.json};

Για γλώσσες που διαφέρουν ανά περιοχή, θα πρέπει να τις ονομάσετε directory/file της γλώσσας σύμφωνα με το ISO 15897. Για παράδειγμα, για τα αγγλικά του Ηνωμένου Βασιλείου θα χρησιμοποιούσατε en_GB αντί en-gb. Σε αυτό το άρθρο, θα εστιάσουμε στη δεύτερη προσέγγιση, αλλά το ίδιο ισχύει και για την πρώτη (εκτός από το πώς ονομάζονται και ανακτώνται τα κλειδιά μετάφρασης). 

Απλές μεταφράσεις

Τώρα, ας πάμε στο resources/views/welcome.blade.phpαρχείο και αντικαταστήστε τα περιεχόμενα του bodyκάντε ετικέτα με τα δικά μας, όπως:

<body class="antialiased">
    <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center py-4 sm:pt-0">
        <div class="max-w-6xl mx-auto sm:px-6 lg:px-8">
            <div class="flex justify-center pt-8 sm:justify-start sm:pt-0">
                Welcome to our website
            </div>
        </div>
    </div>
</body>

Θα ξεκινήσουμε προετοιμάζοντας το μήνυμα καλωσορίσματος τοπικής προσαρμογής, το οποίο είναι πολύ εύκολο στη Laravel. Το μόνο που έχετε να κάνετε είναι να αντικαταστήσετε το κείμενο «Καλώς ήρθατε στον ιστότοπό μας» με τον ακόλουθο κωδικό: {{ __('Welcome to our website') }}. Αυτό θα δώσει εντολή στη Laravel να εμφανίζει από προεπιλογή το "Welcome to our website".definite και αναζητήστε μεταφράσεις αυτής της συμβολοσειράς εάν έχει οριστεί μια γλώσσα διαφορετική από την αγγλική (θα το δούμε αργότερα). Τα αγγλικά θα οριστούν ως προεπιλεγμένη γλώσσαdefinish της εφαρμογής μας, έτσι από προεπιλογήdefiΣτο τέλος θα εμφανίσουμε απλώς το κείμενο «Καλώς ήρθατε στην ιστοσελίδα μας». Εάν η τοπική ρύθμιση είναι διαφορετική, θα προσπαθήσουμε να βρούμε την αντίστοιχη μετάφραση και θα δημιουργηθεί σε λίγο.

Εντοπισμός Laravel

Πώς όμως γνωρίζει η Laravel ποια είναι η τρέχουσα γλώσσα ή ποιες γλώσσες είναι διαθέσιμες στην εφαρμογή; Αυτό το κάνει κοιτάζοντας την τοπική διαμόρφωση στην εφαρμογή config/app.php. Ανοίξτε αυτό το αρχείο και αναζητήστε αυτά τα δύο συσχετιστικά κλειδιά πίνακα:

/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'en',
/*
|--------------------------------------------------------------------------
| Application Fallback Locale
|--------------------------------------------------------------------------
|
| The fallback locale determines the locale to use when the current one
| is not available. You may change the value to correspond to any of
| the language folders that are provided through your application.
|
*/
'fallback_locale' => 'en',

Οι περιγραφές που εμφανίζονται πάνω από τα κλειδιά θα πρέπει να είναι αυτονόητες, αλλά εν συντομία, το κλειδί locale περιέχει την τοπική προdefinish της αίτησής σας (τουλάχιστον, εάν δεν έχει οριστεί άλλη τοπική ρύθμιση στον κώδικα). Και το fallback_locale ενεργοποιείται σε περίπτωση που ορίσουμε ανύπαρκτη τοπική ρύθμιση στην εφαρμογή μας.

Ενώ έχουμε ανοιχτό αυτό το αρχείο, ας προσθέσουμε ένα νέο κλειδί για τη διευκόλυνσή μας που θα περιλαμβάνει όλες τις τοπικές ρυθμίσεις που θα υποστηρίζει η εφαρμογή μας. Θα το χρησιμοποιήσουμε αργότερα κατά την προσθήκη ενός τοπικού διακόπτη. Ωστόσο, αυτή είναι μια προαιρετική εργασία, καθώς η Laravel δεν απαιτεί από εμάς να την κάνουμε.

/*
|--------------------------------------------------------------------------
| Available locales
|--------------------------------------------------------------------------
|
| List all locales that your application works with
|
*/
'available_locales' => [
  'English' => 'en',
  'Italian' => 'it',
  'French' => 'fr',
],

Τώρα η εφαρμογή μας υποστηρίζει τρεις γλώσσες: Αγγλικά, Ιταλικά και Γαλλικά.

Αρχεία μετάφρασης

Τώρα που έχουμε δημιουργήσει όλες τις τοπικές ρυθμίσεις με τις οποίες θα εργαστούμε, μπορούμε να προχωρήσουμε και να προχωρήσουμε στη μετάφραση του μηνύματος καλωσορίσματος πρινdefiνύχτα.

Ας ξεκινήσουμε προσθέτοντας νέα αρχεία τοπικής προσαρμογής στο φάκελο resources/lang. Πρώτα, δημιουργήστε ένα αρχείο resources/lang/it.json και προσθέστε τις αντίστοιχες μεταφράσεις, ως εξής:

{
  "Welcome to our website": "Benvenuto nel nostro sito web"
}

Στη συνέχεια, δημιουργήστε ένα αρχείο resources/lang/fr.json:

{

"Καλώς ήρθατε στην ιστοσελίδα μας": “Καλώς ήρθατε στον ιστότοπό μας”

}

Όπως μπορείτε να δείτε, αναφερόμαστε πάντα στο προ μήνυμαdefinito που προσθέσαμε στο αρχείο welcome.blade.php (η οποία ήταν {{ __('Welcome to our website') }}). Ο λόγος για τον οποίο δεν χρειάζεται να δημιουργήσουμε ένα αρχείο en.json είναι επειδή η Laravel γνωρίζει ήδη ποια μηνύματα περνάμε με προρύθμισηdefiτελείωσε στη λειτουργία __() είναι για την τοπική μας πρdefinito en.

Τοπική αλλαγή στο Laravel

Σε αυτό το σημείο, η Laravel δεν ξέρει πώς να αλλάξει τις τοπικές ρυθμίσεις, οπότε προς το παρόν, ας κάνουμε τις μεταφράσεις απευθείας μέσα στη διαδρομή. Τροποποιήστε τη διαδρομή καλωσορίσματος πρινdefiλήφθηκε όπως φαίνεται παρακάτω:

Route::get('/{locale?}', function ($locale = null) {
    if (isset($locale) && in_array($locale, config('app.available_locales'))) {
        app()->setLocale($locale);
    }
    
    return view('welcome');
});

Μπορούμε τώρα να επισκεφτούμε τον ιστότοπό μας, προσδιορίζοντας οποιαδήποτε από τις διαθέσιμες γλώσσες ως πρώτο τμήμα διαδρομής: για παράδειγμα, localhost/rulocalhost/fr. Θα πρέπει να δείτε το τοπικό περιεχόμενο. Σε περίπτωση που καθορίσετε μια μη υποστηριζόμενη τοπική ρύθμιση ή δεν καθορίσετε μια τοπική ρύθμιση, η Laravel θα χρησιμοποιήσει enαπό προεπιλογήdefiνίτα.

Middleware

Η αλλαγή της τοπικής ρύθμισης για κάθε σύνδεσμο ιστότοπου μπορεί να μην είναι αυτό που θέλετε και μπορεί να μην φαίνεται τόσο καθαρό από αισθητική άποψη. Γι' αυτό θα κάνουμε τη ρύθμιση γλώσσας μέσω ενός ειδικού εναλλάκτη γλώσσας και θα χρησιμοποιήσουμε τη συνεδρία χρήστη για να εμφανίσουμε το μεταφρασμένο περιεχόμενο. Επομένως, δημιουργήστε ένα νέο ενδιάμεσο λογισμικό μέσα στο app/Http/Middleware/Localization.phpαρχείο ή εκτελώντας artisan make:middleware Localization.

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Session;

class Localization
{
    /**
    * Handle an incoming request.
    *
    * @param  \Illuminate\Http\Request  $request
    * @param  \Closure  $next
    * @return mixed
    */
    public function handle(Request $request, Closure $next)
    {
        if (Session::has('locale')) {
            App::setLocale(Session::get('locale'));
        }
        return $next($request);
    }
}

Αυτό το ενδιάμεσο λογισμικό θα δώσει εντολή στη Laravel να χρησιμοποιήσει την τοπική γλώσσα που έχει επιλέξει ο χρήστης εάν αυτή η επιλογή υπάρχει στη συνεδρία.

Εφόσον χρειάζεται να γίνει αυτό σε κάθε αίτημα, πρέπει επίσης να το προσθέσουμε στη στοίβα προ του ενδιάμεσου λογισμικούdefiτελείωσε μέσα app/http/Kernel.phpγια το webομάδα ενδιάμεσου λογισμικού:

* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
  'web' => [
      \App\Http\Middleware\EncryptCookies::class,
      \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
      \Illuminate\Session\Middleware\StartSession::class,
      // \Illuminate\Session\Middleware\AuthenticateSession::class,
      \Illuminate\View\Middleware\ShareErrorsFromSession::class,
      \App\Http\Middleware\VerifyCsrfToken::class,
      \Illuminate\Routing\Middleware\SubstituteBindings::class,
      \App\Http\Middleware\Localization::class, /* <--- add this */
  ],

Άλλαξε πορεία

Στη συνέχεια, πρέπει να προσθέσουμε μια διαδρομή για να αλλάξουμε τις τοπικές ρυθμίσεις. Χρησιμοποιούμε μια διαδρομή κλεισίματος, αλλά μπορείτε να χρησιμοποιήσετε ακριβώς τον ίδιο κωδικό μέσα στον ελεγκτή σας, αν θέλετε:

Route::get('language/{locale}', function ($locale) {
    app()->setLocale($locale);
    session()->put('locale', $locale);

    return redirect()->back();
});

Επίσης, μην ξεχάσετε να αφαιρέσετε την εναλλαγή τοπικής ρύθμισης που είχε προστεθεί προηγουμένως στη διαδρομή προ του καλωσορίσματοςdefinite:

Route::get('/', function () {
    return view('welcome');
});

Μόλις γίνει αυτό, ο μόνος τρόπος για να αλλάξει ο χρήστης την τρέχουσα ρυθμισμένη γλώσσα είναι η εισαγωγή localhost/language/{locale}. ο localeΗ επιλογή θα αποθηκευτεί εντός της συνεδρίας και θα ανακατευθύνει τους χρήστες από όπου προέρχονται (ελέγξτε το Localizationενδιάμεσο λογισμικό). Για να το δοκιμάσετε, πηγαίνετε στο localhost/language/ru(εφόσον υπάρχει το cookie συνεδρίας στο πρόγραμμα περιήγησής σας) και θα δείτε το μεταφρασμένο περιεχόμενο. Μπορείτε να μετακινηθείτε ελεύθερα στον ιστότοπο ή να προσπαθήσετε να ανανεώσετε τη σελίδα και να δείτε ότι η επιλεγμένη γλώσσα διατηρείται.

Ο μεταγωγέας

Τώρα πρέπει να δημιουργήσουμε κάτι στο οποίο ο χρήστης μπορεί να κάνει κλικ για να αλλάξει τη γλώσσα αντί να εισάγει μη αυτόματα τοπικούς κωδικούς στη διεύθυνση URL. Για να γίνει αυτό, θα προσθέσουμε έναν πολύ απλό έλεγχο γλώσσας. Επομένως, δημιουργήστε ένα νέο resources/views/partials/language_switcher.blade.phpαρχείο με τον ακόλουθο κώδικα:

<div class="flex justify-center pt-8 sm:justify-start sm:pt-0">
    @foreach($available_locales as $locale_name => $available_locale)
        @if($available_locale === $current_locale)
            <span class="ml-2 mr-2 text-gray-700">{{ $locale_name }}</span>
        @else
            <a class="ml-1 underline ml-2 mr-2" href="language/{{ $available_locale }}">
                <span>{{ $locale_name }}</span>
            </a>
        @endif
    @endforeach
</div>

Συμπεριλάβετε τον εναλλάκτη που δημιουργήθηκε πρόσφατα στην προβολή "καλωσορίσματος":

<body class="antialiased">
    <div class="relative flex items-top justify-center min-h-screen bg-gray-100 dark:bg-gray-900 sm:items-center py-4 sm:pt-0">
        <div class="max-w-6xl mx-auto sm:px-6 lg:px-8">
            @include('partials/language_switcher')
            <div class="flex justify-center pt-8 sm:justify-start sm:pt-0">
                {{ __('Welcome to our website') }}
            </div>
        </div>
    </div>
</body>

Ανοιξε το app/Providers/AppServiceProvider.phpαρχείο και προσθέστε τον κώδικα για κοινή χρήση όταν θα δημιουργηθεί η εναλλαγή γλώσσας. Συγκεκριμένα, θα κοινοποιήσουμε την τρέχουσα τοπική ρύθμιση στην οποία μπορείτε να προσπελάσετε ως αρχείο {{ $current_locale }}.

Ενημερωτικό δελτίο καινοτομίας
Μην χάσετε τα πιο σημαντικά νέα για την καινοτομία. Εγγραφείτε για να τα λάβετε μέσω email.

Προηγμένες επιλογές μετάφρασης στην PHP Laravel

Θα συνεργαστούμε κυρίως με resources/views/welcome.blade.php, επομένως όλα πρέπει να συμβαίνουν κατά την άποψή μας, εκτός εάν ορίζεται διαφορετικά.

Παράμετροι σε συμβολοσειρές μετάφρασης

Για παράδειγμα, ας πούμε ένα γεια στον φανταστικό μας χρήστη (Amanda) αντί να εμφανίσουμε απλώς ένα γενικό μήνυμα:

{{ __('Welcome to our website, :Name', ['name' => 'caroline']) }}

Σημειώστε ότι χρησιμοποιήσαμε το όνομα με το πρώτο γράμμα σε πεζά, αλλά το σύμβολο κράτησης θέσης με το πρώτο γράμμα σε κεφαλαία. Με αυτόν τον τρόπο, η Laravel μπορεί να σας βοηθήσει να γράψετε αυτόματα κεφαλαία την πραγματική λέξη. Αυτό θα συμβεί εάν το σύμβολο κράτησης θέσης ξεκινά με ένα κεφαλαίο γράμμα, για παράδειγμα, :Nameπαράγει "Caroline" ή μια λέξη με πλήρη κεφαλαία,  :NAME, παράγει την “CAROLINE”.

Ενημερώνουμε επίσης τα μεταφραστικά μας αρχεία resources/lang/fr.jsonresources/lang/it.json , καθώς αυτή τη στιγμή θα βλέπουμε μόνο την αγγλική έκδοση οπουδήποτε καθώς τα κλειδιά μετάφρασης δεν ταιριάζουν με τις μεταφράσεις.

Γαλλική γλώσσα:

{

   "Welcome to our website, :Name": "Bienvenue sur notre site, :Name"

}

Ιταλικό:

{

   "Welcome to our website, :Name": "Benvenuto sul nostro sito web, :Name"

}

Πλουραλισμός

Για να δούμε τον πλουραλισμό στην πράξη, ας προσθέσουμε μια νέα παράγραφο κειμένου. 

Για να εκτελέσετε πλουραλισμό, πρέπει να χρησιμοποιήσετε τη συνάρτηση trans_choice αντί __(), για παράδειγμα:

{{ __('Welcome to our website, :Name', ['name' => 'caroline']) }}
<br>
{{ trans_choice('There is one apple|There are many apples', 2) }}

Όπως μπορείτε να δείτε, οι μορφές του πληθυντικού χωρίζονται με α |.

Τώρα, τι γίνεται αν χρειαζόμαστε πολλαπλούς πληθυντικούς τύπους; 

Αυτό είναι επίσης δυνατό:

{{ trans_choice('{0} There :form no apples|{1} There :form just :count apple|[2,19] There :form :count apples', 24) }}

Σε αυτήν την περίπτωση, επιτρέπουμε αριθμούς 01, ε da 219, και τέλος από τις 20 και μετά. Φυσικά, μπορείτε να προσθέσετε όσους κανόνες χρειάζεστε.

Τι γίνεται λοιπόν αν θέλουμε τα σύμβολα κράτησης θέσης στον πληθυντικό μας; 

{{ trans_choice('{0} There :form no apples|{1} There :form just :count apple|[2,19] There :form :count apples', 24, ['form' => 'is']) }}

Μπορούμε επίσης να χρησιμοποιήσουμε το πλήθος που μεταβιβάστηκε στο "trans_choice" εάν χρειάζεται χρησιμοποιώντας ένα σύμβολο κράτησης θέσης :count ειδικός:

{{ trans_choice('{0} There :form no apples|{1} There :form just :count apple|[2,19] There :form :count apples', 1, ['form' => 'is']) }}

Τέλος, μην ξεχάσετε να ενημερώσετε τα αρχεία μετάφρασης με τυχόν αλλαγές που κάνατε στη βασική μετάφραση.

Ιταλικό:

{
  "Welcome to our website, :Name": "Benvenuto nel nostro sito, :Name",
  "{0} There :form no apples|{1} There :form just :count apple|[2,19] There :form :count apples": "{0} Nessuna mela|{1} C'è:count mela|[2,19] Ci sono :count mele"
}

Γαλλική γλώσσα:

{    
  "Welcome to our website, :Name": "Bienvenue sur notre site, :Name",
  "{0} There :form no apples|{1} There :form just :count apple|[2,19] There :form :count apples": "{0} Il n'y a pas de pommes|{1} Il n'y :form :count pomme|[2,19] Il y :form :count pommes"
}

Εργασία με τοπικές ημερομηνίες στο Laravel

Για να εντοπίσουμε ημερομηνίες, θα αξιοποιήσουμε τη δύναμη του άνθρακας , το οποίο έρχεται με Laravel από προεπιλογήdefiνίτα. Ελέγξτε το Τεκμηρίωση άνθρακα ; μπορείς να κάνεις πολλά ενδιαφέροντα πράγματα. Για παράδειγμα, μπορούμε να ορίσουμε την τοπική μας ρύθμιση με κανόνες ημερομηνίας και ώρας.

Για το απλό μας παράδειγμα, θα δείξουμε την τρέχουσα ημερομηνία προσαρμοσμένη για την επιλεγμένη γλώσσα. Στο δικό μας routes/web.php, ενημερώνουμε τη διαδρομή της σελίδας καλωσορίσματος και μεταβιβάζουμε το μήνυμα της τοπικής ημερομηνίας στο δικό μας view καλως ΗΡΘΑΤΕ:

<?php
Route::get('/', function () {
    $today = \Carbon\Carbon::now()
        ->settings(
            [
                'locale' => app()->getLocale(),
            ]
        );

    // LL is macro placeholder for MMMM D, YYYY (you could write same as dddd, MMMM D, YYYY)
    $dateMessage = $today->isoFormat('dddd, LL');

    return view('welcome', [
        'date_message' => $dateMessage
    ]);
});

Ας ενημερώσουμε resources/views/welcome.blade.php προσθήκη εμφάνισης ημερομηνίας, όπως:

{{ __('Welcome to our website, :Name', ['name' => 'amanda']) }}
<br>
{{ trans_choice('{0} There :form :count apples|{1} There :form just :count apple|[2,19] There :form :count apples', 1, ['form' => 'is']) }}
<br>
{{ $date_message }}

Προσπάθεια αλλαγής γλώσσας στην αρχική σελίδα του localhost, θα δούμε ότι οι ημερομηνίες έχουν πλέον εντοπιστεί, για παράδειγμα:

Μορφοποίηση αριθμών και νομισμάτων με NumberFormatter

Σε διαφορετικές χώρες, οι άνθρωποι χρησιμοποιούν διαφορετικές μορφές για να αναπαραστήσουν αριθμούς, για παράδειγμα:

  • Ηνωμένες Πολιτείες → 123.123,12
  • Γαλλία → 123 123,12

Επομένως, για να αντικατοπτρίσετε αυτές τις διαφορές στην εφαρμογή Laravel, μπορείτε να χρησιμοποιήσετε NumberFormatter με τον εξής τρόπο:

<?php
$num = NumberFormatter::create('en_US', NumberFormatter::DECIMAL);

$num2 = NumberFormatter::create('fr', NumberFormatter::DECIMAL);

Μπορείτε επίσης να γράψετε τον αριθμό σε μια συγκεκριμένη γλώσσα και να εμφανίσετε κάτι σαν "εκατόν είκοσι τρεις χιλιάδες εκατόν είκοσι τρία σημεία ένα δύο":

<?php
$num = NumberFormatter::create('en_US', NumberFormatter::SPELLOUT);
$num2 = NumberFormatter::create('fr', NumberFormatter::SPELLOUT);

Επιπλέον, το NumberFormatter σάς επιτρέπει να εντοπίζετε εύκολα νομίσματα, για παράδειγμα:

<?php
$currency1 = NumberFormatter::create('fr', NumberFormatter::CURRENCY);
$currency2 = NumberFormatter::create('en_US', NumberFormatter::CURRENCY);

Ετσι, για fr θα δείτε Ευρώ, ενώ για en_US το νόμισμα θα είναι σε δολάρια ΗΠΑ.

Ercole Palmeri

Ενημερωτικό δελτίο καινοτομίας
Μην χάσετε τα πιο σημαντικά νέα για την καινοτομία. Εγγραφείτε για να τα λάβετε μέσω email.

Πρόσφατα άρθρα

Τα οφέλη των σελίδων χρωματισμού για παιδιά - ένας κόσμος μαγείας για όλες τις ηλικίες

Η ανάπτυξη λεπτών κινητικών δεξιοτήτων μέσω του χρωματισμού προετοιμάζει τα παιδιά για πιο σύνθετες δεξιότητες όπως η γραφή. Να χρωματίσω…

2 Μαΐου 2024

Το μέλλον είναι εδώ: Πώς η ναυτιλιακή βιομηχανία φέρνει επανάσταση στην παγκόσμια οικονομία

Ο ναυτικός τομέας είναι μια πραγματική παγκόσμια οικονομική δύναμη, η οποία έχει προσανατολιστεί προς μια αγορά 150 δισεκατομμυρίων...

1 Μαΐου 2024

Οι εκδότες και το OpenAI υπογράφουν συμφωνίες για τη ρύθμιση της ροής πληροφοριών που επεξεργάζεται η τεχνητή νοημοσύνη

Την περασμένη Δευτέρα, οι Financial Times ανακοίνωσαν συμφωνία με το OpenAI. Η FT αδειοδοτεί την παγκόσμιας κλάσης δημοσιογραφία της…

Απρίλιος 30 2024

Ηλεκτρονικές πληρωμές: Δείτε πώς οι υπηρεσίες ροής σας κάνουν να πληρώνετε για πάντα

Εκατομμύρια άνθρωποι πληρώνουν για υπηρεσίες ροής, πληρώνοντας μηνιαίες συνδρομές. Είναι κοινή γνώμη ότι…

Απρίλιος 29 2024

Διαβάστε την Καινοτομία στη γλώσσα σας

Ενημερωτικό δελτίο καινοτομίας
Μην χάσετε τα πιο σημαντικά νέα για την καινοτομία. Εγγραφείτε για να τα λάβετε μέσω email.

Seguici