Google Cloud Storage destination for output content. For every single input file (for example, gs://a/b/c.[extension]), we generate at most 2 * n output files. (n is the # of target_language_codes in the BatchTranslateTextRequest). Output files (tsv) generated are compliant with RFC 4180 except that record delimiters are '\n' instead of '\r\n'. We don't provide any way to change record delimiters. While the input files are being processed, we write/update an index file 'index.csv' under 'output_uri_prefix' (for example, gs://translation-test/index.csv) The index file is generated/updated as new files are being translated. The format is: input_file,target_language_code,translations_file,errors_file, glossary_translations_file,glossary_errors_file input_file is one file we matched using gcs_source.input_uri. target_language_code is provided in the request. translations_file contains the translations. (details provided below) errors_file contains the errors during processing of the file. (details below). Both translations_file and errors_file could be empty strings if we have no content to output. glossary_translations_file and glossary_errors_file are always empty strings if the input_file is tsv. They could also be empty if we have no content to output. Once a row is present in index.csv, the input/output matching never changes. Callers should also expect all the content in input_file are processed and ready to be consumed (that is, no partial output file is written). Since index.csv will be keeping updated during the process, please make sure there is no custom retention policy applied on the output bucket that may avoid file updating. (https://cloud.google.com/storage/docs/bucket-lock#retention-policy) The format of translations_file (for target language code 'trg') is: gs://translation_test/a_b_c_'trg'_translations.[extension] If the input file extension is tsv, the output has the following columns: Column 1: ID of the request provided in the input, if it's not provided in the input, then the input row number is used (0-based). Column 2: source sentence. Column 3: translation without applying a glossary. Empty string if there is an error. Column 4 (only present if a glossary is provided in the request): translation after applying the glossary. Empty string if there is an error applying the glossary. Could be same string as column 3 if there is no glossary applied. If input file extension is a txt or html, the translation is directly written to the output file. If glossary is requested, a separate glossary_translations_file has format of gs://translation_test/a_b_c_'trg'_glossary_translations.[extension] The format of errors file (for target language code 'trg') is: gs://translation_test/a_b_c_'trg'_errors.[extension] If the input file extension is tsv, errors_file contains the following: Column 1: ID of the request provided in the input, if it's not provided in the input, then the input row number is used (0-based). Column 2: source sentence. Column 3: Error detail for the translation. Could be empty. Column 4 (only present if a glossary is provided in the request): Error when applying the glossary. If the input file extension is txt or html, glossary_error_file will be generated that contains error details. glossary_error_file has format of gs://translation_test/a_b_c_'trg'_glossary_errors.[extension]
getGcsDestination
Google Cloud Storage destination for output content.
For every single input file (for example, gs://a/b/c.[extension]), we
generate at most 2 * n output files. (n is the # of target_language_codes
in the BatchTranslateTextRequest).
Output files (tsv) generated are compliant with RFC 4180 except that
record delimiters are '\n' instead of '\r\n'. We don't provide any way to
change record delimiters.
While the input files are being processed, we write/update an index file
'index.csv' under 'output_uri_prefix' (for example,
gs://translation-test/index.csv) The index file is generated/updated as
new files are being translated. The format is:
input_file,target_language_code,translations_file,errors_file,
glossary_translations_file,glossary_errors_file
input_file is one file we matched using gcs_source.input_uri.
target_language_code is provided in the request.
translations_file contains the translations. (details provided below)
errors_file contains the errors during processing of the file. (details
below). Both translations_file and errors_file could be empty
strings if we have no content to output.
glossary_translations_file and glossary_errors_file are always empty
strings if the input_file is tsv. They could also be empty if we have no
content to output.
Once a row is present in index.csv, the input/output matching never
changes. Callers should also expect all the content in input_file are
processed and ready to be consumed (that is, no partial output file is
written).
Since index.csv will be keeping updated during the process, please make
sure there is no custom retention policy applied on the output bucket
that may avoid file updating.
(https://cloud.google.com/storage/docs/bucket-lock#retention-policy)
The format of translations_file (for target language code 'trg') is:
gs://translation_test/a_b_c_'trg'_translations.[extension]
If the input file extension is tsv, the output has the following
columns:
Column 1: ID of the request provided in the input, if it's not
provided in the input, then the input row number is used (0-based).
Column 2: source sentence.
Column 3: translation without applying a glossary. Empty string if there
is an error.
Column 4 (only present if a glossary is provided in the request):
translation after applying the glossary. Empty string if there is an
error applying the glossary. Could be same string as column 3 if there is
no glossary applied.
If input file extension is a txt or html, the translation is directly
written to the output file. If glossary is requested, a separate
glossary_translations_file has format of
gs://translation_test/a_b_c_'trg'_glossary_translations.[extension]
The format of errors file (for target language code 'trg') is:
gs://translation_test/a_b_c_'trg'_errors.[extension]
If the input file extension is tsv, errors_file contains the following:
Column 1: ID of the request provided in the input, if it's not
provided in the input, then the input row number is used (0-based).
Column 2: source sentence.
Column 3: Error detail for the translation. Could be empty.
Column 4 (only present if a glossary is provided in the request):
Error when applying the glossary.
If the input file extension is txt or html, glossary_error_file will be
generated that contains error details. glossary_error_file has format of
gs://translation_test/a_b_c_'trg'_glossary_errors.[extension]
Google Cloud Storage destination for output content.
For every single input file (for example, gs://a/b/c.[extension]), we
generate at most 2 * n output files. (n is the # of target_language_codes
in the BatchTranslateTextRequest).
Output files (tsv) generated are compliant with RFC 4180 except that
record delimiters are '\n' instead of '\r\n'. We don't provide any way to
change record delimiters.
While the input files are being processed, we write/update an index file
'index.csv' under 'output_uri_prefix' (for example,
gs://translation-test/index.csv) The index file is generated/updated as
new files are being translated. The format is:
input_file,target_language_code,translations_file,errors_file,
glossary_translations_file,glossary_errors_file
input_file is one file we matched using gcs_source.input_uri.
target_language_code is provided in the request.
translations_file contains the translations. (details provided below)
errors_file contains the errors during processing of the file. (details
below). Both translations_file and errors_file could be empty
strings if we have no content to output.
glossary_translations_file and glossary_errors_file are always empty
strings if the input_file is tsv. They could also be empty if we have no
content to output.
Once a row is present in index.csv, the input/output matching never
changes. Callers should also expect all the content in input_file are
processed and ready to be consumed (that is, no partial output file is
written).
Since index.csv will be keeping updated during the process, please make
sure there is no custom retention policy applied on the output bucket
that may avoid file updating.
(https://cloud.google.com/storage/docs/bucket-lock#retention-policy)
The format of translations_file (for target language code 'trg') is:
gs://translation_test/a_b_c_'trg'_translations.[extension]
If the input file extension is tsv, the output has the following
columns:
Column 1: ID of the request provided in the input, if it's not
provided in the input, then the input row number is used (0-based).
Column 2: source sentence.
Column 3: translation without applying a glossary. Empty string if there
is an error.
Column 4 (only present if a glossary is provided in the request):
translation after applying the glossary. Empty string if there is an
error applying the glossary. Could be same string as column 3 if there is
no glossary applied.
If input file extension is a txt or html, the translation is directly
written to the output file. If glossary is requested, a separate
glossary_translations_file has format of
gs://translation_test/a_b_c_'trg'_glossary_translations.[extension]
The format of errors file (for target language code 'trg') is:
gs://translation_test/a_b_c_'trg'_errors.[extension]
If the input file extension is tsv, errors_file contains the following:
Column 1: ID of the request provided in the input, if it's not
provided in the input, then the input row number is used (0-based).
Column 2: source sentence.
Column 3: Error detail for the translation. Could be empty.
Column 4 (only present if a glossary is provided in the request):
Error when applying the glossary.
If the input file extension is txt or html, glossary_error_file will be
generated that contains error details. glossary_error_file has format of
gs://translation_test/a_b_c_'trg'_glossary_errors.[extension]
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Cloud Translation V3 Client - Class OutputConfig (2.0.3)\n\nVersion latestkeyboard_arrow_down\n\n- [2.0.3 (latest)](/php/docs/reference/cloud-translate/latest/V3.OutputConfig)\n- [2.0.2](/php/docs/reference/cloud-translate/2.0.2/V3.OutputConfig)\n- [1.21.0](/php/docs/reference/cloud-translate/1.21.0/V3.OutputConfig)\n- [1.20.2](/php/docs/reference/cloud-translate/1.20.2/V3.OutputConfig)\n- [1.19.0](/php/docs/reference/cloud-translate/1.19.0/V3.OutputConfig)\n- [1.18.1](/php/docs/reference/cloud-translate/1.18.1/V3.OutputConfig)\n- [1.17.7](/php/docs/reference/cloud-translate/1.17.7/V3.OutputConfig)\n- [1.16.0](/php/docs/reference/cloud-translate/1.16.0/V3.OutputConfig)\n- [1.15.4](/php/docs/reference/cloud-translate/1.15.4/V3.OutputConfig)\n- [1.14.3](/php/docs/reference/cloud-translate/1.14.3/V3.OutputConfig)\n- [1.13.3](/php/docs/reference/cloud-translate/1.13.3/V3.OutputConfig)\n- [1.12.12](/php/docs/reference/cloud-translate/1.12.12/V3.OutputConfig) \nReference documentation and code samples for the Cloud Translation V3 Client class OutputConfig.\n\nOutput configuration for BatchTranslateText request.\n\nGenerated from protobuf message `google.cloud.translation.v3.OutputConfig`\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ Translate \\\\ V3\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getGcsDestination\n\nGoogle Cloud Storage destination for output content.\n\nFor every single input file (for example, gs://a/b/c.\\[extension\\]), we\ngenerate at most 2 \\* n output files. (n is the # of target_language_codes\nin the BatchTranslateTextRequest).\nOutput files (tsv) generated are compliant with RFC 4180 except that\nrecord delimiters are '\\\\n' instead of '\\\\r\\\\n'. We don't provide any way to\nchange record delimiters.\nWhile the input files are being processed, we write/update an index file\n'index.csv' under 'output_uri_prefix' (for example,\ngs://translation-test/index.csv) The index file is generated/updated as\nnew files are being translated. The format is:\ninput_file,target_language_code,translations_file,errors_file,\nglossary_translations_file,glossary_errors_file\ninput_file is one file we matched using gcs_source.input_uri.\ntarget_language_code is provided in the request.\ntranslations_file contains the translations. (details provided below)\nerrors_file contains the errors during processing of the file. (details\nbelow). Both translations_file and errors_file could be empty\nstrings if we have no content to output.\nglossary_translations_file and glossary_errors_file are always empty\nstrings if the input_file is tsv. They could also be empty if we have no\ncontent to output.\nOnce a row is present in index.csv, the input/output matching never\nchanges. Callers should also expect all the content in input_file are\nprocessed and ready to be consumed (that is, no partial output file is\nwritten).\nSince index.csv will be keeping updated during the process, please make\nsure there is no custom retention policy applied on the output bucket\nthat may avoid file updating.\n(\u003chttps://cloud.google.com/storage/docs/bucket-lock#retention-policy\u003e)\nThe format of translations_file (for target language code 'trg') is:\n`gs://translation_test/a_b_c_'trg'_translations.[extension]`\nIf the input file extension is tsv, the output has the following\ncolumns:\nColumn 1: ID of the request provided in the input, if it's not\nprovided in the input, then the input row number is used (0-based).\nColumn 2: source sentence.\nColumn 3: translation without applying a glossary. Empty string if there\nis an error.\nColumn 4 (only present if a glossary is provided in the request):\ntranslation after applying the glossary. Empty string if there is an\nerror applying the glossary. Could be same string as column 3 if there is\nno glossary applied.\nIf input file extension is a txt or html, the translation is directly\nwritten to the output file. If glossary is requested, a separate\nglossary_translations_file has format of\n`gs://translation_test/a_b_c_'trg'_glossary_translations.[extension]`\nThe format of errors file (for target language code 'trg') is:\n`gs://translation_test/a_b_c_'trg'_errors.[extension]`\nIf the input file extension is tsv, errors_file contains the following:\nColumn 1: ID of the request provided in the input, if it's not\nprovided in the input, then the input row number is used (0-based).\nColumn 2: source sentence.\nColumn 3: Error detail for the translation. Could be empty.\nColumn 4 (only present if a glossary is provided in the request):\nError when applying the glossary.\nIf the input file extension is txt or html, glossary_error_file will be\ngenerated that contains error details. glossary_error_file has format of\n`gs://translation_test/a_b_c_'trg'_glossary_errors.[extension]`\n\n### hasGcsDestination\n\n### setGcsDestination\n\nGoogle Cloud Storage destination for output content.\n\nFor every single input file (for example, gs://a/b/c.\\[extension\\]), we\ngenerate at most 2 \\* n output files. (n is the # of target_language_codes\nin the BatchTranslateTextRequest).\nOutput files (tsv) generated are compliant with RFC 4180 except that\nrecord delimiters are '\\\\n' instead of '\\\\r\\\\n'. We don't provide any way to\nchange record delimiters.\nWhile the input files are being processed, we write/update an index file\n'index.csv' under 'output_uri_prefix' (for example,\ngs://translation-test/index.csv) The index file is generated/updated as\nnew files are being translated. The format is:\ninput_file,target_language_code,translations_file,errors_file,\nglossary_translations_file,glossary_errors_file\ninput_file is one file we matched using gcs_source.input_uri.\ntarget_language_code is provided in the request.\ntranslations_file contains the translations. (details provided below)\nerrors_file contains the errors during processing of the file. (details\nbelow). Both translations_file and errors_file could be empty\nstrings if we have no content to output.\nglossary_translations_file and glossary_errors_file are always empty\nstrings if the input_file is tsv. They could also be empty if we have no\ncontent to output.\nOnce a row is present in index.csv, the input/output matching never\nchanges. Callers should also expect all the content in input_file are\nprocessed and ready to be consumed (that is, no partial output file is\nwritten).\nSince index.csv will be keeping updated during the process, please make\nsure there is no custom retention policy applied on the output bucket\nthat may avoid file updating.\n(\u003chttps://cloud.google.com/storage/docs/bucket-lock#retention-policy\u003e)\nThe format of translations_file (for target language code 'trg') is:\n`gs://translation_test/a_b_c_'trg'_translations.[extension]`\nIf the input file extension is tsv, the output has the following\ncolumns:\nColumn 1: ID of the request provided in the input, if it's not\nprovided in the input, then the input row number is used (0-based).\nColumn 2: source sentence.\nColumn 3: translation without applying a glossary. Empty string if there\nis an error.\nColumn 4 (only present if a glossary is provided in the request):\ntranslation after applying the glossary. Empty string if there is an\nerror applying the glossary. Could be same string as column 3 if there is\nno glossary applied.\nIf input file extension is a txt or html, the translation is directly\nwritten to the output file. If glossary is requested, a separate\nglossary_translations_file has format of\n`gs://translation_test/a_b_c_'trg'_glossary_translations.[extension]`\nThe format of errors file (for target language code 'trg') is:\n`gs://translation_test/a_b_c_'trg'_errors.[extension]`\nIf the input file extension is tsv, errors_file contains the following:\nColumn 1: ID of the request provided in the input, if it's not\nprovided in the input, then the input row number is used (0-based).\nColumn 2: source sentence.\nColumn 3: Error detail for the translation. Could be empty.\nColumn 4 (only present if a glossary is provided in the request):\nError when applying the glossary.\nIf the input file extension is txt or html, glossary_error_file will be\ngenerated that contains error details. glossary_error_file has format of\n`gs://translation_test/a_b_c_'trg'_glossary_errors.[extension]`\n\n### getDestination"]]