Multilingual Oolite

General discussion for players of Oolite.

Moderators: another_commander, winston

Post Reply
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

Ahruman wrote:
game-paused is there, and is in fact localizable in 1.65 too.
Oh, indeed! Must have overlooked it. :oops:

@ another_commander: Could you merge the changes you made in order to introduce weapon_name_constant into the trunk? Thank you!
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Starting with 1.72, currency values will pass through a single function for normalized display. In 1.71.1, in order to avoid introducing new bugs, the currency formatting issues for PowerPC systems will be worked around in a simpler way. This means two new sets of strings, yay. On the other hand, it also means any future change to currency formatting will be done in a single place.

Code: Select all

// The following keys will be obsolete in 1.71.1 and later:
    "bounty-d"                          = ( "Bounty: %d" );
    "contracts-@-will-pay-llu-credits-d-in-advance-and-llu-credits-on-arrival" = "%@ Will pay %llu ₢: %d ₢ in advance, and %llu ₢ on arrival.";
    "shipyard-selling-price-d-credits"  = " Selling price %d ₢.";
    "shipyard-price-d-credits"          = " Price %d ₢.";
    "passenger-delivered-okay-@-d-@"    = "%@ thanks you, and pays you %d ₢ for delivering them to %@.";
    "passenger-delivered-late-@-d-@"    = "%@ pays you %d ₢ for eventually delivering them to %@.";
    "fined" =
    (
        "You have been fined %d credits.",
        "You have been fined %d credits, and made to pick up litter in the main hangar deck.",
        "You have been fined %d credits, and are forced to clean up after the [6]oids.",
        "You have been fined %d credits, and sent for “attitude adjustment”."
    );


// The following keys will be obsolete in 1.72 and later:
    "total-f-credits"                   = ( "Total: %.1f ₢" );
    "cash-quantity"                     = "%.1f ₢";
    "cash-f-load-d-of-d"                = "Cash: %.1f ₢.  Load %d of %d t.";
    "equip-cash-f"                      = "Cash: %.1f ₢.";
    "ship-purchase-price"               = "%llu ₢";
    "contracts-cash-f-load-d-of-d-passengers-d-of-d-berths" = "Cash: %.1f ₢.  Load %d of %d t. Passengers %d of %d berths.";
    "contracts-@-the-contract-will-cost-you-f-credits-and-pay-a-total-of-f-credits" = "%@ The contract will cost you %.1f ₢, and pay a total of %.1f ₢.";
    "shipyard-your-@-trade-in-value-d"  = "Your %@’s trade-in value: %d.0 ₢.";
    "shipyard-total-available-f-cr-f-cr-plus-d-trade" = "Total available: %.1f ₢. (%.1f ₢ Cash + %d.0 ₢ Trade.)";
    "cargo-delivered-okay-@-f"          = "Droids unload the %@ and you are paid %.1f ₢.";
    "cargo-delivered-short-@-f-d"       = "Droids unload the %@, but you are only paid %.1f ₢ as there is a %d percent shortfall.";
    "rescue-reward-for-@@-f-credits"    = "For rescuing %@, %@, their insurance pays %.1f credits.";
    "capture-reward-for-@@-f-credits"   = "For capturing %@, %@, you’re paid a bounty of %.1f credits.";
    "loadsavescreen-commander-@-rated-@-has-llu-Cr-legal-status-@-ship-@-location-@-g-@-timestamp-@" = "Commander %@ is rated %@ and has %llu ₢ in the bank. Legal status: %@. Ship: %@. Location: %@ (G%d). Timestamp: %@";



// The following keys will be used in 1.71.x but obsolete in 1.72 and later:
    "bounty-llu"                        = ( "Bounty: %llu" );
    "contracts-@-will-pay-llu-credits-llu-in-advance-and-llu-credits-on-arrival" = "%@ Will pay %llu ₢: %llu ₢ in advance, and %llu ₢ on arrival.";
    "shipyard-selling-price-llu-credits" = " Selling price %llu ₢.";
    "shipyard-price-llu-credits"        = " Price %llu ₢.";
    "passenger-delivered-okay-@-llu-@"  = "%@ thanks you, and pays you %lld ₢ for delivering them to %@.";
    "passenger-delivered-late-@-llu-@"  = "%@ pays you %lld ₢ for eventually delivering them to %@.";
    "fined-llu" =
    (
        "You have been fined %llu credits.",
        "You have been fined %llu credits, and made to pick up litter in the main hangar deck.",
        "You have been fined %llu credits, and are forced to clean up after the [6]oids.",
        "You have been fined %llu credits, and sent for “attitude adjustment”."
    );


