Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dodawanie tłumaczenia na kilka języków w programie.

Ostatnio zmodyfikowano 2012-11-03 14:56
Autor Wiadomość
anonim
Temat założony przez niniejszego użytkownika
Dodawanie tłumaczenia na kilka języków w programie.
» 2012-11-03 10:58:22
Cześć.
Zastanawiam się, jak dodać do mojej gry język angielski(na razie jest tylko polski)
Wpadłem na 2 pomysły:
*Dokażdego obiektu tworzonego w grze dodawać jego nazwę w każdym języku, który będzie docelowo dostępny.
*Stworzyć wektor zawierający i elementów w każdym i-tym elemencię będzie słowo po polsku i jego angielski odpowiednik. Potem tylko tłumaczyć to funkcją.Co o tym sądzicie?
P-68312
m4tx
» 2012-11-03 11:24:41
*Dokażdego obiektu tworzonego w grze dodawać jego nazwę w każdym języku, który będzie docelowo dostępny.
Tego nie rozumiem w ogóle :)

*Stworzyć wektor zawierający i elementów w każdym i-tym elemencię będzie słowo po polsku i jego angielski odpowiednik. Potem tylko tłumaczyć to funkcją.Co o tym sądzicie?
A to jest jakieś dziwne...

Ja bym proponował utworzyć sobie std::map z wszystkimi stringami przeznaczonymi do tłumaczenia i stamtąd pobierał gotowe ciągi znaków do wyświetlenia użytkownikowi. Najlepiej by było chyba też wczytywać zawartość tego std::map z pliku.
Zainteresuj się też wynalazkiem zwanym GNU gettext.
P-68313
anonim
Temat założony przez niniejszego użytkownika
» 2012-11-03 14:41:38
Chodzi o coś takiego:
*1 np:
C/C++
class pushButton
{
public:
    /*tu potrzebne elementy
    ...
    */
    sf::String polishName;
    sf::String englichName;
    ...
    sf::String jakistamjezykName;
};
Dla dwóch języków(angielski i polski) to chyba nienajgorszy pomysł, ale jeśli będę chciał mieć ich więcej to lipa.
*2 drugi pomysł(oraz pomysł z std::map) ma ten mankament, że nektóre wyrazy są pisane tak samo, ale mają wiele znaczeń (to się homonimy nazywa chyba)
wtedy np. rock można tłumaczyć jako skała lub jako muzyka rockowa. Lu zamek możemy tłumaczyć jako castle lub lock.
Na pewno da się to zrobić jakoś sprytniej, tylko nie wiem jak.
P-68331
m4tx
» 2012-11-03 14:56:15
*2 drugi pomysł(oraz pomysł z std::map) ma ten mankament, że nektóre wyrazy są pisane tak samo, ale mają wiele znaczeń (to się homonimy nazywa chyba)
wtedy np. rock można tłumaczyć jako skała lub jako muzyka rockowa. Lu zamek możemy tłumaczyć jako castle lub lock.
Wcale nie. :)

Można np. tak:
C/C++
languageManager.getString( "Hey! That's string is intended to be translated!" );
Jest to sposób "na GNU gettext".
Albo tak:
C/C++
languageManager.getString( "mainWindow.group1.testTextView" );
// ew. tak:
languageManager.getString( "mainWindow.group1.thatsStringIsIntendedToBeTranslated" );
Sposób "na Java ResourceBundle".

Osobiście używam w moim - dość dużym - projekcie tego drugiego sposóbu i sprawuje się dobrze :)
P-68333
« 1 »
  Strona 1 z 1