Program z możliwością wyboru języka angielskiego, polskiego lub więcej. C#

0

Hej,
mam za zadanie napisać kod do losowania liczb (to akurat nie jest problem), program ma pytać i informować w języku polskim i angielskim. Wybór dokonujemy za pomocą args dwoma sposobami

  1. application arguments
  2. za pomocą konsoli
    Z tym również nie jest problem.
    Problem mam z slownikiem angielskiego polskiego a nawet jeszcze 3 jezyka np niemiecki.
    Gdzie szukać "gotowych" słowników? czy jest na to inny sposób?

Poniżej kod który napisałem

using System.Collections.Generic;
namespace randomengpol
{
    class MainClassPL
    {
        public static void Main(string[] args)
        {
         
            
            if (args[0] == "pol")
            {
                Random random1 = new Random();
                while (true)
                {

                    int randomnumber = random1.Next(1, 10);
                    int meter = 1;
                    try
                    {
                        Console.WriteLine("Wybierz liczbę od 1 do 10");
                        int user = int.Parse(Console.ReadLine());

                        if (user < 0)
                        {
                            Console.WriteLine("UWAGA! Podaj właściwą liczbę");
                            ++meter;
                            continue;
                        }
                        if (user < randomnumber)
                        {
                            Console.WriteLine("Wybierz większą liczbę.");
                            ++meter;
                            continue;
                        }

                        else if (user > randomnumber)
                        {
                            Console.WriteLine("Wybierz mniejszą liczbę");
                            ++meter;
                            continue;
                        }

                        else
                        {
                            Console.WriteLine("Brawo! Udało się!");
                            break;
                        }
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("UWAGA! Podaj właściwą liczbę.");
                        continue;
                    }

                }
            }
            else if (args[0] == "eng")
            {
                Random random = new Random();
                while (true)
                {

                    int randomnumber = random.Next(1, 100);
                    int meter = 1;
                    try
                    {
                        Console.WriteLine("Choose a number from 1 to 100");
                        int user = int.Parse(Console.ReadLine());

                        if (user < 0)
                        {
                            Console.WriteLine("ATTENTION! Enter the correct number");
                            ++meter;
                            continue;
                        }
                        if (user < randomnumber)
                        {
                            Console.WriteLine("Please select a larger number.");
                            ++meter;
                            continue;
                        }

                        else if (user > randomnumber)
                        {
                            Console.WriteLine("Choose a smaller number ");
                            ++meter;
                            continue;
                        }

                        else
                        {
                            Console.WriteLine("Congratulations!");
                            break;
                        }
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("ATTENTION! Enter the correct number. ");
                        continue;
                    }

                }
            }
        }
    }
}
              

0

Czy szukasz czegoś tego typu link? Nie jestem pewny, czy dobrze zrozumiałem pytanie

0

@marjar9414: nie ma gotowych słowników. Tłumaczenia musisz dostarczyć samemu. System też musisz napisać samemu. Teoretycznie ResourceDictionary pozwala trzymać tłumaczenia i się do nich odwoływać, ale wiele systemów pisze i tak swoją obsługę.

Na potrzeby zadania, pewnie wystarczy, że zdefiniujesz sobie n wymiarowa tablicę stringów i przypiszesz odpowiednie tłumaczenia

translations[0][0] = "Pierwsze zdanie PL"; translations[0][1] = "Drugie zdanie w PL"; translations[1][0] = "First sentence in US"; translations[1][1] = "Second sentence in US";

Następnie w kodzie programu po prostu ustawiając zmienną dla języka możesz wyświetlić konkretne zdanie: translations[selectedLanguage][0], translations[selectedLanguage][1] itd.

3

No, ale słownik to może lepiej robić dla zmyłki słownikiem (Dictionary), a nie tablicą.

1 użytkowników online, w tym zalogowanych: 0, gości: 1