NZ_Kiwis
You could store the text content in a database and retrieve it again depending on the $_SERVER["SERVER_NAME"].
Have a DomainRef column in a content table called PageContent so that you can apply domain condition to the select query. Name these elements what you will.
You might have some thing like:
Table name.. PageContent
ID.. A unique identifier column
DomainRef.. Either mydomain.co.uk or mydomain.au
PageRef.. The web page name
TextContenRef.. Some way of identifying the content on the page.
(Give the HTML Div or Table a unique name attribute)
TextContent.. The actual text content that appears on the page.
The retrieval stored proc (in MSSql) would be something like this
CREATE PROCEDURE [dbo].[GetTextContent] @DomainRef varchar(20),
@PageRef varchar(20),
@TextContentRef varchar(20)
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRANSACTION
declare @error int;
select @error = @@error;
if @error = 0
begin
select TextContent from [PageContent] where DomainRef = @DomainRef
and PageRef = @PageRef and TextContentRef = @TextContentRef
select @error = @@error
end
if @error <> 0 goto ERR_HANDLER
COMMIT TRANSACTION
Return 0
ERR_HANDLER:
execute GetErrorInfo; <-- an error handler proc
ROLLBACK TRANSACTION
Return 1
END
As for the language translation you could just use Google to derive the language content.
There are, of course, other approaches.
You could also consider having seperate databases for different languages.
Same schema different content.
You could configure the connection string on the basis of $_SERVER["SERVER_NAME"].
Why database? Because all you have to do to change the content is alter the database record
and it immediately becomes available to the user base without having to touch the site.