Diskuze: Vícejazyčná aplikace

C# .NET .NET (C# a Visual Basic) Vícejazyčná aplikace American English version English version

Avatar
Maros2470
Člen
Avatar
Maros2470:

Zdravím všechny. Zkouším vytvořit jednoduchou vícejazyčnou aplikaci. Protože, jsem to ještě nedělal udělal jsem si jednoduchou zkušební aplikaci, která obsahuje jen dva Labely, dvě tlačítka a PictureBox. V průzkumníku řešení jsem vytvořil složku Lang a v ní soubory langres.cz.resx a langres.en.resx, kde jsem nastavil překlad jednotlivých stringů a obrázek k jazykové verzi. Dělal jsem to podle tutoriálu YouTube. Mám to napsáno takto:

using System;
using System.Drawing;
using System.Globalization;
using System.Reflection;
using System.Resources;
using System.Windows.Forms;

namespace Test_Jazyky
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void GetRes(CultureInfo ci)
        {
            ResourceManager rm = new ResourceManager("Test Jazyky.Lang.langres", Assembly.Load("Test Jazyky"));
            lblJmeno.Text = rm.GetString("Jméno", ci);
            lblPrijmeni.Text = rm.GetString("Příjmení", ci);
            pictureBox1.Image = (Image)rm.GetObject("Flag", ci);
        }

        private void btnCzech_Click(object sender, EventArgs e)
        {
            CultureInfo ci = new CultureInfo("cs-Cz");
            GetRes(ci);

        }

        private void btnEngl_Click(object sender, EventArgs e)
        {
            CultureInfo ci = new CultureInfo("en-Us");
            GetRes(ci);
        }


    }
}

V tutoriálu to po spuštění funguje, ale mi to vypíše výjímku:

Nelze najít žádné prostředky, které by byly vhodné pro uvedenou (nebo neutrální) jazykovou verzi. Zkontrolujte, zda během kompilace byl objekt Test Jazyky.Lang.lan­gres.resources do sestavení Test Jazyky správně vložen či propojen nebo zda všechna vyžadovaná satelitní sestavení je možné načíst a jsou plně podepsána.

Vyjímka je u:

lblJmeno.Text = rm.GetString("Jméno", ci);

Můžete mi poradit s tímto problémem, nebo navrhnout jiné řešení?
Děkuji.

 
Odpovědět 23.1.2015 15:18
Avatar
Odpovídá na Maros2470
Nikola Sterziková (PaNika):

U lokalizací myslím musí být vždy i soubor s neutrální verzí....
Takže bys měl mít soubory 3:
langres.cz.resx, langres.en.resx a langres.resx

 
Nahoru Odpovědět 23.1.2015 16:52
Avatar
Maros2470
Člen
Avatar
Odpovídá na Nikola Sterziková (PaNika)
Maros2470:

To už jsem zkoušel, ale je to stejné.

 
Nahoru Odpovědět 23.1.2015 17:23
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.