Products translation ?

11 years ago
Hi,

What is the possibility to use same one with version 1.2/1.3

Where can we find a documentation or changes tely done and are those changes can
directly applied to this 1.2 or 1.3?
11 years ago
Hi,

maybe i'm a little late, but i'm intereested in translating products ans catagories. we're evaluating nopCOmmerce to be the base for a shop solution that we can offer to a client. The translation topic is very important to him.

Is the product translation part of the 1..3 release?


@tely: the download is not available anymore, can you post another link please?
11 years ago
Hi,

It's not part to the 1.3 solution but can we have an idea of when it's will be include in the solution ?

Thanks,
Nicolas
10 years ago
Hi All,

Can anyone get me code for this ?

Regards
10 years ago
Hi,

like bimsimsala, i'm intereested in translating products and catagories. I'm evaluating nopCommerce to realize a shop in switzerland, where we have at least 3 languages (german, french, italian). So, the translation topic is very important to me.

Now, we have 1.4 release and still no product/categories translation?
But I think, I like nopCommerce. It's the first .NET open source project, which was running without any problems on my XP laptop :-)

@tely: is it possible, to get your solution or any basic components, please?
10 years ago
Simel, Bimsala, Tely, VijayVishwakarma and others.

Did you manage to get some kind of collaboration up and running? Are you still working on a multilingual version?


B.R

Chris
10 years ago
Hi to all.

I am learning how nopcommerce works, it's a great solution. Thanks to nop team and contributers.

I am also interested in multilingual produts and categories.

I am going to try to implement solutions posted in this topic, but i think that a nopcommerce version with this funtionality will be more stable than something writed by me.

So, will be this funtionality enabled on 1.50 release?

¡Thanks a lot!
10 years ago
Dear All. I have begun working on translation module for ver. 1.4.

This is how I intend to do it for products

TABLE:
USE [nopCommerce]
GO
/****** Object:  Table [dbo].[Nop_ProductContent]    Script Date: 01/13/2010 09:56:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Nop_ProductContent](
  [ProductId] [int] NOT NULL,
  [LanguageId] [int] NOT NULL,
  [Name] [nvarchar](400) NOT NULL,
  [ShortDescription] [ntext] NOT NULL,
  [FullDescription] [ntext] NOT NULL,
  [MetaTitle] [nvarchar](400) NOT NULL,
  [MetaKeywords] [nvarchar](400) NOT NULL,
  [MetaDescription] [nvarchar](4000) NOT NULL,
  [SEName] [nvarchar](100) NOT NULL,
  [CreatedOn] [datetime] NOT NULL CONSTRAINT [DF_Nop_ProductContent_CreatedOn]  DEFAULT (getdate()),
  [UpdatedOn] [datetime] NOT NULL CONSTRAINT [DF_Nop_ProductContent_UpdatedOn]  DEFAULT (getdate()),
CONSTRAINT [PK_Nop_ProductContent] PRIMARY KEY CLUSTERED
(
  [ProductId] ASC,
  [LanguageId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
ALTER TABLE [dbo].[Nop_ProductContent]  WITH CHECK ADD  CONSTRAINT [FK_Nop_ProductContent_Nop_Language] FOREIGN KEY([LanguageId])
REFERENCES [dbo].[Nop_Language] ([LanguageId])
GO
ALTER TABLE [dbo].[Nop_ProductContent] CHECK CONSTRAINT [FK_Nop_ProductContent_Nop_Language]
GO
ALTER TABLE [dbo].[Nop_ProductContent]  WITH CHECK ADD  CONSTRAINT [FK_Nop_ProductContent_Nop_Product] FOREIGN KEY([ProductId])
REFERENCES [dbo].[Nop_Product] ([ProductId])
GO
ALTER TABLE [dbo].[Nop_ProductContent] CHECK CONSTRAINT [FK_Nop_ProductContent_Nop_Product]


SPROC:

ALTER PROCEDURE [dbo].[Nop_ProductLoadByPrimaryKey]
(
  @ProductID int,
  @LanguageID int = 0,
  @IsAdmin bit = 0
)
AS
BEGIN
  -- UPDATE FOR MULTI LANGUAGE.
  -- Will select the requested language
  SET NOCOUNT ON
  SELECT
    np.ProductId,  
    [Name] =  
      CASE
        WHEN NOT pc.Name IS NULL THEN pc.Name -- If a language translation exists, then make this default
        ELSE np.Name -- no language exists? then take from nop_Product
      END,
    ShortDescription =
      CASE
        WHEN NOT pc.ShortDescription IS NULL THEN pc.ShortDescription -- If a language translation exists, then make this default
        ELSE np.ShortDescription -- no language exists? then take from nop_Product
      END,
    FullDescription =
      CASE
        WHEN NOT pc.FullDescription IS NULL THEN pc.FullDescription -- If a language translation exists, then make this default
        ELSE np.FullDescription -- no language exists? then take from nop_Product
      END,
    np.AdminComment,
    np.ProductTypeID, np.TemplateID, np.ShowOnHomePage,
    MetaKeywords =
      CASE
        WHEN NOT pc.MetaKeywords IS NULL THEN pc.MetaKeywords -- If a language translation exists, then make this default
        ELSE np.MetaKeywords -- no language exists? then take from nop_Product
      END,       
    MetaDescription =
      CASE
        WHEN NOT pc.MetaDescription IS NULL THEN pc.MetaDescription -- If a language translation exists, then make this default
        ELSE np.MetaDescription -- no language exists? then take from nop_Product
      END,   
    MetaTitle =
      CASE
        WHEN NOT pc.MetaTitle IS NULL THEN pc.MetaTitle -- If a language translation exists, then make this default
        ELSE np.MetaTitle -- no language exists? then take from nop_Product
      END,       
    SEName =
      CASE
        WHEN NOT pc.SEName IS NULL THEN pc.SEName -- If a language translation exists, then make this default
        ELSE np.SEName -- no language exists? then take from nop_Product
      END,         
    np.AllowCustomerReviews, np.AllowCustomerRatings, np.RatingSum,
    np.TotalRatingVotes, np.Published, np.Deleted, np.CreatedOn, np.UpdatedOn,
    np.Name as StandardName,
    np.ShortDescription as StandardShortDescription,
    np.FullDescription as StandardFullDescription,
    np.MetaKeywords as StandardMetaKeywords,
    np.MetaDescription as StandardMetaDescription,
    np.SEName as StandardSEName
  FROM [Nop_Product] as np
    LEFT OUTER JOIN Nop_ProductContent pc
      ON np.ProductId = pc.ProductId AND pc.LanguageId = @LanguageID
  WHERE
    (np.ProductID = @ProductID)
END
10 years ago
I would be happy to coorporate with anybody, who is willing to make an Effort ASAP.

I have talked to Andrei from NC team (thanks for Support btw!).

My intention is to be able to:

- be able to translate any product categories
- be able to translate any products

This will happen from frontend, where you login as a translater, you will get the default language displayed and the language you wish to translate to. This will make it easier to translate if they have the original descriptions at hand. Also in my mind, it makes sense to make it available to the frontend.

Anybody interested in being co-producer on this?

It will be send to the nc team when finished. So you will have it before the next version arrives. I do not intend to make it public here, I am only looking to get it included in future releases....

Anyways, post here. Say if you are interested in DEVELOPING. we create an SVN rep for it on codeplex then...

B.R

Chris
10 years ago
PS. the above table and sproc are just guidelines.

I intend to try to change as little as possible along the way for easier update, but it is a major function so I have to change multiple places.