// The following keys will be added in 1.72:
    "@-credits"                         = "%@ ₢";
    "bounty-@"                          = "Bounty: %@";
    "total-@-credits"                   = "Total: %@";
    "cash-@-load-d-of-d"                = "Cash: %@. Load %d of %d t.";
    "equip-cash-@"                      = "Cash: %@.";
    "contracts-cash-@-load-d-of-d-passengers-d-of-d-berths" = "Cash: %@. Load %d of %d t. Passengers %d of %d berths.";
    "contracts-@-will-pay-@-@-in-advance-and-@-on-arrival" = "%@ Will pay %@: %@ in advance, and %@ on arrival.";
    "contracts-@-the-contract-will-cost-you-@-and-pay-a-total-of-@" = "%@ The contract will cost you %@, and pay a total of %@.";
    "shipyard-your-@-trade-in-value-@"  = "Your %@’s trade-in value: %@.";
    "shipyard-total-available-%@-%@-plus-%@-trade" = "Total available: %@. (%@ Cash + %@ Trade.)";
    "shipyard-selling-price-@"          = " Selling price %@.";
    "shipyard-price-@"                  = " Price %@.";
    "passenger-delivered-okay-@-@-@"    = "%@ thanks you, and pays you %@ for delivering them to %@.";
    "passenger-delivered-late-@-@-@"    = "%@ pays you %@ for eventually delivering them to %@.";
    "cargo-delivered-okay-@-@"          = "Droids unload the %@ and you are paid %@.";
    "cargo-delivered-short-@-@-d"       = "Droids unload the %@, but you are only paid %@ as there is a %d percent shortfall.";
    "rescue-reward-for-@@-@-credits"    = "For rescuing %@, %@, their insurance pays %@ credits.";
    "capture-reward-for-@@-@-credits"   = "For capturing %@, %@, you’re paid a bounty of %@ credits.";
    "loadsavescreen-commander-@-rated-@-has-@-legal-status-@-ship-@-location-@-g-@-timestamp-@" = "Commander %@ is rated %@ and has %@ in the bank. Legal status: %@. Ship: %@. Location: %@ (G%d). Timestamp: %@";
    "fined-@-credits" =
    (
        "You have been fined %@ credits.",
        "You have been fined %@ credits, and made to pick up litter in the main hangar deck.",
        "You have been fined %@ credits, and are forced to clean up after the [6]oids.",
        "You have been fined %@ credits, and sent for “attitude adjustment”."
    );
I also noticed that the Italian OXP overrides shipdata.plist with, in some cases, old values. This will probably be fixed by introducing a shipdata-overrides.plist whose values are merged in instead of replacing entries.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

Okay, so it's basically re-naming and re-naming again.

I'll try to keep track with the concurring Oolite version. Although I'm by no means sure that deutschesOolite.oxp will be out before 1.71.1 (and I don't even make any promise in regard to 1.72). :wink:
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Part of the point of using different keys for each variant is that it makes it possible to make one OXP that translates all three versions. (It also avoids potential crashes, which is nice.)
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

... which means I should actually not delete anthing, but let the differently named keys peacefully live together in descriptions.plist, right?
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Yeah, I’d suggest just commenting the obsolete ones and deleting them for the MNSR version.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6557
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Commander McLane wrote:
@ another_commander: Could you merge the changes you made in order to introduce weapon_name_constant into the trunk? Thank you!
The key weapon_name_constant was removed, but the game is already capable of doing what you want. The current key to ignore lowercase string conversion instructions by the engine is the boolean type lowercase_ignore. Right now it works for passenger species descriptions in the contracts screen and weapons descriptions in the shipyard. You can use it as shown below and the appropriate descriptions will be capitalized the way you want them.

Code: Select all

lowercase_ignore = yes;
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

Thanks, also for the PM!

Already done it, and it works.
User avatar
TGHC
---- E L I T E ----
---- E L I T E ----
Posts: 2157
Joined: Mon Jan 31, 2005 4:16 pm
Location: Berkshire, UK

Post by TGHC »

Ahruman wrote:
Yeah, I’d suggest just commenting the obsolete ones and deleting them for the MNSR version.
Acronym Definition
MNSR = Miniature Neutron Source Reactor (China)

are they developing some sort of Qmine?
The Grey Haired Commander has spoken!
OK so I'm a PC user - "you know whats scary? Out of billions of sperm I was the fastest"
User avatar
Captain Hesperus
Grand High Clock-Tower Poobah
Grand High Clock-Tower Poobah
Posts: 2312
Joined: Tue Sep 19, 2006 1:10 pm
Location: Anywhere I can sell Trumbles.....

Post by Captain Hesperus »

TGHC wrote:
Ahruman wrote:
Yeah, I’d suggest just commenting the obsolete ones and deleting them for the MNSR version.
Acronym Definition
MNSR = Miniature Neutron Source Reactor (China)

are they developing some sort of Qmine?
That's a scary thought.

Captain Hesperus
The truth, revealed!!
Image
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

TGHC wrote:
Ahruman wrote:
Yeah, I’d suggest just commenting the obsolete ones and deleting them for the MNSR version.
Acronym Definition
MNSR = Miniature Neutron Source Reactor (China)

are they developing some sort of Qmine?
I'm sure we could come up with a lot of alternative acronym definitions. :)

But in our context it's the Mythical Next Stable Release, whose version number only the gods (and perhaps the Witchspace Lobster, although I wouldn't guarantee that :wink: ) know.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

@ Ahruman: Shouldn't these:

Code: Select all

    "passenger-delivered-okay-@-llu-@"  = "%@ thanks you, and pays you %lld ₢ for delivering them to %@.";
    "passenger-delivered-late-@-llu-@"  = "%@ pays you %lld ₢ for eventually delivering them to %@.";
both have "%llu" instead of "%lld" on the right hand side?
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Yes, although in practice it won’t make a difference. (Fixed for 1.71.2 anyway.)
User avatar
OSH
Dangerous
Dangerous
Posts: 124
Joined: Thu Dec 04, 2008 2:57 pm
Location: Poland, Lave Station :)
Contact:

Post by OSH »

Ok. I can volunteer make a Polish version of OOlite. But i I'm not a programmer, only translator...
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8501
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

Welcome to the forums OSH.

I'm sure you'll get lots of help creating a Polish version of this fabulous program.
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
Post Reply