源代碼的多語言化方法及系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明涉及源代碼語言版本修改技術領域,特別是涉及源代碼的多語言化方法及 系統(tǒng)。
【背景技術】
[0002] 隨著電子設備的智能化和普及化,各種電子設備上的應用程序也越來越多。不同 國家和地區(qū)的人通過同一款應用程序(如Facebook)進行交流的情況也越來越多。但由于 不同國家和地區(qū)所使用的語言不盡相同,因此軟件商還需要提供多種不同語言版本的應用 程序供不同用戶使用。尤其是在該國已經(jīng)比較成熟和知名的軟件,希望進行全球化銷售時, 軟件廠商將面臨著一個多語言化的難題,要么重新編寫代碼,要么對原來的源代碼進行多 語言化的改造。
[0003] 現(xiàn)有的提供具有多種不同語言版本的應用程序的方法如下:
[0004] 在源代碼編寫過程中,需要輸出文本串時,使用中間函數(shù)實現(xiàn)多語言版本擴展。該 中間函數(shù)需要首先獲取當前語言類型(如中文),然后根據(jù)當前語言類型獲取相應的語言文 件(多語言庫),從語言文件中提取匹配的文本串(如日文)以進行顯示。
[0005] 可見,上述方法需要編程技術人員在編程的時候就寫入中間函數(shù)來獲得文本串并 進行顯示,中間函數(shù)的寫入降低了數(shù)據(jù)的讀取效率,同時由于需要編程技術人員掌握中間 函數(shù)并在編程過程中每遇到文本串就使用該中間函數(shù),也造成了編寫過程的緩慢和出錯率 高。大多數(shù)軟件開始創(chuàng)建時,并不一定按照多語言化的長遠需求進行編寫,因此后期再進 行多語言化時,需要編程技術人員學習原來的單語言源代碼,然后在原來的單語言源代碼 基礎上寫入中間函數(shù),進行多語言化的改造,這將造成工作量增加,拖延多語言化工作的進 程。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明實施例的目的在于提供一種源代碼的多語言化方法及系統(tǒng),以提高對源代 碼進行多語言化的工作效率。
[0007] 為達到上述目的,本發(fā)明實施例公開了一種源代碼的多語言化方法,包括 :
[0008] 獲取原始源代碼中的原始語言文本串;
[0009] 獲取與所述原始語言文本串對應的目標語言文本串;
[0010] 生成對應存儲有所述原始語言文本串和至少一個所述目標語言文本串的語言配 置文件;
[0011] 根據(jù)所述語言配置文件及所述原始源代碼,生成目標語言版本的源代碼。
[0012] 優(yōu)選的,還包括:將所述目標語言版本的源代碼編譯為所述目標語言版本的應用 程序。
[0013] 優(yōu)選的,所述獲取原始源代碼中的原始語言文本串,包括:
[0014] 確定原始源代碼中的文本串分隔符;
[0015] 獲取所述原始源代碼中相互對應的所述文本串分隔符之間的原始語言文本串。
[0016] 優(yōu)選的,所述確定原始源代碼中的文本串分隔符,包括:
[0017] 獲得原始源代碼的程序語言類型;
[0018] 根據(jù)所述程序語言類型,將與所述程序語言類型匹配的文本串分隔符確定為所述 原始源代碼中的文本串分隔符。
[0019] 優(yōu)選的,所述獲得原始源代碼的程序語言類型,包括:
[0020] 獲得用戶輸入的原始源代碼的程序語言類型;
[0021] 或者,對原始源代碼的程序語言類型進行識別,獲得所述原始源代碼的程序語言 類型。
[0022] 優(yōu)選的,所述獲取與所述原始語言文本串對應的目標語言文本串,包括:
[0023] 接收用戶對語言類型的第一選擇指令;
[0024] 根據(jù)所述第一選擇指令確定目標語言的類型;
[0025] 將所述原始語言文本串翻譯為與所述原始語言文本串對應的目標語言文本串,所 述目標語言文本串的語言類型屬于所述目標語言的類型。
[0026] 優(yōu)選的,所述根據(jù)所述語言配置文件及所述原始源代碼,生成目標語言版本的源 代碼,包括:
[0027] 接收用戶對所確定的目標語言類型的第二選擇指令;
[0028] 依據(jù)所述語言配置文件及所述原始源代碼生成與所述第二選擇指令對應的目標 語言版本的源代碼。
[0029] 優(yōu)選的,所述依據(jù)所述語言配置文件及所述原始源代碼生成與所述第二選擇指令 對應的目標語言版本的源代碼,包括:
[0030] 根據(jù)所述語言配置文件中原始語言文本串和至少一個目標語言文本串的對應關 系,將所述原始源代碼中的原始語言文本串替換為與所述第二選擇指令對應的目標語言文 本串,生成與所述第二選擇指令對應目標語言版本的源代碼;
[0031] 或者,獲得所述原始源代碼的副本,根據(jù)所述語言配置文件中原始語言文本串和 至少一個目標語言文本串的對應關系,將所述原始源代碼的副本中的原始語言文本串替換 為與所述第二選擇指令對應的目標語言文本串,生成與所述第二選擇指令對應目標語言版 本的源代碼。
[0032] 優(yōu)選的,所述依據(jù)所述語言配置文件及所述原始源代碼生成目標語言版本的源代 碼,包括:
[0033] 依據(jù)所述語言配置文件及所述原始源代碼生成與所述第一選擇指令對應的目標 語言版本的源代碼。
[0034] 優(yōu)選的,所述依據(jù)所述語言配置文件及所述原始源代碼生成與所述第一選擇指令 對應的目標語言版本的源代碼,包括:
[0035] 根據(jù)所述語言配置文件中原始語言文本串和至少一個目標語言文本串的對應關 系,將所述原始源代碼中的原始語言文本串替換為所述語言配置文件中與所述原始語言文 本串相對應的目標語言文本串,生成與所述第一選擇指令對應目標語言版本的源代碼;
[0036] 或者,獲得所述原始源代碼的副本,根據(jù)所述語言配置文件中原始語言文本串和 至少一個目標語言文本串的對應關系,將所述原始源代碼的副本中的原始語言文本串替換 為所述語言配置文件中與所述原始語言文本串相對應的目標語言文本串,生成與所述第一 選擇指令對應目標語言版本的源代碼。
[0037] 優(yōu)選的,根據(jù)所述第一選擇指令確定的目標語言的類型為n種,對所述原始語言 文本串進行翻譯后生成的語言配置文件中每一個原始語言文本串對應n種類型目標語言 的n個目標語言文本串,用戶通過所述第二選擇指令所選擇的目標語言的類型為m種,m和 n均為正整數(shù),且n>m,所述獲得所述原始源代碼的副本,根據(jù)所述語言配置文件中原始語 言文本串和至少一個目標語言文本串的對應關系,將所述原始源代碼的副本中的原始語言 文本串替換為與所述第二選擇指令對應的目標語言文本串,生成與所述第二選擇指令對應 目標語言版本的源代碼,包括:
[0038] 獲得所述原始源代碼的m個副本;
[0039] 根據(jù)所述語言配置文件中原始語言文本串和至少一個目標語言文本串的對應關 系,分別將所述原始源代碼的m個副本中的原始語言文本串替換為與所述第二選擇指令對 應的一種目標語言的目標語言文本串,生成與所述第二選擇指令對應的m個目標語言版本 的源代碼。
[0040] 優(yōu)選的,根據(jù)所述第一選擇指令確定的目標語言的類型為n種,對所述原始語言 文本串進行翻譯后生成的語言配置文件中每一個原始語言文本串對應n種類型目標語言 的n個目標語言文本串,n為正整數(shù),所述獲得所述原始源代碼的副本,根據(jù)所述語言配置 文件中原始語言文本串和至少一個目標語言文本串的對應關系,將所述原始源代碼的副本 中的原始語言文本串替換為所述語言配置文件中與所述原始語言文本串相對應的目標語 言文本串,生成與所述第一選擇指令對應目標語言版本的源代碼,包括 :
[0041] 獲得所述原始源代碼的n個副本;
[0042] 根據(jù)所述語言配置文件中原始語言文本串和至少一個目標語言文本串的對應關 系,分別將所述原始源代碼的n個副本中的原始語言文本串替換為所述語言配置文件中與 所述原始語言文本串相對應的一種目標語言的目標語言文本串,生成與所述第一選擇指令 對應的n個目標語言版本的源代碼。
[0043] 優(yōu)選的,在根據(jù)所述語言配置文件及所述原始源代碼,生成目標語言版本的源代 碼后,還包括:
[0044] 判斷所述目標語言版本的源代碼中是否存在所述原始語言文本串,如果存在,則 輸出提示信息以提示用戶。
[0045] 優(yōu)選的,所述輸出提示信息以提示用戶,包括:
[0046] 獲得所述目標語言版本的源代碼中存在的所述原始語言文本串的位置信息;
[0047] 將所述位置信息輸出給用戶。
[0048] 一種源代碼的多語言化系統(tǒng),包括:原始語言文本串獲得單元、目標語言文本串獲 得單元、文件生成單元和目標語言代碼生成單元,
[0049] 所述原始語言文本串獲得單元,用于獲取原始源代碼中的原始語言文本串;
[0050] 所述目標語言文本串獲得單元,用于獲取與所述原始語言文本串對應的目標語言 文本串;
[0051] 所述文件生成單元,用于生成對應存儲有所述原始語言文本串和至少一個所述目 標語言文本串的語言配置文件;
[0052] 所述目標語言代碼生成單元,用于根據(jù)所述語言配置文件及所述原始源代碼生成 目標語言版本的源代碼。
[0053] 優(yōu)選的,還包括:應用程序編譯單元,用于將所述目標語言版本的源代碼編譯為所 述目標語言版本的應用程序。
[0054] 優(yōu)選的,所述原始語言文本串獲得單元,包括:分隔符確定子單元和文本串獲得子 單元,
[0055] 所述分隔符確定子單元,用于確定原始源代碼中的文本串分隔符;
[0056] 所述文本串獲得子單元,用于獲取所述原始源代碼中相互對應的所述文本串分隔 符之間的原始語言文本串。
[0057] 優(yōu)選的,所述分隔符確定子單元,包括:語言類型獲得子單元和分隔符子單元,
[0058] 所述語言類型獲得子單元,用于獲得原始源代碼的程序語言類型;
[0059] 所述分隔符子單元,用于根據(jù)所述程序語言類型,將與所述程序語言類型匹配的 文本串分隔符確定為所述原始源代碼中的文本串分隔符。
[0060] 優(yōu)選的,所述語言類型獲得子單元,包括:用戶輸入子單元或識別子單元,
[0061] 所述用戶輸入子單元,用于獲得用戶輸入的原始源代碼的程序語言類型;
[0062] 所述識別子單元,用于對原始源代碼的程序語言類型進行識別,獲得所述原始源 代碼的程序語言類型。
[0063] 優(yōu)選的,所述目標語言文本串獲得單元,包括:第一指令接收子單元、目標語言確 定子單元和翻譯子單元;
[0064] 所述第一指令接收子單元,用于接收用戶對語言類型的第一選擇指令;
[0065] 所述目標語言確定子單元,用于根據(jù)所述第一選擇指令確定目標語言的類型;
[0066] 所述翻譯子單元,用于將所述原始語言文本串翻譯為與所述原始語言文本串對應 的目標語言文本串,所述目標語言文本串的語言類型屬于所述目標語言的類型。
[0067] 優(yōu)選的,所述目標語言代碼生成單元,包括:第二指令接收子單元和第一代碼生成 子單元;
[0068] 所述第二指令接收子單元,用于接收用戶對所確定的目標語言類型的第二選擇指 令;
[0069] 所述第一代碼生成子單元,用于依據(jù)所述語言配置文件及所述原始源代碼生成與 所述第二選擇指令對應的目標語言版本的源代