[Freeciv-Dev] Re: (PR#2374) multi-language client-server patch
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
2003.01.28 08:22 Jason Short via RT wrote:
> > Ok, I left only these which are obvious, and U - for units.
> > For further extensions (I.e declination, plural forms)
> > declination = german "Deklination" (my dictionary is poor)
>
> Well, what I want to know is *why* these are necessary.
>
> > Please comment below if you have any question:
> >
> > s - the string which will be translated
> > S - the string which will stay unchanged
>
> We clearly need both strings that will be translated (i.e., most
> texts)
> and some that won't be (i.e., city and leader names). Since the
> translation must come at the client end, we need two separate
> meta-sequences for it.
>
> I do wonder why they are s and S instead of S and s - does it make
> more
> sense to reverse the sequences? Up to you...
>
> > U - unit type (the argument is Unit_Type_id) which will be
> > replaced with its translated name.
>
> I don't understand why this can't just use %s with the unit's name.
There are languages that have more than 2 forms for one noun, I'm
planning to
extend FIMS to solve the problem with declination.
> > L - There are 2 arg: (x, y) which
> > will be replaced with get_location_str_in(x, y)
> > A - There are 2 arg: (x, y) which
> > will be replaced with get_location_str_at(x, y)
>
> Wasn't there a recursive form of the meta-sequence before? Why
> couldn't
> that be used, along with %s and %S? For instance:
>
> R - There is one arg - another FIMS structure.
>
> struct fims fims;
> -get_location_fims_in(x, y, &fims);
+get_location_fims_in(pplayer, x, y, &fims)
> vnotify_player_ex(player, N_("Game: you lost your %s (%R)."),
> unit_name, fims);
>
> Perhaps this is not worth it and it is easier just to use %L and %A.
> But I believe these are not truly necessary since the logic is known
> both to server and client.
Such code isn't easy to understand, especially for translator who has to
look into the source for the meaning of "(%R)"
> > M - the Nation_Type_id, which will be replaced with
> get_nation_name
> > N - the Nation_Type_id, which will be replaced with
> > get_nation_name_plural
> > N & M can be used interchangeably by translator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
As translator I find it useful
> Why can't %s be used for these two?
>
> > I - struct fims_impr, which you can get from get_fims_impr()
> > This "sends" get_impr_name_ex() to the client
>
> Again, why not just use %s?
because get_impr_name_ex() sometimes appends
Q_("?redundant:*") orQ_("?redundant:*") or Q_("?redundant:*") or
Q_("?wonder:w")
>
> > X - future_tech_no & Tech_type_id will be replaced with
> > get_tech_name() or "Future Tech. %d"
>
> Here %R could be used, or the server could just use a conditional:
>
> if (tech_id == A_FUTURE)
> vnotify_player_ex(player, N_("Game: you discover Future tech %d."),
> player->future_tech_count);
> else
> vnotify_player_ex(player, N_("Game: you discover %s!")",
> get_tech_name(tech_id));
OK, X is removed, but there are 10 new strings to translate
> > Y - year will be replaced with textyear()
>
> Same as %X...it doesn't seem necessary.
I agree, removed
> > F - flag, will be replaced with get_units_with_flag_string
>
please read get_units_with_flag_string()
> > % - for '%'
>
> Yes, this is necessary.
>
> -----
>
> Anyway, it is possible/likely I am wrong about this. But I want to
> know
> why...there should be a comment explaining it all in the code.
>
> jason
--
mateusz
Message not available
[Freeciv-Dev] (PR#2374) multi-language client-server patch, Jason Short via RT, 2003/01/23
|
|