Author: JSHar (JSHar)
Committer: GitHub (web-flow)
Pusher: saundefined
Date: 2021-11-26T16:03:37+03:00

Commit: 
https://github.com/php/web-php/commit/084a0d9880943be4c77bc8807d2477bc8cb9aacd
Raw diff: 
https://github.com/php/web-php/commit/084a0d9880943be4c77bc8807d2477bc8cb9aacd.diff

Georgian translation of the PHP 8.0 Announcement Page (#454)

Co-authored-by: Sergey Panteleev <ser...@php.net>

Changed paths:
  A  releases/8.0/ka.php
  M  releases/8.0/common.php


Diff:

diff --git a/releases/8.0/common.php b/releases/8.0/common.php
index a4385d4d4..9392e88c8 100644
--- a/releases/8.0/common.php
+++ b/releases/8.0/common.php
@@ -50,6 +50,7 @@ function language_chooser(string $currentLang): void {
         'ru'    => 'Русский',
         'tr'    => 'Türkçe',
         'zh'    => '简体中文',
+        'ka'    => 'ქართული',
     ];
 
     // Print out the form with all the options
diff --git a/releases/8.0/ka.php b/releases/8.0/ka.php
new file mode 100644
index 000000000..406955727
--- /dev/null
+++ b/releases/8.0/ka.php
@@ -0,0 +1,505 @@
+<?php
+$_SERVER['BASE_PAGE'] = 'releases/8.0/ka.php';
+include_once __DIR__ . '/common.php';
+
+releases\php80\language_redirect('ka');
+releases\php80\common_header(
+    'PHP 8.0 — PHP ენის დიდი განახლება. ' .
+    'ის შეიცავს ბევრ ახალ შესაძლებლობას და ოპტიმიზაციებს, ' .
+    'მათ შორის დასახელებული არგუმენტები, union type, ატრიბუტები, ' .
+    'თვისებების გამარტივებული განსაზღვრა კონსტრუქტორში, გამოსახულება match, ' .
+    'ოპერატორი nullsafe, JIT და გაუმჯობესებები ტიპის სისტემაში, ' .
+    'შეცდომების დამუშავება და თანმიმდევრულობა.');
+
+?>
+<section class="php8-section php8-section_dark php8-section_header center">
+  <div class="page-tools">
+    <div class="change-language">
+        <?php releases\php80\language_chooser('ka'); ?>
+    </div>
+  </div>
+  <div class="php8-section__content">
+    <div class="php8-logo">
+      <img src="/images/php8/logo_php8.svg" alt="php8" height="126" 
width="343">
+    </div>
+    <div class="php8-title">რელიზი!</div>
+    <div class="php8-subtitle">
+            PHP 8.0 — PHP ენის დიდი განახლება.<br class="display-none-md"> ის 
შეიცავს ბევრ ახალ შესაძლებლობას და ოპტიმიზაციებს,
+            მათ შორის დასახელებული არგუმენტები, union type, ატრიბუტები, 
თვისებების გამარტივებული განსაზღვრა კონსტრუქტორში, გამოსახულება match,
+            ოპერატორი nullsafe, JIT და გაუმჯობესებები ტიპის სისტემაში, 
შეცდომების დამუშავება და თანმიმდევრულობა.
+        </div>
+    <div class="php8-button-wrapper center">
+      <a class="php8-button php8-button_light" href="/downloads">გადადით PHP 
8-ზე!</a>
+    </div>
+  </div>
+</section>
+
+<section class="php8-section center">
+  <div class="php8-compare">
+    <h2 class="php8-h2" id="named-arguments">
+    დასახელებული არგუმენტები
+      <a class="php8-rfc" href="https://wiki.php.net/rfc/named_params";>RFC</a>
+    </h2>
+    <div class="php8-compare__main">
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label">PHP 7</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'htmlspecialchars($string, ENT_COMPAT | ENT_HTML401, 
\'UTF-8\', false);'
+            );?>
+        </div>
+
+
+      </div>
+      <div class="php8-compare__arrow"></div>
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label php8-compare__label_new">PHP 8</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'htmlspecialchars($string, double_encode: false);'
+            );?>
+        </div>
+      </div>
+    </div>
+    <div class="php8-compare__content">
+    <ul>
+        <li>მიუთითეთ მხოლოდ საჭირო პარამეტრები, გამოტოვეთ არასავალდებულო.</li>
+        <li>არგუმენტების თანმიმდევრობა არ არის მნიშვნელოვანი, არგუმენტები 
თვითდოკუმენტირებადია.</li>
+    </ul>
+    </div>
+  </div>
+
+  <div class="php8-compare">
+    <h2 class="php8-h2" id="attributes">
+      Attributes
+      <a class="php8-rfc" 
href="https://wiki.php.net/rfc/attributes_v2";>RFC</a> <a class="php8-rfc" 
href="/manual/en/language.attributes.php">დოკუმენტაცია</a>
+    </h2>
+    <div class="php8-compare__main">
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label">PHP 7</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'class PostsController
+{
+    /**
+     * @Route("/api/posts/{id}", methods={"GET"})
+     */
+    public function get($id) { /* ... */ }
+}'
+            );?>
+        </div>
+      </div>
+      <div class="php8-compare__arrow"></div>
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label php8-compare__label_new">PHP 8</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'class PostsController
+{
+    #[Route("/api/posts/{id}", methods: ["GET"])]
+    public function get($id) { /* ... */ }
+}'
+            );?>
+        </div>
+      </div>
+    </div>
+    <div class="php8-compare__content">
+        <p>PHPDoc ანოტაციების ნაცვლად, შეგიძლიათ გამოიყენოთ სტრუქტურული 
მეტამონაცემები ნატიური PHP სინტაქსით.</p>
+    </div>
+  </div>
+
+  <div class="php8-compare">
+    <h2 class="php8-h2" id="constructor-property-promotion">
+    თვისებების განახლება კონსტრუქტორში
+      <a class="php8-rfc" 
href="https://wiki.php.net/rfc/constructor_promotion";>RFC</a> <a 
class="php8-rfc" 
href="/manual/en/language.oop5.decon.php#language.oop5.decon.constructor.promotion">დოკუმენტაცია</a>
+    </h2>
+    <div class="php8-compare__main">
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label">PHP 7</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'class Point {
+  public float $x;
+  public float $y;
+  public float $z;
+
+  public function __construct(
+    float $x = 0.0,
+    float $y = 0.0,
+    float $z = 0.0
+  ) {
+    $this->x = $x;
+    $this->y = $y;
+    $this->z = $z;
+  }
+}'
+            );?>
+        </div>
+      </div>
+      <div class="php8-compare__arrow"></div>
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label php8-compare__label_new">PHP 8</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'class Point {
+  public function __construct(
+    public float $x = 0.0,
+    public float $y = 0.0,
+    public float $z = 0.0,
+  ) {}
+}'
+            );?>
+        </div>
+      </div>
+    </div>
+    <div class="php8-compare__content">
+      <p>ნაკლები შაბლონური კოდი თვისებების განსაზღვრისა და 
ინიციალიზაციისთვის.</p>
+    </div>
+  </div>
+
+  <div class="php8-compare">
+    <h2 class="php8-h2" id="union-types">
+      Union types
+      <a class="php8-rfc" 
href="https://wiki.php.net/rfc/union_types_v2";>RFC</a> <a class="php8-rfc" 
href="/manual/en/language.types.declarations.php#language.types.declarations.union">დოკუმენტაცია</a>
+    </h2>
+    <div class="php8-compare__main">
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label">PHP 7</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'class Number {
+  /** @var int|float */
+  private $number;
+
+  /**
+   * @param float|int $number
+   */
+  public function __construct($number) {
+    $this->number = $number;
+  }
+}
+
+new Number(\'NaN\'); // შეცდომები არაა'
+            );?>
+        </div>
+      </div>
+      <div class="php8-compare__arrow"></div>
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label php8-compare__label_new">PHP 8</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'class Number {
+  public function __construct(
+    private int|float $number
+  ) {}
+}
+
+new Number(\'NaN\'); // TypeError'
+            );?>
+        </div>
+      </div>
+    </div>
+    <div class="php8-compare__content">
+        <p>PHPDoc ანოტაციების ნაცვლად, გაერთიანებული ტიპებისთვის  შეგიძლიათ 
გამოიყენოთ განცხადება union type, 
+            რომლებიც მოწმდება შესრულების დროს.</p>
+    </div>
+  </div>
+
+  <div class="php8-compare">
+    <h2 class="php8-h2" id="match-expression">
+        გამოსახულება Match
+      <a class="php8-rfc" 
href="https://wiki.php.net/rfc/match_expression_v2";>RFC</a> <a class="php8-rfc" 
href="/manual/en/control-structures.match.php">დოკუმენტაცია</a>
+    </h2>
+    <div class="php8-compare__main">
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label">PHP 7</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'switch (8.0) {
+  case \'8.0\':
+    $result = "ოოო არა!";
+    break;
+  case 8.0:
+    $result = "ის, რასაც მე ველოდი";
+    break;
+}
+echo $result;
+//> ოოო არა!'
+            );?>
+        </div>
+      </div>
+      <div class="php8-compare__arrow"></div>
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label php8-compare__label_new">PHP 8</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'echo match (8.0) {
+  \'8.0\' => "Oh no!",
+  8.0 => "ის, რასაც მე ველოდი",
+};
+//> ის, რასაც მე ველოდი'
+            );?>
+        </div>
+      </div>
+    </div>
+    <div class="php8-compare__content">
+        <p>ახალი გამოსახულება match, switch ოპერატორის მსგავსია შემდეგი 
მახასიათებლებით:</p>
+        <ul>
+            <li>Match — ეს არის გამოსახულება, მისი შედეგი შეიძლება შენახული 
იყოს ცვლადში ან დაბრუნდეს.</li>
+            <li>პირობა match  მხარს უჭერერს მხოლოდ ერთსტრიქონიან 
გამოსახულებებს, რომლებიც არ საჭიროებენ break; კონტროლის კონსტრუქციას.</li>
+            <li>გამოსახულება match იყენებს მკაცრ შედარებას.</li>
+        </ul>
+    </div>
+  </div>
+
+  <div class="php8-compare">
+    <h2 class="php8-h2" id="nullsafe-operator">
+        ოპერატორი Nullsafe
+      <a class="php8-rfc" 
href="https://wiki.php.net/rfc/nullsafe_operator";>RFC</a>
+    </h2>
+    <div class="php8-compare__main">
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label">PHP 7</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                '$country =  null;
+
+if ($session !== null) {
+  $user = $session->user;
+
+  if ($user !== null) {
+    $address = $user->getAddress();
+  
+    if ($address !== null) {
+      $country = $address->country;
+    }
+  }
+}'
+            );?>
+        </div>
+      </div>
+      <div class="php8-compare__arrow"></div>
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label php8-compare__label_new">PHP 8</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                '$country = $session?->user?->getAddress()?->country;'
+            );?>
+        </div>
+      </div>
+    </div>
+    <div class="php8-compare__content">
+        <p>null-ის შემოწმების ნაცვლად, შეგიძლიათ გამოიყენოთ გამოძახების 
თანმიმდევრობა ახალ Nullsafe ოპერატორით.
+        როდესაც ერთ-ერთი ელემენტი თანმიმდევრობაში აბრუნებს null-ს, შესრულება 
ჩერდება და მთელი თანმიმდევრობა აბრუნებს null-ს.</p>
+    </div>
+  </div>
+
+  <div class="php8-compare">
+    <h2 class="php8-h2" id="saner-string-to-number-comparisons">
+        სტრიქონებისა და რიცხვების გაუმჯობესებული შედარება
+      <a class="php8-rfc" 
href="https://wiki.php.net/rfc/string_to_number_comparison";>RFC</a>
+    </h2>
+    <div class="php8-compare__main">
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label">PHP 7</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                '0 == \'foobar\' // true'
+            );?>
+        </div>
+      </div>
+      <div class="php8-compare__arrow"></div>
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label php8-compare__label_new">PHP 8</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                '0 == \'foobar\' // false'
+            );?>
+        </div>
+      </div>
+    </div>
+    <div class="php8-compare__content">
+        <p>PHP 8 რიცხვითი სტრიქონის შედარებისას იყენებს რიცხვების შედარებას. 
წინააღმდეგ შემთხვევაში, 
+            რიცხვი გარდაიქმნება სტრიქონად და გამოიყენება სტრიქონების 
შედარება.</p>
+    </div>
+  </div>
+
+  <div class="php8-compare">
+    <h2 class="php8-h2" id="consistent-type-errors-for-internal-functions">
+        ტიპების თანმიმდევრულობის შეცდომები ჩაშენებული ფუნქციებისთვის
+      <a class="php8-rfc" 
href="https://wiki.php.net/rfc/consistent_type_errors";>RFC</a>
+    </h2>
+    <div class="php8-compare__main">
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label">PHP 7</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'strlen([]); // Warning: strlen() expects parameter 1 to be 
string, array given
+
+array_chunk([], -1); // Warning: array_chunk(): Size parameter expected to be 
greater than 0'
+            );?>
+        </div>
+      </div>
+      <div class="php8-compare__arrow"></div>
+      <div class="php8-compare__block example-contents">
+        <div class="php8-compare__label php8-compare__label_new">PHP 8</div>
+        <div class="php8-code phpcode">
+            <?php highlight_php_trimmed(
+                'strlen([]); // TypeError: strlen(): Argument #1 ($str) must 
be of type string, array given
+
+array_chunk([], -1); // ValueError: array_chunk(): Argument #2 ($length) must 
be greater than 0'
+            );?>
+        </div>
+      </div>
+    </div>
+    <div class="php8-compare__content">
+        <p>შიდა ფუნქციების უმეტესობა უკვე გამორიცხავს Error გამონაკლისს, თუ 
შეცდომა მოხდა პარამეტრის შემოწმებისას.</p>
+    </div>
+  </div>
+</section>
+
+<section class="php8-section php8-section_light">
+  <h2 class="php8-h2">კომპილაცია Just-In-Time</h2>
+  <p>
+  PHP 8 წარმოგიდგენთ JIT-კომპილაციის ორ მექანიზმს. JIT ტრასირება, მათგან 
ყველაზე პერსპექტიულია, 
+    სინთეზურ ბენჩმარკზე აჩვენებს მუშაობის გაუმჯობესებას დაახლოებით 3-ჯერ და 
1.5-2-ჯერ ზოგიერთ დიდ ხანს მომუშავე აპლიკაციებში. 
+    აპლიკაციის სტანდარტული წარმადობა ერთ და იგივე დონეზეა PHP 7.4-თან.
+  </p>
+  <h3 class="php8-h3">
+    JIT-ის შედარებითი წვლილი PHP 8-ის წარმადობაში
+  </h3>
+  <p>
+    <img src="/images/php8/scheme.svg" width="900" alt="Just-In-Time 
compilation">
+  </p>
+
+  <div class="php8-columns">
+    <div class="php8-column">
+      <h2 class="php8-h2 php8-h2_margin-top">გაუმჯობესებები ტიპის სისტემაში და 
შეცდომების დამუშავება</h2>
+      <ul>
+        <li>
+            ტიპის უფრო მკაცრი შემოწმება არითმეტიკული/ბიტიური ოპერატორებისთვის
+          <a 
href="https://wiki.php.net/rfc/arithmetic_operator_type_checks";>RFC</a>
+        </li>
+        <li>
+          აბსტრაქტული თვისებების მეთოდების შემოწმება <a 
href="https://wiki.php.net/rfc/abstract_trait_method_validation";>RFC</a>
+        </li>
+        <li>
+          ჯადოსნური მეთოდების სწორი სიგნატურები <a 
href="https://wiki.php.net/rfc/magic-methods-signature";>RFC</a>
+        </li>
+        <li>
+          ძრავის გაფრთხილებების ხელახალი კლასიფიკაცია <a 
href="https://wiki.php.net/rfc/engine_warnings";>RFC</a>
+        </li>
+        <li>
+          ფატალური შეცდომა, როდესაც მეთოდის სიგნატურა შეუთავსებელია <a 
href="https://wiki.php.net/rfc/lsp_errors";>RFC</a>
+        </li>
+        <li>
+          @ ოპერატორი აღარ აჩუმებს ფატალურ შეცდომებს.
+        </li>
+        <li>
+          მემკვიდრეობა private მეთოდებთან <a 
href="https://wiki.php.net/rfc/inheritance_private_methods";>RFC</a>
+        </li>
+        <li>
+          ახალი ტიპი mixed <a 
href="https://wiki.php.net/rfc/mixed_type_v2";>RFC</a>
+        </li>
+        <li>
+          დაბრუნების ტიპი static <a 
href="https://wiki.php.net/rfc/static_return_type";>RFC</a>
+        </li>
+        <li>
+          ტიპები სტანდარტული ფუნქციებისთვის
+          <a href="https://externals.io/message/106522";>Email თემა</a>
+        </li>
+        <li>
+          გაუმჭვირვალე ობიექტები რესურსების ნაცვლად
+            <a 
href="https://php.watch/versions/8.0/resource-CurlHandle";>Curl</a>,
+            <a href="https://php.watch/versions/8.0/gdimage";>Gd</a>,
+            <a 
href="https://php.watch/versions/8.0/sockets-sockets-addressinfo";>Sockets</a>,
+            <a 
href="https://php.watch/versions/8.0/OpenSSL-resource";>OpenSSL</a>,
+            <a 
href="https://php.watch/versions/8.0/xmlwriter-resource";>XMLWriter</a>, and
+            <a href="https://php.watch/versions/8.0/xmlwriter-resource";>XML</a>
+            გაფართოებებისთვის
+        </li>
+      </ul>
+    </div>
+    <div class="php8-column">
+      <h2 class="php8-h2 php8-h2_margin-top">სინტაქსის სხვა გაუმჯობესება</h2>
+      <ul>
+        <li>
+          მძიმე დაშვებულია პარამეტრების სიის ბოლოს <a 
href="https://wiki.php.net/rfc/trailing_comma_in_parameter_list";>RFC</a>
+          და use დამოკლების სიაში <a 
href="https://wiki.php.net/rfc/trailing_comma_in_closure_use_list";>RFC</a>
+        </li>
+        <li>
+          ბლოკი catch ცვლადის მითითების გარეშე <a 
href="https://wiki.php.net/rfc/non-capturing_catches";>RFC</a>
+        </li>
+        <li>
+          ცვლადის სინტაქსის ცვლილება <a 
href="https://wiki.php.net/rfc/variable_syntax_tweaks";>RFC</a>
+        </li>
+        <li>
+          სახელების სივრცეში სახელები განიხილება, როგორც ერთიამნი ტოკენი <a 
href="https://wiki.php.net/rfc/namespaced_names_as_token";>RFC</a>
+        </li>
+        <li>
+          გამოსახულება Throw <a 
href="https://wiki.php.net/rfc/throw_expression";>RFC</a>
+        </li>
+        <li>
+          დამატება ::class ობიექტებისთვის <a 
href="https://wiki.php.net/rfc/class_name_literal_on_object";>RFC</a>
+        </li>
+      </ul>
+
+      <h2 class="php8-h2 php8-h2_margin-top">ახალი კლასები, ინტერფეისები და 
ფუნქციები</h2>
+      <ul>
+        <li>
+          <a href="https://wiki.php.net/rfc/weak_maps";>Weak Map</a> class
+        </li>
+        <li>
+          <a href="https://wiki.php.net/rfc/stringable";>Stringable</a> 
interface
+        </li>
+        <li>
+          <a href="https://wiki.php.net/rfc/str_contains";>str_contains()</a>,
+          <a 
href="https://wiki.php.net/rfc/add_str_starts_with_and_ends_with_functions";>str_starts_with()</a>,
+          <a 
href="https://wiki.php.net/rfc/add_str_starts_with_and_ends_with_functions";>str_ends_with()</a>
+        </li>
+        <li>
+          <a href="https://github.com/php/php-src/pull/4769";>fdiv()</a>
+        </li>
+        <li>
+          <a 
href="https://wiki.php.net/rfc/get_debug_type";>get_debug_type()</a>
+        </li>
+        <li>
+          <a 
href="https://github.com/php/php-src/pull/5427";>get_resource_id()</a>
+        </li>
+        <li>
+          <a 
href="https://wiki.php.net/rfc/token_as_object";>token_get_all()</a> 
ობიექტზე-ორიენტირებული ფუნქცია
+        </li>
+        <li>
+          <a href="https://wiki.php.net/rfc/dom_living_standard_api";>ახალი 
API-ები DOM-ის გადასასვლელად და დასამუშავებლად</a>
+        </li>
+      </ul>
+    </div>
+  </div>
+</section>
+
+<section class="php8-section php8-section_dark php8-section_footer 
php8-footer">
+  <div class="php8-section__content">
+    <h2 class="php8-h2 center">
+      უკეთესი წარმადობა, უკეთესი სინტაქსი, უფრო საიმედო ტიპების სისტემა.
+    </h2>
+    <div class="php8-button-wrapper center">
+      <a class="php8-button php8-button_light" href="/downloads">გადადით PHP 
8-ზე!</a>
+    </div>
+    <div class="php8-footer__content">
+      <p>
+        PHP 8 წყაროს კოდის ჩამოსატვირთად ეწვიეთ <a 
href="http://www.php.net/downloads";>ჩამოტვირთვის</a> გვერდს.
+        Windows-ის ბინარული ფაილები განთავსებულია საიტზე <a 
href="http://windows.php.net/download";>PHP Windows-თვის</a>.
+        ცვლილებების სია წარმოდგენილია <a 
href="http://www.php.net/ChangeLog-8.php";>ChangeLog-ში</a>.
+      </p>
+      <p>
+        <a href="/manual/en/migration80.php">მიგრაციის გზამკვლევი</a> 
ხელმისაწვდომია დოკუმენტაციის განყოფილებაში. გთხოვთ, 
+            შეისწავლოთ იგი ახალი ფუნქციების დეტალური ჩამონათვალის მისაღებად და 
უკუ შეუთავსებელი ცვლილებებისთვის.
+      </p>
+    </div>
+  </div>
+</section>
+
+
+
+
+<?php site_footer();

-- 
PHP Webmaster List Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to