View Full Version: Đã được thực hiện Thông tư kiểm tra và chuyển đổi của các API để giữ cho dòng chảy của bản dịch
Simon Lloyd
04-10-11, 01:10
Tôi có giới hạn ký tự của tôi cho google đặt cho 100.000 perday vì vậy với cài đặt của tôi "Luôn luôn sử dụng Google", "Sử dụng Google API V2", "Sử dụng Google Detection" khi tôi đạt đến giới hạn đó và không còn được kết quả từ Google trả tiền nó sẽ có thể miễn phí các API sau đó bắt đầu sản xuất kết quả?
Như vậy ví dụ tôi sử dụng giới hạn đặt trước Google của tôi và Google không trả về kết quả cho tôi (có thể trở về một mã lỗi như những mã thử nghiệm Google của bạn) khi kết quả không trả lại nó sẽ là tốt nếu vBET tự động công nhận các mã lỗi và sau đó gửi yêu cầu đến một API giống như Microsoft (hoặc bất kỳ những người khác rằng vBET sau đó hỗ trợ) theo cách này chúng tôi được đảm bảo nhận được một số kết quả - cho tôi điều này sẽ rất rất có giá trị cho rằng không có giới hạn ngay cả với các phiên bản trả tiền, nó sẽ cho phép bạn mở rộng giới hạn bản dịch của bạn.
Ví dụ như
Google đặt 100.000 Charcters mỗi ngày > sử dụng hết > vBET di chuyển đến tiếp theo API trong danh sách > Microsoft 400 k / giờ hoặc 4 M khi giới hạn đạt vBET kiểm tra tiếp theo API và trước để xem nếu giới hạn được nâng lên hay có một số phụ cấp > hoặc di chuyển đến tiếp theo API hoặc quay lại Google trả tiền khi giới hạn đã đạt đến một lần nữa > kiểm tra tiếp theo API.... vv và do đó, kiểm tra thông tư sau khi recieving một mã lỗi sẽ mang về, do đó có khá nhiều khả năng liên tục có bản dịch.
Tôi hiểu các mô tả, điểm của bạn. Bây giờ chúng ta phải tìm hiểu làm thế nào nó giả sử để làm việc về kỹ thuật.
Một trong những vấn đề tôi thấy ở đây là làm thế nào chúng tôi sẽ nhận ra rằng chúng tôi đã có giới hạn có sẵn sau khi những người trong trường hợp đạt được trước khi.
Chúng tôi chỉ đơn giản là mỗi khi có thể yêu cầu nhà cung cấp ưa thích và sau đó đi đến kế tiếp. Điều này sẽ có giá hiệu suất - bởi vì cho mỗi yêu cầu đến trang mà đòi hỏi phải dịch, chúng tôi sẽ thực hiện cuộc gọi không thành công tới nhà cung cấp ưa thích, sau đó để tiếp theo một (do đó, nó có thể một số các cuộc gọi không thành công khi vBET sẽ hỗ trợ bộ API).
Giải pháp khác sẽ là để lưu trữ thông tin mà nhà cung cấp ưa thích không phải là có sẵn và đi trực tiếp đến kế tiếp nhất. Điều này sẽ là nhanh hơn nhiều, vì kiểm tra biến địa phương là nhanh hơn nhiều so với chờ đợi phản ứng từ bên ngoài máy chủ. Thời gian này chúng tôi có vấn đề khác - chúng tôi không biết khi nhà cung cấp ưa thích có sẵn. Chúng tôi có thể của khóa học đã thực hiện một số tác vụ theo lịch mà sẽ yêu cầu đơn giản (ngắn) dịch ví dụ một lần mỗi giờ/ngày để kiểm tra xem nó. Vì vậy, trong chiến lược này, chúng ta phải quyết định như thế nào thường mặc định công việc như vậy cho rằng để làm việc. Tất nhiên, chúng tôi sẽ kiểm tra nó chỉ khi một số nhà cung cấp được đánh dấu là không có sẵn.
Ngoài ra nếu chúng tôi đánh dấu các nhà cung cấp như là không sẵn dùng - những việc cần làm khi chúng tôi biết rằng tất cả các nhà cung cấp không có sẵn - thêm một số thông tin cho người dùng cuối hoặc chỉ dịch những gì là trong bộ nhớ cache và phần còn lại như bản gốc, mà không có bất kỳ thông tin bổ sung về sự thiếu tạm thời của các nhà cung cấp dịch.
Không có vấn đề mà theo cách nó sẽ được thực hiện, Google sẽ được đối xử như một API (v1 hoặc v2 tùy thuộc vào cấu hình) - không có ý nghĩa để tách nó, bởi vì Google v1 sẽ đóng cửa rất sớm.
Một điều là cho phép để cấu hình các nhà cung cấp hàng cho mỗi cặp ngôn ngữ một cách riêng biệt. Tại thời điểm này vBET đã được cho phép để cấu hình nhà cung cấp dịch cho mỗi cặp ngôn ngữ. Tôi nghĩ rằng chúng tôi có thể đổi nó từ một giá trị thành comma separated values (CSV). Bằng cách này chúng tôi sẽ biết cho mỗi cặp ngôn ngữ mà các nhà cung cấp hỗ trợ dịch thuật này và những gì đang có thứ tự ưu tiên (chỉ thứ tự danh sách CSV).
Xin lưu Ý: điều này sẽ có một số tác động hiệu suất anyway. Thay vì của việc tạo ra một đối tượng cho dịch thuật, chúng tôi sẽ có để tạo ra mảng của các đối tượng và các đối tượng bổ sung gói (để làm cho nó trong suốt cho các bộ phận khác của mã và ít lỗi dễ bị). Tất nhiên, chúng tôi sẽ không tạo ra các đối tượng cho các nhà cung cấp chúng ta biết là không có sẵn tại thời điểm này.
Giải pháp này sẽ là cấu hình lại cho hiệu suất tốt hơn và loại bỏ các nhà cung cấp hàng đợi - cũng giống như nó ngay bây giờ - là một trong những nhà cung cấp cho mỗi cặp ngôn ngữ.
Điều này không nên được đắt đối với hiệu suất, nhưng vẫn còn một số bổ sung logic và bộ nhớ tiêu thụ.
Xin vui lòng cho giải pháp nào được ưa thích.
Và một trong những giải pháp nhiều tiềm năng. Nếu chúng tôi sẽ đánh dấu toàn bộ API như là không có sẵn và kiểm tra nó bằng cách tác vụ theo lịch là nó có sẵn bây giờ, sau đó chúng tôi không có để làm cho hàng đợi của các nhà cung cấp. Chúng tôi có thể làm điều này cách - luôn luôn được tạo ra chỉ có một dịch giả đối tượng (sử dụng bộ nhớ tốt hơn) và trong một trong những yêu cầu chúng tôi yêu cầu bản dịch chỉ có một nhà cung cấp (tốt hơn CPU). Nếu nó sẽ không có sẵn, sau đó nó sẽ được đánh dấu là không có sẵn và kết quả sẽ được có sản phẩm nào (kém nhất đáng tin cậy). Nhưng chỉ thứ nhất, bởi vì thời gian tiếp theo chúng tôi sẽ sử dụng một nhà cung cấp từ hàng đợi. Và trong trường hợp nếu không có nhà cung cấp có sẵn, sau đó giả dịch sẽ được sử dụng - trở lại cùng các giá trị (nhưng không nhớ cache nó) vì vậy một số khu vực sẽ được không dịch nhưng trang sẽ không có sản phẩm nào phần giống như bây giờ khi nhà cung cấp là không có sẵn.
Thông báo chỉ nhanh - chúng tôi đã thực hiện tính năng này.
Chúng tôi muốn phát hành nó nhanh (như phiên bản BETA) vì các vấn đề phổ biến, do giới hạn thiết lập bởi các nhà cung cấp bản dịch. Chúng tôi cũng đang tìm kiếm các API mà có thể được hỗ trợ bởi vBET:)
Simon Lloyd
04-10-11, 22:36
Suy nghĩ của tôi đã gửi cho việc kiểm tra dịch đầu tiên để xem nếu ưa thích nhà cung cấp có sẵn, vì vậy bạn đã cho chúng tôi mã để kiểm tra nếu google hoặc MS là đáp ứng, do đó, vào thời gian của cuộc gọi cho dịch thử nghiệm googleapi (tên của tập tin của tôi thử nghiệm với mã thử nghiệm của bạn) nếu dịch là thật sự sử dụng preffered, khi dịch là flase hoặc mã không phải là 200 sau đó hãy thử nhà cung cấp tiếp theo trong danh sách và thực hiện kiểm tra api của họ trước khi sử dụng.
Bạn có thể có một listbox nơi người dùng có thể danh sách mỗi nhà cung cấp một trong mỗi dòng theo thứ tự ưu tiên (điều này cho phép khi bạn thêm hỗ trợ cho các API người dùng chỉ có thể thêm chúng vào danh sách), do đó, danh sách của tôi có thể giống như thế này:
Microsoft
MyTranslator
Google
YourTranslator
AnOtherTranslator
Giả sử hơi điên tên tôi đã nhập là nhà cung cấp thực sự trên gọi cho dịch MS kiểm tra mã sẽ chạy, nếu sử dụng phản ứng 200 MS nếu không chạy MyTranslator thử mã, kiểm tra phản ứng cho 200 nếu có sử dụng nó nếu không chạy Google kiểm tra mã ********** vv
Bằng cách này bạn không bao giờ có để lưu trữ thông tin về các nhà cung cấp (nếu không bạn có thể có văn bản hộp nơi người dùng có thể nhập giới hạn thiết lập của họ cho mỗi nhà cung cấp nhưng tôi nghĩ rằng wuld thông tin này là vô ích như họ có thể thay đổi nó và nó có nghĩa là nhiều hơn nữa kiểm tra lại và kiểm tra về phía trước trước khi thực hiện một bản dịch) bạn sẽ không bao giờ phải lo lắng nếu giới hạn đã có sẵn một lần nữa vì vậy có nhu cầu cho một cron job chạy để kiểm tra xem đây, tải trên máy chủ cho rằng một bản dịch nhỏ kiểm tra (mã bạn cung cấp trong FAQ) sẽ không có gì.
Hy vọng rằng tôi đã giải thích rằng ok để bạn có được ý tưởng của tôi, tôi nghĩ rằng nó có thể tất cả được thực hiện chỉ bằng cách đó kiểm tra nhỏ và không có lưu trữ bất cứ điều gì.
Simon Lloyd
04-10-11, 22:37
Thông báo chỉ nhanh - chúng tôi đã thực hiện tính năng này.
Chúng tôi muốn phát hành nó nhanh (như phiên bản BETA) vì các vấn đề phổ biến, do giới hạn thiết lập bởi các nhà cung cấp bản dịch. Chúng tôi cũng đang tìm kiếm cho các API mà có thể được hỗ trợ bởi vBET:) tôi gửi cho bạn một hoặc hai (trong một bài đăng bạn đã xoá vì trong những kết nối) mà bạn có thể tiếp cận, nếu bạn muốn có một phiên bản beta tình nguyện tôi người đàn ông của bạn:)
Tôi đã gửi cho bạn một hoặc hai (trong một bài đăng bạn đã xoá vì trong những kết nối) mà bạn có thể tiếp cận, nếu bạn muốn có một phiên bản beta tình nguyện tôi người đàn ông của bạn:)
Tin nhắn của bạn đã được nhẹ nhàng xóa bỏ, vì nội dung của nó là quảng cáo bằng văn bản của người khác, nhưng chúng tôi có quyền truy cập vào thông báo này và chúng tôi đang trên nó:)
Chúng tôi thậm chí đã gửi email câu hỏi đến một trong những nhà cung cấp bản dịch về thanh toán chi tiết. Một số những người được trả tiền (ngay cả khi nó được miêu tả như Việt CNTT không trên API cấp - cùng một điều bạn có với Google bạn có thể dịch miễn phí của trình duyệt, nhưng không phải bởi API), nhưng giá có thể cạnh tranh, do đó, nó vẫn còn tốt (nhiều hơn đối thủ cạnh tranh tốt hơn giá).
Một số chúng tôi đã điều tra là những thực sự bên ngoài tham khảo API hoặc chỉ cần địa phương từ điển bằng văn bản của người dùng riêng (đây cũng là một điều vào danh sách cần làm của chúng tôi - cho phép để sửa đổi và đưa bản dịch của riêng) - Radek có phần này.
Vì vậy, chúng tôi đang làm việc để cải thiện vBET và đã làm cho nó như là giá rẻ trong việc sử dụng càng:)
Chúng tôi đang trong giai đoạn cuối cùng của tesing chức năng mới. Bạn đã thấy thay đổi mô tả: http://www.vbenterprisetranslator.com/forum/vbet4-troubleshooting/413-faq-2.html#post8914 (xem lưu ý cuối cùng)
Simon Lloyd
05-10-11, 18:03
Cảm ơn Michael, tôi thực hiện một bài nhanh chóng trong taht câu hỏi thường gặp, không có nghi ngờ bạn sẽ phải gỡ bỏ bởi vì nó không đúng nơi cho nó:) nếu bạn muốn thử nghiệm trên một một ban trực tiếp cho các cuộc gọi nhiều dịch PM tôi và tôi sẽ cho bạn truy cập vào thư mục gốc admincp và diễn đàn, tôi cũng sẽ đặt giới hạn dịch google tôi đã thiết lập lên và xuống tại lệnh của bạn do đó, bạn có thể thử nghiệm:)
OK như vậy. Các nhà cung cấp hàng đợi được thực hiện và nó sẽ được bao gồm trong bản phát hành 3.5.1 và 4.4.3. vBET 3.5.1 sẽ được phát hành ngày hôm nay. vBET4.4.3 là vẫn còn trong giai đoạn thử nghiệm. Booth chí sẽ BETA để tất cả mọi người có thể thử nghiệm nó trong các diễn đàn lớn hơn kiểm tra một trong. Xin lưu ý rằng chúng tôi đang thử nghiệm đã 3.5.1 ngày một trong diễn đàn của chúng tôi thực sự. Vẫn còn do thay đổi quan trọng đó là trong giai đoạn BETA đầu tiên.
Simon Lloyd
06-10-11, 06:59
Nó cần phải là một nhiệm vụ theo lịch trình và một trong những nhà cung cấp cụ thể được tắt cho một giờ tại một thời điểm?, tôi đã thực hiện một đề nghị thông tư ở đây kiểm tra và chuyển đổi của các API để giữ cho dòng chảy của bản dịch mà có lẽ chúng ta có thể luôn luôn bắt đầu ở đầu danh sách các nhà cung cấp của chúng tôi và làm cho kiểm tra cuộc gọi (như là một trong những bạn cung cấp để kiểm tra phản ứng Google và Microsoft phản ứng) nếu kiểm tra cuộc gọi phản ứng 200 hoặc văn bản được dịch sau đó sử dụng rằng nhà cung cấp, nếu các phản ứng không là 200 hoặc bài kiểm tra văn bản không được dịch (sử dụng cùng văn bản cho mỗi bài kiểm tra và REGEX kiểm tra văn bản dịch) thì di chuyển đến nhà cung cấp tiếp theo, mỗi cuộc gọi dịch sau đó có thể bắt đầu ở đầu danh sách và làm việc xuống
Không có một kết quả có sản phẩm nào sẽ là tốt bởi vì một khi chúng tôi có một thats trả lại có sản phẩm nào như thế nào nó vẫn còn, tôi đã có rất nhiều người phàn nàn rằng đây là trường hợp trong diễn đàn của tôi.
Nó không có bằng cách này, nó ngay bây giờ. Cảm ơn bạn đã lưu ý của bạn. Vẫn còn – không có. Đô thị này có không có ý nghĩa. Xin lưu ý rằng yêu cầu cho bên ngoài dịch hơn thời gian điều trong toàn bộ vBET (và nó không phải là đến với chúng tôi). Không có ý nghĩa để điên ngàn và yêu cầu khi chúng tôi đã đạt đến giới hạn. Điều này sẽ increaser thời gian phản ứng, CPU tiêu thụ và tiêu thụ bộ nhớ cũng (đối tượng bộ tạo).
Chúng tôi phát hiện ra rằng thông tin Google về có lẽ lạm dụng TOS biến mất sau một thời gian. Chúng tôi không biết, nhưng có lẽ nếu chúng tôi sẽ tiếp tục yêu cầu khi chúng tôi đang bị chặn, Google có thể chặn cho nhiều thời gian hơn. Có lẽ không, nhưng vẫn còn thực tế chiến lược tốt hơn nhiều cho hiệu suất. Cuối cùng bạn đã kiểm tra thông tư. Nếu một trong những không phải là có sẵn nó được đánh dấu là không có sẵn và khác được sử dụng. Nếu khác không phải là có sẵn sau đó cùng một điều xảy ra. Chúng tôi chỉ không chọn là nó có sẵn một lần nữa mỗi yêu những gì đã không có ý nghĩa (nó có thể là hàng triệu truy vấn trước khi nó sẽ có sẵn) chỉ một lần mỗi giờ. Và nếu nó sẽ có sẵn nó sẽ tôi đánh dấu do đó chúng tôi sẽ trở lại một trong những ưa thích - và bạn có một vòng tròn ở đây. Cũng thử nghiệm mỗi thời gian sẽ được thực hiện giới hạn của bạn đạt đến nhanh hơn hoặc thanh toán chi phí cao hơn nếu bạn sử dụng dịch (nó vẫn còn đếm là dịch).
Ngoài ra, chúng tôi được chuẩn bị để có nhà cung cấp khác quá. Khi chúng tôi sẽ hỗ trợ nhiều hơn 2 chiến lược như vậy sẽ có một kẻ giết người đối với máy chủ của bạn. Hãy tưởng tượng 5 kiểm tra các cuộc gọi đến các nhà cung cấp khác nhau và sau đó thực dịch cho mỗi yêu cầu dịch thuật. Không. Cảm ơn cho ý tưởng của bạn:) Chúng tôi thực sự đánh giá cao những ý tưởng người sử dụng, thời gian này chúng tôi sẽ ở lại với các giải pháp thực tế.
Xin lưu ý rằng bạn có thể thay đổi như thế nào thường vBET nên kiểm tra xem nhà cung cấp sẵn có. Bây giờ nó là một trong một giờ, nhưng bạn có thể cấu hình lại rằng trong Admin CP - > dự kiến nhiệm vụ - > quản lý tác vụ theo lịch trình và thiết lập nó chẳng hạn cho mỗi 10 phút 0 cũng giống như công việc RSS Poster Robot làm điều đó bây giờ.
Rất ít thay đổi được thực hiện - chúng tôi sẽ kiểm tra xem nhà cung cấp sẵn có không một lần mỗi giờ nhưng mỗi 10 phút. Nếu bạn nâng cấp để vBET 3.5.1 trước khi thông báo này xin vui lòng chỉ cần tải về vBET gói một lần nữa và tải lên tập tin sản phẩm một lần nữa.
Sự thay đổi đã được thực hiện bởi vì chúng tôi tìm thấy trên diễn đàn của chúng tôi thực sự mà thường nhà cung cấp không có sẵn trong thời gian ngắn. Chúng tôi sẽ điều tra nó nhiều hơn nữa để tìm các cải tiến khác.
Simon Lloyd
06-10-11, 15:51
Great guys làm việc:), tôi đã nâng cấp này nhưng sẽ tải về mới nhất sửa chữa và sử dụng rằng, tôi sẽ tạo ra một chủ đề mới cho thông tin phản hồi về điều này.
Automatic Translations (Powered by Google, Microsoft®,
Yandex, SDL Language Cloud, IBM Watson and Apertium):
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.