content: /*
   * DazzleConf
   * Copyright © 2025 Anand Beh
   *
   * DazzleConf is free software: you can redistribute it and/or modify
   * it under the terms of the GNU Lesser General Public License as published by
   * the Free Software Foundation, either version 3 of the License, or
   * (at your option) any later version.
   *
   * DazzleConf is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   * GNU Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public License
   * along with DazzleConf. If not, see <https://www.gnu.org/licenses/>
   * and navigate to version 3 of the GNU Lesser General Public License.
   */
  
  package space.arim.dazzleconf.internals.lang;
  
  import org.checkerframework.checker.nullness.qual.NonNull;
  import space.arim.dazzleconf.backend.Printable;
  
  import java.net.URL;
  import java.util.Arrays;
  import java.util.Locale;
  
  import static space.arim.dazzleconf.backend.Printable.preBuilt;
  
  public final class LangAr implements LanguageCandidate {
  
      @Override
      public Locale getActualLocale() {
          return Locale.forLanguageTag("ar");
      }
  
      @Override
      public @NonNull String location() {
          return "موقع";
      }
  
      @Override
      public @NonNull String line() {
          return "خط";
      }
  
      @Override
      public @NonNull String backendMessage() {
          return "تقرير التنسيق";
      }
  
      @Override
      public @NonNull String syntaxLinter() {
          return "توثيق التنسيق";
      }
  
      @Override
      public @NonNull String failed() {
          return "فشل";
      }
  
      @Override
      public @NonNull String missingValue() {
          return "لا يوجد إختيار هنا ولكنه مفروض.";
      }
  
      @Override
      public @NonNull Printable wrongTypeForValue(Object value, String expectedType, String actualType) {
          return preBuilt("الإختيار < " + value + " > من نوع " + actualType + " ولكنه مفروض من " + expectedType + '.');
      }
  
      @Override
      public @NonNull Printable mustBeBetween(String value, Number min, Number max) {
          return preBuilt("يجب ان يكون الإختيار بين " + min + " و" + max + " ولكنه بالفعل " + value + ".");
      }
  
      @Override
      public @NonNull Printable notAccepted(@NonNull String value, @NonNull String[] permitted) {
          return preBuilt("الإختيار < " + value + " > غير مقبول. لزاماً يكون بين " + Arrays.toString(permitted));
      }
  
      @Override
      public @NonNull String forExample() {
          return "مثلاً";
      }
  
      @Override
      public @NonNull String badValue() {
          return "الإعداد هنا لا يناسب.";
      }
  
      @Override
      public @NonNull String errorIntro() {
          return "لقينا اشكاليات في تحميل ملف التكوين";
      }
  
      @Override
      public @NonNull String errorContext() {
          return "اين تمت الاخطاء او كيفيتها";
      }
  
      @Override
      public @NonNull String more(String what) {
          return what + " كمان...";
      }
  
      @Override
      public @NonNull String trueFalse() {
          return "'true/false'";
      }
  
      @Override
      public @NonNull String text() {
          return "النص";
      }
  
      @Override
      public @NonNull String smallInteger() {
          return "العدد الصحيح الصغير";
      }
  
      @Override
      public @NonNull String integer() {
          return "العدد الصحيح";
      }
  
      @Override
      public @NonNull String character() {
          return "الحرف";
      }
  
      @Override
      public @NonNull String decimal() {
          return "العدد عشري";
      }
  
      @Override
      public @NonNull String list() {
          return "القائمة";
      }
  
      @Override
      public @NonNull String configurationSection() {
          return "قسم التكوين";
      }
  
      @Override
      public @NonNull String syntaxInvalidPleaseTryAt(@NonNull URL url) {
          return "التنسيق في ملف التكوين لك غير صحيح. ارجوك ان تستخدم توثيق التنسيق في " + url +
                  ". نسخ ملف التكوين ولصقه هناك كي تحلل الاشكاليات.";
      }
  
      @Override
      public @NonNull String syntax() {
          return "التنسيق";
      }
  
      @Override
      public @NonNull String otherReason() {
          return "سبب اخر";
      }
  
      @Override
      public @NonNull String yamlNotAMap() {
          return "الملف الYAML لزاما يكون خريطة وليس نوعاً اخراً في تنسيق YAML";
      }
  
      @Override
      public @NonNull String tomlDateType() {
          return "لا يمكن استخدام انواع تاريخ من تنسيق TOML. من فضلك استخدم اقتباس.";
      }
  }
  